From 6ad60b83677a1215af86604965a5cc830b3ea63b Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Mon, 29 Jan 2024 10:30:17 +0100 Subject: [PATCH] Submodule, api_gen rework (#9) * Submodule, api_gen rework * Renormalize line endings before `git diff` * ci: Work around `regex` compilation failure in MSRV check * Cleanup --- .github/workflows/ci.yml | 22 + .gitmodules | 2 + Cargo.toml | 8 +- api-gen/Cargo.toml | 17 - api-gen/src/adlx/bindings.rs | 6236 ---------------- api-gen/src/adlx/wrapper.h | 6 - api-gen/src/main.rs | 17 - api_gen/Cargo.toml | 8 + api_gen/src/main.rs | 21 + api_gen/wrapper.h | 6 + src/bindings.rs | 6236 ---------------- src/ffi.rs | 6240 ++++++++++++++++- src/lib.rs | 6 + vendor/ADLX | 1 + vendor/adlx/ADLX SDK License Agreement.pdf | Bin 126195 -> 0 bytes vendor/adlx/README.md | 25 - .../SDK/ADLXHelper/Windows/C/ADLXHelper.c | 175 - .../SDK/ADLXHelper/Windows/C/ADLXHelper.h | 245 - .../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp | 152 - .../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h | 355 - vendor/adlx/SDK/Include/ADLX.h | 367 - vendor/adlx/SDK/Include/ADLXDefines.h | 1308 ---- vendor/adlx/SDK/Include/ADLXStructures.h | 191 - vendor/adlx/SDK/Include/ADLXVersion.h | 18 - vendor/adlx/SDK/Include/I3DSettings.h | 3418 --------- vendor/adlx/SDK/Include/IChangedEvent.h | 71 - vendor/adlx/SDK/Include/ICollections.h | 325 - vendor/adlx/SDK/Include/IDesktops.h | 918 --- vendor/adlx/SDK/Include/IDisplay3DLUT.h | 663 -- vendor/adlx/SDK/Include/IDisplayGamma.h | 683 -- vendor/adlx/SDK/Include/IDisplayGamut.h | 760 -- vendor/adlx/SDK/Include/IDisplaySettings.h | 2900 -------- vendor/adlx/SDK/Include/IDisplays.h | 2676 ------- vendor/adlx/SDK/Include/IDisplays1.h | 191 - vendor/adlx/SDK/Include/IDisplays2.h | 188 - vendor/adlx/SDK/Include/IGPUAutoTuning.h | 460 -- vendor/adlx/SDK/Include/IGPUManualFanTuning.h | 819 --- vendor/adlx/SDK/Include/IGPUManualGFXTuning.h | 489 -- .../adlx/SDK/Include/IGPUManualPowerTuning.h | 252 - .../adlx/SDK/Include/IGPUManualVRAMTuning.h | 514 -- vendor/adlx/SDK/Include/IGPUPresetTuning.h | 469 -- vendor/adlx/SDK/Include/IGPUTuning.h | 1239 ---- vendor/adlx/SDK/Include/IGPUTuning1.h | 197 - vendor/adlx/SDK/Include/II2C.h | 198 - vendor/adlx/SDK/Include/ILog.h | 72 - .../adlx/SDK/Include/IPerformanceMonitoring.h | 2520 ------- .../SDK/Include/IPerformanceMonitoring1.h | 134 - vendor/adlx/SDK/Include/IPowerTuning.h | 473 -- vendor/adlx/SDK/Include/ISmartAccessMemory.h | 126 - vendor/adlx/SDK/Include/ISystem.h | 1557 ---- vendor/adlx/SDK/Include/ISystem1.h | 237 - vendor/adlx/SDK/Platform/Windows/WinAPIs.c | 64 - vendor/adlx/SDK/Platform/Windows/WinAPIs.cpp | 63 - vendor/adlx/SDKDoc/ADLX_SDK.html | 8 - .../adlx/SDKDoc/html/_a_d_l_x_defines_8h.html | 499 -- .../SDKDoc/html/_a_d_l_x_structures_8h.html | 124 - .../SDKDoc/html/_d_o_x__i_a_d_l_mapping.html | 169 - .../SDKDoc/html/_d_o_x__i_a_d_l_mapping.js | 11 - ...pping__a_d_l_ids_from_a_d_l_x_desktop.html | 189 - ...pping__a_d_l_ids_from_a_d_l_x_display.html | 189 - ..._adl_adapter_index_from_a_d_l_x_g_p_u.html | 157 - ...a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html | 173 - ...g__get_a_d_l_x_desktop_from_a_d_l_ids.html | 195 - ...g__get_a_d_l_x_display_from_a_d_l_ids.html | 194 - ..._a_d_l_x_g_p_u_from_adl_adapter_index.html | 160 - ...l_mapping__get_a_d_l_x_g_p_u_from_bdf.html | 177 - ...x__i_a_d_l_x3_d_anisotropic_filtering.html | 163 - ...o_x__i_a_d_l_x3_d_anisotropic_filtering.js | 8 - ...x3_d_anisotropic_filtering__get_level.html | 151 - ...3_d_anisotropic_filtering__is_enabled.html | 151 - ...d_anisotropic_filtering__is_supported.html | 151 - ..._d_anisotropic_filtering__set_enabled.html | 151 - ...x3_d_anisotropic_filtering__set_level.html | 151 - .../_d_o_x__i_a_d_l_x3_d_anti_aliasing.html | 166 - .../_d_o_x__i_a_d_l_x3_d_anti_aliasing.js | 10 - ...i_a_d_l_x3_d_anti_aliasing__get_level.html | 150 - ..._a_d_l_x3_d_anti_aliasing__get_method.html | 150 - ..._i_a_d_l_x3_d_anti_aliasing__get_mode.html | 150 - ..._d_l_x3_d_anti_aliasing__is_supported.html | 150 - ...i_a_d_l_x3_d_anti_aliasing__set_level.html | 150 - ..._a_d_l_x3_d_anti_aliasing__set_method.html | 150 - ..._i_a_d_l_x3_d_anti_aliasing__set_mode.html | 152 - .../html/_d_o_x__i_a_d_l_x3_d_anti_lag.html | 162 - .../html/_d_o_x__i_a_d_l_x3_d_anti_lag.js | 6 - .../html/_d_o_x__i_a_d_l_x3_d_anti_lag1.html | 160 - .../html/_d_o_x__i_a_d_l_x3_d_anti_lag1.js | 5 - ..._x__i_a_d_l_x3_d_anti_lag1__get_level.html | 150 - ..._x__i_a_d_l_x3_d_anti_lag1__set_level.html | 151 - ..._x__i_a_d_l_x3_d_anti_lag__is_enabled.html | 151 - ...__i_a_d_l_x3_d_anti_lag__is_supported.html | 150 - ...x__i_a_d_l_x3_d_anti_lag__set_enabled.html | 151 - .../html/_d_o_x__i_a_d_l_x3_d_boost.html | 168 - .../SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.js | 9 - ...x__i_a_d_l_x3_d_boost__get_resolution.html | 151 - ..._d_l_x3_d_boost__get_resolution_range.html | 153 - ...d_o_x__i_a_d_l_x3_d_boost__is_enabled.html | 152 - ...o_x__i_a_d_l_x3_d_boost__is_supported.html | 151 - ..._o_x__i_a_d_l_x3_d_boost__set_enabled.html | 152 - ...x__i_a_d_l_x3_d_boost__set_resolution.html | 151 - .../html/_d_o_x__i_a_d_l_x3_d_chill.html | 172 - .../SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.js | 11 - ...__i_a_d_l_x3_d_chill__get_f_p_s_range.html | 154 - ..._x__i_a_d_l_x3_d_chill__get_max_f_p_s.html | 151 - ..._x__i_a_d_l_x3_d_chill__get_min_f_p_s.html | 151 - ...d_o_x__i_a_d_l_x3_d_chill__is_enabled.html | 154 - ...o_x__i_a_d_l_x3_d_chill__is_supported.html | 150 - ..._o_x__i_a_d_l_x3_d_chill__set_enabled.html | 154 - ..._x__i_a_d_l_x3_d_chill__set_max_f_p_s.html | 151 - ..._x__i_a_d_l_x3_d_chill__set_min_f_p_s.html | 151 - .../_d_o_x__i_a_d_l_x3_d_enhanced_sync.html | 164 - .../_d_o_x__i_a_d_l_x3_d_enhanced_sync.js | 6 - ..._a_d_l_x3_d_enhanced_sync__is_enabled.html | 154 - ..._d_l_x3_d_enhanced_sync__is_supported.html | 152 - ...a_d_l_x3_d_enhanced_sync__set_enabled.html | 154 - ..._a_d_l_x3_d_frame_rate_target_control.html | 165 - ..._i_a_d_l_x3_d_frame_rate_target_control.js | 9 - ..._frame_rate_target_control__get_f_p_s.html | 151 - ..._rate_target_control__get_f_p_s_range.html | 153 - ...frame_rate_target_control__is_enabled.html | 151 - ...ame_rate_target_control__is_supported.html | 151 - ...rame_rate_target_control__set_enabled.html | 151 - ..._frame_rate_target_control__set_f_p_s.html | 151 - ..._d_o_x__i_a_d_l_x3_d_image_sharpening.html | 164 - .../_d_o_x__i_a_d_l_x3_d_image_sharpening.js | 9 - ..._x3_d_image_sharpening__get_sharpness.html | 150 - ...image_sharpening__get_sharpness_range.html | 152 - ...d_l_x3_d_image_sharpening__is_enabled.html | 151 - ...l_x3_d_image_sharpening__is_supported.html | 150 - ..._l_x3_d_image_sharpening__set_enabled.html | 151 - ..._x3_d_image_sharpening__set_sharpness.html | 150 - ..._d_l_x3_d_morphological_anti_aliasing.html | 160 - ..._a_d_l_x3_d_morphological_anti_aliasing.js | 6 - ...rphological_anti_aliasing__is_enabled.html | 153 - ...hological_anti_aliasing__is_supported.html | 153 - ...phological_anti_aliasing__set_enabled.html | 153 - ..._i_a_d_l_x3_d_radeon_super_resolution.html | 170 - ...x__i_a_d_l_x3_d_radeon_super_resolution.js | 9 - ...adeon_super_resolution__get_sharpness.html | 150 - ...super_resolution__get_sharpness_range.html | 152 - ...d_radeon_super_resolution__is_enabled.html | 154 - ...radeon_super_resolution__is_supported.html | 150 - ..._radeon_super_resolution__set_enabled.html | 154 - ...adeon_super_resolution__set_sharpness.html | 150 - ..._o_x__i_a_d_l_x3_d_reset_shader_cache.html | 156 - ..._d_o_x__i_a_d_l_x3_d_reset_shader_cache.js | 5 - ...x3_d_reset_shader_cache__is_supported.html | 150 - ...eset_shader_cache__reset_shader_cache.html | 143 - ...__i_a_d_l_x3_d_settings_changed_event.html | 180 - ..._x__i_a_d_l_x3_d_settings_changed_event.js | 17 - ...3_d_settings_changed_event__get_g_p_u.html | 153 - ...ent__is_anisotropic_filtering_changed.html | 142 - ...anged_event__is_anti_aliasing_changed.html | 142 - ...gs_changed_event__is_anti_lag_changed.html | 142 - ...tings_changed_event__is_boost_changed.html | 142 - ...tings_changed_event__is_chill_changed.html | 142 - ...anged_event__is_enhanced_sync_changed.html | 142 - ..._is_frame_rate_target_control_changed.html | 142 - ...ed_event__is_image_sharpening_changed.html | 142 - ...s_morphological_anti_aliasing_changed.html | 142 - ...t__is_radeon_super_resolution_changed.html | 142 - ..._changed_event__is_reset_shader_cache.html | 142 - ...d_event__is_tessellation_mode_changed.html | 142 - ..._is_wait_for_vertical_refresh_changed.html | 142 - ..._a_d_l_x3_d_settings_changed_handling.html | 155 - ..._i_a_d_l_x3_d_settings_changed_handling.js | 5 - ...dling__add3_d_settings_event_listener.html | 152 - ...ng__remove3_d_settings_event_listener.html | 150 - ..._a_d_l_x3_d_settings_changed_listener.html | 156 - ..._i_a_d_l_x3_d_settings_changed_listener.js | 4 - ...nged_listener__on3_d_settings_changed.html | 149 - ...d_o_x__i_a_d_l_x3_d_settings_services.html | 179 - .../_d_o_x__i_a_d_l_x3_d_settings_services.js | 17 - ...ces__get3_d_settings_changed_handling.html | 152 - ...s_services__get_anisotropic_filtering.html | 160 - ..._settings_services__get_anti_aliasing.html | 160 - ..._x3_d_settings_services__get_anti_lag.html | 160 - ...d_l_x3_d_settings_services__get_boost.html | 160 - ...d_l_x3_d_settings_services__get_chill.html | 160 - ..._settings_services__get_enhanced_sync.html | 160 - ...rvices__get_frame_rate_target_control.html | 160 - ...ttings_services__get_image_sharpening.html | 160 - ...ices__get_morphological_anti_aliasing.html | 160 - ...services__get_radeon_super_resolution.html | 152 - ...ings_services__get_reset_shader_cache.html | 160 - ...d_settings_services__get_tessellation.html | 160 - ...rvices__get_wait_for_vertical_refresh.html | 160 - .../_d_o_x__i_a_d_l_x3_d_tessellation.html | 162 - .../html/_d_o_x__i_a_d_l_x3_d_tessellation.js | 8 - ..._i_a_d_l_x3_d_tessellation__get_level.html | 150 - ...__i_a_d_l_x3_d_tessellation__get_mode.html | 150 - ...a_d_l_x3_d_tessellation__is_supported.html | 150 - ..._i_a_d_l_x3_d_tessellation__set_level.html | 150 - ...__i_a_d_l_x3_d_tessellation__set_mode.html | 150 - ..._a_d_l_x3_d_wait_for_vertical_refresh.html | 166 - ..._i_a_d_l_x3_d_wait_for_vertical_refresh.js | 7 - ...d_wait_for_vertical_refresh__get_mode.html | 154 - ...wait_for_vertical_refresh__is_enabled.html | 154 - ...it_for_vertical_refresh__is_supported.html | 152 - ...d_wait_for_vertical_refresh__set_mode.html | 154 - .../html/_d_o_x__i_a_d_l_x_all_metrics.html | 159 - .../html/_d_o_x__i_a_d_l_x_all_metrics.js | 7 - ...o_x__i_a_d_l_x_all_metrics__get_f_p_s.html | 151 - ..._d_l_x_all_metrics__get_g_p_u_metrics.html | 159 - ...d_l_x_all_metrics__get_system_metrics.html | 151 - ..._x__i_a_d_l_x_all_metrics__time_stamp.html | 149 - .../_d_o_x__i_a_d_l_x_all_metrics_list.html | 155 - .../_d_o_x__i_a_d_l_x_all_metrics_list.js | 5 - ...i_a_d_l_x_all_metrics_list__add__back.html | 148 - ...d_o_x__i_a_d_l_x_all_metrics_list__at.html | 159 - .../html/_d_o_x__i_a_d_l_x_changed_event.html | 150 - .../html/_d_o_x__i_a_d_l_x_changed_event.js | 4 - ...__i_a_d_l_x_changed_event__get_origin.html | 141 - .../html/_d_o_x__i_a_d_l_x_desktop.html | 164 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.js | 9 - ..._o_x__i_a_d_l_x_desktop__get_displays.html | 152 - ...d_l_x_desktop__get_number_of_displays.html | 154 - ...d_o_x__i_a_d_l_x_desktop__orientation.html | 151 - .../html/_d_o_x__i_a_d_l_x_desktop__size.html | 158 - .../_d_o_x__i_a_d_l_x_desktop__top_left.html | 151 - .../html/_d_o_x__i_a_d_l_x_desktop__type.html | 151 - ...x__i_a_d_l_x_desktop_changed_handling.html | 155 - ...o_x__i_a_d_l_x_desktop_changed_handling.js | 5 - ...ling__add_desktop_list_event_listener.html | 152 - ...g__remove_desktop_list_event_listener.html | 150 - .../html/_d_o_x__i_a_d_l_x_desktop_list.html | 155 - .../html/_d_o_x__i_a_d_l_x_desktop_list.js | 5 - ..._x__i_a_d_l_x_desktop_list__add__back.html | 149 - .../_d_o_x__i_a_d_l_x_desktop_list__at.html | 160 - ...a_d_l_x_desktop_list_changed_listener.html | 155 - ...i_a_d_l_x_desktop_list_changed_listener.js | 4 - ...ged_listener__on_desktop_list_changed.html | 151 - .../_d_o_x__i_a_d_l_x_desktop_services.html | 164 - .../_d_o_x__i_a_d_l_x_desktop_services.js | 7 - ...ervices__get_desktop_changed_handling.html | 152 - ..._d_l_x_desktop_services__get_desktops.html | 154 - ...ktop_services__get_number_of_desktops.html | 150 - ...esktop_services__get_simple_eyefinity.html | 152 - .../html/_d_o_x__i_a_d_l_x_display.html | 177 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_display.js | 14 - .../_d_o_x__i_a_d_l_x_display3_d_l_u_t.html | 192 - .../_d_o_x__i_a_d_l_x_display3_d_l_u_t.js | 23 - ...display3_d_l_u_t__clear_user3_d_l_u_t.html | 140 - ...splay3_d_l_u_t__get_all_user3_d_l_u_t.html | 177 - ...lay3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html | 177 - ...3_d_l_u_t__get_s_c_e_dynamic_contrast.html | 149 - ...u_t__get_s_c_e_dynamic_contrast_range.html | 151 - ...lay3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html | 177 - ...lay3_d_l_u_t__get_user3_d_l_u_t_index.html | 173 - ...y3_d_l_u_t__is_current_s_c_e_disabled.html | 147 - ..._t__is_current_s_c_e_dynamic_contrast.html | 149 - ..._l_u_t__is_current_s_c_e_vivid_gaming.html | 149 - ..._display3_d_l_u_t__is_supported_s_c_e.html | 149 - ...__is_supported_s_c_e_dynamic_contrast.html | 149 - ..._u_t__is_supported_s_c_e_vivid_gaming.html | 149 - ...3_d_l_u_t__is_supported_user3_d_l_u_t.html | 149 - ...splay3_d_l_u_t__set_all_user3_d_l_u_t.html | 179 - ...lay3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html | 179 - ..._display3_d_l_u_t__set_s_c_e_disabled.html | 140 - ...3_d_l_u_t__set_s_c_e_dynamic_contrast.html | 149 - ...play3_d_l_u_t__set_s_c_e_vivid_gaming.html | 142 - ...lay3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html | 179 - ..._d_l_x_display3_d_l_u_t_changed_event.html | 162 - ..._a_d_l_x_display3_d_l_u_t_changed_event.js | 6 - ...y3_d_l_u_t_changed_event__get_display.html | 153 - ...ged_event__is_custom3_d_l_u_t_changed.html | 142 - ...l_u_t_changed_event__is_s_c_e_changed.html | 142 - ...l_x_display3_d_l_u_t_changed_listener.html | 160 - ...d_l_x_display3_d_l_u_t_changed_listener.js | 4 - ...listener__on_display3_d_l_u_t_changed.html | 151 - ..._x__i_a_d_l_x_display__connector_type.html | 149 - ..._o_x__i_a_d_l_x_display__display_type.html | 149 - .../_d_o_x__i_a_d_l_x_display__e_d_i_d.html | 151 - .../_d_o_x__i_a_d_l_x_display__get_g_p_u.html | 151 - ...__i_a_d_l_x_display__manufacturer_i_d.html | 150 - .../html/_d_o_x__i_a_d_l_x_display__name.html | 151 - ..._i_a_d_l_x_display__native_resolution.html | 157 - ...d_o_x__i_a_d_l_x_display__pixel_clock.html | 149 - ..._o_x__i_a_d_l_x_display__refresh_rate.html | 149 - .../_d_o_x__i_a_d_l_x_display__scan_type.html | 149 - .../_d_o_x__i_a_d_l_x_display__unique_id.html | 148 - .../_d_o_x__i_a_d_l_x_display_blanking.html | 162 - .../_d_o_x__i_a_d_l_x_display_blanking.js | 8 - ..._display_blanking__is_current_blanked.html | 147 - ...isplay_blanking__is_current_unblanked.html | 147 - ..._d_l_x_display_blanking__is_supported.html | 147 - ...a_d_l_x_display_blanking__set_blanked.html | 140 - ...d_l_x_display_blanking__set_unblanked.html | 140 - ...x__i_a_d_l_x_display_changed_handling.html | 175 - ...o_x__i_a_d_l_x_display_changed_handling.js | 13 - ...__add_display3_d_l_u_t_event_listener.html | 150 - ...ing__add_display_gamma_event_listener.html | 150 - ...ing__add_display_gamut_event_listener.html | 150 - ...ling__add_display_list_event_listener.html | 150 - ...__add_display_settings_event_listener.html | 152 - ...emove_display3_d_l_u_t_event_listener.html | 150 - ...__remove_display_gamma_event_listener.html | 150 - ...__remove_display_gamut_event_listener.html | 150 - ...g__remove_display_list_event_listener.html | 150 - ...emove_display_settings_event_listener.html | 150 - ..._d_o_x__i_a_d_l_x_display_color_depth.html | 171 - .../_d_o_x__i_a_d_l_x_display_color_depth.js | 13 - ..._d_l_x_display_color_depth__get_value.html | 149 - ...l_x_display_color_depth__is_supported.html | 149 - ...ay_color_depth__is_supported_b_p_c_10.html | 147 - ...ay_color_depth__is_supported_b_p_c_12.html | 147 - ...ay_color_depth__is_supported_b_p_c_14.html | 147 - ...ay_color_depth__is_supported_b_p_c_16.html | 147 - ...lay_color_depth__is_supported_b_p_c_6.html | 147 - ...lay_color_depth__is_supported_b_p_c_8.html | 147 - ...color_depth__is_supported_color_depth.html | 155 - ..._d_l_x_display_color_depth__set_value.html | 149 - ...d_l_x_display_connectivity_experience.html | 177 - ...a_d_l_x_display_connectivity_experience.js | 15 - ...ctivity_experience__get_d_p_link_rate.html | 147 - ...xperience__get_number_of_active_lanes.html | 147 - ...experience__get_number_of_total_lanes.html | 147 - ...experience__get_relative_pre_emphasis.html | 147 - ...xperience__get_relative_voltage_swing.html | 147 - ..._is_enabled_h_d_m_i_quality_detection.html | 147 - ...xperience__is_enabled_link_protection.html | 147 - ...ity_experience__is_supported_d_p_link.html | 147 - ...s_supported_h_d_m_i_quality_detection.html | 147 - ...set_enabled_h_d_m_i_quality_detection.html | 147 - ...experience__set_relative_pre_emphasis.html | 149 - ...xperience__set_relative_voltage_swing.html | 149 - ...d_o_x__i_a_d_l_x_display_custom_color.html | 191 - .../_d_o_x__i_a_d_l_x_display_custom_color.js | 23 - ..._display_custom_color__get_brightness.html | 147 - ...ay_custom_color__get_brightness_range.html | 147 - ..._x_display_custom_color__get_contrast.html | 147 - ...play_custom_color__get_contrast_range.html | 147 - ...a_d_l_x_display_custom_color__get_hue.html | 147 - ...x_display_custom_color__get_hue_range.html | 147 - ..._display_custom_color__get_saturation.html | 147 - ...ay_custom_color__get_saturation_range.html | 147 - ...display_custom_color__get_temperature.html | 147 - ...y_custom_color__get_temperature_range.html | 147 - ...custom_color__is_brightness_supported.html | 147 - ...y_custom_color__is_contrast_supported.html | 147 - ...isplay_custom_color__is_hue_supported.html | 147 - ...custom_color__is_saturation_supported.html | 147 - ...ustom_color__is_temperature_supported.html | 147 - ..._display_custom_color__set_brightness.html | 147 - ..._x_display_custom_color__set_contrast.html | 147 - ...a_d_l_x_display_custom_color__set_hue.html | 147 - ..._display_custom_color__set_saturation.html | 147 - ...display_custom_color__set_temperature.html | 147 - ...__i_a_d_l_x_display_custom_resolution.html | 163 - ..._x__i_a_d_l_x_display_custom_resolution.js | 8 - ...tom_resolution__create_new_resolution.html | 150 - ..._custom_resolution__delete_resolution.html | 150 - ...ution__get_current_applied_resolution.html | 154 - ...ustom_resolution__get_resolution_list.html | 154 - ...splay_custom_resolution__is_supported.html | 150 - .../_d_o_x__i_a_d_l_x_display_free_sync.html | 157 - .../_d_o_x__i_a_d_l_x_display_free_sync.js | 6 - ...a_d_l_x_display_free_sync__is_enabled.html | 151 - ...d_l_x_display_free_sync__is_supported.html | 151 - ..._d_l_x_display_free_sync__set_enabled.html | 151 - ..._o_x__i_a_d_l_x_display_g_p_u_scaling.html | 159 - ..._d_o_x__i_a_d_l_x_display_g_p_u_scaling.js | 6 - ...l_x_display_g_p_u_scaling__is_enabled.html | 152 - ...x_display_g_p_u_scaling__is_supported.html | 150 - ..._x_display_g_p_u_scaling__set_enabled.html | 152 - .../html/_d_o_x__i_a_d_l_x_display_gamma.html | 216 - .../html/_d_o_x__i_a_d_l_x_display_gamma.js | 29 - ..._display_gamma__get_gamma_coefficient.html | 148 - ...a_d_l_x_display_gamma__get_gamma_ramp.html | 147 - ...splay_gamma__is_current_de_gamma_ramp.html | 147 - ..._display_gamma__is_current_re_gamma36.html | 147 - ...lay_gamma__is_current_re_gamma_b_t709.html | 147 - ...isplay_gamma__is_current_re_gamma_p_q.html | 147 - ...__is_current_re_gamma_p_q2084_interim.html | 147 - ...splay_gamma__is_current_re_gamma_ramp.html | 147 - ...ay_gamma__is_current_re_gamma_s_r_g_b.html | 147 - ...gamma__is_current_regamma_coefficient.html | 147 - ...isplay_gamma__is_supported_re_gamma36.html | 147 - ...y_gamma__is_supported_re_gamma_b_t709.html | 147 - ...play_gamma__is_supported_re_gamma_p_q.html | 147 - ...is_supported_re_gamma_p_q2084_interim.html | 147 - ..._gamma__is_supported_re_gamma_s_r_g_b.html | 147 - ...d_l_x_display_gamma__reset_gamma_ramp.html | 140 - ...display_gamma__set_de_gamma_ramp_file.html | 154 - ...splay_gamma__set_de_gamma_ramp_memory.html | 147 - ...a_d_l_x_display_gamma__set_re_gamma36.html | 140 - ..._x_display_gamma__set_re_gamma_b_t709.html | 140 - ...splay_gamma__set_re_gamma_coefficient.html | 162 - ...d_l_x_display_gamma__set_re_gamma_p_q.html | 140 - ...y_gamma__set_re_gamma_p_q2084_interim.html | 140 - ...display_gamma__set_re_gamma_ramp_file.html | 154 - ...splay_gamma__set_re_gamma_ramp_memory.html | 147 - ...x_display_gamma__set_re_gamma_s_r_g_b.html | 140 - ...i_a_d_l_x_display_gamma_changed_event.html | 166 - ...__i_a_d_l_x_display_gamma_changed_event.js | 8 - ...play_gamma_changed_event__get_display.html | 153 - ...ma_changed_event__is_de_gamma_changed.html | 142 - ...d_event__is_gamma_coefficient_changed.html | 142 - ..._changed_event__is_gamma_ramp_changed.html | 142 - ...ma_changed_event__is_re_gamma_changed.html | 142 - ..._d_l_x_display_gamma_changed_listener.html | 160 - ..._a_d_l_x_display_gamma_changed_listener.js | 4 - ...ed_listener__on_display_gamma_changed.html | 150 - .../html/_d_o_x__i_a_d_l_x_display_gamut.html | 215 - .../html/_d_o_x__i_a_d_l_x_display_gamut.js | 31 - ..._display_gamut__get_gamut_color_space.html | 149 - ..._d_l_x_display_gamut__get_white_point.html | 147 - ...ay_gamut__is_current5000k_white_point.html | 147 - ...ay_gamut__is_current6500k_white_point.html | 147 - ...ay_gamut__is_current7500k_white_point.html | 147 - ...ay_gamut__is_current9300k_white_point.html | 147 - ...mut__is_current_adobe_rgb_color_space.html | 147 - ...t__is_current_c_c_i_r2020_color_space.html | 147 - ...ut__is_current_c_c_i_r601_color_space.html | 147 - ...ut__is_current_c_c_i_r709_color_space.html | 147 - ...mut__is_current_c_i_e_rgb_color_space.html | 147 - ..._gamut__is_current_custom_color_space.html | 149 - ..._gamut__is_current_custom_white_point.html | 147 - ..._gamut__is_supported5000k_white_point.html | 147 - ..._gamut__is_supported6500k_white_point.html | 147 - ..._gamut__is_supported7500k_white_point.html | 147 - ..._gamut__is_supported9300k_white_point.html | 147 - ...t__is_supported_adobe_rgb_color_space.html | 149 - ..._is_supported_c_c_i_r2020_color_space.html | 149 - ...__is_supported_c_c_i_r601_color_space.html | 149 - ...__is_supported_c_c_i_r709_color_space.html | 149 - ...t__is_supported_c_i_e_rgb_color_space.html | 149 - ...amut__is_supported_custom_color_space.html | 149 - ...amut__is_supported_custom_white_point.html | 147 - ..._x_display_gamut__set_gamut__c_w__c_g.html | 158 - ..._x_display_gamut__set_gamut__c_w__p_g.html | 158 - ..._x_display_gamut__set_gamut__p_w__c_g.html | 158 - ..._x_display_gamut__set_gamut__p_w__p_g.html | 158 - ...i_a_d_l_x_display_gamut_changed_event.html | 162 - ...__i_a_d_l_x_display_gamut_changed_event.js | 6 - ...play_gamut_changed_event__get_display.html | 153 - ...changed_event__is_color_space_changed.html | 142 - ...changed_event__is_white_point_changed.html | 142 - ..._d_l_x_display_gamut_changed_listener.html | 160 - ..._a_d_l_x_display_gamut_changed_listener.js | 4 - ...ed_listener__on_display_gamut_changed.html | 150 - .../_d_o_x__i_a_d_l_x_display_h_d_c_p.html | 157 - .../html/_d_o_x__i_a_d_l_x_display_h_d_c_p.js | 6 - ...i_a_d_l_x_display_h_d_c_p__is_enabled.html | 149 - ...a_d_l_x_display_h_d_c_p__is_supported.html | 149 - ..._a_d_l_x_display_h_d_c_p__set_enabled.html | 149 - ..._x__i_a_d_l_x_display_integer_scaling.html | 158 - ..._o_x__i_a_d_l_x_display_integer_scaling.js | 6 - ...x_display_integer_scaling__is_enabled.html | 150 - ...display_integer_scaling__is_supported.html | 150 - ..._display_integer_scaling__set_enabled.html | 150 - .../html/_d_o_x__i_a_d_l_x_display_list.html | 159 - .../html/_d_o_x__i_a_d_l_x_display_list.js | 5 - ..._x__i_a_d_l_x_display_list__add__back.html | 149 - .../_d_o_x__i_a_d_l_x_display_list__at.html | 160 - ...a_d_l_x_display_list_changed_listener.html | 160 - ...i_a_d_l_x_display_list_changed_listener.js | 4 - ...ged_listener__on_display_list_changed.html | 150 - ...d_o_x__i_a_d_l_x_display_pixel_format.html | 169 - .../_d_o_x__i_a_d_l_x_display_pixel_format.js | 12 - ...d_l_x_display_pixel_format__get_value.html | 150 - ..._x_display_pixel_format__is_supported.html | 150 - ...xel_format__is_supported_pixel_format.html | 155 - ...el_format__is_supported_r_g_b444_full.html | 147 - ...format__is_supported_r_g_b444_limited.html | 147 - ...pixel_format__is_supported_y_cb_cr420.html | 147 - ...pixel_format__is_supported_y_cb_cr422.html | 147 - ...pixel_format__is_supported_y_cb_cr444.html | 147 - ...d_l_x_display_pixel_format__set_value.html | 150 - .../_d_o_x__i_a_d_l_x_display_resolution.html | 155 - .../_d_o_x__i_a_d_l_x_display_resolution.js | 5 - ...a_d_l_x_display_resolution__get_value.html | 147 - ...a_d_l_x_display_resolution__set_value.html | 147 - ..._x__i_a_d_l_x_display_resolution_list.html | 156 - ..._o_x__i_a_d_l_x_display_resolution_list.js | 5 - ..._x_display_resolution_list__add__back.html | 148 - ...i_a_d_l_x_display_resolution_list__at.html | 157 - ...d_o_x__i_a_d_l_x_display_scaling_mode.html | 157 - .../_d_o_x__i_a_d_l_x_display_scaling_mode.js | 6 - ..._d_l_x_display_scaling_mode__get_mode.html | 150 - ..._x_display_scaling_mode__is_supported.html | 149 - ..._d_l_x_display_scaling_mode__set_mode.html | 150 - .../_d_o_x__i_a_d_l_x_display_services.html | 194 - .../_d_o_x__i_a_d_l_x_display_services.js | 20 - .../_d_o_x__i_a_d_l_x_display_services1.html | 155 - .../_d_o_x__i_a_d_l_x_display_services1.js | 4 - ...splay_services1__get_display_blanking.html | 159 - .../_d_o_x__i_a_d_l_x_display_services2.html | 155 - .../_d_o_x__i_a_d_l_x_display_services2.js | 4 - ...__get_display_connectivity_experience.html | 159 - ..._d_l_x_display_services__get3_d_l_u_t.html | 159 - ...l_x_display_services__get_color_depth.html | 159 - ..._x_display_services__get_custom_color.html | 159 - ...splay_services__get_custom_resolution.html | 159 - ...ervices__get_display_changed_handling.html | 151 - ..._d_l_x_display_services__get_displays.html | 152 - ...d_l_x_display_services__get_free_sync.html | 159 - ...x_display_services__get_g_p_u_scaling.html | 159 - ...i_a_d_l_x_display_services__get_gamma.html | 159 - ...i_a_d_l_x_display_services__get_gamut.html | 159 - ...a_d_l_x_display_services__get_h_d_c_p.html | 159 - ...display_services__get_integer_scaling.html | 159 - ...play_services__get_number_of_displays.html | 149 - ..._x_display_services__get_pixel_format.html | 159 - ..._x_display_services__get_scaling_mode.html | 159 - ...l_x_display_services__get_vari_bright.html | 159 - ...ervices__get_virtual_super_resolution.html | 159 - ..._d_l_x_display_settings_changed_event.html | 184 - ..._a_d_l_x_display_settings_changed_event.js | 19 - ...d_l_x_display_settings_changed_event1.html | 154 - ...a_d_l_x_display_settings_changed_event1.js | 4 - ...d_event1__is_display_blanking_changed.html | 139 - ...d_l_x_display_settings_changed_event2.html | 154 - ...a_d_l_x_display_settings_changed_event2.js | 4 - ...2__is_connectivity_experience_changed.html | 141 - ...y_settings_changed_event__get_display.html | 153 - ...changed_event__is_color_depth_changed.html | 141 - ...t__is_custom_color_brightness_changed.html | 141 - ...ent__is_custom_color_contrast_changed.html | 141 - ...ed_event__is_custom_color_hue_changed.html | 141 - ...t__is_custom_color_saturation_changed.html | 141 - ...__is_custom_color_temperature_changed.html | 141 - ...d_event__is_custom_resolution_changed.html | 141 - ...s_changed_event__is_free_sync_changed.html | 141 - ...anged_event__is_g_p_u_scaling_changed.html | 141 - ...ngs_changed_event__is_h_d_c_p_changed.html | 141 - ...ged_event__is_integer_scaling_changed.html | 141 - ...hanged_event__is_pixel_format_changed.html | 141 - ...hanged_event__is_scaling_mode_changed.html | 141 - ...tings_changed_event__is_v_s_r_changed.html | 141 - ...changed_event__is_vari_bright_changed.html | 141 - ...l_x_display_settings_changed_listener.html | 156 - ...d_l_x_display_settings_changed_listener.js | 4 - ...listener__on_display_settings_changed.html | 149 - .../html/_d_o_x__i_a_d_l_x_display_v_s_r.html | 158 - .../html/_d_o_x__i_a_d_l_x_display_v_s_r.js | 6 - ...__i_a_d_l_x_display_v_s_r__is_enabled.html | 149 - ...i_a_d_l_x_display_v_s_r__is_supported.html | 149 - ..._i_a_d_l_x_display_v_s_r__set_enabled.html | 149 - ..._d_o_x__i_a_d_l_x_display_vari_bright.html | 181 - .../_d_o_x__i_a_d_l_x_display_vari_bright.js | 16 - ...play_vari_bright__is_current_balanced.html | 147 - ...i_bright__is_current_maximize_battery.html | 147 - ...right__is_current_maximize_brightness.html | 147 - ...i_bright__is_current_optimize_battery.html | 147 - ...right__is_current_optimize_brightness.html | 147 - ...d_l_x_display_vari_bright__is_enabled.html | 147 - ...l_x_display_vari_bright__is_supported.html | 147 - ...l_x_display_vari_bright__set_balanced.html | 140 - ..._l_x_display_vari_bright__set_enabled.html | 147 - ...lay_vari_bright__set_maximize_battery.html | 142 - ..._vari_bright__set_maximize_brightness.html | 140 - ...lay_vari_bright__set_optimize_battery.html | 140 - ..._vari_bright__set_optimize_brightness.html | 140 - .../_d_o_x__i_a_d_l_x_eyefinity_desktop.html | 163 - .../_d_o_x__i_a_d_l_x_eyefinity_desktop.js | 8 - ...yefinity_desktop__display_orientation.html | 166 - ...d_l_x_eyefinity_desktop__display_size.html | 174 - ...x_eyefinity_desktop__display_top_left.html | 166 - ..._d_l_x_eyefinity_desktop__get_display.html | 168 - ..._a_d_l_x_eyefinity_desktop__grid_size.html | 158 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.html | 156 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.js | 5 - .../html/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html | 147 - .../_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html | 149 - .../html/_d_o_x__i_a_d_l_x_f_p_s_list.html | 155 - .../html/_d_o_x__i_a_d_l_x_f_p_s_list.js | 5 - ..._o_x__i_a_d_l_x_f_p_s_list__add__back.html | 147 - .../_d_o_x__i_a_d_l_x_f_p_s_list__at.html | 159 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.html | 183 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.js | 19 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.html | 160 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.js | 7 - ...x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html | 152 - ..._a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html | 148 - ...o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html | 148 - ...d_o_x__i_a_d_l_x_g_p_u1__product_name.html | 152 - ..._i_a_d_l_x_g_p_u__a_s_i_c_family_type.html | 148 - ..._d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html | 167 - .../_d_o_x__i_a_d_l_x_g_p_u__device_id.html | 153 - .../_d_o_x__i_a_d_l_x_g_p_u__driver_path.html | 152 - ..._d_o_x__i_a_d_l_x_g_p_u__has_desktops.html | 148 - .../_d_o_x__i_a_d_l_x_g_p_u__is_external.html | 148 - .../html/_d_o_x__i_a_d_l_x_g_p_u__name.html | 152 - ..._d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html | 152 - .../_d_o_x__i_a_d_l_x_g_p_u__revision_id.html | 151 - ...d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html | 151 - ...i_a_d_l_x_g_p_u__sub_system_vendor_id.html | 153 - ...d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html | 150 - .../html/_d_o_x__i_a_d_l_x_g_p_u__type.html | 150 - .../_d_o_x__i_a_d_l_x_g_p_u__unique_id.html | 148 - ..._d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html | 151 - .../_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html | 153 - .../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html | 169 - .../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.js | 12 - ...to_tuning__is_current_overclock_g_p_u.html | 150 - ..._tuning__is_current_overclock_v_r_a_m.html | 150 - ...to_tuning__is_current_undervolt_g_p_u.html | 150 - ..._tuning__is_supported_overclock_g_p_u.html | 150 - ...uning__is_supported_overclock_v_r_a_m.html | 150 - ..._tuning__is_supported_undervolt_g_p_u.html | 150 - ..._u_auto_tuning__start_overclock_g_p_u.html | 152 - ..._auto_tuning__start_overclock_v_r_a_m.html | 152 - ..._u_auto_tuning__start_undervolt_g_p_u.html | 152 - ..._l_x_g_p_u_auto_tuning_complete_event.html | 157 - ..._d_l_x_g_p_u_auto_tuning_complete_event.js | 6 - ...e_event__is_overclock_g_p_u_completed.html | 140 - ...event__is_overclock_v_r_a_m_completed.html | 140 - ...e_event__is_undervolt_g_p_u_completed.html | 140 - ...x_g_p_u_auto_tuning_complete_listener.html | 156 - ...l_x_g_p_u_auto_tuning_complete_listener.js | 4 - ...stener__on_g_p_u_auto_tuning_complete.html | 149 - .../html/_d_o_x__i_a_d_l_x_g_p_u_list.html | 155 - .../html/_d_o_x__i_a_d_l_x_g_p_u_list.js | 5 - ..._o_x__i_a_d_l_x_g_p_u_list__add__back.html | 149 - .../_d_o_x__i_a_d_l_x_g_p_u_list__at.html | 160 - .../html/_d_o_x__i_a_d_l_x_g_p_u_metrics.html | 175 - .../html/_d_o_x__i_a_d_l_x_g_p_u_metrics.js | 15 - ..._l_x_g_p_u_metrics__g_p_u_clock_speed.html | 147 - ..._d_l_x_g_p_u_metrics__g_p_u_fan_speed.html | 147 - ..._u_metrics__g_p_u_hotspot_temperature.html | 150 - ...p_u_metrics__g_p_u_intake_temperature.html | 149 - ..._i_a_d_l_x_g_p_u_metrics__g_p_u_power.html | 147 - ..._l_x_g_p_u_metrics__g_p_u_temperature.html | 149 - ..._p_u_metrics__g_p_u_total_board_power.html | 149 - ..._i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html | 147 - ..._a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html | 147 - ..._u_metrics__g_p_u_v_r_a_m_clock_speed.html | 147 - ..._a_d_l_x_g_p_u_metrics__g_p_u_voltage.html | 147 - ...__i_a_d_l_x_g_p_u_metrics__time_stamp.html | 149 - .../_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html | 155 - .../_d_o_x__i_a_d_l_x_g_p_u_metrics_list.js | 5 - ...a_d_l_x_g_p_u_metrics_list__add__back.html | 147 - ...o_x__i_a_d_l_x_g_p_u_metrics_list__at.html | 159 - ..._o_x__i_a_d_l_x_g_p_u_metrics_support.html | 195 - ..._d_o_x__i_a_d_l_x_g_p_u_metrics_support.js | 25 - ..._support__get_g_p_u_clock_speed_range.html | 158 - ...cs_support__get_g_p_u_fan_speed_range.html | 158 - ...__get_g_p_u_hotspot_temperature_range.html | 158 - ...t__get_g_p_u_intake_temperature_range.html | 158 - ...etrics_support__get_g_p_u_power_range.html | 158 - ..._support__get_g_p_u_temperature_range.html | 158 - ...rt__get_g_p_u_total_board_power_range.html | 158 - ...etrics_support__get_g_p_u_usage_range.html | 158 - ...__get_g_p_u_v_r_a_m_clock_speed_range.html | 158 - ...rics_support__get_g_p_u_v_r_a_m_range.html | 158 - ...rics_support__get_g_p_u_voltage_range.html | 158 - ...pport__is_supported_g_p_u_clock_speed.html | 147 - ...support__is_supported_g_p_u_fan_speed.html | 147 - ...s_supported_g_p_u_hotspot_temperature.html | 147 - ...is_supported_g_p_u_intake_temperature.html | 147 - ...ics_support__is_supported_g_p_u_power.html | 147 - ...pport__is_supported_g_p_u_temperature.html | 147 - ..._is_supported_g_p_u_total_board_power.html | 147 - ...ics_support__is_supported_g_p_u_usage.html | 147 - ...s_support__is_supported_g_p_u_v_r_a_m.html | 147 - ...s_supported_g_p_u_v_r_a_m_clock_speed.html | 147 - ...s_support__is_supported_g_p_u_voltage.html | 147 - ..._d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html | 181 - .../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.js | 18 - ..._u_preset_tuning__is_current_balanced.html | 150 - ...preset_tuning__is_current_power_saver.html | 150 - ...g_p_u_preset_tuning__is_current_quiet.html | 150 - ..._g_p_u_preset_tuning__is_current_rage.html | 150 - ...g_p_u_preset_tuning__is_current_turbo.html | 150 - ..._preset_tuning__is_supported_balanced.html | 150 - ...eset_tuning__is_supported_power_saver.html | 149 - ...p_u_preset_tuning__is_supported_quiet.html | 150 - ..._p_u_preset_tuning__is_supported_rage.html | 150 - ...p_u_preset_tuning__is_supported_turbo.html | 150 - ...l_x_g_p_u_preset_tuning__set_balanced.html | 143 - ..._g_p_u_preset_tuning__set_power_saver.html | 143 - ..._d_l_x_g_p_u_preset_tuning__set_quiet.html | 143 - ...a_d_l_x_g_p_u_preset_tuning__set_rage.html | 143 - ..._d_l_x_g_p_u_preset_tuning__set_turbo.html | 143 - ..._i_a_d_l_x_g_p_u_tuning_changed_event.html | 166 - ...x__i_a_d_l_x_g_p_u_tuning_changed_event.js | 10 - ...i_a_d_l_x_g_p_u_tuning_changed_event1.html | 153 - ...__i_a_d_l_x_g_p_u_tuning_changed_event1.js | 5 - ...vent1__get_smart_access_memory_status.html | 158 - ...vent1__is_smart_access_memory_changed.html | 142 - ...g_p_u_tuning_changed_event__get_g_p_u.html | 153 - ...ed_event__is_automatic_tuning_changed.html | 142 - ...d_event__is_manual_fan_tuning_changed.html | 142 - ..._is_manual_g_p_u_c_l_k_tuning_changed.html | 142 - ...event__is_manual_power_tuning_changed.html | 142 - ...ent__is_manual_v_r_a_m_tuning_changed.html | 142 - ...anged_event__is_preset_tuning_changed.html | 142 - ...a_d_l_x_g_p_u_tuning_changed_handling.html | 155 - ...i_a_d_l_x_g_p_u_tuning_changed_handling.js | 5 - ...ling__add_g_p_u_tuning_event_listener.html | 152 - ...g__remove_g_p_u_tuning_event_listener.html | 150 - ...a_d_l_x_g_p_u_tuning_changed_listener.html | 156 - ...i_a_d_l_x_g_p_u_tuning_changed_listener.js | 4 - ...ged_listener__on_g_p_u_tuning_changed.html | 149 - ..._o_x__i_a_d_l_x_g_p_u_tuning_services.html | 187 - ..._d_o_x__i_a_d_l_x_g_p_u_tuning_services.js | 18 - ...o_x__i_a_d_l_x_g_p_u_tuning_services1.html | 154 - ...d_o_x__i_a_d_l_x_g_p_u_tuning_services1.js | 4 - ...ng_services1__get_smart_access_memory.html | 159 - ..._p_u_tuning_services__get_auto_tuning.html | 161 - ...es__get_g_p_u_tuning_changed_handling.html | 152 - ...uning_services__get_manual_fan_tuning.html | 162 - ...ing_services__get_manual_g_f_x_tuning.html | 163 - ...ing_services__get_manual_power_tuning.html | 161 - ...g_services__get_manual_v_r_a_m_tuning.html | 163 - ..._u_tuning_services__get_preset_tuning.html | 161 - ..._g_p_u_tuning_services__is_at_factory.html | 156 - ...ng_services__is_supported_auto_tuning.html | 156 - ...vices__is_supported_manual_fan_tuning.html | 156 - ...ces__is_supported_manual_g_f_x_tuning.html | 156 - ...ces__is_supported_manual_power_tuning.html | 156 - ...s__is_supported_manual_v_r_a_m_tuning.html | 156 - ..._services__is_supported_preset_tuning.html | 156 - ...p_u_tuning_services__reset_to_factory.html | 150 - ..._x__i_a_d_l_x_g_p_us_changed_handling.html | 155 - ..._o_x__i_a_d_l_x_g_p_us_changed_handling.js | 5 - ...dling__add_g_p_us_list_event_listener.html | 152 - ...ng__remove_g_p_us_list_event_listener.html | 150 - ..._o_x__i_a_d_l_x_g_p_us_event_listener.html | 155 - ..._d_o_x__i_a_d_l_x_g_p_us_event_listener.js | 4 - ...event_listener__on_g_p_u_list_changed.html | 150 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.html | 161 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.js | 8 - .../_d_o_x__i_a_d_l_x_i2_c__is_supported.html | 163 - .../html/_d_o_x__i_a_d_l_x_i2_c__read.html | 189 - ...__i_a_d_l_x_i2_c__repeated_start_read.html | 189 - .../html/_d_o_x__i_a_d_l_x_i2_c__version.html | 155 - .../html/_d_o_x__i_a_d_l_x_i2_c__write.html | 189 - .../html/_d_o_x__i_a_d_l_x_interface.html | 159 - .../html/_d_o_x__i_a_d_l_x_interface.js | 6 - .../_d_o_x__i_a_d_l_x_interface__acquire.html | 143 - ..._i_a_d_l_x_interface__query_interface.html | 162 - .../_d_o_x__i_a_d_l_x_interface__release.html | 142 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_list.html | 164 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_list.js | 11 - .../_d_o_x__i_a_d_l_x_list__add__back.html | 147 - .../html/_d_o_x__i_a_d_l_x_list__at.html | 160 - .../html/_d_o_x__i_a_d_l_x_list__begin.html | 158 - .../html/_d_o_x__i_a_d_l_x_list__clear.html | 142 - .../html/_d_o_x__i_a_d_l_x_list__empty.html | 142 - .../html/_d_o_x__i_a_d_l_x_list__end.html | 157 - .../_d_o_x__i_a_d_l_x_list__remove__back.html | 142 - .../html/_d_o_x__i_a_d_l_x_list__size.html | 142 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_log.html | 155 - .../adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.js | 4 - .../_d_o_x__i_a_d_l_x_log__write_log.html | 151 - .../_d_o_x__i_a_d_l_x_manual_fan_tuning.html | 191 - .../_d_o_x__i_a_d_l_x_manual_fan_tuning.js | 23 - ...n_tuning__get_empty_fan_tuning_states.html | 152 - ...ual_fan_tuning__get_fan_tuning_ranges.html | 158 - ...ual_fan_tuning__get_fan_tuning_states.html | 152 - ...al_fan_tuning__get_min_acoustic_limit.html | 150 - ..._tuning__get_min_acoustic_limit_range.html | 150 - ..._manual_fan_tuning__get_min_fan_speed.html | 150 - ...l_fan_tuning__get_min_fan_speed_range.html | 148 - ...nual_fan_tuning__get_target_fan_speed.html | 148 - ...an_tuning__get_target_fan_speed_range.html | 148 - ...nual_fan_tuning__get_zero_r_p_m_state.html | 150 - ...ning__is_supported_min_acoustic_limit.html | 150 - ...an_tuning__is_supported_min_fan_speed.html | 148 - ...tuning__is_supported_target_fan_speed.html | 148 - ...l_fan_tuning__is_supported_zero_r_p_m.html | 150 - ...an_tuning__is_valid_fan_tuning_states.html | 158 - ...ual_fan_tuning__set_fan_tuning_states.html | 148 - ...al_fan_tuning__set_min_acoustic_limit.html | 150 - ..._manual_fan_tuning__set_min_fan_speed.html | 148 - ...nual_fan_tuning__set_target_fan_speed.html | 148 - ...nual_fan_tuning__set_zero_r_p_m_state.html | 150 - ..._x__i_a_d_l_x_manual_fan_tuning_state.html | 159 - ..._o_x__i_a_d_l_x_manual_fan_tuning_state.js | 7 - ...anual_fan_tuning_state__get_fan_speed.html | 148 - ...ual_fan_tuning_state__get_temperature.html | 148 - ...anual_fan_tuning_state__set_fan_speed.html | 150 - ...ual_fan_tuning_state__set_temperature.html | 148 - ..._a_d_l_x_manual_fan_tuning_state_list.html | 155 - ..._i_a_d_l_x_manual_fan_tuning_state_list.js | 5 - ...nual_fan_tuning_state_list__add__back.html | 148 - ..._l_x_manual_fan_tuning_state_list__at.html | 160 - ..._x__i_a_d_l_x_manual_graphics_tuning1.html | 161 - ..._o_x__i_a_d_l_x_manual_graphics_tuning1.js | 8 - ...uning1__get_empty_g_p_u_tuning_states.html | 155 - ...hics_tuning1__get_g_p_u_tuning_ranges.html | 161 - ...hics_tuning1__get_g_p_u_tuning_states.html | 154 - ...tuning1__is_valid_g_p_u_tuning_states.html | 160 - ...hics_tuning1__set_g_p_u_tuning_states.html | 150 - ..._x__i_a_d_l_x_manual_graphics_tuning2.html | 169 - ..._o_x__i_a_d_l_x_manual_graphics_tuning2.js | 12 - ...hics_tuning2__get_g_p_u_max_frequency.html | 150 - ...uning2__get_g_p_u_max_frequency_range.html | 150 - ...hics_tuning2__get_g_p_u_min_frequency.html | 150 - ...uning2__get_g_p_u_min_frequency_range.html | 150 - ...l_graphics_tuning2__get_g_p_u_voltage.html | 150 - ...hics_tuning2__get_g_p_u_voltage_range.html | 150 - ...hics_tuning2__set_g_p_u_max_frequency.html | 150 - ...hics_tuning2__set_g_p_u_min_frequency.html | 150 - ...l_graphics_tuning2__set_g_p_u_voltage.html | 150 - ..._d_o_x__i_a_d_l_x_manual_power_tuning.html | 165 - .../_d_o_x__i_a_d_l_x_manual_power_tuning.js | 10 - ..._manual_power_tuning__get_power_limit.html | 150 - ...l_power_tuning__get_power_limit_range.html | 148 - ..._manual_power_tuning__get_t_d_c_limit.html | 151 - ...l_power_tuning__get_t_d_c_limit_range.html | 149 - ...ower_tuning__is_supported_t_d_c_limit.html | 151 - ..._manual_power_tuning__set_power_limit.html | 150 - ..._manual_power_tuning__set_t_d_c_limit.html | 151 - ..._d_o_x__i_a_d_l_x_manual_tuning_state.html | 159 - .../_d_o_x__i_a_d_l_x_manual_tuning_state.js | 7 - ..._x_manual_tuning_state__get_frequency.html | 148 - ..._l_x_manual_tuning_state__get_voltage.html | 148 - ..._x_manual_tuning_state__set_frequency.html | 148 - ..._l_x_manual_tuning_state__set_voltage.html | 148 - ...x__i_a_d_l_x_manual_tuning_state_list.html | 155 - ...o_x__i_a_d_l_x_manual_tuning_state_list.js | 5 - ...x_manual_tuning_state_list__add__back.html | 148 - ..._a_d_l_x_manual_tuning_state_list__at.html | 160 - ...o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html | 169 - ...d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.js | 12 - ...ing1__get_empty_v_r_a_m_tuning_states.html | 152 - ...uning1__get_memory_timing_description.html | 150 - ...ported_memory_timing_description_list.html | 153 - ..._m_tuning1__get_v_r_a_m_tuning_ranges.html | 158 - ..._m_tuning1__get_v_r_a_m_tuning_states.html | 152 - ...m_tuning1__is_supported_memory_timing.html | 150 - ...ning1__is_valid_v_r_a_m_tuning_states.html | 158 - ...uning1__set_memory_timing_description.html | 150 - ..._m_tuning1__set_v_r_a_m_tuning_states.html | 148 - ...o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html | 165 - ...d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.js | 10 - ..._m_tuning2__get_max_v_r_a_m_frequency.html | 148 - ...ing2__get_max_v_r_a_m_frequency_range.html | 148 - ...uning2__get_memory_timing_description.html | 150 - ...ported_memory_timing_description_list.html | 153 - ...m_tuning2__is_supported_memory_timing.html | 150 - ..._m_tuning2__set_max_v_r_a_m_frequency.html | 148 - ...uning2__set_memory_timing_description.html | 150 - ...__i_a_d_l_x_memory_timing_description.html | 153 - ..._x__i_a_d_l_x_memory_timing_description.js | 4 - ...y_timing_description__get_description.html | 148 - ..._d_l_x_memory_timing_description_list.html | 155 - ..._a_d_l_x_memory_timing_description_list.js | 5 - ...ry_timing_description_list__add__back.html | 148 - ..._x_memory_timing_description_list__at.html | 160 - ...d_l_x_performance_monitoring_services.html | 196 - ...a_d_l_x_performance_monitoring_services.js | 23 - ...es__clear_performance_metrics_history.html | 140 - ...ing_services__get_all_metrics_history.html | 176 - ...ing_services__get_current_all_metrics.html | 151 - ...onitoring_services__get_current_f_p_s.html | 152 - ...g_services__get_current_g_p_u_metrics.html | 159 - ...rent_performance_metrics_history_size.html | 149 - ..._services__get_current_system_metrics.html | 151 - ...onitoring_services__get_f_p_s_history.html | 177 - ...g_services__get_g_p_u_metrics_history.html | 184 - ..._max_performance_metrics_history_size.html | 149 - ...erformance_metrics_history_size_range.html | 150 - ...oring_services__get_sampling_interval.html | 149 - ...services__get_sampling_interval_range.html | 150 - ...services__get_supported_g_p_u_metrics.html | 159 - ...ervices__get_supported_system_metrics.html | 151 - ..._services__get_system_metrics_history.html | 176 - ..._max_performance_metrics_history_size.html | 149 - ...oring_services__set_sampling_interval.html | 149 - ...s__start_performance_metrics_tracking.html | 144 - ...es__stop_performance_metrics_tracking.html | 144 - ..._i_a_d_l_x_power_tuning_changed_event.html | 153 - ...x__i_a_d_l_x_power_tuning_changed_event.js | 4 - ...ged_event__is_smart_shift_max_changed.html | 140 - ...a_d_l_x_power_tuning_changed_handling.html | 155 - ...i_a_d_l_x_power_tuning_changed_handling.js | 5 - ...ling__add_power_tuning_event_listener.html | 152 - ...g__remove_power_tuning_event_listener.html | 150 - ...a_d_l_x_power_tuning_changed_listener.html | 156 - ...i_a_d_l_x_power_tuning_changed_listener.js | 4 - ...ged_listener__on_power_tuning_changed.html | 149 - ..._o_x__i_a_d_l_x_power_tuning_services.html | 155 - ..._d_o_x__i_a_d_l_x_power_tuning_services.js | 5 - ...es__get_power_tuning_changed_handling.html | 152 - ..._tuning_services__get_smart_shift_max.html | 152 - .../_d_o_x__i_a_d_l_x_simple_eyefinity.html | 160 - .../_d_o_x__i_a_d_l_x_simple_eyefinity.js | 7 - ...x__i_a_d_l_x_simple_eyefinity__create.html | 155 - ...__i_a_d_l_x_simple_eyefinity__destroy.html | 150 - ...a_d_l_x_simple_eyefinity__destroy_all.html | 141 - ..._d_l_x_simple_eyefinity__is_supported.html | 153 - ..._d_o_x__i_a_d_l_x_smart_access_memory.html | 157 - .../_d_o_x__i_a_d_l_x_smart_access_memory.js | 6 - ...d_l_x_smart_access_memory__is_enabled.html | 148 - ...l_x_smart_access_memory__is_supported.html | 147 - ..._l_x_smart_access_memory__set_enabled.html | 152 - .../_d_o_x__i_a_d_l_x_smart_shift_max.html | 163 - .../html/_d_o_x__i_a_d_l_x_smart_shift_max.js | 9 - ...__i_a_d_l_x_smart_shift_max__get_bias.html | 150 - ..._d_l_x_smart_shift_max__get_bias_mode.html | 150 - ...d_l_x_smart_shift_max__get_bias_range.html | 150 - ...a_d_l_x_smart_shift_max__is_supported.html | 150 - ...__i_a_d_l_x_smart_shift_max__set_bias.html | 150 - ..._d_l_x_smart_shift_max__set_bias_mode.html | 150 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_system.html | 187 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_system.js | 15 - .../html/_d_o_x__i_a_d_l_x_system1.html | 154 - .../SDKDoc/html/_d_o_x__i_a_d_l_x_system1.js | 4 - ..._x_system1__get_power_tuning_services.html | 152 - .../_d_o_x__i_a_d_l_x_system__enable_log.html | 187 - ..._l_x_system__get3_d_settings_services.html | 151 - ...a_d_l_x_system__get_desktops_services.html | 152 - ...a_d_l_x_system__get_displays_services.html | 152 - ...l_x_system__get_g_p_u_tuning_services.html | 151 - .../_d_o_x__i_a_d_l_x_system__get_g_p_us.html | 153 - ...x_system__get_g_p_us_changed_handling.html | 152 - .../_d_o_x__i_a_d_l_x_system__get_i2_c.html | 159 - ...__get_performance_monitoring_services.html | 151 - ..._a_d_l_x_system__hybrid_graphics_type.html | 150 - ..._x__i_a_d_l_x_system__query_interface.html | 160 - ..._i_a_d_l_x_system__total_system_r_a_m.html | 147 - .../_d_o_x__i_a_d_l_x_system_metrics.html | 159 - .../html/_d_o_x__i_a_d_l_x_system_metrics.js | 7 - .../_d_o_x__i_a_d_l_x_system_metrics1.html | 154 - .../html/_d_o_x__i_a_d_l_x_system_metrics1.js | 4 - ...x_system_metrics1__power_distribution.html | 179 - ...i_a_d_l_x_system_metrics__c_p_u_usage.html | 147 - ...i_a_d_l_x_system_metrics__smart_shift.html | 154 - ..._a_d_l_x_system_metrics__system_r_a_m.html | 147 - ..._i_a_d_l_x_system_metrics__time_stamp.html | 149 - ..._d_o_x__i_a_d_l_x_system_metrics_list.html | 155 - .../_d_o_x__i_a_d_l_x_system_metrics_list.js | 5 - ..._d_l_x_system_metrics_list__add__back.html | 147 - ..._x__i_a_d_l_x_system_metrics_list__at.html | 159 - ...o_x__i_a_d_l_x_system_metrics_support.html | 163 - ...d_o_x__i_a_d_l_x_system_metrics_support.js | 9 - ..._x__i_a_d_l_x_system_metrics_support1.html | 154 - ..._o_x__i_a_d_l_x_system_metrics_support1.js | 4 - ...ort1__is_supported_power_distribution.html | 147 - ...etrics_support__get_c_p_u_usage_range.html | 158 - ...etrics_support__get_smart_shift_range.html | 158 - ...trics_support__get_system_r_a_m_range.html | 158 - ...ics_support__is_supported_c_p_u_usage.html | 147 - ...ics_support__is_supported_smart_shift.html | 147 - ...cs_support__is_supported_system_r_a_m.html | 147 - vendor/adlx/SDKDoc/html/adlx_atomic_dec.html | 145 - vendor/adlx/SDKDoc/html/adlx_atomic_inc.html | 145 - .../adlx/SDKDoc/html/adlx_free_library.html | 149 - .../SDKDoc/html/adlx_get_proc_address.html | 173 - .../adlx/SDKDoc/html/adlx_load_library.html | 149 - vendor/adlx/SDKDoc/html/amd.png | Bin 2333 -> 0 bytes vendor/adlx/SDKDoc/html/amdsmall.png | Bin 1262 -> 0 bytes vendor/adlx/SDKDoc/html/annotated.html | 136 - vendor/adlx/SDKDoc/html/bc_s.png | Bin 676 -> 0 bytes vendor/adlx/SDKDoc/html/bdwn.png | Bin 147 -> 0 bytes .../SDKDoc/html/c_3_d_settings_event.html | 314 - .../SDKDoc/html/c__anisotropic_filtering.html | 372 - vendor/adlx/SDKDoc/html/c__anti_aliasing.html | 458 -- vendor/adlx/SDKDoc/html/c__anti_lag.html | 386 - vendor/adlx/SDKDoc/html/c__boost.html | 363 - vendor/adlx/SDKDoc/html/c__chill.html | 367 - vendor/adlx/SDKDoc/html/c__enhanced_sync.html | 331 - vendor/adlx/SDKDoc/html/c__f_r_t_c.html | 356 - .../SDKDoc/html/c__g_p_u_auto_tuning.html | 676 -- .../SDKDoc/html/c__g_p_u_preset_tuning.html | 437 -- vendor/adlx/SDKDoc/html/c__i2_c.html | 353 - .../adlx/SDKDoc/html/c__image_sharpening.html | 356 - .../SDKDoc/html/c__manual_fan_tuning.html | 572 -- .../html/c__manual_graphics_tuning.html | 587 -- .../SDKDoc/html/c__manual_power_tuning.html | 472 -- .../SDKDoc/html/c__manual_v_r_a_m_tuning.html | 708 -- .../html/c__morphologic_anti_aliasing.html | 328 - .../adlx/SDKDoc/html/c__perf_all_metrics.html | 796 --- .../SDKDoc/html/c__perf_f_p_s_metrics.html | 383 - .../SDKDoc/html/c__perf_g_p_u_metrics.html | 860 --- .../SDKDoc/html/c__perf_system_metrics.html | 595 -- vendor/adlx/SDKDoc/html/c__r_s_r.html | 344 - .../SDKDoc/html/c__reset_shader_cache.html | 307 - .../adlx/SDKDoc/html/c__sync3_d_receive.html | 379 - .../SDKDoc/html/c__sync_display_receive.html | 458 -- .../SDKDoc/html/c__sync_g_p_u_tuning.html | 323 - .../SDKDoc/html/c__sync_power_tuning.html | 284 - vendor/adlx/SDKDoc/html/c__tessellation.html | 411 -- .../html/c__wait_for_vertical_refresh.html | 361 - .../SDKDoc/html/c_display__color_depth.html | 482 -- .../SDKDoc/html/c_display__custom_color.html | 486 -- .../html/c_display__custom_resolution.html | 534 -- ...play__display_connectivity_experience.html | 659 -- .../html/c_display__display_vari_bright.html | 480 -- .../SDKDoc/html/c_display__free_sync.html | 368 - .../SDKDoc/html/c_display__g_p_u_scaling.html | 367 - .../adlx/SDKDoc/html/c_display__h_d_c_p.html | 368 - .../html/c_display__integer_scaling.html | 368 - .../SDKDoc/html/c_display__pixel_format.html | 470 -- .../SDKDoc/html/c_display__scaling_mode.html | 393 -- vendor/adlx/SDKDoc/html/c_display__v_s_r.html | 368 - vendor/adlx/SDKDoc/html/c_sam.html | 511 -- .../html/c_sample__async_event_handling.html | 323 - .../html/c_sample__g_p_u_service_call.html | 620 -- .../SDKDoc/html/c_sample__invalid_object.html | 247 - .../html/c_sample__primary_adapter.html | 337 - .../SDKDoc/html/c_sample__share_memory.html | 229 - .../html/c_sample__work_with_a_d_l.html | 291 - .../SDKDoc/html/c_sample_desktopevent.html | 348 - .../html/c_sample_display3_d_l_u_t.html | 779 -- .../html/c_sample_display_blanking.html | 507 -- .../SDKDoc/html/c_sample_display_events.html | 352 - .../SDKDoc/html/c_sample_display_gamma.html | 560 -- .../SDKDoc/html/c_sample_display_gamut.html | 492 -- .../SDKDoc/html/c_sample_displayinfo.html | 396 -- .../adlx/SDKDoc/html/c_sample_eyefinity.html | 470 -- vendor/adlx/SDKDoc/html/c_sample_gpus.html | 435 -- vendor/adlx/SDKDoc/html/c_sample_log.html | 328 - .../SDKDoc/html/c_sample_userprocess.html | 386 - vendor/adlx/SDKDoc/html/c_ssm.html | 361 - vendor/adlx/SDKDoc/html/classes.html | 128 - vendor/adlx/SDKDoc/html/closed.png | Bin 132 -> 0 bytes .../SDKDoc/html/cpp_3_d_settings_event.html | 291 - .../html/cpp__anisotropic_filtering.html | 356 - .../adlx/SDKDoc/html/cpp__anti_aliasing.html | 426 -- vendor/adlx/SDKDoc/html/cpp__anti_lag.html | 378 - vendor/adlx/SDKDoc/html/cpp__boost.html | 358 - vendor/adlx/SDKDoc/html/cpp__chill.html | 376 - .../adlx/SDKDoc/html/cpp__enhanced_sync.html | 322 - vendor/adlx/SDKDoc/html/cpp__f_r_t_c.html | 356 - .../SDKDoc/html/cpp__g_p_u_auto_tuning.html | 557 -- .../SDKDoc/html/cpp__g_p_u_preset_tuning.html | 391 -- vendor/adlx/SDKDoc/html/cpp__i2_c.html | 368 - .../SDKDoc/html/cpp__image_sharpening.html | 357 - .../SDKDoc/html/cpp__manual_fan_tuning.html | 510 -- .../html/cpp__manual_graphics_tuning.html | 505 -- .../SDKDoc/html/cpp__manual_power_tuning.html | 436 -- .../html/cpp__manual_v_r_a_m_tuning.html | 575 -- .../html/cpp__morphologic_anti_aliasing.html | 326 - .../SDKDoc/html/cpp__perf_all_metrics.html | 720 -- .../SDKDoc/html/cpp__perf_f_p_s_metrics.html | 366 - .../SDKDoc/html/cpp__perf_g_p_u_metrics.html | 806 --- .../SDKDoc/html/cpp__perf_system_metrics.html | 561 -- vendor/adlx/SDKDoc/html/cpp__r_s_r.html | 353 - .../SDKDoc/html/cpp__reset_shader_cache.html | 301 - .../SDKDoc/html/cpp__sync3_d_receive.html | 568 -- .../html/cpp__sync_display_receive.html | 442 -- .../SDKDoc/html/cpp__sync_g_p_u_tuning.html | 308 - .../SDKDoc/html/cpp__sync_power_tuning.html | 268 - .../adlx/SDKDoc/html/cpp__tessellation.html | 384 - .../html/cpp__wait_for_vertical_refresh.html | 346 - .../SDKDoc/html/cpp_display__color_depth.html | 431 -- .../html/cpp_display__custom_color.html | 501 -- .../html/cpp_display__custom_resolution.html | 510 -- ...play__display_connectivity_experience.html | 611 -- .../cpp_display__display_vari_bright.html | 472 -- .../SDKDoc/html/cpp_display__free_sync.html | 362 - .../html/cpp_display__g_p_u_scaling.html | 362 - .../SDKDoc/html/cpp_display__h_d_c_p.html | 362 - .../html/cpp_display__integer_scaling.html | 362 - .../html/cpp_display__pixel_format.html | 446 -- .../html/cpp_display__scaling_mode.html | 387 - .../adlx/SDKDoc/html/cpp_display__v_s_r.html | 362 - vendor/adlx/SDKDoc/html/cpp_sam.html | 459 -- .../cpp_sample__async_event_handling.html | 306 - .../html/cpp_sample__g_p_u_service_call.html | 633 -- .../html/cpp_sample__invalid_object.html | 247 - .../html/cpp_sample__primary_adapter.html | 316 - .../SDKDoc/html/cpp_sample__share_memory.html | 236 - .../html/cpp_sample__work_with_a_d_l.html | 283 - .../SDKDoc/html/cpp_sample_desktopevent.html | 323 - .../html/cpp_sample_display3_d_l_u_t.html | 742 -- .../html/cpp_sample_display_blanking.html | 474 -- .../html/cpp_sample_display_events.html | 338 - .../SDKDoc/html/cpp_sample_display_gamma.html | 571 -- .../SDKDoc/html/cpp_sample_display_gamut.html | 475 -- .../SDKDoc/html/cpp_sample_displayinfo.html | 363 - .../SDKDoc/html/cpp_sample_eyefinity.html | 395 -- vendor/adlx/SDKDoc/html/cpp_sample_gpus.html | 430 -- vendor/adlx/SDKDoc/html/cpp_sample_log.html | 332 - .../SDKDoc/html/cpp_sample_userprocess.html | 389 - vendor/adlx/SDKDoc/html/cpp_ssm.html | 361 - .../SDKDoc/html/cs_sample_adlxcsharpbind.html | 295 - .../SDKDoc/html/cs_sample_display_events.html | 247 - .../SDKDoc/html/cs_sample_displayinfo.html | 272 - vendor/adlx/SDKDoc/html/desktop.html | 126 - vendor/adlx/SDKDoc/html/desktop.js | 10 - .../dir_027b3822e68cea2333c40389ff559349.html | 123 - .../dir_16efc9621f5d2e1cb4bad055b0f276b2.html | 123 - .../dir_24e107d8aaaa0f0fb9ce89773de45c08.html | 123 - .../dir_32f501a9a44fa5b987b82f09ad085bbe.html | 123 - .../dir_38661bf1cff6bbf8d643288778f7dda5.html | 123 - .../dir_42276f7418706d1ade0d3bc4e4f60731.html | 123 - .../dir_537881034b1f7d49233316885f2cd2ce.html | 123 - .../dir_66c87b55badc78d3b4aa518cd95dfa04.html | 123 - .../dir_6e22ff5a6df353352cbcbff529ec7bf5.html | 123 - .../dir_902de48ee18c71cf36cb2c92b94e2165.html | 123 - .../dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.html | 123 - .../dir_a12a240c2aa7d26dd72e7a22857dd4bb.html | 123 - .../dir_c5db9f0563fe1d2d90e845bf2fbf723c.html | 123 - .../dir_c8ab53e67140eaecfb977988f71b2a99.html | 123 - .../dir_ca6309d378ceffb9970caf11a0592736.html | 123 - .../dir_e722523abc32cefc280070c505cb9f82.html | 123 - .../dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.html | 123 - vendor/adlx/SDKDoc/html/display.html | 127 - vendor/adlx/SDKDoc/html/display.js | 38 - vendor/adlx/SDKDoc/html/doc.png | Bin 746 -> 0 bytes .../html/domain_c_sample_3_d_graphics.html | 158 - .../html/domain_c_sample_3_d_graphics.js | 17 - .../SDKDoc/html/domain_c_sample__desktop.html | 136 - .../SDKDoc/html/domain_c_sample__desktop.js | 5 - .../SDKDoc/html/domain_c_sample__display.html | 166 - .../SDKDoc/html/domain_c_sample__display.js | 21 - .../html/domain_c_sample__g_p_u_tuning.html | 144 - .../html/domain_c_sample__g_p_u_tuning.js | 10 - .../SDKDoc/html/domain_c_sample__generic.html | 138 - .../SDKDoc/html/domain_c_sample__generic.js | 7 - .../SDKDoc/html/domain_c_sample__i2_c.html | 132 - .../adlx/SDKDoc/html/domain_c_sample__i2_c.js | 4 - ...main_c_sample__performance_monitoring.html | 138 - ...domain_c_sample__performance_monitoring.js | 7 - .../html/domain_c_sample_globalsync.html | 140 - .../SDKDoc/html/domain_c_sample_globalsync.js | 9 - .../html/domain_c_sample_powertuning.html | 132 - .../html/domain_c_sample_powertuning.js | 4 - .../html/domain_c_sample_servicecall.html | 136 - .../html/domain_c_sample_servicecall.js | 6 - .../html/domain_cpp_sample_3_d_graphics.html | 158 - .../html/domain_cpp_sample_3_d_graphics.js | 17 - .../html/domain_cpp_sample__desktop.html | 136 - .../SDKDoc/html/domain_cpp_sample__desktop.js | 5 - .../html/domain_cpp_sample__display.html | 166 - .../SDKDoc/html/domain_cpp_sample__display.js | 21 - .../html/domain_cpp_sample__g_p_u_tuning.html | 144 - .../html/domain_cpp_sample__g_p_u_tuning.js | 10 - .../html/domain_cpp_sample__generic.html | 138 - .../SDKDoc/html/domain_cpp_sample__generic.js | 7 - .../SDKDoc/html/domain_cpp_sample__i2_c.html | 132 - .../SDKDoc/html/domain_cpp_sample__i2_c.js | 4 - ...in_cpp_sample__performance_monitoring.html | 138 - ...main_cpp_sample__performance_monitoring.js | 7 - .../html/domain_cpp_sample_globalsync.html | 140 - .../html/domain_cpp_sample_globalsync.js | 9 - .../html/domain_cpp_sample_powertuning.html | 132 - .../html/domain_cpp_sample_powertuning.js | 4 - .../html/domain_cpp_sample_servicecall.html | 136 - .../html/domain_cpp_sample_servicecall.js | 6 - .../adlx/SDKDoc/html/domain_powertuning.html | 126 - vendor/adlx/SDKDoc/html/domain_powertuning.js | 8 - .../adlx/SDKDoc/html/domain_sample_page.html | 127 - vendor/adlx/SDKDoc/html/domain_sample_page.js | 8 - vendor/adlx/SDKDoc/html/doxygen.css | 1793 ----- vendor/adlx/SDKDoc/html/doxygen.svg | 26 - vendor/adlx/SDKDoc/html/dynsections.js | 121 - vendor/adlx/SDKDoc/html/files.html | 130 - vendor/adlx/SDKDoc/html/folderclosed.png | Bin 616 -> 0 bytes vendor/adlx/SDKDoc/html/folderopen.png | Bin 597 -> 0 bytes vendor/adlx/SDKDoc/html/functions.html | 279 - vendor/adlx/SDKDoc/html/functions_vars.html | 279 - vendor/adlx/SDKDoc/html/funpage.html | 170 - vendor/adlx/SDKDoc/html/funpage.js | 13 - vendor/adlx/SDKDoc/html/gfx3dgraphics.html | 127 - vendor/adlx/SDKDoc/html/gfx3dgraphics.js | 21 - vendor/adlx/SDKDoc/html/globals.html | 374 - vendor/adlx/SDKDoc/html/globals_b.html | 140 - vendor/adlx/SDKDoc/html/globals_c.html | 143 - vendor/adlx/SDKDoc/html/globals_d.html | 251 - vendor/adlx/SDKDoc/html/globals_defs.html | 129 - vendor/adlx/SDKDoc/html/globals_enum.html | 233 - vendor/adlx/SDKDoc/html/globals_eval.html | 769 -- vendor/adlx/SDKDoc/html/globals_f.html | 128 - vendor/adlx/SDKDoc/html/globals_g.html | 152 - vendor/adlx/SDKDoc/html/globals_i.html | 146 - vendor/adlx/SDKDoc/html/globals_l.html | 134 - vendor/adlx/SDKDoc/html/globals_m.html | 155 - vendor/adlx/SDKDoc/html/globals_n.html | 128 - vendor/adlx/SDKDoc/html/globals_o.html | 137 - vendor/adlx/SDKDoc/html/globals_p.html | 152 - vendor/adlx/SDKDoc/html/globals_r.html | 146 - vendor/adlx/SDKDoc/html/globals_s.html | 137 - vendor/adlx/SDKDoc/html/globals_t.html | 164 - vendor/adlx/SDKDoc/html/globals_u.html | 128 - vendor/adlx/SDKDoc/html/globals_w.html | 149 - vendor/adlx/SDKDoc/html/globals_y.html | 131 - vendor/adlx/SDKDoc/html/gpu.html | 126 - vendor/adlx/SDKDoc/html/gpu.js | 8 - vendor/adlx/SDKDoc/html/gputuning.html | 127 - vendor/adlx/SDKDoc/html/gputuning.js | 26 - .../SDKDoc/html/group___a_d_l_x_defs.html | 252 - .../adlx/SDKDoc/html/group___a_d_l_x_defs.js | 9 - .../SDKDoc/html/group___a_d_l_x_macro.html | 431 -- .../adlx/SDKDoc/html/group___a_d_l_x_macro.js | 18 - .../adlx/SDKDoc/html/group__enumerations.html | 1739 ----- .../adlx/SDKDoc/html/group__enumerations.js | 40 - vendor/adlx/SDKDoc/html/group__structures.js | 13 - .../SDKDoc/html/group__structures_val.html | 1024 --- ...es_val_struct_a_d_l_x__3_d_l_u_t___data.js | 4 - ..._val_struct_a_d_l_x___custom_resolution.js | 10 - ...uctures_val_struct_a_d_l_x___gamma_ramp.js | 4 - ..._val_struct_a_d_l_x___gamut_color_space.js | 6 - ...ructures_val_struct_a_d_l_x___int_range.js | 6 - ...__structures_val_struct_a_d_l_x___point.js | 5 - ...__structures_val_struct_a_d_l_x___r_g_b.js | 6 - ...ures_val_struct_a_d_l_x___regamma_coeff.js | 8 - ...ctures_val_struct_a_d_l_x___timing_info.js | 14 - ..._val_struct_a_d_l_x___u_i_n_t16___r_g_b.js | 6 - vendor/adlx/SDKDoc/html/group__typedefs.html | 168 - vendor/adlx/SDKDoc/html/i2c.html | 126 - vendor/adlx/SDKDoc/html/i2c.js | 4 - vendor/adlx/SDKDoc/html/index.html | 143 - .../SDKDoc/html/java_sample_adlxjavabind.html | 298 - .../html/java_sample_display_events.html | 209 - .../SDKDoc/html/java_sample_displayinfo.html | 268 - vendor/adlx/SDKDoc/html/jquery.js | 35 - vendor/adlx/SDKDoc/html/list.png | Bin 12829 -> 0 bytes vendor/adlx/SDKDoc/html/media/image1.png | Bin 59823 -> 0 bytes vendor/adlx/SDKDoc/html/media/image2.png | Bin 19866 -> 0 bytes vendor/adlx/SDKDoc/html/media/image3.png | Bin 76263 -> 0 bytes vendor/adlx/SDKDoc/html/media/image4.png | Bin 18953 -> 0 bytes vendor/adlx/SDKDoc/html/media/image5.png | Bin 72931 -> 0 bytes vendor/adlx/SDKDoc/html/media/image6.png | Bin 48071 -> 0 bytes vendor/adlx/SDKDoc/html/media/image7.png | Bin 77045 -> 0 bytes vendor/adlx/SDKDoc/html/misc.html | 126 - vendor/adlx/SDKDoc/html/misc.js | 8 - vendor/adlx/SDKDoc/html/modules.html | 131 - vendor/adlx/SDKDoc/html/modules.js | 8 - vendor/adlx/SDKDoc/html/nav_f.png | Bin 153 -> 0 bytes vendor/adlx/SDKDoc/html/nav_g.png | Bin 95 -> 0 bytes vendor/adlx/SDKDoc/html/nav_h.png | Bin 98 -> 0 bytes vendor/adlx/SDKDoc/html/navtree.css | 146 - vendor/adlx/SDKDoc/html/navtree.js | 546 -- vendor/adlx/SDKDoc/html/navtreedata.js | 44 - vendor/adlx/SDKDoc/html/navtreeindex0.js | 253 - vendor/adlx/SDKDoc/html/navtreeindex1.js | 253 - vendor/adlx/SDKDoc/html/navtreeindex2.js | 253 - vendor/adlx/SDKDoc/html/navtreeindex3.js | 253 - vendor/adlx/SDKDoc/html/navtreeindex4.js | 249 - vendor/adlx/SDKDoc/html/new_footer.html | 23 - vendor/adlx/SDKDoc/html/new_header.html | 61 - vendor/adlx/SDKDoc/html/new_stylesheet.css | 1992 ------ vendor/adlx/SDKDoc/html/open.png | Bin 123 -> 0 bytes .../SDKDoc/html/page__a_d_l_x_c_help.html | 156 - .../adlx/SDKDoc/html/page__a_d_l_x_c_help.js | 11 - .../SDKDoc/html/page__a_d_l_x_cpp_help.html | 158 - .../SDKDoc/html/page__a_d_l_x_cpp_help.js | 13 - .../adlx/SDKDoc/html/page__a_d_l_x_helps.html | 137 - .../adlx/SDKDoc/html/page__a_d_l_x_helps.js | 5 - .../html/page__a_d_l_x_initialize__fn.html | 157 - ..._d_l_x_initialize_with_caller_adl__fn.html | 181 - .../page__a_d_l_x_query_full_version__fn.html | 149 - .../html/page__a_d_l_x_query_version__fn.html | 149 - .../html/page__a_d_l_x_terminate__fn.html | 142 - .../html/page_adlxprogrammingguide.html | 148 - .../SDKDoc/html/page_adlxprogrammingguide.js | 7 - ..._help_a_d_l_x_helper__get_adl_mapping.html | 149 - ...p_a_d_l_x_helper__get_system_services.html | 139 - ...age_c_help_a_d_l_x_helper__initialize.html | 146 - ..._x_helper__initialize_with_caller_adl.html | 162 - ...__initialize_with_incompatible_driver.html | 147 - ...lp_a_d_l_x_helper__query_full_version.html | 138 - ..._c_help_a_d_l_x_helper__query_version.html | 138 - ...page_c_help_a_d_l_x_helper__terminate.html | 144 - .../SDKDoc/html/page_cpp_help_delete.html | 140 - .../html/page_cpp_help_get_adl_mapping.html | 149 - .../page_cpp_help_get_system_services.html | 139 - .../SDKDoc/html/page_cpp_help_initialize.html | 146 - ...e_cpp_help_initialize_with_caller_adl.html | 162 - ...p_initialize_with_incompatible_driver.html | 146 - .../adlx/SDKDoc/html/page_cpp_help_new.html | 138 - .../page_cpp_help_query_full_version.html | 138 - .../html/page_cpp_help_query_version.html | 138 - .../SDKDoc/html/page_cpp_help_terminate.html | 144 - .../html/page_guide__compatibility.html | 141 - .../adlx/SDKDoc/html/page_guide_advanced.html | 126 - .../adlx/SDKDoc/html/page_guide_advanced.js | 4 - vendor/adlx/SDKDoc/html/page_guide_bef.html | 147 - .../SDKDoc/html/page_guide_bindcsharp.html | 183 - .../adlx/SDKDoc/html/page_guide_bindjava.html | 187 - .../adlx/SDKDoc/html/page_guide_bindpy.html | 171 - vendor/adlx/SDKDoc/html/page_guide_event.html | 160 - .../SDKDoc/html/page_guide_init_help.html | 206 - .../SDKDoc/html/page_guide_init_pointer.html | 135 - .../SDKDoc/html/page_guide_languages.html | 139 - vendor/adlx/SDKDoc/html/page_guide_os.html | 124 - vendor/adlx/SDKDoc/html/page_guide_qs.html | 159 - vendor/adlx/SDKDoc/html/page_guide_qs.js | 10 - vendor/adlx/SDKDoc/html/page_guide_spe.html | 128 - vendor/adlx/SDKDoc/html/page_guide_spe.js | 6 - .../SDKDoc/html/page_guide_use__a_d_l_x.html | 155 - .../SDKDoc/html/page_guide_usingservice.html | 137 - vendor/adlx/SDKDoc/html/page_interfaces.html | 128 - vendor/adlx/SDKDoc/html/page_interfaces.js | 13 - vendor/adlx/SDKDoc/html/page_legal.html | 127 - vendor/adlx/SDKDoc/html/page_legal.js | 5 - .../SDKDoc/html/page_legal__disclaimer.html | 125 - .../SDKDoc/html/page_legal__trademark.html | 126 - .../SDKDoc/html/page_programwithadlx.html | 134 - .../adlx/SDKDoc/html/page_programwithadlx.js | 5 - vendor/adlx/SDKDoc/html/page_sample_c.html | 156 - vendor/adlx/SDKDoc/html/page_sample_c.js | 13 - vendor/adlx/SDKDoc/html/page_sample_cpp.html | 156 - vendor/adlx/SDKDoc/html/page_sample_cpp.js | 13 - vendor/adlx/SDKDoc/html/page_sample_cs.html | 161 - vendor/adlx/SDKDoc/html/page_sample_cs.js | 6 - vendor/adlx/SDKDoc/html/page_sample_java.html | 180 - vendor/adlx/SDKDoc/html/page_sample_java.js | 6 - vendor/adlx/SDKDoc/html/page_sample_py.html | 179 - vendor/adlx/SDKDoc/html/page_sample_py.js | 6 - vendor/adlx/SDKDoc/html/page_sdk.html | 132 - vendor/adlx/SDKDoc/html/page_sdk.js | 7 - vendor/adlx/SDKDoc/html/pages.html | 1115 --- vendor/adlx/SDKDoc/html/perfmonitoring.html | 126 - vendor/adlx/SDKDoc/html/perfmonitoring.js | 16 - .../SDKDoc/html/py_sample_adlxpybind.html | 733 -- .../SDKDoc/html/py_sample_display_events.html | 194 - .../SDKDoc/html/py_sample_displayinfo.html | 201 - vendor/adlx/SDKDoc/html/resize.js | 140 - vendor/adlx/SDKDoc/html/search/all_0.html | 37 - vendor/adlx/SDKDoc/html/search/all_0.js | 5 - vendor/adlx/SDKDoc/html/search/all_1.html | 37 - vendor/adlx/SDKDoc/html/search/all_1.js | 167 - vendor/adlx/SDKDoc/html/search/all_10.html | 37 - vendor/adlx/SDKDoc/html/search/all_10.js | 7 - vendor/adlx/SDKDoc/html/search/all_11.html | 37 - vendor/adlx/SDKDoc/html/search/all_11.js | 36 - vendor/adlx/SDKDoc/html/search/all_12.html | 37 - vendor/adlx/SDKDoc/html/search/all_12.js | 98 - vendor/adlx/SDKDoc/html/search/all_13.html | 37 - vendor/adlx/SDKDoc/html/search/all_13.js | 27 - vendor/adlx/SDKDoc/html/search/all_14.html | 37 - vendor/adlx/SDKDoc/html/search/all_14.js | 9 - vendor/adlx/SDKDoc/html/search/all_15.html | 37 - vendor/adlx/SDKDoc/html/search/all_15.js | 11 - vendor/adlx/SDKDoc/html/search/all_16.html | 37 - vendor/adlx/SDKDoc/html/search/all_16.js | 16 - vendor/adlx/SDKDoc/html/search/all_17.html | 37 - vendor/adlx/SDKDoc/html/search/all_17.js | 4 - vendor/adlx/SDKDoc/html/search/all_18.html | 37 - vendor/adlx/SDKDoc/html/search/all_18.js | 7 - vendor/adlx/SDKDoc/html/search/all_19.html | 37 - vendor/adlx/SDKDoc/html/search/all_19.js | 4 - vendor/adlx/SDKDoc/html/search/all_2.html | 37 - vendor/adlx/SDKDoc/html/search/all_2.js | 18 - vendor/adlx/SDKDoc/html/search/all_3.html | 37 - vendor/adlx/SDKDoc/html/search/all_3.js | 26 - vendor/adlx/SDKDoc/html/search/all_4.html | 37 - vendor/adlx/SDKDoc/html/search/all_4.js | 79 - vendor/adlx/SDKDoc/html/search/all_5.html | 37 - vendor/adlx/SDKDoc/html/search/all_5.js | 9 - vendor/adlx/SDKDoc/html/search/all_6.html | 37 - vendor/adlx/SDKDoc/html/search/all_6.js | 7 - vendor/adlx/SDKDoc/html/search/all_7.html | 37 - vendor/adlx/SDKDoc/html/search/all_7.js | 209 - vendor/adlx/SDKDoc/html/search/all_8.html | 37 - vendor/adlx/SDKDoc/html/search/all_8.js | 10 - vendor/adlx/SDKDoc/html/search/all_9.html | 37 - vendor/adlx/SDKDoc/html/search/all_9.js | 302 - vendor/adlx/SDKDoc/html/search/all_a.html | 37 - vendor/adlx/SDKDoc/html/search/all_a.js | 4 - vendor/adlx/SDKDoc/html/search/all_b.html | 37 - vendor/adlx/SDKDoc/html/search/all_b.js | 9 - vendor/adlx/SDKDoc/html/search/all_c.html | 37 - vendor/adlx/SDKDoc/html/search/all_c.js | 24 - vendor/adlx/SDKDoc/html/search/all_d.html | 37 - vendor/adlx/SDKDoc/html/search/all_d.js | 7 - vendor/adlx/SDKDoc/html/search/all_e.html | 37 - vendor/adlx/SDKDoc/html/search/all_e.js | 20 - vendor/adlx/SDKDoc/html/search/all_f.html | 37 - vendor/adlx/SDKDoc/html/search/all_f.js | 29 - vendor/adlx/SDKDoc/html/search/classes_0.html | 37 - vendor/adlx/SDKDoc/html/search/classes_0.js | 13 - vendor/adlx/SDKDoc/html/search/close.svg | 31 - vendor/adlx/SDKDoc/html/search/enums_0.html | 37 - vendor/adlx/SDKDoc/html/search/enums_0.js | 40 - .../adlx/SDKDoc/html/search/enumvalues_0.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_0.js | 48 - .../adlx/SDKDoc/html/search/enumvalues_1.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_1.js | 9 - .../SDKDoc/html/search/enumvalues_10.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_10.js | 12 - .../SDKDoc/html/search/enumvalues_11.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_11.js | 6 - .../adlx/SDKDoc/html/search/enumvalues_2.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_2.js | 10 - .../adlx/SDKDoc/html/search/enumvalues_3.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_3.js | 46 - .../adlx/SDKDoc/html/search/enumvalues_4.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_4.js | 5 - .../adlx/SDKDoc/html/search/enumvalues_5.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_5.js | 13 - .../adlx/SDKDoc/html/search/enumvalues_6.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_6.js | 11 - .../adlx/SDKDoc/html/search/enumvalues_7.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_7.js | 7 - .../adlx/SDKDoc/html/search/enumvalues_8.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_8.js | 13 - .../adlx/SDKDoc/html/search/enumvalues_9.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_9.js | 5 - .../adlx/SDKDoc/html/search/enumvalues_a.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_a.js | 8 - .../adlx/SDKDoc/html/search/enumvalues_b.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_b.js | 13 - .../adlx/SDKDoc/html/search/enumvalues_c.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_c.js | 11 - .../adlx/SDKDoc/html/search/enumvalues_d.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_d.js | 8 - .../adlx/SDKDoc/html/search/enumvalues_e.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_e.js | 17 - .../adlx/SDKDoc/html/search/enumvalues_f.html | 37 - .../adlx/SDKDoc/html/search/enumvalues_f.js | 5 - vendor/adlx/SDKDoc/html/search/files_0.html | 37 - vendor/adlx/SDKDoc/html/search/files_0.js | 5 - vendor/adlx/SDKDoc/html/search/groups_0.html | 37 - vendor/adlx/SDKDoc/html/search/groups_0.js | 8 - vendor/adlx/SDKDoc/html/search/mag_sel.svg | 74 - vendor/adlx/SDKDoc/html/search/nomatches.html | 13 - vendor/adlx/SDKDoc/html/search/pages_0.html | 37 - vendor/adlx/SDKDoc/html/search/pages_0.js | 5 - vendor/adlx/SDKDoc/html/search/pages_1.html | 37 - vendor/adlx/SDKDoc/html/search/pages_1.js | 56 - vendor/adlx/SDKDoc/html/search/pages_10.html | 37 - vendor/adlx/SDKDoc/html/search/pages_10.js | 7 - vendor/adlx/SDKDoc/html/search/pages_11.html | 37 - vendor/adlx/SDKDoc/html/search/pages_11.js | 24 - vendor/adlx/SDKDoc/html/search/pages_12.html | 37 - vendor/adlx/SDKDoc/html/search/pages_12.js | 92 - vendor/adlx/SDKDoc/html/search/pages_13.html | 37 - vendor/adlx/SDKDoc/html/search/pages_13.js | 11 - vendor/adlx/SDKDoc/html/search/pages_14.html | 37 - vendor/adlx/SDKDoc/html/search/pages_14.js | 7 - vendor/adlx/SDKDoc/html/search/pages_15.html | 37 - vendor/adlx/SDKDoc/html/search/pages_15.js | 6 - vendor/adlx/SDKDoc/html/search/pages_16.html | 37 - vendor/adlx/SDKDoc/html/search/pages_16.js | 7 - vendor/adlx/SDKDoc/html/search/pages_17.html | 37 - vendor/adlx/SDKDoc/html/search/pages_17.js | 4 - vendor/adlx/SDKDoc/html/search/pages_2.html | 37 - vendor/adlx/SDKDoc/html/search/pages_2.js | 11 - vendor/adlx/SDKDoc/html/search/pages_3.html | 37 - vendor/adlx/SDKDoc/html/search/pages_3.js | 15 - vendor/adlx/SDKDoc/html/search/pages_4.html | 37 - vendor/adlx/SDKDoc/html/search/pages_4.js | 34 - vendor/adlx/SDKDoc/html/search/pages_5.html | 37 - vendor/adlx/SDKDoc/html/search/pages_5.js | 9 - vendor/adlx/SDKDoc/html/search/pages_6.html | 37 - vendor/adlx/SDKDoc/html/search/pages_6.js | 5 - vendor/adlx/SDKDoc/html/search/pages_7.html | 37 - vendor/adlx/SDKDoc/html/search/pages_7.js | 193 - vendor/adlx/SDKDoc/html/search/pages_8.html | 37 - vendor/adlx/SDKDoc/html/search/pages_8.js | 5 - vendor/adlx/SDKDoc/html/search/pages_9.html | 37 - vendor/adlx/SDKDoc/html/search/pages_9.js | 294 - vendor/adlx/SDKDoc/html/search/pages_a.html | 37 - vendor/adlx/SDKDoc/html/search/pages_a.js | 4 - vendor/adlx/SDKDoc/html/search/pages_b.html | 37 - vendor/adlx/SDKDoc/html/search/pages_b.js | 5 - vendor/adlx/SDKDoc/html/search/pages_c.html | 37 - vendor/adlx/SDKDoc/html/search/pages_c.js | 11 - vendor/adlx/SDKDoc/html/search/pages_d.html | 37 - vendor/adlx/SDKDoc/html/search/pages_d.js | 5 - vendor/adlx/SDKDoc/html/search/pages_e.html | 37 - vendor/adlx/SDKDoc/html/search/pages_e.js | 15 - vendor/adlx/SDKDoc/html/search/pages_f.html | 37 - vendor/adlx/SDKDoc/html/search/pages_f.js | 18 - vendor/adlx/SDKDoc/html/search/search.css | 273 - vendor/adlx/SDKDoc/html/search/search.js | 831 --- vendor/adlx/SDKDoc/html/search/search_l.png | Bin 567 -> 0 bytes vendor/adlx/SDKDoc/html/search/search_m.png | Bin 158 -> 0 bytes vendor/adlx/SDKDoc/html/search/search_r.png | Bin 553 -> 0 bytes vendor/adlx/SDKDoc/html/search/searchdata.js | 39 - .../adlx/SDKDoc/html/search/typedefs_0.html | 37 - vendor/adlx/SDKDoc/html/search/typedefs_0.js | 9 - .../adlx/SDKDoc/html/search/variables_0.html | 37 - vendor/adlx/SDKDoc/html/search/variables_0.js | 4 - .../adlx/SDKDoc/html/search/variables_1.html | 37 - vendor/adlx/SDKDoc/html/search/variables_1.js | 7 - .../adlx/SDKDoc/html/search/variables_2.html | 37 - vendor/adlx/SDKDoc/html/search/variables_2.js | 5 - .../adlx/SDKDoc/html/search/variables_3.html | 37 - vendor/adlx/SDKDoc/html/search/variables_3.js | 9 - .../adlx/SDKDoc/html/search/variables_4.html | 37 - vendor/adlx/SDKDoc/html/search/variables_4.js | 8 - .../adlx/SDKDoc/html/search/variables_5.html | 37 - vendor/adlx/SDKDoc/html/search/variables_5.js | 5 - .../adlx/SDKDoc/html/search/variables_6.html | 37 - vendor/adlx/SDKDoc/html/search/variables_6.js | 4 - .../adlx/SDKDoc/html/search/variables_7.html | 37 - vendor/adlx/SDKDoc/html/search/variables_7.js | 7 - .../adlx/SDKDoc/html/search/variables_8.html | 37 - vendor/adlx/SDKDoc/html/search/variables_8.js | 4 - .../adlx/SDKDoc/html/search/variables_9.html | 37 - vendor/adlx/SDKDoc/html/search/variables_9.js | 5 - .../adlx/SDKDoc/html/search/variables_a.html | 37 - vendor/adlx/SDKDoc/html/search/variables_a.js | 8 - .../adlx/SDKDoc/html/search/variables_b.html | 37 - vendor/adlx/SDKDoc/html/search/variables_b.js | 4 - .../adlx/SDKDoc/html/search/variables_c.html | 37 - vendor/adlx/SDKDoc/html/search/variables_c.js | 4 - vendor/adlx/SDKDoc/html/splitbar.png | Bin 314 -> 0 bytes vendor/adlx/SDKDoc/html/sync_off.png | Bin 853 -> 0 bytes vendor/adlx/SDKDoc/html/sync_on.png | Bin 845 -> 0 bytes vendor/adlx/SDKDoc/html/system.html | 126 - vendor/adlx/SDKDoc/html/system.js | 5 - vendor/adlx/SDKDoc/html/tab_a.png | Bin 142 -> 0 bytes vendor/adlx/SDKDoc/html/tab_b.png | Bin 169 -> 0 bytes vendor/adlx/SDKDoc/html/tab_h.png | Bin 177 -> 0 bytes vendor/adlx/SDKDoc/html/tab_s.png | Bin 184 -> 0 bytes vendor/adlx/SDKDoc/html/tabs.css | 1 - .../xml/_a_d_l_x3_d_settings_page_8h.xml | 56 - vendor/adlx/SDKDoc/xml/_a_d_l_x_8h.xml | 375 - .../SDKDoc/xml/_a_d_l_x_c_sharp_bind_8md.xml | 76 - .../adlx/SDKDoc/xml/_a_d_l_x_defines_8h.xml | 3622 ---------- .../SDKDoc/xml/_a_d_l_x_desktop_page_8h.xml | 34 - .../SDKDoc/xml/_a_d_l_x_display_page_8h.xml | 90 - vendor/adlx/SDKDoc/xml/_a_d_l_x_dox_8h.xml | 26 - .../SDKDoc/xml/_a_d_l_x_g_p_u_page_8h.xml | 32 - .../xml/_a_d_l_x_g_p_u_tuning_page_8h.xml | 66 - vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8c.xml | 373 - .../adlx/SDKDoc/xml/_a_d_l_x_helper_8cpp.xml | 181 - .../adlx/SDKDoc/xml/_a_d_l_x_i2_c_page_8h.xml | 22 - .../SDKDoc/xml/_a_d_l_x_java_bind_8md.xml | 77 - .../xml/_a_d_l_x_miscellaneous_page_8h.xml | 30 - vendor/adlx/SDKDoc/xml/_a_d_l_x_page_8h.xml | 80 - .../xml/_a_d_l_x_performance_page_8h.xml | 46 - .../xml/_a_d_l_x_power_tuning_page_8h.xml | 30 - .../adlx/SDKDoc/xml/_a_d_l_x_py_bind_8md.xml | 59 - .../SDKDoc/xml/_a_d_l_x_structures_8h.xml | 210 - .../SDKDoc/xml/_a_d_l_x_system1_page_8h.xml | 22 - .../SDKDoc/xml/_a_d_l_x_system_page_8h.xml | 22 - .../adlx/SDKDoc/xml/_a_d_l_x_version_8h.xml | 120 - .../SDKDoc/xml/_c_2_a_d_l_x_helper_8h.xml | 157 - vendor/adlx/SDKDoc/xml/_c_2_read_me_8md.xml | 44 - .../adlx/SDKDoc/xml/_c_p_p_2_read_me_8md.xml | 44 - .../SDKDoc/xml/_cpp_2_a_d_l_x_helper_8h.xml | 119 - .../SDKDoc/xml/_d_o_x__i_a_d_l_mapping.xml | 108 - ...apping__a_d_l_ids_from_a_d_l_x_desktop.xml | 120 - ...apping__a_d_l_ids_from_a_d_l_x_display.xml | 120 - ...__adl_adapter_index_from_a_d_l_x_g_p_u.xml | 68 - ..._a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.xml | 94 - ...ng__get_a_d_l_x_desktop_from_a_d_l_ids.xml | 127 - ...ng__get_a_d_l_x_display_from_a_d_l_ids.xml | 126 - ...t_a_d_l_x_g_p_u_from_adl_adapter_index.xml | 72 - ..._l_mapping__get_a_d_l_x_g_p_u_from_bdf.xml | 99 - ..._x__i_a_d_l_x3_d_anisotropic_filtering.xml | 90 - ..._x3_d_anisotropic_filtering__get_level.xml | 57 - ...x3_d_anisotropic_filtering__is_enabled.xml | 57 - ..._d_anisotropic_filtering__is_supported.xml | 57 - ...3_d_anisotropic_filtering__set_enabled.xml | 57 - ..._x3_d_anisotropic_filtering__set_level.xml | 57 - .../_d_o_x__i_a_d_l_x3_d_anti_aliasing.xml | 101 - ..._i_a_d_l_x3_d_anti_aliasing__get_level.xml | 56 - ...i_a_d_l_x3_d_anti_aliasing__get_method.xml | 56 - ...__i_a_d_l_x3_d_anti_aliasing__get_mode.xml | 56 - ...a_d_l_x3_d_anti_aliasing__is_supported.xml | 56 - ..._i_a_d_l_x3_d_anti_aliasing__set_level.xml | 56 - ...i_a_d_l_x3_d_anti_aliasing__set_method.xml | 56 - ...__i_a_d_l_x3_d_anti_aliasing__set_mode.xml | 58 - .../xml/_d_o_x__i_a_d_l_x3_d_anti_lag.xml | 82 - .../xml/_d_o_x__i_a_d_l_x3_d_anti_lag1.xml | 76 - ...o_x__i_a_d_l_x3_d_anti_lag1__get_level.xml | 56 - ...o_x__i_a_d_l_x3_d_anti_lag1__set_level.xml | 57 - ...o_x__i_a_d_l_x3_d_anti_lag__is_enabled.xml | 57 - ...x__i_a_d_l_x3_d_anti_lag__is_supported.xml | 56 - ..._x__i_a_d_l_x3_d_anti_lag__set_enabled.xml | 57 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost.xml | 100 - ..._x__i_a_d_l_x3_d_boost__get_resolution.xml | 57 - ...a_d_l_x3_d_boost__get_resolution_range.xml | 60 - ..._d_o_x__i_a_d_l_x3_d_boost__is_enabled.xml | 58 - ..._o_x__i_a_d_l_x3_d_boost__is_supported.xml | 57 - ...d_o_x__i_a_d_l_x3_d_boost__set_enabled.xml | 58 - ..._x__i_a_d_l_x3_d_boost__set_resolution.xml | 57 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill.xml | 112 - ...x__i_a_d_l_x3_d_chill__get_f_p_s_range.xml | 61 - ...o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.xml | 57 - ...o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.xml | 57 - ..._d_o_x__i_a_d_l_x3_d_chill__is_enabled.xml | 60 - ..._o_x__i_a_d_l_x3_d_chill__is_supported.xml | 56 - ...d_o_x__i_a_d_l_x3_d_chill__set_enabled.xml | 60 - ...o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.xml | 57 - ...o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.xml | 57 - .../_d_o_x__i_a_d_l_x3_d_enhanced_sync.xml | 84 - ...i_a_d_l_x3_d_enhanced_sync__is_enabled.xml | 60 - ...a_d_l_x3_d_enhanced_sync__is_supported.xml | 58 - ..._a_d_l_x3_d_enhanced_sync__set_enabled.xml | 60 - ...i_a_d_l_x3_d_frame_rate_target_control.xml | 96 - ...d_frame_rate_target_control__get_f_p_s.xml | 57 - ...e_rate_target_control__get_f_p_s_range.xml | 60 - ..._frame_rate_target_control__is_enabled.xml | 57 - ...rame_rate_target_control__is_supported.xml | 57 - ...frame_rate_target_control__set_enabled.xml | 57 - ...d_frame_rate_target_control__set_f_p_s.xml | 57 - .../_d_o_x__i_a_d_l_x3_d_image_sharpening.xml | 95 - ...l_x3_d_image_sharpening__get_sharpness.xml | 56 - ..._image_sharpening__get_sharpness_range.xml | 59 - ..._d_l_x3_d_image_sharpening__is_enabled.xml | 57 - ..._l_x3_d_image_sharpening__is_supported.xml | 56 - ...d_l_x3_d_image_sharpening__set_enabled.xml | 57 - ...l_x3_d_image_sharpening__set_sharpness.xml | 56 - ...a_d_l_x3_d_morphological_anti_aliasing.xml | 79 - ...orphological_anti_aliasing__is_enabled.xml | 59 - ...phological_anti_aliasing__is_supported.xml | 59 - ...rphological_anti_aliasing__set_enabled.xml | 59 - ...__i_a_d_l_x3_d_radeon_super_resolution.xml | 101 - ...radeon_super_resolution__get_sharpness.xml | 56 - ..._super_resolution__get_sharpness_range.xml | 59 - ..._d_radeon_super_resolution__is_enabled.xml | 60 - ..._radeon_super_resolution__is_supported.xml | 56 - ...d_radeon_super_resolution__set_enabled.xml | 60 - ...radeon_super_resolution__set_sharpness.xml | 56 - ...d_o_x__i_a_d_l_x3_d_reset_shader_cache.xml | 71 - ..._x3_d_reset_shader_cache__is_supported.xml | 56 - ...reset_shader_cache__reset_shader_cache.xml | 43 - ...x__i_a_d_l_x3_d_settings_changed_event.xml | 143 - ...x3_d_settings_changed_event__get_g_p_u.xml | 60 - ...vent__is_anisotropic_filtering_changed.xml | 42 - ...hanged_event__is_anti_aliasing_changed.xml | 42 - ...ngs_changed_event__is_anti_lag_changed.xml | 42 - ...ttings_changed_event__is_boost_changed.xml | 42 - ...ttings_changed_event__is_chill_changed.xml | 42 - ...hanged_event__is_enhanced_sync_changed.xml | 42 - ...__is_frame_rate_target_control_changed.xml | 42 - ...ged_event__is_image_sharpening_changed.xml | 42 - ...is_morphological_anti_aliasing_changed.xml | 42 - ...nt__is_radeon_super_resolution_changed.xml | 42 - ...s_changed_event__is_reset_shader_cache.xml | 42 - ...ed_event__is_tessellation_mode_changed.xml | 42 - ...__is_wait_for_vertical_refresh_changed.xml | 42 - ...i_a_d_l_x3_d_settings_changed_handling.xml | 70 - ...ndling__add3_d_settings_event_listener.xml | 58 - ...ing__remove3_d_settings_event_listener.xml | 56 - ...i_a_d_l_x3_d_settings_changed_listener.xml | 67 - ...anged_listener__on3_d_settings_changed.xml | 55 - ..._d_o_x__i_a_d_l_x3_d_settings_services.xml | 142 - ...ices__get3_d_settings_changed_handling.xml | 59 - ...gs_services__get_anisotropic_filtering.xml | 72 - ...d_settings_services__get_anti_aliasing.xml | 72 - ...l_x3_d_settings_services__get_anti_lag.xml | 72 - ..._d_l_x3_d_settings_services__get_boost.xml | 72 - ..._d_l_x3_d_settings_services__get_chill.xml | 72 - ...d_settings_services__get_enhanced_sync.xml | 72 - ...ervices__get_frame_rate_target_control.xml | 72 - ...ettings_services__get_image_sharpening.xml | 72 - ...vices__get_morphological_anti_aliasing.xml | 72 - ..._services__get_radeon_super_resolution.xml | 59 - ...tings_services__get_reset_shader_cache.xml | 72 - ..._d_settings_services__get_tessellation.xml | 72 - ...ervices__get_wait_for_vertical_refresh.xml | 72 - .../xml/_d_o_x__i_a_d_l_x3_d_tessellation.xml | 89 - ...__i_a_d_l_x3_d_tessellation__get_level.xml | 56 - ...x__i_a_d_l_x3_d_tessellation__get_mode.xml | 56 - ..._a_d_l_x3_d_tessellation__is_supported.xml | 56 - ...__i_a_d_l_x3_d_tessellation__set_level.xml | 56 - ...x__i_a_d_l_x3_d_tessellation__set_mode.xml | 56 - ...i_a_d_l_x3_d_wait_for_vertical_refresh.xml | 90 - ..._d_wait_for_vertical_refresh__get_mode.xml | 60 - ..._wait_for_vertical_refresh__is_enabled.xml | 60 - ...ait_for_vertical_refresh__is_supported.xml | 58 - ..._d_wait_for_vertical_refresh__set_mode.xml | 60 - .../xml/_d_o_x__i_a_d_l_x_all_metrics.xml | 82 - ..._o_x__i_a_d_l_x_all_metrics__get_f_p_s.xml | 58 - ...a_d_l_x_all_metrics__get_g_p_u_metrics.xml | 71 - ..._d_l_x_all_metrics__get_system_metrics.xml | 58 - ...o_x__i_a_d_l_x_all_metrics__time_stamp.xml | 55 - .../_d_o_x__i_a_d_l_x_all_metrics_list.xml | 70 - ..._i_a_d_l_x_all_metrics_list__add__back.xml | 54 - ..._d_o_x__i_a_d_l_x_all_metrics_list__at.xml | 71 - .../xml/_d_o_x__i_a_d_l_x_changed_event.xml | 60 - ...x__i_a_d_l_x_changed_event__get_origin.xml | 40 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop.xml | 95 - ...d_o_x__i_a_d_l_x_desktop__get_displays.xml | 59 - ..._d_l_x_desktop__get_number_of_displays.xml | 60 - ..._d_o_x__i_a_d_l_x_desktop__orientation.xml | 57 - .../xml/_d_o_x__i_a_d_l_x_desktop__size.xml | 69 - .../_d_o_x__i_a_d_l_x_desktop__top_left.xml | 57 - .../xml/_d_o_x__i_a_d_l_x_desktop__type.xml | 57 - ..._x__i_a_d_l_x_desktop_changed_handling.xml | 70 - ...dling__add_desktop_list_event_listener.xml | 58 - ...ng__remove_desktop_list_event_listener.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_desktop_list.xml | 70 - ...o_x__i_a_d_l_x_desktop_list__add__back.xml | 55 - .../_d_o_x__i_a_d_l_x_desktop_list__at.xml | 72 - ..._a_d_l_x_desktop_list_changed_listener.xml | 66 - ...nged_listener__on_desktop_list_changed.xml | 57 - .../_d_o_x__i_a_d_l_x_desktop_services.xml | 87 - ...services__get_desktop_changed_handling.xml | 59 - ...a_d_l_x_desktop_services__get_desktops.xml | 61 - ...sktop_services__get_number_of_desktops.xml | 56 - ...desktop_services__get_simple_eyefinity.xml | 59 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_display.xml | 128 - .../_d_o_x__i_a_d_l_x_display3_d_l_u_t.xml | 179 - ..._display3_d_l_u_t__clear_user3_d_l_u_t.xml | 39 - ...isplay3_d_l_u_t__get_all_user3_d_l_u_t.xml | 98 - ...play3_d_l_u_t__get_h_d_r_user3_d_l_u_t.xml | 98 - ...y3_d_l_u_t__get_s_c_e_dynamic_contrast.xml | 55 - ..._u_t__get_s_c_e_dynamic_contrast_range.xml | 58 - ...play3_d_l_u_t__get_s_d_r_user3_d_l_u_t.xml | 98 - ...play3_d_l_u_t__get_user3_d_l_u_t_index.xml | 90 - ...ay3_d_l_u_t__is_current_s_c_e_disabled.xml | 52 - ...u_t__is_current_s_c_e_dynamic_contrast.xml | 55 - ...d_l_u_t__is_current_s_c_e_vivid_gaming.xml | 55 - ...x_display3_d_l_u_t__is_supported_s_c_e.xml | 55 - ...t__is_supported_s_c_e_dynamic_contrast.xml | 55 - ...l_u_t__is_supported_s_c_e_vivid_gaming.xml | 55 - ...y3_d_l_u_t__is_supported_user3_d_l_u_t.xml | 55 - ...isplay3_d_l_u_t__set_all_user3_d_l_u_t.xml | 101 - ...play3_d_l_u_t__set_h_d_r_user3_d_l_u_t.xml | 101 - ...x_display3_d_l_u_t__set_s_c_e_disabled.xml | 39 - ...y3_d_l_u_t__set_s_c_e_dynamic_contrast.xml | 55 - ...splay3_d_l_u_t__set_s_c_e_vivid_gaming.xml | 42 - ...play3_d_l_u_t__set_s_d_r_user3_d_l_u_t.xml | 101 - ...a_d_l_x_display3_d_l_u_t_changed_event.xml | 81 - ...ay3_d_l_u_t_changed_event__get_display.xml | 60 - ...nged_event__is_custom3_d_l_u_t_changed.xml | 42 - ..._l_u_t_changed_event__is_s_c_e_changed.xml | 42 - ..._l_x_display3_d_l_u_t_changed_listener.xml | 71 - ..._listener__on_display3_d_l_u_t_changed.xml | 57 - ...o_x__i_a_d_l_x_display__connector_type.xml | 55 - ...d_o_x__i_a_d_l_x_display__display_type.xml | 55 - .../_d_o_x__i_a_d_l_x_display__e_d_i_d.xml | 58 - .../_d_o_x__i_a_d_l_x_display__get_g_p_u.xml | 58 - ...x__i_a_d_l_x_display__manufacturer_i_d.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_display__name.xml | 58 - ...__i_a_d_l_x_display__native_resolution.xml | 68 - ..._d_o_x__i_a_d_l_x_display__pixel_clock.xml | 55 - ...d_o_x__i_a_d_l_x_display__refresh_rate.xml | 55 - .../_d_o_x__i_a_d_l_x_display__scan_type.xml | 55 - .../_d_o_x__i_a_d_l_x_display__unique_id.xml | 53 - .../_d_o_x__i_a_d_l_x_display_blanking.xml | 89 - ...x_display_blanking__is_current_blanked.xml | 52 - ...display_blanking__is_current_unblanked.xml | 52 - ...a_d_l_x_display_blanking__is_supported.xml | 52 - ..._a_d_l_x_display_blanking__set_blanked.xml | 39 - ..._d_l_x_display_blanking__set_unblanked.xml | 39 - ..._x__i_a_d_l_x_display_changed_handling.xml | 122 - ...g__add_display3_d_l_u_t_event_listener.xml | 56 - ...ling__add_display_gamma_event_listener.xml | 56 - ...ling__add_display_gamut_event_listener.xml | 56 - ...dling__add_display_list_event_listener.xml | 56 - ...g__add_display_settings_event_listener.xml | 58 - ...remove_display3_d_l_u_t_event_listener.xml | 56 - ...g__remove_display_gamma_event_listener.xml | 56 - ...g__remove_display_gamut_event_listener.xml | 56 - ...ng__remove_display_list_event_listener.xml | 56 - ...remove_display_settings_event_listener.xml | 56 - .../_d_o_x__i_a_d_l_x_display_color_depth.xml | 118 - ...a_d_l_x_display_color_depth__get_value.xml | 55 - ..._l_x_display_color_depth__is_supported.xml | 55 - ...lay_color_depth__is_supported_b_p_c_10.xml | 52 - ...lay_color_depth__is_supported_b_p_c_12.xml | 52 - ...lay_color_depth__is_supported_b_p_c_14.xml | 52 - ...lay_color_depth__is_supported_b_p_c_16.xml | 52 - ...play_color_depth__is_supported_b_p_c_6.xml | 52 - ...play_color_depth__is_supported_b_p_c_8.xml | 52 - ..._color_depth__is_supported_color_depth.xml | 65 - ...a_d_l_x_display_color_depth__set_value.xml | 55 - ..._d_l_x_display_connectivity_experience.xml | 132 - ...ectivity_experience__get_d_p_link_rate.xml | 52 - ...experience__get_number_of_active_lanes.xml | 52 - ..._experience__get_number_of_total_lanes.xml | 52 - ..._experience__get_relative_pre_emphasis.xml | 52 - ...experience__get_relative_voltage_swing.xml | 52 - ...__is_enabled_h_d_m_i_quality_detection.xml | 52 - ...experience__is_enabled_link_protection.xml | 52 - ...vity_experience__is_supported_d_p_link.xml | 52 - ...is_supported_h_d_m_i_quality_detection.xml | 52 - ..._set_enabled_h_d_m_i_quality_detection.xml | 52 - ..._experience__set_relative_pre_emphasis.xml | 55 - ...experience__set_relative_voltage_swing.xml | 55 - ..._d_o_x__i_a_d_l_x_display_custom_color.xml | 178 - ...x_display_custom_color__get_brightness.xml | 52 - ...lay_custom_color__get_brightness_range.xml | 52 - ...l_x_display_custom_color__get_contrast.xml | 52 - ...splay_custom_color__get_contrast_range.xml | 52 - ..._a_d_l_x_display_custom_color__get_hue.xml | 52 - ..._x_display_custom_color__get_hue_range.xml | 52 - ...x_display_custom_color__get_saturation.xml | 52 - ...lay_custom_color__get_saturation_range.xml | 52 - ..._display_custom_color__get_temperature.xml | 52 - ...ay_custom_color__get_temperature_range.xml | 52 - ..._custom_color__is_brightness_supported.xml | 52 - ...ay_custom_color__is_contrast_supported.xml | 52 - ...display_custom_color__is_hue_supported.xml | 52 - ..._custom_color__is_saturation_supported.xml | 52 - ...custom_color__is_temperature_supported.xml | 52 - ...x_display_custom_color__set_brightness.xml | 52 - ...l_x_display_custom_color__set_contrast.xml | 52 - ..._a_d_l_x_display_custom_color__set_hue.xml | 52 - ...x_display_custom_color__set_saturation.xml | 52 - ..._display_custom_color__set_temperature.xml | 52 - ...x__i_a_d_l_x_display_custom_resolution.xml | 90 - ...stom_resolution__create_new_resolution.xml | 56 - ...y_custom_resolution__delete_resolution.xml | 56 - ...lution__get_current_applied_resolution.xml | 61 - ...custom_resolution__get_resolution_list.xml | 61 - ...isplay_custom_resolution__is_supported.xml | 56 - .../_d_o_x__i_a_d_l_x_display_free_sync.xml | 76 - ..._a_d_l_x_display_free_sync__is_enabled.xml | 57 - ..._d_l_x_display_free_sync__is_supported.xml | 57 - ...a_d_l_x_display_free_sync__set_enabled.xml | 57 - ...d_o_x__i_a_d_l_x_display_g_p_u_scaling.xml | 78 - ..._l_x_display_g_p_u_scaling__is_enabled.xml | 58 - ..._x_display_g_p_u_scaling__is_supported.xml | 56 - ...l_x_display_g_p_u_scaling__set_enabled.xml | 58 - .../xml/_d_o_x__i_a_d_l_x_display_gamma.xml | 228 - ...x_display_gamma__get_gamma_coefficient.xml | 54 - ..._a_d_l_x_display_gamma__get_gamma_ramp.xml | 52 - ...isplay_gamma__is_current_de_gamma_ramp.xml | 52 - ...x_display_gamma__is_current_re_gamma36.xml | 52 - ...play_gamma__is_current_re_gamma_b_t709.xml | 52 - ...display_gamma__is_current_re_gamma_p_q.xml | 52 - ...a__is_current_re_gamma_p_q2084_interim.xml | 52 - ...isplay_gamma__is_current_re_gamma_ramp.xml | 52 - ...lay_gamma__is_current_re_gamma_s_r_g_b.xml | 52 - ..._gamma__is_current_regamma_coefficient.xml | 52 - ...display_gamma__is_supported_re_gamma36.xml | 52 - ...ay_gamma__is_supported_re_gamma_b_t709.xml | 52 - ...splay_gamma__is_supported_re_gamma_p_q.xml | 52 - ..._is_supported_re_gamma_p_q2084_interim.xml | 52 - ...y_gamma__is_supported_re_gamma_s_r_g_b.xml | 52 - ..._d_l_x_display_gamma__reset_gamma_ramp.xml | 39 - ..._display_gamma__set_de_gamma_ramp_file.xml | 61 - ...isplay_gamma__set_de_gamma_ramp_memory.xml | 52 - ..._a_d_l_x_display_gamma__set_re_gamma36.xml | 39 - ...l_x_display_gamma__set_re_gamma_b_t709.xml | 39 - ...isplay_gamma__set_re_gamma_coefficient.xml | 104 - ..._d_l_x_display_gamma__set_re_gamma_p_q.xml | 39 - ...ay_gamma__set_re_gamma_p_q2084_interim.xml | 39 - ..._display_gamma__set_re_gamma_ramp_file.xml | 61 - ...isplay_gamma__set_re_gamma_ramp_memory.xml | 52 - ..._x_display_gamma__set_re_gamma_s_r_g_b.xml | 39 - ..._i_a_d_l_x_display_gamma_changed_event.xml | 93 - ...splay_gamma_changed_event__get_display.xml | 60 - ...mma_changed_event__is_de_gamma_changed.xml | 42 - ...ed_event__is_gamma_coefficient_changed.xml | 42 - ...a_changed_event__is_gamma_ramp_changed.xml | 42 - ...mma_changed_event__is_re_gamma_changed.xml | 42 - ...a_d_l_x_display_gamma_changed_listener.xml | 71 - ...ged_listener__on_display_gamma_changed.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_display_gamut.xml | 235 - ...x_display_gamut__get_gamut_color_space.xml | 55 - ...a_d_l_x_display_gamut__get_white_point.xml | 52 - ...lay_gamut__is_current5000k_white_point.xml | 52 - ...lay_gamut__is_current6500k_white_point.xml | 52 - ...lay_gamut__is_current7500k_white_point.xml | 52 - ...lay_gamut__is_current9300k_white_point.xml | 52 - ...amut__is_current_adobe_rgb_color_space.xml | 52 - ...ut__is_current_c_c_i_r2020_color_space.xml | 52 - ...mut__is_current_c_c_i_r601_color_space.xml | 52 - ...mut__is_current_c_c_i_r709_color_space.xml | 52 - ...amut__is_current_c_i_e_rgb_color_space.xml | 52 - ...y_gamut__is_current_custom_color_space.xml | 55 - ...y_gamut__is_current_custom_white_point.xml | 52 - ...y_gamut__is_supported5000k_white_point.xml | 52 - ...y_gamut__is_supported6500k_white_point.xml | 52 - ...y_gamut__is_supported7500k_white_point.xml | 52 - ...y_gamut__is_supported9300k_white_point.xml | 52 - ...ut__is_supported_adobe_rgb_color_space.xml | 55 - ...__is_supported_c_c_i_r2020_color_space.xml | 55 - ...t__is_supported_c_c_i_r601_color_space.xml | 55 - ...t__is_supported_c_c_i_r709_color_space.xml | 55 - ...ut__is_supported_c_i_e_rgb_color_space.xml | 55 - ...gamut__is_supported_custom_color_space.xml | 55 - ...gamut__is_supported_custom_white_point.xml | 52 - ...l_x_display_gamut__set_gamut__c_w__c_g.xml | 69 - ...l_x_display_gamut__set_gamut__c_w__p_g.xml | 69 - ...l_x_display_gamut__set_gamut__p_w__c_g.xml | 69 - ...l_x_display_gamut__set_gamut__p_w__p_g.xml | 69 - ..._i_a_d_l_x_display_gamut_changed_event.xml | 81 - ...splay_gamut_changed_event__get_display.xml | 60 - ..._changed_event__is_color_space_changed.xml | 42 - ..._changed_event__is_white_point_changed.xml | 42 - ...a_d_l_x_display_gamut_changed_listener.xml | 71 - ...ged_listener__on_display_gamut_changed.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_display_h_d_c_p.xml | 76 - ..._i_a_d_l_x_display_h_d_c_p__is_enabled.xml | 55 - ..._a_d_l_x_display_h_d_c_p__is_supported.xml | 55 - ...i_a_d_l_x_display_h_d_c_p__set_enabled.xml | 55 - ...o_x__i_a_d_l_x_display_integer_scaling.xml | 77 - ..._x_display_integer_scaling__is_enabled.xml | 56 - ..._display_integer_scaling__is_supported.xml | 56 - ...x_display_integer_scaling__set_enabled.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_display_list.xml | 74 - ...o_x__i_a_d_l_x_display_list__add__back.xml | 55 - .../_d_o_x__i_a_d_l_x_display_list__at.xml | 72 - ..._a_d_l_x_display_list_changed_listener.xml | 71 - ...nged_listener__on_display_list_changed.xml | 56 - ..._d_o_x__i_a_d_l_x_display_pixel_format.xml | 112 - ..._d_l_x_display_pixel_format__get_value.xml | 56 - ...l_x_display_pixel_format__is_supported.xml | 56 - ...ixel_format__is_supported_pixel_format.xml | 65 - ...xel_format__is_supported_r_g_b444_full.xml | 52 - ..._format__is_supported_r_g_b444_limited.xml | 52 - ..._pixel_format__is_supported_y_cb_cr420.xml | 52 - ..._pixel_format__is_supported_y_cb_cr422.xml | 52 - ..._pixel_format__is_supported_y_cb_cr444.xml | 52 - ..._d_l_x_display_pixel_format__set_value.xml | 56 - .../_d_o_x__i_a_d_l_x_display_resolution.xml | 70 - ..._a_d_l_x_display_resolution__get_value.xml | 52 - ..._a_d_l_x_display_resolution__set_value.xml | 52 - ...o_x__i_a_d_l_x_display_resolution_list.xml | 71 - ...l_x_display_resolution_list__add__back.xml | 54 - ..._i_a_d_l_x_display_resolution_list__at.xml | 69 - ..._d_o_x__i_a_d_l_x_display_scaling_mode.xml | 76 - ...a_d_l_x_display_scaling_mode__get_mode.xml | 56 - ...l_x_display_scaling_mode__is_supported.xml | 55 - ...a_d_l_x_display_scaling_mode__set_mode.xml | 56 - .../_d_o_x__i_a_d_l_x_display_services.xml | 170 - .../_d_o_x__i_a_d_l_x_display_services1.xml | 66 - ...isplay_services1__get_display_blanking.xml | 71 - .../_d_o_x__i_a_d_l_x_display_services2.xml | 66 - ...2__get_display_connectivity_experience.xml | 71 - ...a_d_l_x_display_services__get3_d_l_u_t.xml | 71 - ..._l_x_display_services__get_color_depth.xml | 71 - ...l_x_display_services__get_custom_color.xml | 71 - ...isplay_services__get_custom_resolution.xml | 71 - ...services__get_display_changed_handling.xml | 58 - ...a_d_l_x_display_services__get_displays.xml | 59 - ..._d_l_x_display_services__get_free_sync.xml | 71 - ..._x_display_services__get_g_p_u_scaling.xml | 71 - ..._i_a_d_l_x_display_services__get_gamma.xml | 71 - ..._i_a_d_l_x_display_services__get_gamut.xml | 71 - ..._a_d_l_x_display_services__get_h_d_c_p.xml | 71 - ..._display_services__get_integer_scaling.xml | 71 - ...splay_services__get_number_of_displays.xml | 55 - ...l_x_display_services__get_pixel_format.xml | 71 - ...l_x_display_services__get_scaling_mode.xml | 71 - ..._l_x_display_services__get_vari_bright.xml | 71 - ...services__get_virtual_super_resolution.xml | 71 - ...a_d_l_x_display_settings_changed_event.xml | 155 - ..._d_l_x_display_settings_changed_event1.xml | 65 - ...ed_event1__is_display_blanking_changed.xml | 38 - ..._d_l_x_display_settings_changed_event2.xml | 65 - ...t2__is_connectivity_experience_changed.xml | 41 - ...ay_settings_changed_event__get_display.xml | 60 - ..._changed_event__is_color_depth_changed.xml | 41 - ...nt__is_custom_color_brightness_changed.xml | 41 - ...vent__is_custom_color_contrast_changed.xml | 41 - ...ged_event__is_custom_color_hue_changed.xml | 41 - ...nt__is_custom_color_saturation_changed.xml | 41 - ...t__is_custom_color_temperature_changed.xml | 41 - ...ed_event__is_custom_resolution_changed.xml | 41 - ...gs_changed_event__is_free_sync_changed.xml | 41 - ...hanged_event__is_g_p_u_scaling_changed.xml | 41 - ...ings_changed_event__is_h_d_c_p_changed.xml | 41 - ...nged_event__is_integer_scaling_changed.xml | 41 - ...changed_event__is_pixel_format_changed.xml | 41 - ...changed_event__is_scaling_mode_changed.xml | 41 - ...ttings_changed_event__is_v_s_r_changed.xml | 41 - ..._changed_event__is_vari_bright_changed.xml | 41 - ..._l_x_display_settings_changed_listener.xml | 67 - ..._listener__on_display_settings_changed.xml | 55 - .../xml/_d_o_x__i_a_d_l_x_display_v_s_r.xml | 77 - ...x__i_a_d_l_x_display_v_s_r__is_enabled.xml | 55 - ..._i_a_d_l_x_display_v_s_r__is_supported.xml | 55 - ...__i_a_d_l_x_display_v_s_r__set_enabled.xml | 55 - .../_d_o_x__i_a_d_l_x_display_vari_bright.xml | 140 - ...splay_vari_bright__is_current_balanced.xml | 52 - ...ri_bright__is_current_maximize_battery.xml | 52 - ...bright__is_current_maximize_brightness.xml | 52 - ...ri_bright__is_current_optimize_battery.xml | 52 - ...bright__is_current_optimize_brightness.xml | 52 - ..._d_l_x_display_vari_bright__is_enabled.xml | 52 - ..._l_x_display_vari_bright__is_supported.xml | 52 - ..._l_x_display_vari_bright__set_balanced.xml | 39 - ...d_l_x_display_vari_bright__set_enabled.xml | 52 - ...play_vari_bright__set_maximize_battery.xml | 42 - ...y_vari_bright__set_maximize_brightness.xml | 39 - ...play_vari_bright__set_optimize_battery.xml | 39 - ...y_vari_bright__set_optimize_brightness.xml | 39 - .../_d_o_x__i_a_d_l_x_eyefinity_desktop.xml | 90 - ...eyefinity_desktop__display_orientation.xml | 82 - ..._d_l_x_eyefinity_desktop__display_size.xml | 95 - ..._x_eyefinity_desktop__display_top_left.xml | 82 - ...a_d_l_x_eyefinity_desktop__get_display.xml | 85 - ...i_a_d_l_x_eyefinity_desktop__grid_size.xml | 69 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s.xml | 71 - .../xml/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.xml | 52 - .../_d_o_x__i_a_d_l_x_f_p_s__time_stamp.xml | 55 - .../xml/_d_o_x__i_a_d_l_x_f_p_s_list.xml | 70 - ...d_o_x__i_a_d_l_x_f_p_s_list__add__back.xml | 52 - .../xml/_d_o_x__i_a_d_l_x_f_p_s_list__at.xml | 71 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u.xml | 154 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1.xml | 83 - ..._x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.xml | 58 - ...i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.xml | 53 - ..._o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.xml | 53 - ..._d_o_x__i_a_d_l_x_g_p_u1__product_name.xml | 58 - ...__i_a_d_l_x_g_p_u__a_s_i_c_family_type.xml | 53 - .../_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.xml | 83 - .../_d_o_x__i_a_d_l_x_g_p_u__device_id.xml | 60 - .../_d_o_x__i_a_d_l_x_g_p_u__driver_path.xml | 58 - .../_d_o_x__i_a_d_l_x_g_p_u__has_desktops.xml | 53 - .../_d_o_x__i_a_d_l_x_g_p_u__is_external.xml | 53 - .../xml/_d_o_x__i_a_d_l_x_g_p_u__name.xml | 58 - .../_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.xml | 58 - .../_d_o_x__i_a_d_l_x_g_p_u__revision_id.xml | 57 - ..._d_o_x__i_a_d_l_x_g_p_u__sub_system_id.xml | 57 - ..._i_a_d_l_x_g_p_u__sub_system_vendor_id.xml | 60 - ..._d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_g_p_u__type.xml | 56 - .../_d_o_x__i_a_d_l_x_g_p_u__unique_id.xml | 53 - .../_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.xml | 57 - .../_d_o_x__i_a_d_l_x_g_p_u__vendor_id.xml | 60 - .../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.xml | 112 - ...uto_tuning__is_current_overclock_g_p_u.xml | 56 - ...o_tuning__is_current_overclock_v_r_a_m.xml | 56 - ...uto_tuning__is_current_undervolt_g_p_u.xml | 56 - ...o_tuning__is_supported_overclock_g_p_u.xml | 56 - ...tuning__is_supported_overclock_v_r_a_m.xml | 56 - ...o_tuning__is_supported_undervolt_g_p_u.xml | 56 - ...p_u_auto_tuning__start_overclock_g_p_u.xml | 59 - ...u_auto_tuning__start_overclock_v_r_a_m.xml | 59 - ...p_u_auto_tuning__start_undervolt_g_p_u.xml | 59 - ...d_l_x_g_p_u_auto_tuning_complete_event.xml | 76 - ...te_event__is_overclock_g_p_u_completed.xml | 39 - ..._event__is_overclock_v_r_a_m_completed.xml | 39 - ...te_event__is_undervolt_g_p_u_completed.xml | 39 - ..._x_g_p_u_auto_tuning_complete_listener.xml | 67 - ...istener__on_g_p_u_auto_tuning_complete.xml | 55 - .../xml/_d_o_x__i_a_d_l_x_g_p_u_list.xml | 70 - ...d_o_x__i_a_d_l_x_g_p_u_list__add__back.xml | 55 - .../xml/_d_o_x__i_a_d_l_x_g_p_u_list__at.xml | 72 - .../xml/_d_o_x__i_a_d_l_x_g_p_u_metrics.xml | 130 - ...d_l_x_g_p_u_metrics__g_p_u_clock_speed.xml | 52 - ...a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.xml | 52 - ...p_u_metrics__g_p_u_hotspot_temperature.xml | 56 - ..._p_u_metrics__g_p_u_intake_temperature.xml | 55 - ...__i_a_d_l_x_g_p_u_metrics__g_p_u_power.xml | 52 - ...d_l_x_g_p_u_metrics__g_p_u_temperature.xml | 55 - ...g_p_u_metrics__g_p_u_total_board_power.xml | 55 - ...__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.xml | 52 - ...i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.xml | 52 - ...p_u_metrics__g_p_u_v_r_a_m_clock_speed.xml | 52 - ...i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.xml | 52 - ...x__i_a_d_l_x_g_p_u_metrics__time_stamp.xml | 55 - .../_d_o_x__i_a_d_l_x_g_p_u_metrics_list.xml | 70 - ..._a_d_l_x_g_p_u_metrics_list__add__back.xml | 52 - ..._o_x__i_a_d_l_x_g_p_u_metrics_list__at.xml | 71 - ...d_o_x__i_a_d_l_x_g_p_u_metrics_support.xml | 191 - ...s_support__get_g_p_u_clock_speed_range.xml | 69 - ...ics_support__get_g_p_u_fan_speed_range.xml | 69 - ...t__get_g_p_u_hotspot_temperature_range.xml | 69 - ...rt__get_g_p_u_intake_temperature_range.xml | 69 - ...metrics_support__get_g_p_u_power_range.xml | 69 - ...s_support__get_g_p_u_temperature_range.xml | 69 - ...ort__get_g_p_u_total_board_power_range.xml | 69 - ...metrics_support__get_g_p_u_usage_range.xml | 69 - ...t__get_g_p_u_v_r_a_m_clock_speed_range.xml | 69 - ...trics_support__get_g_p_u_v_r_a_m_range.xml | 69 - ...trics_support__get_g_p_u_voltage_range.xml | 69 - ...upport__is_supported_g_p_u_clock_speed.xml | 52 - ..._support__is_supported_g_p_u_fan_speed.xml | 52 - ...is_supported_g_p_u_hotspot_temperature.xml | 52 - ..._is_supported_g_p_u_intake_temperature.xml | 52 - ...rics_support__is_supported_g_p_u_power.xml | 52 - ...upport__is_supported_g_p_u_temperature.xml | 52 - ...__is_supported_g_p_u_total_board_power.xml | 52 - ...rics_support__is_supported_g_p_u_usage.xml | 52 - ...cs_support__is_supported_g_p_u_v_r_a_m.xml | 52 - ...is_supported_g_p_u_v_r_a_m_clock_speed.xml | 52 - ...cs_support__is_supported_g_p_u_voltage.xml | 52 - .../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.xml | 148 - ...p_u_preset_tuning__is_current_balanced.xml | 56 - ..._preset_tuning__is_current_power_saver.xml | 56 - ..._g_p_u_preset_tuning__is_current_quiet.xml | 56 - ...x_g_p_u_preset_tuning__is_current_rage.xml | 56 - ..._g_p_u_preset_tuning__is_current_turbo.xml | 56 - ...u_preset_tuning__is_supported_balanced.xml | 56 - ...reset_tuning__is_supported_power_saver.xml | 55 - ..._p_u_preset_tuning__is_supported_quiet.xml | 56 - ...g_p_u_preset_tuning__is_supported_rage.xml | 56 - ..._p_u_preset_tuning__is_supported_turbo.xml | 56 - ..._l_x_g_p_u_preset_tuning__set_balanced.xml | 43 - ...x_g_p_u_preset_tuning__set_power_saver.xml | 43 - ...a_d_l_x_g_p_u_preset_tuning__set_quiet.xml | 43 - ..._a_d_l_x_g_p_u_preset_tuning__set_rage.xml | 43 - ...a_d_l_x_g_p_u_preset_tuning__set_turbo.xml | 43 - ...__i_a_d_l_x_g_p_u_tuning_changed_event.xml | 101 - ..._i_a_d_l_x_g_p_u_tuning_changed_event1.xml | 67 - ...event1__get_smart_access_memory_status.xml | 69 - ...event1__is_smart_access_memory_changed.xml | 42 - ..._g_p_u_tuning_changed_event__get_g_p_u.xml | 60 - ...ged_event__is_automatic_tuning_changed.xml | 42 - ...ed_event__is_manual_fan_tuning_changed.xml | 42 - ...__is_manual_g_p_u_c_l_k_tuning_changed.xml | 42 - ..._event__is_manual_power_tuning_changed.xml | 42 - ...vent__is_manual_v_r_a_m_tuning_changed.xml | 42 - ...hanged_event__is_preset_tuning_changed.xml | 42 - ..._a_d_l_x_g_p_u_tuning_changed_handling.xml | 69 - ...dling__add_g_p_u_tuning_event_listener.xml | 58 - ...ng__remove_g_p_u_tuning_event_listener.xml | 56 - ..._a_d_l_x_g_p_u_tuning_changed_listener.xml | 67 - ...nged_listener__on_g_p_u_tuning_changed.xml | 55 - ...d_o_x__i_a_d_l_x_g_p_u_tuning_services.xml | 154 - ..._o_x__i_a_d_l_x_g_p_u_tuning_services1.xml | 65 - ...ing_services1__get_smart_access_memory.xml | 71 - ...g_p_u_tuning_services__get_auto_tuning.xml | 73 - ...ces__get_g_p_u_tuning_changed_handling.xml | 59 - ...tuning_services__get_manual_fan_tuning.xml | 74 - ...ning_services__get_manual_g_f_x_tuning.xml | 75 - ...ning_services__get_manual_power_tuning.xml | 73 - ...ng_services__get_manual_v_r_a_m_tuning.xml | 75 - ...p_u_tuning_services__get_preset_tuning.xml | 73 - ...x_g_p_u_tuning_services__is_at_factory.xml | 66 - ...ing_services__is_supported_auto_tuning.xml | 66 - ...rvices__is_supported_manual_fan_tuning.xml | 66 - ...ices__is_supported_manual_g_f_x_tuning.xml | 66 - ...ices__is_supported_manual_power_tuning.xml | 66 - ...es__is_supported_manual_v_r_a_m_tuning.xml | 66 - ...g_services__is_supported_preset_tuning.xml | 66 - ..._p_u_tuning_services__reset_to_factory.xml | 56 - ...o_x__i_a_d_l_x_g_p_us_changed_handling.xml | 70 - ...ndling__add_g_p_us_list_event_listener.xml | 58 - ...ing__remove_g_p_us_list_event_listener.xml | 56 - ...d_o_x__i_a_d_l_x_g_p_us_event_listener.xml | 66 - ..._event_listener__on_g_p_u_list_changed.xml | 56 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c.xml | 88 - .../_d_o_x__i_a_d_l_x_i2_c__is_supported.xml | 78 - .../xml/_d_o_x__i_a_d_l_x_i2_c__read.xml | 120 - ...x__i_a_d_l_x_i2_c__repeated_start_read.xml | 120 - .../xml/_d_o_x__i_a_d_l_x_i2_c__version.xml | 65 - .../xml/_d_o_x__i_a_d_l_x_i2_c__write.xml | 120 - .../xml/_d_o_x__i_a_d_l_x_interface.xml | 77 - .../_d_o_x__i_a_d_l_x_interface__acquire.xml | 44 - ...__i_a_d_l_x_interface__query_interface.xml | 74 - .../_d_o_x__i_a_d_l_x_interface__release.xml | 43 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_list.xml | 102 - .../xml/_d_o_x__i_a_d_l_x_list__add__back.xml | 52 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_list__at.xml | 72 - .../xml/_d_o_x__i_a_d_l_x_list__begin.xml | 56 - .../xml/_d_o_x__i_a_d_l_x_list__clear.xml | 42 - .../xml/_d_o_x__i_a_d_l_x_list__empty.xml | 42 - .../xml/_d_o_x__i_a_d_l_x_list__end.xml | 55 - .../_d_o_x__i_a_d_l_x_list__remove__back.xml | 42 - .../xml/_d_o_x__i_a_d_l_x_list__size.xml | 42 - .../adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log.xml | 66 - .../xml/_d_o_x__i_a_d_l_x_log__write_log.xml | 58 - .../_d_o_x__i_a_d_l_x_manual_fan_tuning.xml | 178 - ...an_tuning__get_empty_fan_tuning_states.xml | 59 - ...nual_fan_tuning__get_fan_tuning_ranges.xml | 69 - ...nual_fan_tuning__get_fan_tuning_states.xml | 59 - ...ual_fan_tuning__get_min_acoustic_limit.xml | 56 - ...n_tuning__get_min_acoustic_limit_range.xml | 56 - ...x_manual_fan_tuning__get_min_fan_speed.xml | 56 - ...al_fan_tuning__get_min_fan_speed_range.xml | 53 - ...anual_fan_tuning__get_target_fan_speed.xml | 53 - ...fan_tuning__get_target_fan_speed_range.xml | 53 - ...anual_fan_tuning__get_zero_r_p_m_state.xml | 56 - ...uning__is_supported_min_acoustic_limit.xml | 56 - ...fan_tuning__is_supported_min_fan_speed.xml | 53 - ..._tuning__is_supported_target_fan_speed.xml | 53 - ...al_fan_tuning__is_supported_zero_r_p_m.xml | 56 - ...fan_tuning__is_valid_fan_tuning_states.xml | 69 - ...nual_fan_tuning__set_fan_tuning_states.xml | 53 - ...ual_fan_tuning__set_min_acoustic_limit.xml | 56 - ...x_manual_fan_tuning__set_min_fan_speed.xml | 53 - ...anual_fan_tuning__set_target_fan_speed.xml | 53 - ...anual_fan_tuning__set_zero_r_p_m_state.xml | 56 - ...o_x__i_a_d_l_x_manual_fan_tuning_state.xml | 82 - ...manual_fan_tuning_state__get_fan_speed.xml | 53 - ...nual_fan_tuning_state__get_temperature.xml | 53 - ...manual_fan_tuning_state__set_fan_speed.xml | 56 - ...nual_fan_tuning_state__set_temperature.xml | 53 - ...i_a_d_l_x_manual_fan_tuning_state_list.xml | 70 - ...anual_fan_tuning_state_list__add__back.xml | 53 - ...d_l_x_manual_fan_tuning_state_list__at.xml | 72 - ...o_x__i_a_d_l_x_manual_graphics_tuning1.xml | 88 - ...tuning1__get_empty_g_p_u_tuning_states.xml | 62 - ...phics_tuning1__get_g_p_u_tuning_ranges.xml | 73 - ...phics_tuning1__get_g_p_u_tuning_states.xml | 61 - ..._tuning1__is_valid_g_p_u_tuning_states.xml | 72 - ...phics_tuning1__set_g_p_u_tuning_states.xml | 56 - ...o_x__i_a_d_l_x_manual_graphics_tuning2.xml | 112 - ...phics_tuning2__get_g_p_u_max_frequency.xml | 56 - ...tuning2__get_g_p_u_max_frequency_range.xml | 56 - ...phics_tuning2__get_g_p_u_min_frequency.xml | 56 - ...tuning2__get_g_p_u_min_frequency_range.xml | 56 - ...al_graphics_tuning2__get_g_p_u_voltage.xml | 56 - ...phics_tuning2__get_g_p_u_voltage_range.xml | 56 - ...phics_tuning2__set_g_p_u_max_frequency.xml | 56 - ...phics_tuning2__set_g_p_u_min_frequency.xml | 56 - ...al_graphics_tuning2__set_g_p_u_voltage.xml | 56 - .../_d_o_x__i_a_d_l_x_manual_power_tuning.xml | 100 - ...x_manual_power_tuning__get_power_limit.xml | 56 - ...al_power_tuning__get_power_limit_range.xml | 53 - ...x_manual_power_tuning__get_t_d_c_limit.xml | 57 - ...al_power_tuning__get_t_d_c_limit_range.xml | 54 - ...power_tuning__is_supported_t_d_c_limit.xml | 57 - ...x_manual_power_tuning__set_power_limit.xml | 56 - ...x_manual_power_tuning__set_t_d_c_limit.xml | 57 - .../_d_o_x__i_a_d_l_x_manual_tuning_state.xml | 82 - ...l_x_manual_tuning_state__get_frequency.xml | 53 - ...d_l_x_manual_tuning_state__get_voltage.xml | 53 - ...l_x_manual_tuning_state__set_frequency.xml | 53 - ...d_l_x_manual_tuning_state__set_voltage.xml | 53 - ..._x__i_a_d_l_x_manual_tuning_state_list.xml | 70 - ..._x_manual_tuning_state_list__add__back.xml | 53 - ...i_a_d_l_x_manual_tuning_state_list__at.xml | 72 - ..._o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.xml | 112 - ...ning1__get_empty_v_r_a_m_tuning_states.xml | 59 - ...tuning1__get_memory_timing_description.xml | 56 - ...pported_memory_timing_description_list.xml | 60 - ...a_m_tuning1__get_v_r_a_m_tuning_ranges.xml | 69 - ...a_m_tuning1__get_v_r_a_m_tuning_states.xml | 59 - ..._m_tuning1__is_supported_memory_timing.xml | 56 - ...uning1__is_valid_v_r_a_m_tuning_states.xml | 69 - ...tuning1__set_memory_timing_description.xml | 56 - ...a_m_tuning1__set_v_r_a_m_tuning_states.xml | 53 - ..._o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.xml | 100 - ...a_m_tuning2__get_max_v_r_a_m_frequency.xml | 53 - ...ning2__get_max_v_r_a_m_frequency_range.xml | 53 - ...tuning2__get_memory_timing_description.xml | 56 - ...pported_memory_timing_description_list.xml | 60 - ..._m_tuning2__is_supported_memory_timing.xml | 56 - ...a_m_tuning2__set_max_v_r_a_m_frequency.xml | 53 - ...tuning2__set_memory_timing_description.xml | 56 - ...x__i_a_d_l_x_memory_timing_description.xml | 64 - ...ry_timing_description__get_description.xml | 53 - ...a_d_l_x_memory_timing_description_list.xml | 70 - ...ory_timing_description_list__add__back.xml | 53 - ...l_x_memory_timing_description_list__at.xml | 72 - ..._d_l_x_performance_monitoring_services.xml | 184 - ...ces__clear_performance_metrics_history.xml | 39 - ...ring_services__get_all_metrics_history.xml | 94 - ...ring_services__get_current_all_metrics.xml | 58 - ...monitoring_services__get_current_f_p_s.xml | 59 - ...ng_services__get_current_g_p_u_metrics.xml | 71 - ...rrent_performance_metrics_history_size.xml | 55 - ...g_services__get_current_system_metrics.xml | 58 - ...monitoring_services__get_f_p_s_history.xml | 95 - ...ng_services__get_g_p_u_metrics_history.xml | 107 - ...t_max_performance_metrics_history_size.xml | 55 - ...performance_metrics_history_size_range.xml | 56 - ...toring_services__get_sampling_interval.xml | 55 - ..._services__get_sampling_interval_range.xml | 56 - ..._services__get_supported_g_p_u_metrics.xml | 71 - ...services__get_supported_system_metrics.xml | 58 - ...g_services__get_system_metrics_history.xml | 94 - ...t_max_performance_metrics_history_size.xml | 55 - ...toring_services__set_sampling_interval.xml | 55 - ...es__start_performance_metrics_tracking.xml | 44 - ...ces__stop_performance_metrics_tracking.xml | 44 - ...__i_a_d_l_x_power_tuning_changed_event.xml | 64 - ...nged_event__is_smart_shift_max_changed.xml | 39 - ..._a_d_l_x_power_tuning_changed_handling.xml | 70 - ...dling__add_power_tuning_event_listener.xml | 58 - ...ng__remove_power_tuning_event_listener.xml | 56 - ..._a_d_l_x_power_tuning_changed_listener.xml | 67 - ...nged_listener__on_power_tuning_changed.xml | 55 - ...d_o_x__i_a_d_l_x_power_tuning_services.xml | 70 - ...ces__get_power_tuning_changed_handling.xml | 59 - ...r_tuning_services__get_smart_shift_max.xml | 59 - .../_d_o_x__i_a_d_l_x_simple_eyefinity.xml | 83 - ..._x__i_a_d_l_x_simple_eyefinity__create.xml | 62 - ...x__i_a_d_l_x_simple_eyefinity__destroy.xml | 56 - ..._a_d_l_x_simple_eyefinity__destroy_all.xml | 40 - ...a_d_l_x_simple_eyefinity__is_supported.xml | 59 - .../_d_o_x__i_a_d_l_x_smart_access_memory.xml | 76 - ..._d_l_x_smart_access_memory__is_enabled.xml | 53 - ..._l_x_smart_access_memory__is_supported.xml | 52 - ...d_l_x_smart_access_memory__set_enabled.xml | 58 - .../xml/_d_o_x__i_a_d_l_x_smart_shift_max.xml | 94 - ...x__i_a_d_l_x_smart_shift_max__get_bias.xml | 56 - ...a_d_l_x_smart_shift_max__get_bias_mode.xml | 56 - ..._d_l_x_smart_shift_max__get_bias_range.xml | 56 - ..._a_d_l_x_smart_shift_max__is_supported.xml | 56 - ...x__i_a_d_l_x_smart_shift_max__set_bias.xml | 56 - ...a_d_l_x_smart_shift_max__set_bias_mode.xml | 56 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_system.xml | 143 - .../SDKDoc/xml/_d_o_x__i_a_d_l_x_system1.xml | 65 - ...l_x_system1__get_power_tuning_services.xml | 59 - .../_d_o_x__i_a_d_l_x_system__enable_log.xml | 108 - ...d_l_x_system__get3_d_settings_services.xml | 58 - ..._a_d_l_x_system__get_desktops_services.xml | 59 - ..._a_d_l_x_system__get_displays_services.xml | 59 - ..._l_x_system__get_g_p_u_tuning_services.xml | 58 - .../_d_o_x__i_a_d_l_x_system__get_g_p_us.xml | 60 - ..._x_system__get_g_p_us_changed_handling.xml | 59 - .../_d_o_x__i_a_d_l_x_system__get_i2_c.xml | 71 - ...m__get_performance_monitoring_services.xml | 58 - ...i_a_d_l_x_system__hybrid_graphics_type.xml | 56 - ...o_x__i_a_d_l_x_system__query_interface.xml | 72 - ...__i_a_d_l_x_system__total_system_r_a_m.xml | 52 - .../xml/_d_o_x__i_a_d_l_x_system_metrics.xml | 82 - .../xml/_d_o_x__i_a_d_l_x_system_metrics1.xml | 65 - ..._x_system_metrics1__power_distribution.xml | 104 - ..._i_a_d_l_x_system_metrics__c_p_u_usage.xml | 52 - ..._i_a_d_l_x_system_metrics__smart_shift.xml | 61 - ...i_a_d_l_x_system_metrics__system_r_a_m.xml | 52 - ...__i_a_d_l_x_system_metrics__time_stamp.xml | 55 - .../_d_o_x__i_a_d_l_x_system_metrics_list.xml | 70 - ...a_d_l_x_system_metrics_list__add__back.xml | 52 - ...o_x__i_a_d_l_x_system_metrics_list__at.xml | 71 - ..._o_x__i_a_d_l_x_system_metrics_support.xml | 94 - ...o_x__i_a_d_l_x_system_metrics_support1.xml | 65 - ...port1__is_supported_power_distribution.xml | 52 - ...metrics_support__get_c_p_u_usage_range.xml | 69 - ...metrics_support__get_smart_shift_range.xml | 69 - ...etrics_support__get_system_r_a_m_range.xml | 69 - ...rics_support__is_supported_c_p_u_usage.xml | 52 - ...rics_support__is_supported_smart_shift.xml | 52 - ...ics_support__is_supported_system_r_a_m.xml | 52 - vendor/adlx/SDKDoc/xml/_disclaimer_8md.xml | 42 - vendor/adlx/SDKDoc/xml/_i3_d_settings_8h.xml | 983 --- .../adlx/SDKDoc/xml/_i_changed_event_8h.xml | 97 - vendor/adlx/SDKDoc/xml/_i_collections_8h.xml | 125 - vendor/adlx/SDKDoc/xml/_i_desktops_8h.xml | 345 - .../SDKDoc/xml/_i_display3_d_l_u_t_8h.xml | 167 - .../adlx/SDKDoc/xml/_i_display_gamma_8h.xml | 179 - .../adlx/SDKDoc/xml/_i_display_gamut_8h.xml | 187 - .../SDKDoc/xml/_i_display_settings_8h.xml | 823 --- vendor/adlx/SDKDoc/xml/_i_displays1_8h.xml | 162 - vendor/adlx/SDKDoc/xml/_i_displays2_8h.xml | 153 - vendor/adlx/SDKDoc/xml/_i_displays_8h.xml | 719 -- .../SDKDoc/xml/_i_g_p_u_auto_tuning_8h.xml | 193 - .../xml/_i_g_p_u_manual_fan_tuning_8h.xml | 258 - .../xml/_i_g_p_u_manual_g_f_x_tuning_8h.xml | 174 - .../xml/_i_g_p_u_manual_power_tuning_8h.xml | 117 - .../xml/_i_g_p_u_manual_v_r_a_m_tuning_8h.xml | 181 - .../SDKDoc/xml/_i_g_p_u_preset_tuning_8h.xml | 145 - .../adlx/SDKDoc/xml/_i_g_p_u_tuning1_8h.xml | 172 - vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning_8h.xml | 460 -- vendor/adlx/SDKDoc/xml/_i_i2_c_8h.xml | 108 - vendor/adlx/SDKDoc/xml/_i_log_8h.xml | 86 - .../xml/_i_performance_monitoring1_8h.xml | 109 - .../xml/_i_performance_monitoring_8h.xml | 648 -- vendor/adlx/SDKDoc/xml/_i_power_tuning_8h.xml | 240 - .../SDKDoc/xml/_i_smart_access_memory_8h.xml | 106 - vendor/adlx/SDKDoc/xml/_i_system1_8h.xml | 129 - vendor/adlx/SDKDoc/xml/_i_system_8h.xml | 379 - vendor/adlx/SDKDoc/xml/_trademark_8md.xml | 30 - vendor/adlx/SDKDoc/xml/adlx_atomic_dec.xml | 49 - vendor/adlx/SDKDoc/xml/adlx_atomic_inc.xml | 49 - vendor/adlx/SDKDoc/xml/adlx_free_library.xml | 54 - .../adlx/SDKDoc/xml/adlx_get_proc_address.xml | 104 - vendor/adlx/SDKDoc/xml/adlx_load_library.xml | 54 - vendor/adlx/SDKDoc/xml/benefits_8md.xml | 46 - vendor/adlx/SDKDoc/xml/c3d_8md.xml | 35 - .../adlx/SDKDoc/xml/c_3_d_settings_event.xml | 201 - .../SDKDoc/xml/c__anisotropic_filtering.xml | 254 - vendor/adlx/SDKDoc/xml/c__anti_aliasing.xml | 330 - vendor/adlx/SDKDoc/xml/c__anti_lag.xml | 271 - vendor/adlx/SDKDoc/xml/c__boost.xml | 247 - vendor/adlx/SDKDoc/xml/c__chill.xml | 251 - vendor/adlx/SDKDoc/xml/c__enhanced_sync.xml | 219 - vendor/adlx/SDKDoc/xml/c__f_r_t_c.xml | 240 - .../adlx/SDKDoc/xml/c__g_p_u_auto_tuning.xml | 563 -- .../SDKDoc/xml/c__g_p_u_preset_tuning.xml | 324 - vendor/adlx/SDKDoc/xml/c__i2_c.xml | 240 - .../adlx/SDKDoc/xml/c__image_sharpening.xml | 240 - .../adlx/SDKDoc/xml/c__manual_fan_tuning.xml | 456 -- .../SDKDoc/xml/c__manual_graphics_tuning.xml | 471 -- .../SDKDoc/xml/c__manual_power_tuning.xml | 356 - .../SDKDoc/xml/c__manual_v_r_a_m_tuning.xml | 585 -- .../xml/c__morphologic_anti_aliasing.xml | 216 - .../adlx/SDKDoc/xml/c__perf_all_metrics.xml | 682 -- .../adlx/SDKDoc/xml/c__perf_f_p_s_metrics.xml | 269 - .../adlx/SDKDoc/xml/c__perf_g_p_u_metrics.xml | 746 -- .../SDKDoc/xml/c__perf_system_metrics.xml | 478 -- vendor/adlx/SDKDoc/xml/c__r_s_r.xml | 228 - .../adlx/SDKDoc/xml/c__reset_shader_cache.xml | 195 - vendor/adlx/SDKDoc/xml/c__sync3_d_receive.xml | 264 - .../SDKDoc/xml/c__sync_display_receive.xml | 344 - .../adlx/SDKDoc/xml/c__sync_g_p_u_tuning.xml | 209 - .../adlx/SDKDoc/xml/c__sync_power_tuning.xml | 170 - vendor/adlx/SDKDoc/xml/c__tessellation.xml | 286 - .../xml/c__wait_for_vertical_refresh.xml | 244 - .../SDKDoc/xml/c_display__color_depth.xml | 363 - .../SDKDoc/xml/c_display__custom_color.xml | 370 - .../xml/c_display__custom_resolution.xml | 396 -- ...splay__display_connectivity_experience.xml | 535 -- .../xml/c_display__display_vari_bright.xml | 368 - .../adlx/SDKDoc/xml/c_display__free_sync.xml | 256 - .../SDKDoc/xml/c_display__g_p_u_scaling.xml | 255 - vendor/adlx/SDKDoc/xml/c_display__h_d_c_p.xml | 256 - .../SDKDoc/xml/c_display__integer_scaling.xml | 256 - .../SDKDoc/xml/c_display__pixel_format.xml | 351 - .../SDKDoc/xml/c_display__scaling_mode.xml | 277 - vendor/adlx/SDKDoc/xml/c_display__v_s_r.xml | 256 - vendor/adlx/SDKDoc/xml/c_sam.xml | 399 -- .../xml/c_sample__async_event_handling.xml | 208 - .../xml/c_sample__g_p_u_service_call.xml | 508 -- .../SDKDoc/xml/c_sample__invalid_object.xml | 134 - .../SDKDoc/xml/c_sample__primary_adapter.xml | 222 - .../SDKDoc/xml/c_sample__share_memory.xml | 120 - .../SDKDoc/xml/c_sample__work_with_a_d_l.xml | 179 - .../adlx/SDKDoc/xml/c_sample_desktopevent.xml | 234 - .../SDKDoc/xml/c_sample_display3_d_l_u_t.xml | 653 -- .../SDKDoc/xml/c_sample_display_blanking.xml | 395 -- .../SDKDoc/xml/c_sample_display_events.xml | 240 - .../SDKDoc/xml/c_sample_display_gamma.xml | 439 -- .../SDKDoc/xml/c_sample_display_gamut.xml | 368 - .../adlx/SDKDoc/xml/c_sample_displayinfo.xml | 255 - vendor/adlx/SDKDoc/xml/c_sample_eyefinity.xml | 358 - vendor/adlx/SDKDoc/xml/c_sample_gpus.xml | 309 - vendor/adlx/SDKDoc/xml/c_sample_log.xml | 209 - .../adlx/SDKDoc/xml/c_sample_userprocess.xml | 277 - vendor/adlx/SDKDoc/xml/c_ssm.xml | 242 - vendor/adlx/SDKDoc/xml/cdesktop_8md.xml | 24 - vendor/adlx/SDKDoc/xml/cdisplay_8md.xml | 39 - vendor/adlx/SDKDoc/xml/cgeneral_8md.xml | 25 - vendor/adlx/SDKDoc/xml/cgputuning_8md.xml | 41 - vendor/adlx/SDKDoc/xml/ci2c_8md.xml | 22 - .../xml/classadlx_1_1_i_a_d_l_mapping.xml | 271 - ...1_1_i_a_d_l_x3_d_anisotropic_filtering.xml | 109 - ...assadlx_1_1_i_a_d_l_x3_d_anti_aliasing.xml | 145 - .../classadlx_1_1_i_a_d_l_x3_d_anti_lag.xml | 74 - .../classadlx_1_1_i_a_d_l_x3_d_anti_lag1.xml | 58 - .../xml/classadlx_1_1_i_a_d_l_x3_d_boost.xml | 127 - .../xml/classadlx_1_1_i_a_d_l_x3_d_chill.xml | 163 - ...assadlx_1_1_i_a_d_l_x3_d_enhanced_sync.xml | 73 - ...i_a_d_l_x3_d_frame_rate_target_control.xml | 127 - ...adlx_1_1_i_a_d_l_x3_d_image_sharpening.xml | 127 - ...a_d_l_x3_d_morphological_anti_aliasing.xml | 73 - ...1_i_a_d_l_x3_d_radeon_super_resolution.xml | 127 - ...lx_1_1_i_a_d_l_x3_d_reset_shader_cache.xml | 51 - ..._1_i_a_d_l_x3_d_settings_changed_event.xml | 220 - ...i_a_d_l_x3_d_settings_changed_handling.xml | 55 - ...i_a_d_l_x3_d_settings_changed_listener.xml | 33 - ...dlx_1_1_i_a_d_l_x3_d_settings_services.xml | 319 - ...lassadlx_1_1_i_a_d_l_x3_d_tessellation.xml | 109 - ...i_a_d_l_x3_d_wait_for_vertical_refresh.xml | 91 - .../classadlx_1_1_i_a_d_l_x_all_metrics.xml | 95 - ...assadlx_1_1_i_a_d_l_x_all_metrics_list.xml | 67 - .../classadlx_1_1_i_a_d_l_x_changed_event.xml | 40 - .../xml/classadlx_1_1_i_a_d_l_x_desktop.xml | 131 - ...1_1_i_a_d_l_x_desktop_changed_handling.xml | 55 - .../classadlx_1_1_i_a_d_l_x_desktop_list.xml | 67 - ..._a_d_l_x_desktop_list_changed_listener.xml | 33 - ...assadlx_1_1_i_a_d_l_x_desktop_services.xml | 91 - .../xml/classadlx_1_1_i_a_d_l_x_display.xml | 221 - ...assadlx_1_1_i_a_d_l_x_display3_d_l_u_t.xml | 447 -- ...a_d_l_x_display3_d_l_u_t_changed_event.xml | 66 - ..._l_x_display3_d_l_u_t_changed_listener.xml | 33 - ...assadlx_1_1_i_a_d_l_x_display_blanking.xml | 101 - ...1_1_i_a_d_l_x_display_changed_handling.xml | 199 - ...adlx_1_1_i_a_d_l_x_display_color_depth.xml | 203 - ..._d_l_x_display_connectivity_experience.xml | 235 - ...dlx_1_1_i_a_d_l_x_display_custom_color.xml | 379 - ..._1_i_a_d_l_x_display_custom_resolution.xml | 109 - ...ssadlx_1_1_i_a_d_l_x_display_free_sync.xml | 73 - ...lx_1_1_i_a_d_l_x_display_g_p_u_scaling.xml | 73 - .../classadlx_1_1_i_a_d_l_x_display_gamma.xml | 463 -- ..._i_a_d_l_x_display_gamma_changed_event.xml | 94 - ...a_d_l_x_display_gamma_changed_listener.xml | 33 - .../classadlx_1_1_i_a_d_l_x_display_gamut.xml | 539 -- ..._i_a_d_l_x_display_gamut_changed_event.xml | 66 - ...a_d_l_x_display_gamut_changed_listener.xml | 33 - ...lassadlx_1_1_i_a_d_l_x_display_h_d_c_p.xml | 73 - ..._1_1_i_a_d_l_x_display_integer_scaling.xml | 73 - .../classadlx_1_1_i_a_d_l_x_display_list.xml | 67 - ..._a_d_l_x_display_list_changed_listener.xml | 33 - ...dlx_1_1_i_a_d_l_x_display_pixel_format.xml | 185 - ...sadlx_1_1_i_a_d_l_x_display_resolution.xml | 55 - ..._1_1_i_a_d_l_x_display_resolution_list.xml | 67 - ...dlx_1_1_i_a_d_l_x_display_scaling_mode.xml | 73 - ...assadlx_1_1_i_a_d_l_x_display_services.xml | 382 - ...ssadlx_1_1_i_a_d_l_x_display_services1.xml | 59 - ...ssadlx_1_1_i_a_d_l_x_display_services2.xml | 59 - ...a_d_l_x_display_settings_changed_event.xml | 249 - ..._d_l_x_display_settings_changed_event1.xml | 51 - ..._d_l_x_display_settings_changed_event2.xml | 51 - ..._l_x_display_settings_changed_listener.xml | 33 - .../classadlx_1_1_i_a_d_l_x_display_v_s_r.xml | 73 - ...adlx_1_1_i_a_d_l_x_display_vari_bright.xml | 233 - ...ssadlx_1_1_i_a_d_l_x_eyefinity_desktop.xml | 149 - .../xml/classadlx_1_1_i_a_d_l_x_f_p_s.xml | 55 - .../classadlx_1_1_i_a_d_l_x_f_p_s_list.xml | 67 - .../xml/classadlx_1_1_i_a_d_l_x_g_p_u.xml | 316 - .../xml/classadlx_1_1_i_a_d_l_x_g_p_u1.xml | 107 - ...ssadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning.xml | 181 - ...d_l_x_g_p_u_auto_tuning_complete_event.xml | 61 - ..._x_g_p_u_auto_tuning_complete_listener.xml | 33 - .../classadlx_1_1_i_a_d_l_x_g_p_u_list.xml | 67 - .../classadlx_1_1_i_a_d_l_x_g_p_u_metrics.xml | 235 - ...sadlx_1_1_i_a_d_l_x_g_p_u_metrics_list.xml | 67 - ...lx_1_1_i_a_d_l_x_g_p_u_metrics_support.xml | 459 -- ...adlx_1_1_i_a_d_l_x_g_p_u_preset_tuning.xml | 269 - ...1_i_a_d_l_x_g_p_u_tuning_changed_event.xml | 123 - ..._i_a_d_l_x_g_p_u_tuning_changed_event1.xml | 63 - ..._a_d_l_x_g_p_u_tuning_changed_handling.xml | 55 - ..._a_d_l_x_g_p_u_tuning_changed_listener.xml | 33 - ...lx_1_1_i_a_d_l_x_g_p_u_tuning_services.xml | 342 - ...x_1_1_i_a_d_l_x_g_p_u_tuning_services1.xml | 56 - ..._1_1_i_a_d_l_x_g_p_us_changed_handling.xml | 55 - ...lx_1_1_i_a_d_l_x_g_p_us_event_listener.xml | 33 - .../xml/classadlx_1_1_i_a_d_l_x_i2_c.xml | 181 - .../xml/classadlx_1_1_i_a_d_l_x_interface.xml | 136 - ...ssadlx_1_1_i_a_d_l_x_interface_ptr___t.xml | 414 -- .../xml/classadlx_1_1_i_a_d_l_x_list.xml | 154 - .../xml/classadlx_1_1_i_a_d_l_x_log.xml | 33 - ...ssadlx_1_1_i_a_d_l_x_manual_fan_tuning.xml | 387 - ..._1_1_i_a_d_l_x_manual_fan_tuning_state.xml | 91 - ...i_a_d_l_x_manual_fan_tuning_state_list.xml | 67 - ..._1_1_i_a_d_l_x_manual_graphics_tuning1.xml | 117 - ..._1_1_i_a_d_l_x_manual_graphics_tuning2.xml | 181 - ...adlx_1_1_i_a_d_l_x_manual_power_tuning.xml | 145 - ...adlx_1_1_i_a_d_l_x_manual_tuning_state.xml | 91 - ...1_1_i_a_d_l_x_manual_tuning_state_list.xml | 67 - ...x_1_1_i_a_d_l_x_manual_v_r_a_m_tuning1.xml | 189 - ...x_1_1_i_a_d_l_x_manual_v_r_a_m_tuning2.xml | 145 - ..._1_i_a_d_l_x_memory_timing_description.xml | 37 - ...a_d_l_x_memory_timing_description_list.xml | 67 - ..._d_l_x_performance_monitoring_services.xml | 411 -- ...1_i_a_d_l_x_power_tuning_changed_event.xml | 34 - ..._a_d_l_x_power_tuning_changed_handling.xml | 55 - ..._a_d_l_x_power_tuning_changed_listener.xml | 33 - ...lx_1_1_i_a_d_l_x_power_tuning_services.xml | 55 - ...assadlx_1_1_i_a_d_l_x_simple_eyefinity.xml | 87 - ...adlx_1_1_i_a_d_l_x_smart_access_memory.xml | 73 - ...lassadlx_1_1_i_a_d_l_x_smart_shift_max.xml | 127 - .../xml/classadlx_1_1_i_a_d_l_x_system.xml | 251 - .../xml/classadlx_1_1_i_a_d_l_x_system1.xml | 37 - ...classadlx_1_1_i_a_d_l_x_system_metrics.xml | 92 - ...lassadlx_1_1_i_a_d_l_x_system_metrics1.xml | 57 - ...adlx_1_1_i_a_d_l_x_system_metrics_list.xml | 67 - ...x_1_1_i_a_d_l_x_system_metrics_support.xml | 140 - ..._1_1_i_a_d_l_x_system_metrics_support1.xml | 43 - vendor/adlx/SDKDoc/xml/combine.xslt | 15 - vendor/adlx/SDKDoc/xml/compatibility_8md.xml | 53 - vendor/adlx/SDKDoc/xml/compound.xsd | 1215 ---- vendor/adlx/SDKDoc/xml/cperformance_8md.xml | 25 - vendor/adlx/SDKDoc/xml/cpowertuning_8md.xml | 22 - vendor/adlx/SDKDoc/xml/cpp3d_8md.xml | 36 - .../SDKDoc/xml/cpp_3_d_settings_event.xml | 178 - .../SDKDoc/xml/cpp__anisotropic_filtering.xml | 238 - vendor/adlx/SDKDoc/xml/cpp__anti_aliasing.xml | 298 - vendor/adlx/SDKDoc/xml/cpp__anti_lag.xml | 263 - vendor/adlx/SDKDoc/xml/cpp__boost.xml | 242 - vendor/adlx/SDKDoc/xml/cpp__chill.xml | 260 - vendor/adlx/SDKDoc/xml/cpp__enhanced_sync.xml | 210 - vendor/adlx/SDKDoc/xml/cpp__f_r_t_c.xml | 240 - .../SDKDoc/xml/cpp__g_p_u_auto_tuning.xml | 444 -- .../SDKDoc/xml/cpp__g_p_u_preset_tuning.xml | 279 - vendor/adlx/SDKDoc/xml/cpp__i2_c.xml | 255 - .../adlx/SDKDoc/xml/cpp__image_sharpening.xml | 241 - .../SDKDoc/xml/cpp__manual_fan_tuning.xml | 394 -- .../xml/cpp__manual_graphics_tuning.xml | 389 - .../SDKDoc/xml/cpp__manual_power_tuning.xml | 319 - .../SDKDoc/xml/cpp__manual_v_r_a_m_tuning.xml | 452 -- .../xml/cpp__morphologic_anti_aliasing.xml | 214 - .../adlx/SDKDoc/xml/cpp__perf_all_metrics.xml | 606 -- .../SDKDoc/xml/cpp__perf_f_p_s_metrics.xml | 252 - .../SDKDoc/xml/cpp__perf_g_p_u_metrics.xml | 692 -- .../SDKDoc/xml/cpp__perf_system_metrics.xml | 444 -- vendor/adlx/SDKDoc/xml/cpp__r_s_r.xml | 237 - .../SDKDoc/xml/cpp__reset_shader_cache.xml | 189 - .../adlx/SDKDoc/xml/cpp__sync3_d_receive.xml | 413 -- .../SDKDoc/xml/cpp__sync_display_receive.xml | 328 - .../SDKDoc/xml/cpp__sync_g_p_u_tuning.xml | 194 - .../SDKDoc/xml/cpp__sync_power_tuning.xml | 154 - vendor/adlx/SDKDoc/xml/cpp__tessellation.xml | 259 - .../xml/cpp__wait_for_vertical_refresh.xml | 229 - .../SDKDoc/xml/cpp_display__color_depth.xml | 312 - .../SDKDoc/xml/cpp_display__custom_color.xml | 385 - .../xml/cpp_display__custom_resolution.xml | 372 - ...splay__display_connectivity_experience.xml | 496 -- .../xml/cpp_display__display_vari_bright.xml | 360 - .../SDKDoc/xml/cpp_display__free_sync.xml | 250 - .../SDKDoc/xml/cpp_display__g_p_u_scaling.xml | 250 - .../adlx/SDKDoc/xml/cpp_display__h_d_c_p.xml | 250 - .../xml/cpp_display__integer_scaling.xml | 250 - .../SDKDoc/xml/cpp_display__pixel_format.xml | 327 - .../SDKDoc/xml/cpp_display__scaling_mode.xml | 271 - vendor/adlx/SDKDoc/xml/cpp_display__v_s_r.xml | 250 - vendor/adlx/SDKDoc/xml/cpp_sam.xml | 347 - .../xml/cpp_sample__async_event_handling.xml | 191 - .../xml/cpp_sample__g_p_u_service_call.xml | 521 -- .../SDKDoc/xml/cpp_sample__invalid_object.xml | 133 - .../xml/cpp_sample__primary_adapter.xml | 200 - .../SDKDoc/xml/cpp_sample__share_memory.xml | 127 - .../xml/cpp_sample__work_with_a_d_l.xml | 171 - .../SDKDoc/xml/cpp_sample_desktopevent.xml | 209 - .../xml/cpp_sample_display3_d_l_u_t.xml | 616 -- .../xml/cpp_sample_display_blanking.xml | 362 - .../SDKDoc/xml/cpp_sample_display_events.xml | 225 - .../SDKDoc/xml/cpp_sample_display_gamma.xml | 450 -- .../SDKDoc/xml/cpp_sample_display_gamut.xml | 351 - .../SDKDoc/xml/cpp_sample_displayinfo.xml | 222 - .../adlx/SDKDoc/xml/cpp_sample_eyefinity.xml | 282 - vendor/adlx/SDKDoc/xml/cpp_sample_gpus.xml | 304 - vendor/adlx/SDKDoc/xml/cpp_sample_log.xml | 213 - .../SDKDoc/xml/cpp_sample_userprocess.xml | 280 - vendor/adlx/SDKDoc/xml/cpp_ssm.xml | 242 - vendor/adlx/SDKDoc/xml/cppdesktop_8md.xml | 24 - vendor/adlx/SDKDoc/xml/cppdisplay_8md.xml | 39 - vendor/adlx/SDKDoc/xml/cppgeneral_8md.xml | 25 - vendor/adlx/SDKDoc/xml/cppgputuning_8md.xml | 41 - vendor/adlx/SDKDoc/xml/cppi2c_8md.xml | 22 - vendor/adlx/SDKDoc/xml/cppperformance_8md.xml | 25 - vendor/adlx/SDKDoc/xml/cpppowertuning_8md.xml | 22 - vendor/adlx/SDKDoc/xml/cppservicecall_8md.xml | 24 - vendor/adlx/SDKDoc/xml/cppsync_8md.xml | 27 - .../SDKDoc/xml/cs_sample_adlxcsharpbind.xml | 186 - .../SDKDoc/xml/cs_sample_display_events.xml | 137 - .../adlx/SDKDoc/xml/cs_sample_displayinfo.xml | 159 - vendor/adlx/SDKDoc/xml/cservicecall_8md.xml | 24 - .../adlx/SDKDoc/xml/csharp_2_read_me_8md.xml | 42 - vendor/adlx/SDKDoc/xml/csync_8md.xml | 27 - vendor/adlx/SDKDoc/xml/desktop.xml | 30 - .../dir_027b3822e68cea2333c40389ff559349.xml | 13 - .../dir_16efc9621f5d2e1cb4bad055b0f276b2.xml | 12 - .../dir_24e107d8aaaa0f0fb9ce89773de45c08.xml | 16 - .../dir_32f501a9a44fa5b987b82f09ad085bbe.xml | 11 - .../dir_38661bf1cff6bbf8d643288778f7dda5.xml | 12 - .../dir_42276f7418706d1ade0d3bc4e4f60731.xml | 13 - .../dir_537881034b1f7d49233316885f2cd2ce.xml | 13 - .../dir_66c87b55badc78d3b4aa518cd95dfa04.xml | 11 - .../dir_6e22ff5a6df353352cbcbff529ec7bf5.xml | 11 - .../dir_902de48ee18c71cf36cb2c92b94e2165.xml | 23 - .../dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.xml | 11 - .../dir_a12a240c2aa7d26dd72e7a22857dd4bb.xml | 42 - .../dir_c5db9f0563fe1d2d90e845bf2fbf723c.xml | 11 - .../dir_c8ab53e67140eaecfb977988f71b2a99.xml | 11 - .../dir_ca6309d378ceffb9970caf11a0592736.xml | 13 - .../dir_e722523abc32cefc280070c505cb9f82.xml | 17 - .../dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.xml | 11 - vendor/adlx/SDKDoc/xml/display.xml | 87 - .../xml/domain_c_sample_3_d_graphics.xml | 106 - .../SDKDoc/xml/domain_c_sample__desktop.xml | 38 - .../SDKDoc/xml/domain_c_sample__display.xml | 130 - .../xml/domain_c_sample__g_p_u_tuning.xml | 64 - .../SDKDoc/xml/domain_c_sample__generic.xml | 46 - .../adlx/SDKDoc/xml/domain_c_sample__i2_c.xml | 28 - ...omain_c_sample__performance_monitoring.xml | 46 - .../SDKDoc/xml/domain_c_sample_globalsync.xml | 54 - .../xml/domain_c_sample_powertuning.xml | 28 - .../xml/domain_c_sample_servicecall.xml | 40 - .../xml/domain_cpp_sample_3_d_graphics.xml | 106 - .../SDKDoc/xml/domain_cpp_sample__desktop.xml | 38 - .../SDKDoc/xml/domain_cpp_sample__display.xml | 130 - .../xml/domain_cpp_sample__g_p_u_tuning.xml | 64 - .../SDKDoc/xml/domain_cpp_sample__generic.xml | 46 - .../SDKDoc/xml/domain_cpp_sample__i2_c.xml | 28 - ...ain_cpp_sample__performance_monitoring.xml | 46 - .../xml/domain_cpp_sample_globalsync.xml | 54 - .../xml/domain_cpp_sample_powertuning.xml | 28 - .../xml/domain_cpp_sample_servicecall.xml | 40 - vendor/adlx/SDKDoc/xml/domain_powertuning.xml | 26 - vendor/adlx/SDKDoc/xml/domain_sample_page.xml | 28 - vendor/adlx/SDKDoc/xml/event_8md.xml | 71 - vendor/adlx/SDKDoc/xml/funpage.xml | 112 - vendor/adlx/SDKDoc/xml/gfx3dgraphics.xml | 53 - vendor/adlx/SDKDoc/xml/gpu.xml | 26 - vendor/adlx/SDKDoc/xml/gputuning.xml | 63 - .../adlx/SDKDoc/xml/group___a_d_l_x_defs.xml | 134 - .../adlx/SDKDoc/xml/group___a_d_l_x_macro.xml | 268 - .../adlx/SDKDoc/xml/group__enumerations.xml | 2278 ------ .../adlx/SDKDoc/xml/group__structures_val.xml | 34 - vendor/adlx/SDKDoc/xml/group__typedefs.xml | 98 - vendor/adlx/SDKDoc/xml/i2c.xml | 18 - vendor/adlx/SDKDoc/xml/index.xml | 3901 ----------- vendor/adlx/SDKDoc/xml/index.xsd | 70 - vendor/adlx/SDKDoc/xml/indexpage.xml | 36 - .../SDKDoc/xml/init_a_d_l_xwith_help_8md.xml | 129 - .../xml/init_a_d_l_xwith_pointer_8md.xml | 33 - .../adlx/SDKDoc/xml/interfacereqtable_8h.xml | 14 - vendor/adlx/SDKDoc/xml/java_2_read_me_8md.xml | 65 - .../SDKDoc/xml/java_sample_adlxjavabind.xml | 189 - .../SDKDoc/xml/java_sample_display_events.xml | 99 - .../SDKDoc/xml/java_sample_displayinfo.xml | 155 - vendor/adlx/SDKDoc/xml/languages_8md.xml | 40 - vendor/adlx/SDKDoc/xml/legalinfo_8md.xml | 28 - vendor/adlx/SDKDoc/xml/list.png | Bin 12829 -> 0 bytes vendor/adlx/SDKDoc/xml/misc.xml | 26 - vendor/adlx/SDKDoc/xml/namespaceadlx.xml | 1833 ----- .../adlx/SDKDoc/xml/page__a_d_l_x_c_help.xml | 85 - .../SDKDoc/xml/page__a_d_l_x_cpp_help.xml | 95 - .../adlx/SDKDoc/xml/page__a_d_l_x_helps.xml | 34 - .../xml/page__a_d_l_x_initialize__fn.xml | 67 - ...a_d_l_x_initialize_with_caller_adl__fn.xml | 106 - .../page__a_d_l_x_query_full_version__fn.xml | 54 - .../xml/page__a_d_l_x_query_version__fn.xml | 54 - .../xml/page__a_d_l_x_terminate__fn.xml | 41 - .../SDKDoc/xml/page_adlxprogrammingguide.xml | 76 - ...c_help_a_d_l_x_helper__get_adl_mapping.xml | 49 - ...lp_a_d_l_x_helper__get_system_services.xml | 37 - ...page_c_help_a_d_l_x_helper__initialize.xml | 46 - ...l_x_helper__initialize_with_caller_adl.xml | 72 - ...r__initialize_with_incompatible_driver.xml | 47 - ...elp_a_d_l_x_helper__query_full_version.xml | 36 - ...e_c_help_a_d_l_x_helper__query_version.xml | 36 - .../page_c_help_a_d_l_x_helper__terminate.xml | 43 - .../adlx/SDKDoc/xml/page_cpp_help_delete.xml | 39 - .../xml/page_cpp_help_get_adl_mapping.xml | 49 - .../xml/page_cpp_help_get_system_services.xml | 37 - .../SDKDoc/xml/page_cpp_help_initialize.xml | 45 - ...ge_cpp_help_initialize_with_caller_adl.xml | 72 - ...lp_initialize_with_incompatible_driver.xml | 45 - vendor/adlx/SDKDoc/xml/page_cpp_help_new.xml | 36 - .../xml/page_cpp_help_query_full_version.xml | 36 - .../xml/page_cpp_help_query_version.xml | 36 - .../SDKDoc/xml/page_cpp_help_terminate.xml | 43 - .../SDKDoc/xml/page_guide__compatibility.xml | 31 - .../adlx/SDKDoc/xml/page_guide_advanced.xml | 18 - vendor/adlx/SDKDoc/xml/page_guide_bef.xml | 58 - .../adlx/SDKDoc/xml/page_guide_bindcsharp.xml | 87 - .../adlx/SDKDoc/xml/page_guide_bindjava.xml | 94 - vendor/adlx/SDKDoc/xml/page_guide_bindpy.xml | 79 - vendor/adlx/SDKDoc/xml/page_guide_event.xml | 47 - .../adlx/SDKDoc/xml/page_guide_init_help.xml | 93 - .../SDKDoc/xml/page_guide_init_pointer.xml | 23 - .../adlx/SDKDoc/xml/page_guide_languages.xml | 33 - vendor/adlx/SDKDoc/xml/page_guide_os.xml | 13 - vendor/adlx/SDKDoc/xml/page_guide_qs.xml | 63 - vendor/adlx/SDKDoc/xml/page_guide_spe.xml | 24 - .../SDKDoc/xml/page_guide_use__a_d_l_x.xml | 52 - .../SDKDoc/xml/page_guide_usingservice.xml | 25 - vendor/adlx/SDKDoc/xml/page_interfaces.xml | 39 - vendor/adlx/SDKDoc/xml/page_legal.xml | 22 - .../SDKDoc/xml/page_legal__disclaimer.xml | 14 - .../adlx/SDKDoc/xml/page_legal__trademark.xml | 16 - .../adlx/SDKDoc/xml/page_programwithadlx.xml | 31 - vendor/adlx/SDKDoc/xml/page_sample_c.xml | 81 - vendor/adlx/SDKDoc/xml/page_sample_cpp.xml | 81 - vendor/adlx/SDKDoc/xml/page_sample_cs.xml | 77 - vendor/adlx/SDKDoc/xml/page_sample_java.xml | 104 - vendor/adlx/SDKDoc/xml/page_sample_py.xml | 103 - vendor/adlx/SDKDoc/xml/page_sdk.xml | 33 - vendor/adlx/SDKDoc/xml/perfmonitoring.xml | 42 - vendor/adlx/SDKDoc/xml/prerequisites_8md.xml | 21 - .../adlx/SDKDoc/xml/py_sample_adlxpybind.xml | 578 -- .../SDKDoc/xml/py_sample_display_events.xml | 85 - .../adlx/SDKDoc/xml/py_sample_displayinfo.xml | 92 - .../adlx/SDKDoc/xml/python_2_read_me_8md.xml | 66 - vendor/adlx/SDKDoc/xml/servicecall_8md.xml | 41 - .../xml/struct_a_d_l_x__3_d_l_u_t___data.xml | 46 - .../struct_a_d_l_x___custom_resolution.xml | 142 - .../xml/struct_a_d_l_x___gamma_ramp.xml | 33 - .../struct_a_d_l_x___gamut_color_space.xml | 80 - .../SDKDoc/xml/struct_a_d_l_x___int_range.xml | 65 - .../SDKDoc/xml/struct_a_d_l_x___point.xml | 49 - .../SDKDoc/xml/struct_a_d_l_x___r_g_b.xml | 65 - .../xml/struct_a_d_l_x___regamma_coeff.xml | 97 - .../xml/struct_a_d_l_x___timing_info.xml | 193 - .../struct_a_d_l_x___u_i_n_t16___r_g_b.xml | 65 - .../adlx/SDKDoc/xml/struct_a_d_l_x_helper.xml | 403 -- vendor/adlx/SDKDoc/xml/system.xml | 20 - .../adlx/SDKDoc/xml/use_a_d_l_xin_app_8md.xml | 58 - vendor/adlx/SDKDoc/xml/xml.xsd | 23 - .../SDKDoc/xml/z_a_d_l_x_sample_page_8h.xml | 24 - .../3DGraphics/3DSettingsEvent/CMakeLists.txt | 21 - .../C/3DGraphics/3DSettingsEvent/ReadMe.html | 13 - .../3DSettingsEvent/main3DSettingsEvent.c | 176 - .../AnisotropicFiltering/CMakeLists.txt | 21 - .../AnisotropicFiltering/ReadMe.html | 27 - .../mainAnisotropicFiltering.c | 215 - .../C/3DGraphics/AntiAliasing/CMakeLists.txt | 21 - .../C/3DGraphics/AntiAliasing/ReadMe.html | 30 - .../AntiAliasing/mainAntiAliasing.c | 288 - .../C/3DGraphics/AntiLag/CMakeLists.txt | 21 - .../Samples/C/3DGraphics/AntiLag/ReadMe.html | 30 - .../C/3DGraphics/AntiLag/mainAntiLag.c | 229 - .../Samples/C/3DGraphics/Boost/CMakeLists.txt | 21 - .../Samples/C/3DGraphics/Boost/ReadMe.html | 27 - .../Samples/C/3DGraphics/Boost/mainBoost.c | 208 - .../Samples/C/3DGraphics/Chill/CMakeLists.txt | 21 - .../Samples/C/3DGraphics/Chill/ReadMe.html | 27 - .../Samples/C/3DGraphics/Chill/mainChill.c | 212 - .../C/3DGraphics/EnhancedSync/CMakeLists.txt | 21 - .../C/3DGraphics/EnhancedSync/ReadMe.html | 27 - .../EnhancedSync/mainEnhancedSync.c | 180 - .../Samples/C/3DGraphics/FRTC/CMakeLists.txt | 21 - .../Samples/C/3DGraphics/FRTC/ReadMe.html | 27 - .../adlx/Samples/C/3DGraphics/FRTC/mainFRTC.c | 201 - .../3DGraphics/ImageSharpening/CMakeLists.txt | 21 - .../C/3DGraphics/ImageSharpening/ReadMe.html | 27 - .../ImageSharpening/mainImageSharpening.c | 201 - .../MorphologicAntiAliasing/CMakeLists.txt | 21 - .../MorphologicAntiAliasing/ReadMe.html | 27 - .../mainMorphologicAntiAliasing.c | 177 - .../Samples/C/3DGraphics/RSR/CMakeLists.txt | 21 - .../adlx/Samples/C/3DGraphics/RSR/ReadMe.html | 27 - .../adlx/Samples/C/3DGraphics/RSR/mainRSR.c | 189 - .../ResetShaderCache/CMakeLists.txt | 21 - .../C/3DGraphics/ResetShaderCache/ReadMe.html | 25 - .../ResetShaderCache/mainresetshadercache.c | 158 - .../C/3DGraphics/Tessellation/CMakeLists.txt | 21 - .../C/3DGraphics/Tessellation/ReadMe.html | 29 - .../Tessellation/mainTessellation.c | 244 - .../WaitForVerticalRefresh/CMakeLists.txt | 21 - .../WaitForVerticalRefresh/ReadMe.html | 29 - .../mainWaitForVerticalRefresh.c | 203 - vendor/adlx/Samples/C/CMakeLists.txt | 78 - vendor/adlx/Samples/C/CMakeSettings.json | 36 - .../C/Desktop/DesktopsEvent/CMakeLists.txt | 21 - .../C/Desktop/DesktopsEvent/ReadMe.html | 15 - .../Desktop/DesktopsEvent/mainDesktopsEvent.c | 207 - .../C/Desktop/Eyefinity/CMakeLists.txt | 21 - .../Samples/C/Desktop/Eyefinity/ReadMe.html | 27 - .../C/Desktop/Eyefinity/mainEyefinity.c | 319 - .../C/Desktop/PrimaryAdapter/CMakeLists.txt | 21 - .../C/Desktop/PrimaryAdapter/ReadMe.html | 24 - .../PrimaryAdapter/mainPrimaryAdapter.c | 186 - .../C/Display/Display3DLUT/CMakeLists.txt | 22 - .../C/Display/Display3DLUT/ReadMe.html | 34 - .../C/Display/Display3DLUT/mainDisplay3DLUT.c | 607 -- .../C/Display/DisplayBlanking/CMakeLists.txt | 21 - .../C/Display/DisplayBlanking/ReadMe.html | 28 - .../DisplayBlanking/mainDisplayBlanking.c | 355 - .../Display/DisplayColorDepth/CMakeLists.txt | 21 - .../C/Display/DisplayColorDepth/ReadMe.html | 29 - .../DisplayColorDepth/maindisplaycolordepth.c | 322 - .../CMakeLists.txt | 21 - .../DisplayConnectivityExperience/ReadMe.html | 33 - .../mainDisplayConnectivityExperience.c | 490 -- .../Display/DisplayCustomColor/CMakeLists.txt | 20 - .../C/Display/DisplayCustomColor/ReadMe.html | 28 - .../mainDisplayCustomColor.c | 330 - .../DisplayCustomResolution/CMakeLists.txt | 20 - .../DisplayCustomResolution/ReadMe.html | 28 - .../mainDisplayCustomResolution.c | 356 - .../C/Display/DisplayEvents/CMakeLists.txt | 21 - .../C/Display/DisplayEvents/ReadMe.html | 13 - .../Display/DisplayEvents/mainDisplayEvents.c | 215 - .../C/Display/DisplayFreeSync/CMakeLists.txt | 20 - .../C/Display/DisplayFreeSync/ReadMe.html | 27 - .../DisplayFreeSync/mainDisplayFreeSync.c | 217 - .../Display/DisplayGPUScaling/CMakeLists.txt | 21 - .../C/Display/DisplayGPUScaling/ReadMe.html | 27 - .../DisplayGPUScaling/mainDisplayGPUScaling.c | 216 - .../C/Display/DisplayGamma/CMakeLists.txt | 25 - .../C/Display/DisplayGamma/ReadMe.html | 31 - .../C/Display/DisplayGamma/mainDisplayGamma.c | 396 -- .../C/Display/DisplayGamut/CMakeLists.txt | 23 - .../C/Display/DisplayGamut/ReadMe.html | 29 - .../C/Display/DisplayGamut/mainDisplayGamut.c | 327 - .../C/Display/DisplayHDCP/CMakeLists.txt | 20 - .../Samples/C/Display/DisplayHDCP/ReadMe.html | 27 - .../C/Display/DisplayHDCP/mainDisplayHDCP.c | 217 - .../C/Display/DisplayInfo/CMakeLists.txt | 21 - .../Samples/C/Display/DisplayInfo/ReadMe.html | 13 - .../C/Display/DisplayInfo/mainDisplayInfo.c | 230 - .../DisplayIntegerScaling/CMakeLists.txt | 20 - .../Display/DisplayIntegerScaling/ReadMe.html | 27 - .../mainDisplayIntegerScaling.c | 217 - .../Display/DisplayPixelFormat/CMakeLists.txt | 21 - .../C/Display/DisplayPixelFormat/ReadMe.html | 30 - .../mainDisplayPixelFormat.c | 309 - .../Display/DisplayScalingMode/CMakeLists.txt | 21 - .../C/Display/DisplayScalingMode/ReadMe.html | 28 - .../mainDisplayScalingMode.c | 237 - .../C/Display/DisplayVSR/CMakeLists.txt | 21 - .../Samples/C/Display/DisplayVSR/ReadMe.html | 27 - .../C/Display/DisplayVSR/mainDisplayVSR.c | 217 - .../Display/DisplayVariBright/CMakeLists.txt | 21 - .../C/Display/DisplayVariBright/ReadMe.html | 37 - .../DisplayVariBright/mainDisplayVariBright.c | 319 - .../C/GPUTuning/GPUAutoTuning/CMakeLists.txt | 20 - .../C/GPUTuning/GPUAutoTuning/ReadMe.html | 30 - .../GPUAutoTuning/mainGPUAutoTuning.c | 521 -- .../GPUTuning/GPUPresetTuning/CMakeLists.txt | 21 - .../C/GPUTuning/GPUPresetTuning/ReadMe.html | 26 - .../GPUPresetTuning/mainGPUPresetTuning.c | 286 - .../GPUTuning/ManualFanTuning/CMakeLists.txt | 21 - .../C/GPUTuning/ManualFanTuning/ReadMe.html | 28 - .../ManualFanTuning/mainManualFanTuning.c | 416 -- .../ManualGraphicsTuning/CMakeLists.txt | 21 - .../ManualGraphicsTuning/ReadMe.html | 26 - .../mainManualGraphicsTuning.c | 433 -- .../ManualPowerTuning/CMakeLists.txt | 21 - .../C/GPUTuning/ManualPowerTuning/ReadMe.html | 30 - .../ManualPowerTuning/mainManualPowerTuning.c | 314 - .../GPUTuning/ManualVRAMTuning/CMakeLists.txt | 21 - .../C/GPUTuning/ManualVRAMTuning/ReadMe.html | 27 - .../ManualVRAMTuning/mainManualVRAMTuning.c | 546 -- .../SmartAccessMemory/CMakeLists.txt | 21 - .../C/GPUTuning/SmartAccessMemory/ReadMe.html | 26 - .../SmartAccessMemory/mainSmartAccessMemory.c | 361 - .../Samples/C/Generic/GPUs/CMakeLists.txt | 21 - .../adlx/Samples/C/Generic/GPUs/ReadMe.html | 13 - vendor/adlx/Samples/C/Generic/GPUs/mainGPUs.c | 284 - .../C/Generic/InvalidObject/CMakeLists.txt | 21 - .../C/Generic/InvalidObject/ReadMe.html | 13 - .../Generic/InvalidObject/mainInvalidObject.c | 109 - .../adlx/Samples/C/Generic/Log/CMakeLists.txt | 21 - vendor/adlx/Samples/C/Generic/Log/ReadMe.html | 25 - vendor/adlx/Samples/C/Generic/Log/mainLog.c | 172 - .../C/Generic/WorkWithADL/CMakeLists.txt | 21 - .../Samples/C/Generic/WorkWithADL/ReadMe.html | 14 - .../C/Generic/WorkWithADL/mainWorkWithADL.c | 153 - vendor/adlx/Samples/C/I2C/I2C/CMakeLists.txt | 21 - vendor/adlx/Samples/C/I2C/I2C/ReadMe.html | 27 - vendor/adlx/Samples/C/I2C/I2C/mainI2C.c | 201 - .../PerfAllMetrics/CMakeLists.txt | 21 - .../PerfAllMetrics/ReadMe.html | 25 - .../PerfAllMetrics/mainPerfAllMetrics.c | 645 -- .../PerfFPSMetrics/CMakeLists.txt | 21 - .../PerfFPSMetrics/ReadMe.html | 25 - .../PerfFPSMetrics/mainPerfFPSMetrics.c | 232 - .../PerfGPUMetrics/CMakeLists.txt | 21 - .../PerfGPUMetrics/ReadMe.html | 27 - .../PerfGPUMetrics/mainPerfGPUMetrics.c | 707 -- .../PerfSystemMetrics/CMakeLists.txt | 21 - .../PerfSystemMetrics/ReadMe.html | 25 - .../PerfSystemMetrics/mainPerfSystemMetrics.c | 441 -- .../PowerTuning/SmartShiftMax/CMakeLists.txt | 21 - .../C/PowerTuning/SmartShiftMax/ReadMe.html | 28 - .../SmartShiftMax/mainSmartShiftMax.c | 202 - vendor/adlx/Samples/C/ReadMe.md | 31 - .../AsyncEventHandling/CMakeLists.txt | 21 - .../AsyncEventHandling/ReadMe.html | 13 - .../mainAsyncEventHandling.c | 183 - .../Sync3DReceive/CMakeLists.txt | 21 - .../Sync3DReceive/ReadMe.html | 15 - .../Sync3DReceive/mainSync3DReceive.c | 237 - .../SyncDisplayReceive/CMakeLists.txt | 21 - .../SyncDisplayReceive/ReadMe.html | 15 - .../mainSyncDisplayReceive.c | 317 - .../SyncGPUTuning/CMakeLists.txt | 21 - .../SyncGPUTuning/ReadMe.html | 15 - .../SyncGPUTuning/mainSyncGPUTuning.c | 182 - .../SyncPowerTuning/CMakeLists.txt | 21 - .../SyncPowerTuning/ReadMe.html | 15 - .../SyncPowerTuning/mainSyncPowerTuning.c | 143 - .../C/ServiceCall/GPUService/CMakeLists.txt | 23 - .../C/ServiceCall/GPUService/GlobalDefs.h | 37 - .../C/ServiceCall/GPUService/ShareMemory.c | 107 - .../C/ServiceCall/GPUService/UserProcess.c | 264 - .../C/ServiceCall/GPUService/mainGPUService.c | 437 -- .../Samples/C/ServiceCall/GPUServiceCall.md | 86 - vendor/adlx/Samples/C/ServiceCall/ReadMe.html | 59 - .../Samples/C/ServiceCall/media/image1.png | Bin 59823 -> 0 bytes .../Samples/C/ServiceCall/media/image2.png | Bin 19866 -> 0 bytes .../Samples/C/ServiceCall/media/image3.png | Bin 76263 -> 0 bytes .../Samples/C/ServiceCall/media/image4.png | Bin 18953 -> 0 bytes .../Samples/C/ServiceCall/media/image5.png | Bin 72931 -> 0 bytes .../Samples/C/ServiceCall/media/image6.png | Bin 48071 -> 0 bytes .../Samples/C/ServiceCall/media/image7.png | Bin 77045 -> 0 bytes .../3DGraphics/3DSettingsEvent/CMakeLists.txt | 21 - .../3DGraphics/3DSettingsEvent/ReadMe.html | 13 - .../3DSettingsEvent/main3DSettingsEvent.cpp | 153 - .../AnisotropicFiltering/CMakeLists.txt | 21 - .../AnisotropicFiltering/ReadMe.html | 27 - .../mainAnisotropicFiltering.cpp | 199 - .../3DGraphics/AntiAliasing/CMakeLists.txt | 21 - .../CPP/3DGraphics/AntiAliasing/ReadMe.html | 30 - .../AntiAliasing/mainAntiAliasing.cpp | 256 - .../CPP/3DGraphics/AntiLag/CMakeLists.txt | 21 - .../CPP/3DGraphics/AntiLag/ReadMe.html | 31 - .../CPP/3DGraphics/AntiLag/mainAntiLag.cpp | 220 - .../CPP/3DGraphics/Boost/CMakeLists.txt | 21 - .../Samples/CPP/3DGraphics/Boost/ReadMe.html | 27 - .../CPP/3DGraphics/Boost/mainBoost.cpp | 203 - .../CPP/3DGraphics/Chill/CMakeLists.txt | 25 - .../Samples/CPP/3DGraphics/Chill/ReadMe.html | 27 - .../CPP/3DGraphics/Chill/mainChill.cpp | 221 - .../3DGraphics/EnhancedSync/CMakeLists.txt | 21 - .../CPP/3DGraphics/EnhancedSync/ReadMe.html | 27 - .../EnhancedSync/mainEnhancedSync.cpp | 171 - .../CPP/3DGraphics/FRTC/CMakeLists.txt | 21 - .../Samples/CPP/3DGraphics/FRTC/ReadMe.html | 27 - .../Samples/CPP/3DGraphics/FRTC/mainFRTC.cpp | 201 - .../3DGraphics/ImageSharpening/CMakeLists.txt | 21 - .../3DGraphics/ImageSharpening/ReadMe.html | 27 - .../ImageSharpening/mainImageSharpening.cpp | 202 - .../MorphologicAntiAliasing/CMakeLists.txt | 21 - .../MorphologicAntiAliasing/ReadMe.html | 27 - .../mainMorphologicAntiAliasing.cpp | 175 - .../Samples/CPP/3DGraphics/RSR/CMakeLists.txt | 21 - .../Samples/CPP/3DGraphics/RSR/ReadMe.html | 27 - .../Samples/CPP/3DGraphics/RSR/mainRSR.cpp | 198 - .../ResetShaderCache/CMakeLists.txt | 21 - .../3DGraphics/ResetShaderCache/ReadMe.html | 25 - .../ResetShaderCache/mainResetShaderCache.cpp | 152 - .../3DGraphics/Tessellation/CMakeLists.txt | 21 - .../CPP/3DGraphics/Tessellation/ReadMe.html | 29 - .../Tessellation/mainTessellation.cpp | 217 - .../WaitForVerticalRefresh/CMakeLists.txt | 21 - .../WaitForVerticalRefresh/ReadMe.html | 29 - .../mainWaitForVerticalRefresh.cpp | 188 - vendor/adlx/Samples/CPP/CMakeLists.txt | 80 - vendor/adlx/Samples/CPP/CMakeSettings.json | 36 - .../CPP/Desktop/DesktopsEvent/CMakeLists.txt | 21 - .../CPP/Desktop/DesktopsEvent/ReadMe.html | 15 - .../DesktopsEvent/mainDesktopsEvent.cpp | 182 - .../CPP/Desktop/Eyefinity/CMakeLists.txt | 21 - .../Samples/CPP/Desktop/Eyefinity/ReadMe.html | 27 - .../CPP/Desktop/Eyefinity/mainEyefinity.cpp | 243 - .../CPP/Desktop/PrimaryAdapter/CMakeLists.txt | 21 - .../CPP/Desktop/PrimaryAdapter/ReadMe.html | 24 - .../PrimaryAdapter/mainPrimaryAdapter.cpp | 164 - .../CPP/Display/Display3DLUT/CMakeLists.txt | 22 - .../CPP/Display/Display3DLUT/ReadMe.html | 34 - .../Display/Display3DLUT/mainDisplay3DLUT.cpp | 570 -- .../Display/DisplayBlanking/CMakeLists.txt | 21 - .../CPP/Display/DisplayBlanking/ReadMe.html | 28 - .../DisplayBlanking/mainDisplayBlanking.cpp | 322 - .../Display/DisplayColorDepth/CMakeLists.txt | 21 - .../CPP/Display/DisplayColorDepth/ReadMe.html | 29 - .../mainDisplayColorDepth.cpp | 271 - .../CMakeLists.txt | 21 - .../DisplayConnectivityExperience/ReadMe.html | 33 - .../mainDisplayConnectivityExperience.cpp | 451 -- .../Display/DisplayCustomColor/CMakeLists.txt | 20 - .../Display/DisplayCustomColor/ReadMe.html | 28 - .../mainDisplayCustomColor.cpp | 345 - .../DisplayCustomResolution/CMakeLists.txt | 20 - .../DisplayCustomResolution/ReadMe.html | 28 - .../mainDisplayCustomResolution.cpp | 332 - .../CPP/Display/DisplayEvents/CMakeLists.txt | 21 - .../CPP/Display/DisplayEvents/ReadMe.html | 13 - .../DisplayEvents/mainDisplayEvents.cpp | 200 - .../Display/DisplayFreeSync/CMakeLists.txt | 20 - .../CPP/Display/DisplayFreeSync/ReadMe.html | 27 - .../DisplayFreeSync/mainDisplayFreeSync.cpp | 211 - .../Display/DisplayGPUScaling/CMakeLists.txt | 21 - .../CPP/Display/DisplayGPUScaling/ReadMe.html | 27 - .../mainDisplayGPUScaling.cpp | 211 - .../CPP/Display/DisplayGamma/CMakeLists.txt | 23 - .../CPP/Display/DisplayGamma/ReadMe.html | 31 - .../Display/DisplayGamma/mainDisplayGamma.cpp | 407 -- .../CPP/Display/DisplayGamut/CMakeLists.txt | 23 - .../CPP/Display/DisplayGamut/ReadMe.html | 29 - .../Display/DisplayGamut/mainDisplayGamut.cpp | 310 - .../CPP/Display/DisplayHDCP/CMakeLists.txt | 20 - .../CPP/Display/DisplayHDCP/ReadMe.html | 27 - .../Display/DisplayHDCP/mainDisplayHDCP.cpp | 211 - .../CPP/Display/DisplayInfo/CMakeLists.txt | 26 - .../CPP/Display/DisplayInfo/ReadMe.html | 13 - .../Display/DisplayInfo/mainDisplayInfo.cpp | 197 - .../DisplayIntegerScaling/CMakeLists.txt | 20 - .../Display/DisplayIntegerScaling/ReadMe.html | 27 - .../mainDisplayIntegerScaling.cpp | 211 - .../Display/DisplayPixelFormat/CMakeLists.txt | 21 - .../Display/DisplayPixelFormat/ReadMe.html | 30 - .../mainDisplayPixelFormat.cpp | 285 - .../Display/DisplayScalingMode/CMakeLists.txt | 21 - .../Display/DisplayScalingMode/ReadMe.html | 28 - .../mainDisplayScalingMode.cpp | 231 - .../CPP/Display/DisplayVSR/CMakeLists.txt | 21 - .../CPP/Display/DisplayVSR/ReadMe.html | 27 - .../CPP/Display/DisplayVSR/mainDisplayVSR.cpp | 211 - .../Display/DisplayVariBright/CMakeLists.txt | 21 - .../CPP/Display/DisplayVariBright/ReadMe.html | 37 - .../mainDisplayVariBright.cpp | 311 - .../GPUTuning/GPUAutoTuning/CMakeLists.txt | 21 - .../CPP/GPUTuning/GPUAutoTuning/ReadMe.html | 30 - .../GPUAutoTuning/mainGPUAutoTuning.cpp | 402 -- .../GPUTuning/GPUPresetTuning/CMakeLists.txt | 21 - .../CPP/GPUTuning/GPUPresetTuning/ReadMe.html | 26 - .../GPUPresetTuning/mainGPUPresetTuning.cpp | 241 - .../GPUTuning/ManualFanTuning/CMakeLists.txt | 21 - .../CPP/GPUTuning/ManualFanTuning/ReadMe.html | 28 - .../ManualFanTuning/mainManualFanTuning.cpp | 354 - .../ManualGraphicsTuning/CMakeLists.txt | 21 - .../ManualGraphicsTuning/ReadMe.html | 26 - .../mainManualGraphicsTuning.cpp | 351 - .../ManualPowerTuning/CMakeLists.txt | 21 - .../GPUTuning/ManualPowerTuning/ReadMe.html | 30 - .../mainManualPowerTuning.cpp | 277 - .../GPUTuning/ManualVRAMTuning/CMakeLists.txt | 21 - .../GPUTuning/ManualVRAMTuning/ReadMe.html | 27 - .../ManualVRAMTuning/mainManualVRAMTuning.cpp | 413 -- .../SmartAccessMemory/CMakeLists.txt | 21 - .../GPUTuning/SmartAccessMemory/ReadMe.html | 26 - .../mainSmartAccessMemory.cpp | 309 - .../Samples/CPP/Generic/GPUs/CMakeLists.txt | 21 - .../adlx/Samples/CPP/Generic/GPUs/ReadMe.html | 13 - .../Samples/CPP/Generic/GPUs/mainGPUs.cpp | 279 - .../CPP/Generic/InvalidObject/CMakeLists.txt | 21 - .../CPP/Generic/InvalidObject/ReadMe.html | 13 - .../InvalidObject/mainInvalidObject.cpp | 108 - .../Samples/CPP/Generic/Log/CMakeLists.txt | 21 - .../adlx/Samples/CPP/Generic/Log/ReadMe.html | 25 - .../adlx/Samples/CPP/Generic/Log/mainLog.cpp | 176 - .../CPP/Generic/WorkWithADL/CMakeLists.txt | 21 - .../CPP/Generic/WorkWithADL/ReadMe.html | 15 - .../Generic/WorkWithADL/mainWorkWithADL.cpp | 144 - .../adlx/Samples/CPP/I2C/I2C/CMakeLists.txt | 21 - vendor/adlx/Samples/CPP/I2C/I2C/ReadMe.html | 27 - vendor/adlx/Samples/CPP/I2C/I2C/mainI2C.cpp | 216 - .../PerfAllMetrics/CMakeLists.txt | 21 - .../PerfAllMetrics/ReadMe.html | 25 - .../PerfAllMetrics/mainPerfAllMetrics.cpp | 569 -- .../PerfFPSMetrics/CMakeLists.txt | 21 - .../PerfFPSMetrics/ReadMe.html | 25 - .../PerfFPSMetrics/mainPerfFPSMetrics.cpp | 215 - .../PerfGPUMetrics/CMakeLists.txt | 21 - .../PerfGPUMetrics/ReadMe.html | 27 - .../PerfGPUMetrics/mainPerfGPUMetrics.cpp | 653 -- .../PerfSystemMetrics/CMakeLists.txt | 21 - .../PerfSystemMetrics/ReadMe.html | 25 - .../mainPerfSystemMetrics.cpp | 407 -- .../PowerTuning/SmartShiftMax/CMakeLists.txt | 21 - .../CPP/PowerTuning/SmartShiftMax/ReadMe.html | 28 - .../SmartShiftMax/mainSmartShiftMax.cpp | 202 - vendor/adlx/Samples/CPP/ReadMe.md | 31 - .../AsyncEventHandling/CMakeLists.txt | 21 - .../AsyncEventHandling/ReadMe.html | 13 - .../mainAsyncEventHandling.cpp | 166 - .../Sync3DReceive/CMakeLists.txt | 21 - .../Sync3DReceive/ReadMe.html | 15 - .../Sync3DReceive/mainSync3DReceive.cpp | 386 - .../SyncDisplayReceive/CMakeLists.txt | 21 - .../SyncDisplayReceive/ReadMe.html | 15 - .../mainSyncDisplayReceive.cpp | 301 - .../SyncGPUTuning/CMakeLists.txt | 21 - .../SyncGPUTuning/ReadMe.html | 15 - .../SyncGPUTuning/mainSyncGPUTuning.cpp | 167 - .../SyncPowerTuning/CMakeLists.txt | 21 - .../SyncPowerTuning/ReadMe.html | 15 - .../SyncPowerTuning/mainSyncPowerTuning.cpp | 127 - .../CPP/ServiceCall/GPUService/CMakeLists.txt | 23 - .../CPP/ServiceCall/GPUService/GlobalDefs.h | 49 - .../ServiceCall/GPUService/ShareMemory.cpp | 114 - .../ServiceCall/GPUService/UserProcess.cpp | 267 - .../ServiceCall/GPUService/mainGPUService.cpp | 449 -- .../Samples/CPP/ServiceCall/GPUServiceCall.md | 77 - .../adlx/Samples/CPP/ServiceCall/ReadMe.html | 60 - .../Samples/CPP/ServiceCall/media/image1.png | Bin 59823 -> 0 bytes .../Samples/CPP/ServiceCall/media/image2.png | Bin 19866 -> 0 bytes .../Samples/CPP/ServiceCall/media/image3.png | Bin 76263 -> 0 bytes .../Samples/CPP/ServiceCall/media/image4.png | Bin 18953 -> 0 bytes .../Samples/CPP/ServiceCall/media/image5.png | Bin 72931 -> 0 bytes .../Samples/CPP/ServiceCall/media/image6.png | Bin 48071 -> 0 bytes .../Samples/CPP/ServiceCall/media/image7.png | Bin 77045 -> 0 bytes .../ADLXCSharpBind/ADLXCSharpBind.i | 159 - .../ADLXCSharpBind/ADLXCSharpBind.vcxproj | 193 - .../ADLXCSharpBind.vcxproj.filters | 51 - .../ADLXCSharpBind/ADLXCSharpBind/dllmain.cpp | 23 - .../ADLXCSharpBind/ADLXCSharpBind/framework.h | 10 - .../ADLXCSharpBind/ADLXCSharpBind/pch.cpp | 10 - .../ADLXCSharpBind/ADLXCSharpBind/pch.h | 12 - .../ADLXDepends/empty-nodelete.txt | 2 - .../DisplayEvents/DisplayEvents/App.config | 6 - .../DisplayEvents/DisplayEvents.csproj | 165 - .../DisplayEvents/mainDisplayEvents.cs | 110 - .../ADLXDepends/empty-nodelete.txt | 2 - .../csharp/DisplayInfo/DisplayInfo/App.config | 6 - .../DisplayInfo/DisplayInfo.csproj | 192 - .../DisplayInfo/mainDisplayInfo.cs | 132 - vendor/adlx/Samples/csharp/ReadMe.md | 29 - vendor/adlx/Samples/csharp/sample.sln | 43 - .../java/ADLXJavaBind/ADLXJavaBind.sln | 31 - .../ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.i | 162 - .../ADLXJavaBind/ADLXJavaBind.vcxproj | 208 - .../ADLXJavaBind/ADLXJavaBind.vcxproj.filters | 51 - .../ADLXJavaBind/ADLXJavaBind/dllmain.cpp | 24 - .../ADLXJavaBind/ADLXJavaBind/framework.h | 10 - .../java/ADLXJavaBind/ADLXJavaBind/pch.cpp | 10 - .../java/ADLXJavaBind/ADLXJavaBind/pch.h | 12 - .../DisplayEvents/DisplayListCallBack.java | 38 - .../java/DisplayEvents/mainDisplayEvents.java | 72 - .../java/DisplayInfo/mainDisplayInfo.java | 128 - vendor/adlx/Samples/java/ReadMe.md | 52 - vendor/adlx/Samples/output-night-light.txt | 82 - .../Samples/python/ADLXPybind/ADLXPybind.sln | 31 - .../ADLXPybind/ADLXPybind/ADLXPybind.vcxproj | 184 - .../ADLXPybind/ADLXPybind.vcxproj.filters | 33 - .../python/ADLXPybind/ADLXPybind/bind.cpp | 551 -- .../python/ADLXPybind/ADLXPybind/framework.h | 5 - .../python/DisplayEvents/mainDisplayEvents.py | 58 - .../python/DisplayInfo/mainDisplayInfo.py | 65 - vendor/adlx/Samples/python/ReadMe.md | 53 - 3143 files changed, 6305 insertions(+), 425647 deletions(-) delete mode 100644 api-gen/Cargo.toml delete mode 100644 api-gen/src/adlx/bindings.rs delete mode 100644 api-gen/src/adlx/wrapper.h delete mode 100644 api-gen/src/main.rs create mode 100644 api_gen/Cargo.toml create mode 100644 api_gen/src/main.rs create mode 100644 api_gen/wrapper.h delete mode 100644 src/bindings.rs create mode 160000 vendor/ADLX delete mode 100644 vendor/adlx/ADLX SDK License Agreement.pdf delete mode 100644 vendor/adlx/README.md delete mode 100644 vendor/adlx/SDK/ADLXHelper/Windows/C/ADLXHelper.c delete mode 100644 vendor/adlx/SDK/ADLXHelper/Windows/C/ADLXHelper.h delete mode 100644 vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp delete mode 100644 vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h delete mode 100644 vendor/adlx/SDK/Include/ADLX.h delete mode 100644 vendor/adlx/SDK/Include/ADLXDefines.h delete mode 100644 vendor/adlx/SDK/Include/ADLXStructures.h delete mode 100644 vendor/adlx/SDK/Include/ADLXVersion.h delete mode 100644 vendor/adlx/SDK/Include/I3DSettings.h delete mode 100644 vendor/adlx/SDK/Include/IChangedEvent.h delete mode 100644 vendor/adlx/SDK/Include/ICollections.h delete mode 100644 vendor/adlx/SDK/Include/IDesktops.h delete mode 100644 vendor/adlx/SDK/Include/IDisplay3DLUT.h delete mode 100644 vendor/adlx/SDK/Include/IDisplayGamma.h delete mode 100644 vendor/adlx/SDK/Include/IDisplayGamut.h delete mode 100644 vendor/adlx/SDK/Include/IDisplaySettings.h delete mode 100644 vendor/adlx/SDK/Include/IDisplays.h delete mode 100644 vendor/adlx/SDK/Include/IDisplays1.h delete mode 100644 vendor/adlx/SDK/Include/IDisplays2.h delete mode 100644 vendor/adlx/SDK/Include/IGPUAutoTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUManualFanTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUManualGFXTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUManualPowerTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUManualVRAMTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUPresetTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUTuning.h delete mode 100644 vendor/adlx/SDK/Include/IGPUTuning1.h delete mode 100644 vendor/adlx/SDK/Include/II2C.h delete mode 100644 vendor/adlx/SDK/Include/ILog.h delete mode 100644 vendor/adlx/SDK/Include/IPerformanceMonitoring.h delete mode 100644 vendor/adlx/SDK/Include/IPerformanceMonitoring1.h delete mode 100644 vendor/adlx/SDK/Include/IPowerTuning.h delete mode 100644 vendor/adlx/SDK/Include/ISmartAccessMemory.h delete mode 100644 vendor/adlx/SDK/Include/ISystem.h delete mode 100644 vendor/adlx/SDK/Include/ISystem1.h delete mode 100644 vendor/adlx/SDK/Platform/Windows/WinAPIs.c delete mode 100644 vendor/adlx/SDK/Platform/Windows/WinAPIs.cpp delete mode 100644 vendor/adlx/SDKDoc/ADLX_SDK.html delete mode 100644 vendor/adlx/SDKDoc/html/_a_d_l_x_defines_8h.html delete mode 100644 vendor/adlx/SDKDoc/html/_a_d_l_x_structures_8h.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event__get_origin.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_displays.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__orientation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__top_left.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__connector_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__display_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__e_d_i_d.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__get_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__name.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__native_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__pixel_clock.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__refresh_rate.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__scan_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__unique_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__get_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__set_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__get_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__set_value.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_color_depth.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_color.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_displays.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_free_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamma.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamut.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__product_name.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__device_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__driver_path.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__is_external.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__name.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__revision_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__unique_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__read.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__version.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__write.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__acquire.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__query_interface.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__release.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__begin.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__clear.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__empty.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__end.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__remove__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log__write_log.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__create.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__enable_log.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_desktops_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_displays_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__query_interface.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__at.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.js delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html delete mode 100644 vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html delete mode 100644 vendor/adlx/SDKDoc/html/adlx_atomic_dec.html delete mode 100644 vendor/adlx/SDKDoc/html/adlx_atomic_inc.html delete mode 100644 vendor/adlx/SDKDoc/html/adlx_free_library.html delete mode 100644 vendor/adlx/SDKDoc/html/adlx_get_proc_address.html delete mode 100644 vendor/adlx/SDKDoc/html/adlx_load_library.html delete mode 100644 vendor/adlx/SDKDoc/html/amd.png delete mode 100644 vendor/adlx/SDKDoc/html/amdsmall.png delete mode 100644 vendor/adlx/SDKDoc/html/annotated.html delete mode 100644 vendor/adlx/SDKDoc/html/bc_s.png delete mode 100644 vendor/adlx/SDKDoc/html/bdwn.png delete mode 100644 vendor/adlx/SDKDoc/html/c_3_d_settings_event.html delete mode 100644 vendor/adlx/SDKDoc/html/c__anisotropic_filtering.html delete mode 100644 vendor/adlx/SDKDoc/html/c__anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/c__anti_lag.html delete mode 100644 vendor/adlx/SDKDoc/html/c__boost.html delete mode 100644 vendor/adlx/SDKDoc/html/c__chill.html delete mode 100644 vendor/adlx/SDKDoc/html/c__enhanced_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/c__f_r_t_c.html delete mode 100644 vendor/adlx/SDKDoc/html/c__g_p_u_auto_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__g_p_u_preset_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/c__image_sharpening.html delete mode 100644 vendor/adlx/SDKDoc/html/c__manual_fan_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__manual_graphics_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__manual_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__manual_v_r_a_m_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__morphologic_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/c__perf_all_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/c__perf_f_p_s_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/c__perf_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/c__perf_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/c__r_s_r.html delete mode 100644 vendor/adlx/SDKDoc/html/c__reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/c__sync3_d_receive.html delete mode 100644 vendor/adlx/SDKDoc/html/c__sync_display_receive.html delete mode 100644 vendor/adlx/SDKDoc/html/c__sync_g_p_u_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__sync_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/c__tessellation.html delete mode 100644 vendor/adlx/SDKDoc/html/c__wait_for_vertical_refresh.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__color_depth.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__custom_color.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__custom_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__display_connectivity_experience.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__display_vari_bright.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__free_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__g_p_u_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__h_d_c_p.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__integer_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__pixel_format.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__scaling_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/c_display__v_s_r.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sam.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__async_event_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__g_p_u_service_call.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__invalid_object.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__primary_adapter.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__share_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample__work_with_a_d_l.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_desktopevent.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_display3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_display_blanking.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_display_events.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_display_gamma.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_display_gamut.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_displayinfo.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_eyefinity.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_gpus.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_log.html delete mode 100644 vendor/adlx/SDKDoc/html/c_sample_userprocess.html delete mode 100644 vendor/adlx/SDKDoc/html/c_ssm.html delete mode 100644 vendor/adlx/SDKDoc/html/classes.html delete mode 100644 vendor/adlx/SDKDoc/html/closed.png delete mode 100644 vendor/adlx/SDKDoc/html/cpp_3_d_settings_event.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__anisotropic_filtering.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__anti_lag.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__boost.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__chill.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__enhanced_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__f_r_t_c.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__g_p_u_auto_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__g_p_u_preset_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__image_sharpening.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__manual_fan_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__manual_graphics_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__manual_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__manual_v_r_a_m_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__morphologic_anti_aliasing.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__perf_all_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__perf_f_p_s_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__perf_g_p_u_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__perf_system_metrics.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__r_s_r.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__reset_shader_cache.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__sync3_d_receive.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__sync_display_receive.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__sync_g_p_u_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__sync_power_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__tessellation.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp__wait_for_vertical_refresh.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__color_depth.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__custom_color.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__custom_resolution.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__display_connectivity_experience.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__display_vari_bright.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__free_sync.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__g_p_u_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__h_d_c_p.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__integer_scaling.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__pixel_format.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__scaling_mode.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_display__v_s_r.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sam.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__async_event_handling.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__g_p_u_service_call.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__invalid_object.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__primary_adapter.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__share_memory.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample__work_with_a_d_l.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_desktopevent.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_display3_d_l_u_t.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_display_blanking.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_display_events.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_display_gamma.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_display_gamut.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_displayinfo.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_eyefinity.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_gpus.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_log.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_sample_userprocess.html delete mode 100644 vendor/adlx/SDKDoc/html/cpp_ssm.html delete mode 100644 vendor/adlx/SDKDoc/html/cs_sample_adlxcsharpbind.html delete mode 100644 vendor/adlx/SDKDoc/html/cs_sample_display_events.html delete mode 100644 vendor/adlx/SDKDoc/html/cs_sample_displayinfo.html delete mode 100644 vendor/adlx/SDKDoc/html/desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/desktop.js delete mode 100644 vendor/adlx/SDKDoc/html/dir_027b3822e68cea2333c40389ff559349.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_16efc9621f5d2e1cb4bad055b0f276b2.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_32f501a9a44fa5b987b82f09ad085bbe.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_38661bf1cff6bbf8d643288778f7dda5.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_42276f7418706d1ade0d3bc4e4f60731.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_537881034b1f7d49233316885f2cd2ce.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_66c87b55badc78d3b4aa518cd95dfa04.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_6e22ff5a6df353352cbcbff529ec7bf5.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_902de48ee18c71cf36cb2c92b94e2165.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_a12a240c2aa7d26dd72e7a22857dd4bb.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_c5db9f0563fe1d2d90e845bf2fbf723c.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_c8ab53e67140eaecfb977988f71b2a99.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_ca6309d378ceffb9970caf11a0592736.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_e722523abc32cefc280070c505cb9f82.html delete mode 100644 vendor/adlx/SDKDoc/html/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.html delete mode 100644 vendor/adlx/SDKDoc/html/display.html delete mode 100644 vendor/adlx/SDKDoc/html/display.js delete mode 100644 vendor/adlx/SDKDoc/html/doc.png delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__desktop.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__display.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__display.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__generic.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__generic.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__display.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__display.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_powertuning.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_powertuning.js delete mode 100644 vendor/adlx/SDKDoc/html/domain_sample_page.html delete mode 100644 vendor/adlx/SDKDoc/html/domain_sample_page.js delete mode 100644 vendor/adlx/SDKDoc/html/doxygen.css delete mode 100644 vendor/adlx/SDKDoc/html/doxygen.svg delete mode 100644 vendor/adlx/SDKDoc/html/dynsections.js delete mode 100644 vendor/adlx/SDKDoc/html/files.html delete mode 100644 vendor/adlx/SDKDoc/html/folderclosed.png delete mode 100644 vendor/adlx/SDKDoc/html/folderopen.png delete mode 100644 vendor/adlx/SDKDoc/html/functions.html delete mode 100644 vendor/adlx/SDKDoc/html/functions_vars.html delete mode 100644 vendor/adlx/SDKDoc/html/funpage.html delete mode 100644 vendor/adlx/SDKDoc/html/funpage.js delete mode 100644 vendor/adlx/SDKDoc/html/gfx3dgraphics.html delete mode 100644 vendor/adlx/SDKDoc/html/gfx3dgraphics.js delete mode 100644 vendor/adlx/SDKDoc/html/globals.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_b.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_c.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_d.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_defs.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_enum.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_eval.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_f.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_g.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_i.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_l.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_m.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_n.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_o.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_p.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_r.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_s.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_t.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_u.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_w.html delete mode 100644 vendor/adlx/SDKDoc/html/globals_y.html delete mode 100644 vendor/adlx/SDKDoc/html/gpu.html delete mode 100644 vendor/adlx/SDKDoc/html/gpu.js delete mode 100644 vendor/adlx/SDKDoc/html/gputuning.html delete mode 100644 vendor/adlx/SDKDoc/html/gputuning.js delete mode 100644 vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.html delete mode 100644 vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.js delete mode 100644 vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.html delete mode 100644 vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.js delete mode 100644 vendor/adlx/SDKDoc/html/group__enumerations.html delete mode 100644 vendor/adlx/SDKDoc/html/group__enumerations.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val.html delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x__3_d_l_u_t___data.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___custom_resolution.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamma_ramp.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamut_color_space.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___int_range.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___point.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___r_g_b.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___regamma_coeff.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___timing_info.js delete mode 100644 vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___u_i_n_t16___r_g_b.js delete mode 100644 vendor/adlx/SDKDoc/html/group__typedefs.html delete mode 100644 vendor/adlx/SDKDoc/html/i2c.html delete mode 100644 vendor/adlx/SDKDoc/html/i2c.js delete mode 100644 vendor/adlx/SDKDoc/html/index.html delete mode 100644 vendor/adlx/SDKDoc/html/java_sample_adlxjavabind.html delete mode 100644 vendor/adlx/SDKDoc/html/java_sample_display_events.html delete mode 100644 vendor/adlx/SDKDoc/html/java_sample_displayinfo.html delete mode 100644 vendor/adlx/SDKDoc/html/jquery.js delete mode 100644 vendor/adlx/SDKDoc/html/list.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image1.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image2.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image3.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image4.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image5.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image6.png delete mode 100644 vendor/adlx/SDKDoc/html/media/image7.png delete mode 100644 vendor/adlx/SDKDoc/html/misc.html delete mode 100644 vendor/adlx/SDKDoc/html/misc.js delete mode 100644 vendor/adlx/SDKDoc/html/modules.html delete mode 100644 vendor/adlx/SDKDoc/html/modules.js delete mode 100644 vendor/adlx/SDKDoc/html/nav_f.png delete mode 100644 vendor/adlx/SDKDoc/html/nav_g.png delete mode 100644 vendor/adlx/SDKDoc/html/nav_h.png delete mode 100644 vendor/adlx/SDKDoc/html/navtree.css delete mode 100644 vendor/adlx/SDKDoc/html/navtree.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreedata.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreeindex0.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreeindex1.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreeindex2.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreeindex3.js delete mode 100644 vendor/adlx/SDKDoc/html/navtreeindex4.js delete mode 100644 vendor/adlx/SDKDoc/html/new_footer.html delete mode 100644 vendor/adlx/SDKDoc/html/new_header.html delete mode 100644 vendor/adlx/SDKDoc/html/new_stylesheet.css delete mode 100644 vendor/adlx/SDKDoc/html/open.png delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_c_help.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_c_help.js delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.js delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.js delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize__fn.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize_with_caller_adl__fn.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_query_full_version__fn.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_query_version__fn.html delete mode 100644 vendor/adlx/SDKDoc/html/page__a_d_l_x_terminate__fn.html delete mode 100644 vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.html delete mode 100644 vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.js delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_adl_mapping.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_system_services.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_full_version.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_version.html delete mode 100644 vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__terminate.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_delete.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_get_adl_mapping.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_get_system_services.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_initialize.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_caller_adl.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_incompatible_driver.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_new.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_query_full_version.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_query_version.html delete mode 100644 vendor/adlx/SDKDoc/html/page_cpp_help_terminate.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide__compatibility.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_advanced.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_advanced.js delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_bef.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_bindcsharp.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_bindjava.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_bindpy.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_event.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_init_help.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_init_pointer.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_languages.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_os.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_qs.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_qs.js delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_spe.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_spe.js delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_use__a_d_l_x.html delete mode 100644 vendor/adlx/SDKDoc/html/page_guide_usingservice.html delete mode 100644 vendor/adlx/SDKDoc/html/page_interfaces.html delete mode 100644 vendor/adlx/SDKDoc/html/page_interfaces.js delete mode 100644 vendor/adlx/SDKDoc/html/page_legal.html delete mode 100644 vendor/adlx/SDKDoc/html/page_legal.js delete mode 100644 vendor/adlx/SDKDoc/html/page_legal__disclaimer.html delete mode 100644 vendor/adlx/SDKDoc/html/page_legal__trademark.html delete mode 100644 vendor/adlx/SDKDoc/html/page_programwithadlx.html delete mode 100644 vendor/adlx/SDKDoc/html/page_programwithadlx.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_c.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_c.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_cpp.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_cpp.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_cs.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_cs.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_java.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_java.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_py.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sample_py.js delete mode 100644 vendor/adlx/SDKDoc/html/page_sdk.html delete mode 100644 vendor/adlx/SDKDoc/html/page_sdk.js delete mode 100644 vendor/adlx/SDKDoc/html/pages.html delete mode 100644 vendor/adlx/SDKDoc/html/perfmonitoring.html delete mode 100644 vendor/adlx/SDKDoc/html/perfmonitoring.js delete mode 100644 vendor/adlx/SDKDoc/html/py_sample_adlxpybind.html delete mode 100644 vendor/adlx/SDKDoc/html/py_sample_display_events.html delete mode 100644 vendor/adlx/SDKDoc/html/py_sample_displayinfo.html delete mode 100644 vendor/adlx/SDKDoc/html/resize.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_1.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_1.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_10.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_10.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_11.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_11.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_12.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_12.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_13.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_13.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_14.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_14.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_15.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_15.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_16.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_16.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_17.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_17.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_18.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_18.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_19.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_19.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_2.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_2.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_3.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_3.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_4.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_4.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_5.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_5.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_6.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_6.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_7.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_7.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_8.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_8.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_9.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_9.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_a.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_a.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_b.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_b.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_c.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_c.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_d.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_d.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_e.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_e.js delete mode 100644 vendor/adlx/SDKDoc/html/search/all_f.html delete mode 100644 vendor/adlx/SDKDoc/html/search/all_f.js delete mode 100644 vendor/adlx/SDKDoc/html/search/classes_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/classes_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/close.svg delete mode 100644 vendor/adlx/SDKDoc/html/search/enums_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enums_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_1.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_1.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_10.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_10.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_11.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_11.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_2.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_2.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_3.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_3.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_4.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_4.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_5.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_5.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_6.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_6.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_7.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_7.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_8.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_8.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_9.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_9.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_a.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_a.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_b.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_b.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_c.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_c.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_d.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_d.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_e.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_e.js delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_f.html delete mode 100644 vendor/adlx/SDKDoc/html/search/enumvalues_f.js delete mode 100644 vendor/adlx/SDKDoc/html/search/files_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/files_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/groups_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/groups_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/mag_sel.svg delete mode 100644 vendor/adlx/SDKDoc/html/search/nomatches.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_1.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_1.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_10.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_10.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_11.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_11.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_12.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_12.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_13.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_13.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_14.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_14.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_15.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_15.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_16.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_16.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_17.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_17.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_2.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_2.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_3.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_3.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_4.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_4.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_5.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_5.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_6.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_6.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_7.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_7.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_8.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_8.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_9.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_9.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_a.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_a.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_b.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_b.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_c.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_c.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_d.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_d.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_e.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_e.js delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_f.html delete mode 100644 vendor/adlx/SDKDoc/html/search/pages_f.js delete mode 100644 vendor/adlx/SDKDoc/html/search/search.css delete mode 100644 vendor/adlx/SDKDoc/html/search/search.js delete mode 100644 vendor/adlx/SDKDoc/html/search/search_l.png delete mode 100644 vendor/adlx/SDKDoc/html/search/search_m.png delete mode 100644 vendor/adlx/SDKDoc/html/search/search_r.png delete mode 100644 vendor/adlx/SDKDoc/html/search/searchdata.js delete mode 100644 vendor/adlx/SDKDoc/html/search/typedefs_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/typedefs_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_0.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_0.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_1.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_1.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_2.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_2.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_3.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_3.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_4.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_4.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_5.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_5.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_6.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_6.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_7.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_7.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_8.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_8.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_9.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_9.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_a.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_a.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_b.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_b.js delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_c.html delete mode 100644 vendor/adlx/SDKDoc/html/search/variables_c.js delete mode 100644 vendor/adlx/SDKDoc/html/splitbar.png delete mode 100644 vendor/adlx/SDKDoc/html/sync_off.png delete mode 100644 vendor/adlx/SDKDoc/html/sync_on.png delete mode 100644 vendor/adlx/SDKDoc/html/system.html delete mode 100644 vendor/adlx/SDKDoc/html/system.js delete mode 100644 vendor/adlx/SDKDoc/html/tab_a.png delete mode 100644 vendor/adlx/SDKDoc/html/tab_b.png delete mode 100644 vendor/adlx/SDKDoc/html/tab_h.png delete mode 100644 vendor/adlx/SDKDoc/html/tab_s.png delete mode 100644 vendor/adlx/SDKDoc/html/tabs.css delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x3_d_settings_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_c_sharp_bind_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_defines_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_desktop_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_display_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_dox_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_tuning_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8cpp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_i2_c_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_java_bind_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_miscellaneous_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_performance_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_power_tuning_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_py_bind_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_structures_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_system1_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_system_page_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_a_d_l_x_version_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_c_2_a_d_l_x_helper_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_c_2_read_me_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_c_p_p_2_read_me_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_cpp_2_a_d_l_x_helper_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event__get_origin.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_displays.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__orientation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__top_left.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__connector_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__display_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__e_d_i_d.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__get_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__name.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__native_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__pixel_clock.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__refresh_rate.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__scan_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__unique_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__get_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__set_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__get_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__set_value.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_color.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_displays.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_free_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamma.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamut.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__product_name.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__device_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__driver_path.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__is_external.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__name.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__revision_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__unique_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__read.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__version.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__write.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__acquire.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__query_interface.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__release.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__begin.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__clear.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__empty.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__end.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__remove__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log__write_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__create.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__enable_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_desktops_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_displays_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__query_interface.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__at.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_disclaimer_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i3_d_settings_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_changed_event_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_collections_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_desktops_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_display3_d_l_u_t_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_display_gamma_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_display_gamut_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_display_settings_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_displays1_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_displays2_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_displays_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_auto_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_fan_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_g_f_x_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_power_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_v_r_a_m_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_preset_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning1_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_i2_c_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_log_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_performance_monitoring1_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_performance_monitoring_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_power_tuning_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_smart_access_memory_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_system1_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_i_system_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/_trademark_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/adlx_atomic_dec.xml delete mode 100644 vendor/adlx/SDKDoc/xml/adlx_atomic_inc.xml delete mode 100644 vendor/adlx/SDKDoc/xml/adlx_free_library.xml delete mode 100644 vendor/adlx/SDKDoc/xml/adlx_get_proc_address.xml delete mode 100644 vendor/adlx/SDKDoc/xml/adlx_load_library.xml delete mode 100644 vendor/adlx/SDKDoc/xml/benefits_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c3d_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_3_d_settings_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__anisotropic_filtering.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__anti_lag.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__boost.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__chill.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__enhanced_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__f_r_t_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__g_p_u_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__g_p_u_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__image_sharpening.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__manual_graphics_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__manual_v_r_a_m_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__morphologic_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__perf_all_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__perf_f_p_s_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__perf_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__perf_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__r_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__sync3_d_receive.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__sync_display_receive.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__sync_g_p_u_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__sync_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__tessellation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c__wait_for_vertical_refresh.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__custom_color.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__display_connectivity_experience.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__display_vari_bright.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__free_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__g_p_u_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__h_d_c_p.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__integer_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__scaling_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_display__v_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sam.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__async_event_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__g_p_u_service_call.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__invalid_object.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__primary_adapter.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__share_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample__work_with_a_d_l.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_desktopevent.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_display3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_display_blanking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_display_events.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_display_gamma.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_display_gamut.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_displayinfo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_eyefinity.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_gpus.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_sample_userprocess.xml delete mode 100644 vendor/adlx/SDKDoc/xml/c_ssm.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cdesktop_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cdisplay_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cgeneral_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cgputuning_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/ci2c_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_mapping.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anisotropic_filtering.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_boost.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_chill.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_enhanced_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_frame_rate_target_control.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_image_sharpening.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_morphological_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_radeon_super_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_tessellation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_wait_for_vertical_refresh.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_blanking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_connectivity_experience.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_color.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_free_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_g_p_u_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_h_d_c_p.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_integer_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_scaling_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_v_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_vari_bright.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_eyefinity_desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_support.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_event_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface_ptr___t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_performance_monitoring_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_listener.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_simple_eyefinity.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_access_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_shift_max.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_list.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support.xml delete mode 100644 vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support1.xml delete mode 100644 vendor/adlx/SDKDoc/xml/combine.xslt delete mode 100644 vendor/adlx/SDKDoc/xml/compatibility_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/compound.xsd delete mode 100644 vendor/adlx/SDKDoc/xml/cperformance_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpowertuning_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp3d_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_3_d_settings_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__anisotropic_filtering.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__anti_lag.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__boost.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__chill.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__enhanced_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__f_r_t_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__g_p_u_auto_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__g_p_u_preset_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__image_sharpening.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__manual_fan_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__manual_graphics_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__manual_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__manual_v_r_a_m_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__morphologic_anti_aliasing.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__perf_all_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__perf_f_p_s_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__perf_g_p_u_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__perf_system_metrics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__r_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__reset_shader_cache.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__sync3_d_receive.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__sync_display_receive.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__sync_g_p_u_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__sync_power_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__tessellation.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp__wait_for_vertical_refresh.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__color_depth.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__custom_color.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__display_connectivity_experience.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__display_vari_bright.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__free_sync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__g_p_u_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__h_d_c_p.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__integer_scaling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__pixel_format.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__scaling_mode.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_display__v_s_r.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sam.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__async_event_handling.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__g_p_u_service_call.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__invalid_object.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__primary_adapter.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__share_memory.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample__work_with_a_d_l.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_desktopevent.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_display3_d_l_u_t.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_display_blanking.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_display_events.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_display_gamma.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_display_gamut.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_displayinfo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_eyefinity.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_gpus.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_log.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_sample_userprocess.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpp_ssm.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppdesktop_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppdisplay_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppgeneral_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppgputuning_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppi2c_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppperformance_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cpppowertuning_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppservicecall_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cppsync_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cs_sample_adlxcsharpbind.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cs_sample_display_events.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cs_sample_displayinfo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/cservicecall_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/csharp_2_read_me_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/csync_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_027b3822e68cea2333c40389ff559349.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_16efc9621f5d2e1cb4bad055b0f276b2.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_24e107d8aaaa0f0fb9ce89773de45c08.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_32f501a9a44fa5b987b82f09ad085bbe.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_38661bf1cff6bbf8d643288778f7dda5.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_42276f7418706d1ade0d3bc4e4f60731.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_537881034b1f7d49233316885f2cd2ce.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_66c87b55badc78d3b4aa518cd95dfa04.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_6e22ff5a6df353352cbcbff529ec7bf5.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_902de48ee18c71cf36cb2c92b94e2165.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_a12a240c2aa7d26dd72e7a22857dd4bb.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_c5db9f0563fe1d2d90e845bf2fbf723c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_c8ab53e67140eaecfb977988f71b2a99.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_ca6309d378ceffb9970caf11a0592736.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_e722523abc32cefc280070c505cb9f82.xml delete mode 100644 vendor/adlx/SDKDoc/xml/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.xml delete mode 100644 vendor/adlx/SDKDoc/xml/display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample_3_d_graphics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__g_p_u_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__generic.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample__performance_monitoring.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample_globalsync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample_powertuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_c_sample_servicecall.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample_3_d_graphics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__desktop.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__display.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__g_p_u_tuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__generic.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__i2_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample__performance_monitoring.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample_globalsync.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample_powertuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_cpp_sample_servicecall.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_powertuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/domain_sample_page.xml delete mode 100644 vendor/adlx/SDKDoc/xml/event_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/funpage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/gfx3dgraphics.xml delete mode 100644 vendor/adlx/SDKDoc/xml/gpu.xml delete mode 100644 vendor/adlx/SDKDoc/xml/gputuning.xml delete mode 100644 vendor/adlx/SDKDoc/xml/group___a_d_l_x_defs.xml delete mode 100644 vendor/adlx/SDKDoc/xml/group___a_d_l_x_macro.xml delete mode 100644 vendor/adlx/SDKDoc/xml/group__enumerations.xml delete mode 100644 vendor/adlx/SDKDoc/xml/group__structures_val.xml delete mode 100644 vendor/adlx/SDKDoc/xml/group__typedefs.xml delete mode 100644 vendor/adlx/SDKDoc/xml/i2c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/index.xml delete mode 100644 vendor/adlx/SDKDoc/xml/index.xsd delete mode 100644 vendor/adlx/SDKDoc/xml/indexpage.xml delete mode 100644 vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_help_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_pointer_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/interfacereqtable_8h.xml delete mode 100644 vendor/adlx/SDKDoc/xml/java_2_read_me_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/java_sample_adlxjavabind.xml delete mode 100644 vendor/adlx/SDKDoc/xml/java_sample_display_events.xml delete mode 100644 vendor/adlx/SDKDoc/xml/java_sample_displayinfo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/languages_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/legalinfo_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/list.png delete mode 100644 vendor/adlx/SDKDoc/xml/misc.xml delete mode 100644 vendor/adlx/SDKDoc/xml/namespaceadlx.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_c_help.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_cpp_help.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_helps.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize__fn.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize_with_caller_adl__fn.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_full_version__fn.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_version__fn.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page__a_d_l_x_terminate__fn.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_adlxprogrammingguide.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_adl_mapping.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_system_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_full_version.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_version.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__terminate.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_delete.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_get_adl_mapping.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_get_system_services.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_initialize.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_caller_adl.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_incompatible_driver.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_new.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_query_full_version.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_query_version.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_cpp_help_terminate.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide__compatibility.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_advanced.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_bef.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_bindcsharp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_bindjava.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_bindpy.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_event.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_init_help.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_init_pointer.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_languages.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_os.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_qs.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_spe.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_use__a_d_l_x.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_guide_usingservice.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_interfaces.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_legal.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_legal__disclaimer.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_legal__trademark.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_programwithadlx.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sample_c.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sample_cpp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sample_cs.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sample_java.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sample_py.xml delete mode 100644 vendor/adlx/SDKDoc/xml/page_sdk.xml delete mode 100644 vendor/adlx/SDKDoc/xml/perfmonitoring.xml delete mode 100644 vendor/adlx/SDKDoc/xml/prerequisites_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/py_sample_adlxpybind.xml delete mode 100644 vendor/adlx/SDKDoc/xml/py_sample_display_events.xml delete mode 100644 vendor/adlx/SDKDoc/xml/py_sample_displayinfo.xml delete mode 100644 vendor/adlx/SDKDoc/xml/python_2_read_me_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/servicecall_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x__3_d_l_u_t___data.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___custom_resolution.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamma_ramp.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamut_color_space.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___int_range.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___point.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___r_g_b.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___regamma_coeff.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___timing_info.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x___u_i_n_t16___r_g_b.xml delete mode 100644 vendor/adlx/SDKDoc/xml/struct_a_d_l_x_helper.xml delete mode 100644 vendor/adlx/SDKDoc/xml/system.xml delete mode 100644 vendor/adlx/SDKDoc/xml/use_a_d_l_xin_app_8md.xml delete mode 100644 vendor/adlx/SDKDoc/xml/xml.xsd delete mode 100644 vendor/adlx/SDKDoc/xml/z_a_d_l_x_sample_page_8h.xml delete mode 100644 vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/main3DSettingsEvent.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiAliasing/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiAliasing/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiAliasing/mainAntiAliasing.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiLag/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiLag/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/AntiLag/mainAntiLag.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Boost/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Boost/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Boost/mainBoost.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Chill/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Chill/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Chill/mainChill.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/EnhancedSync/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/EnhancedSync/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/EnhancedSync/mainEnhancedSync.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/FRTC/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/FRTC/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/FRTC/mainFRTC.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ImageSharpening/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ImageSharpening/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ImageSharpening/mainImageSharpening.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/RSR/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/RSR/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/RSR/mainRSR.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/mainresetshadercache.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Tessellation/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Tessellation/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/Tessellation/mainTessellation.c delete mode 100644 vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.c delete mode 100644 vendor/adlx/Samples/C/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/CMakeSettings.json delete mode 100644 vendor/adlx/Samples/C/Desktop/DesktopsEvent/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Desktop/DesktopsEvent/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Desktop/DesktopsEvent/mainDesktopsEvent.c delete mode 100644 vendor/adlx/Samples/C/Desktop/Eyefinity/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Desktop/Eyefinity/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Desktop/Eyefinity/mainEyefinity.c delete mode 100644 vendor/adlx/Samples/C/Desktop/PrimaryAdapter/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Desktop/PrimaryAdapter/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Desktop/PrimaryAdapter/mainPrimaryAdapter.c delete mode 100644 vendor/adlx/Samples/C/Display/Display3DLUT/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/Display3DLUT/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/Display3DLUT/mainDisplay3DLUT.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayBlanking/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayBlanking/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayBlanking/mainDisplayBlanking.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayColorDepth/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayColorDepth/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayColorDepth/maindisplaycolordepth.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomColor/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomColor/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomColor/mainDisplayCustomColor.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomResolution/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomResolution/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayCustomResolution/mainDisplayCustomResolution.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayEvents/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayEvents/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayEvents/mainDisplayEvents.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayFreeSync/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayFreeSync/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayFreeSync/mainDisplayFreeSync.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGPUScaling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGPUScaling/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGPUScaling/mainDisplayGPUScaling.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamma/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamma/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamma/mainDisplayGamma.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamut/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamut/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayGamut/mainDisplayGamut.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayHDCP/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayHDCP/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayHDCP/mainDisplayHDCP.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayInfo/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayInfo/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayInfo/mainDisplayInfo.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayIntegerScaling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayIntegerScaling/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayPixelFormat/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayPixelFormat/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayPixelFormat/mainDisplayPixelFormat.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayScalingMode/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayScalingMode/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayScalingMode/mainDisplayScalingMode.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVSR/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVSR/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVSR/mainDisplayVSR.c delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVariBright/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVariBright/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Display/DisplayVariBright/mainDisplayVariBright.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/mainManualFanTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/mainManualPowerTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.c delete mode 100644 vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.c delete mode 100644 vendor/adlx/Samples/C/Generic/GPUs/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Generic/GPUs/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Generic/GPUs/mainGPUs.c delete mode 100644 vendor/adlx/Samples/C/Generic/InvalidObject/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Generic/InvalidObject/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Generic/InvalidObject/mainInvalidObject.c delete mode 100644 vendor/adlx/Samples/C/Generic/Log/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Generic/Log/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Generic/Log/mainLog.c delete mode 100644 vendor/adlx/Samples/C/Generic/WorkWithADL/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/Generic/WorkWithADL/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/Generic/WorkWithADL/mainWorkWithADL.c delete mode 100644 vendor/adlx/Samples/C/I2C/I2C/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/I2C/I2C/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/I2C/I2C/mainI2C.c delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.c delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.c delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.c delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.c delete mode 100644 vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/mainSmartShiftMax.c delete mode 100644 vendor/adlx/Samples/C/ReadMe.md delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.c delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.c delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.c delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.c delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.c delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUService/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUService/GlobalDefs.h delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUService/ShareMemory.c delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUService/UserProcess.c delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUService/mainGPUService.c delete mode 100644 vendor/adlx/Samples/C/ServiceCall/GPUServiceCall.md delete mode 100644 vendor/adlx/Samples/C/ServiceCall/ReadMe.html delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image1.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image2.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image3.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image4.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image5.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image6.png delete mode 100644 vendor/adlx/Samples/C/ServiceCall/media/image7.png delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/main3DSettingsEvent.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/mainAntiAliasing.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiLag/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiLag/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/AntiLag/mainAntiLag.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Boost/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Boost/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Boost/mainBoost.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Chill/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Chill/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Chill/mainChill.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/mainEnhancedSync.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/FRTC/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/FRTC/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/FRTC/mainFRTC.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/mainImageSharpening.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/RSR/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/RSR/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/RSR/mainRSR.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/mainResetShaderCache.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Tessellation/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Tessellation/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/Tessellation/mainTessellation.cpp delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.cpp delete mode 100644 vendor/adlx/Samples/CPP/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/CMakeSettings.json delete mode 100644 vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/mainDesktopsEvent.cpp delete mode 100644 vendor/adlx/Samples/CPP/Desktop/Eyefinity/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Desktop/Eyefinity/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Desktop/Eyefinity/mainEyefinity.cpp delete mode 100644 vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/mainPrimaryAdapter.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/Display3DLUT/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/Display3DLUT/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/Display3DLUT/mainDisplay3DLUT.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayBlanking/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayBlanking/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayBlanking/mainDisplayBlanking.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayColorDepth/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayColorDepth/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayColorDepth/mainDisplayColorDepth.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomColor/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomColor/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomColor/mainDisplayCustomColor.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/mainDisplayCustomResolution.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayEvents/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayEvents/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayEvents/mainDisplayEvents.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayFreeSync/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayFreeSync/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayFreeSync/mainDisplayFreeSync.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/mainDisplayGPUScaling.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamma/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamma/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamma/mainDisplayGamma.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamut/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamut/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayGamut/mainDisplayGamut.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayHDCP/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayHDCP/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayHDCP/mainDisplayHDCP.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayInfo/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayInfo/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayInfo/mainDisplayInfo.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/mainDisplayPixelFormat.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayScalingMode/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayScalingMode/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayScalingMode/mainDisplayScalingMode.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVSR/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVSR/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVSR/mainDisplayVSR.cpp delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVariBright/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVariBright/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Display/DisplayVariBright/mainDisplayVariBright.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/mainManualFanTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/mainManualPowerTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.cpp delete mode 100644 vendor/adlx/Samples/CPP/Generic/GPUs/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Generic/GPUs/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Generic/GPUs/mainGPUs.cpp delete mode 100644 vendor/adlx/Samples/CPP/Generic/InvalidObject/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Generic/InvalidObject/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Generic/InvalidObject/mainInvalidObject.cpp delete mode 100644 vendor/adlx/Samples/CPP/Generic/Log/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Generic/Log/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Generic/Log/mainLog.cpp delete mode 100644 vendor/adlx/Samples/CPP/Generic/WorkWithADL/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/Generic/WorkWithADL/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/Generic/WorkWithADL/mainWorkWithADL.cpp delete mode 100644 vendor/adlx/Samples/CPP/I2C/I2C/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/I2C/I2C/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/I2C/I2C/mainI2C.cpp delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.cpp delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.cpp delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.cpp delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.cpp delete mode 100644 vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/mainSmartShiftMax.cpp delete mode 100644 vendor/adlx/Samples/CPP/ReadMe.md delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.cpp delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.cpp delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.cpp delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.cpp delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUService/CMakeLists.txt delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUService/GlobalDefs.h delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUService/ShareMemory.cpp delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUService/UserProcess.cpp delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUService/mainGPUService.cpp delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/GPUServiceCall.md delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/ReadMe.html delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image1.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image2.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image3.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image4.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image5.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image6.png delete mode 100644 vendor/adlx/Samples/CPP/ServiceCall/media/image7.png delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.i delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj.filters delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/dllmain.cpp delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/framework.h delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.cpp delete mode 100644 vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.h delete mode 100644 vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/ADLXDepends/empty-nodelete.txt delete mode 100644 vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/App.config delete mode 100644 vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/DisplayEvents.csproj delete mode 100644 vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/mainDisplayEvents.cs delete mode 100644 vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/ADLXDepends/empty-nodelete.txt delete mode 100644 vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/App.config delete mode 100644 vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/DisplayInfo.csproj delete mode 100644 vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/mainDisplayInfo.cs delete mode 100644 vendor/adlx/Samples/csharp/ReadMe.md delete mode 100644 vendor/adlx/Samples/csharp/sample.sln delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind.sln delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.i delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj.filters delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/dllmain.cpp delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/framework.h delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.cpp delete mode 100644 vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.h delete mode 100644 vendor/adlx/Samples/java/DisplayEvents/DisplayListCallBack.java delete mode 100644 vendor/adlx/Samples/java/DisplayEvents/mainDisplayEvents.java delete mode 100644 vendor/adlx/Samples/java/DisplayInfo/mainDisplayInfo.java delete mode 100644 vendor/adlx/Samples/java/ReadMe.md delete mode 100644 vendor/adlx/Samples/output-night-light.txt delete mode 100644 vendor/adlx/Samples/python/ADLXPybind/ADLXPybind.sln delete mode 100644 vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj delete mode 100644 vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj.filters delete mode 100644 vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/bind.cpp delete mode 100644 vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/framework.h delete mode 100644 vendor/adlx/Samples/python/DisplayEvents/mainDisplayEvents.py delete mode 100644 vendor/adlx/Samples/python/DisplayInfo/mainDisplayInfo.py delete mode 100644 vendor/adlx/Samples/python/ReadMe.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d683f00..e6a0bc8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,5 +28,27 @@ jobs: - name: Generate minimal-version dependencies run: cargo -Zminimal-versions generate-lockfile - uses: dtolnay/rust-toolchain@1.74.0 + - name: Upgrade to regex@1.5.1 + # Workaround for: + # https://github.com/rust-lang/regex/issues/931 + # https://github.com/rust-lang/rust-bindgen/pull/2714 + run: cargo update -p regex --precise 1.5.1 - name: Cargo check run: cargo check --workspace --all-targets + + generate: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Checkout submodule + # Manually update submodules with --checkout because they are configured with update=none and will be skipped otherwise + run: git submodule update --recursive --init --force --checkout + - name: Run generator + run: cargo r -p api_gen + - name: Normalize line endings + run: | + git add --renormalize -u + git reset + - name: Diff autogen result + shell: bash + run: test -z "$(git status --porcelain)" || (echo "::error::Generated files are different, please regenerate with cargo run -p api_gen!"; git diff; false) diff --git a/.gitmodules b/.gitmodules index 7077c71..3e65500 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,5 @@ [submodule "ADLX"] path = vendor/ADLX url = https://github.com/GPUOpen-LibrariesAndSDKs/ADLX + depth = 1 + update = none diff --git a/Cargo.toml b/Cargo.toml index 059123f..4aa2958 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ keywords = ["amd", "adlx", "gpu"] anyhow = "1.0.79" libloading = "0.8" -[workspace] -members = [ - "api-gen" -] \ No newline at end of file +[workspace] +members = [ + "api_gen" +] diff --git a/api-gen/Cargo.toml b/api-gen/Cargo.toml deleted file mode 100644 index 0c193b9..0000000 --- a/api-gen/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "api-gen" -version = "0.0.0" -authors = ["Traverse Research "] -edition = "2021" -license = "MIT" -publish = false -homepage = "https://traverseresearch.nl" -repository = "https://github.com/Traverse-Research/adlx-rs" -description = "Generates bindings of AMD's ADLX SDK using bindgen." -include = ["src", "LICENSE"] -categories = ["api-bindings"] #, "external-ffi-bindings", "rendering::graphics-api"] # https://crates.io/category_slugs -keywords = ["amd", "adlx", "gpu"] - - -[dependencies] -bindgen = { version = "0.69.2" } \ No newline at end of file diff --git a/api-gen/src/adlx/bindings.rs b/api-gen/src/adlx/bindings.rs deleted file mode 100644 index 4c3a58b..0000000 --- a/api-gen/src/adlx/bindings.rs +++ /dev/null @@ -1,6236 +0,0 @@ -/* automatically generated by rust-bindgen 0.69.2 */ - -pub const ADLX_VER_MAJOR: u32 = 1; -pub const ADLX_VER_MINOR: u32 = 2; -pub const ADLX_VER_RELEASE: u32 = 0; -pub const ADLX_VER_BUILD_NUM: u32 = 72; -pub const ADLX_DLL_NAMEW: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_DLL_NAMEA: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_DLL_NAME: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_QUERY_FULL_VERSION_FUNCTION_NAME: &[u8; 21] = b"ADLXQueryFullVersion\0"; -pub const ADLX_QUERY_VERSION_FUNCTION_NAME: &[u8; 17] = b"ADLXQueryVersion\0"; -pub const ADLX_INIT_FUNCTION_NAME: &[u8; 15] = b"ADLXInitialize\0"; -pub const ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME: &[u8; 37] = - b"ADLXInitializeWithIncompatibleDriver\0"; -pub const ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME: &[u8; 28] = b"ADLXInitializeWithCallerAdl\0"; -pub const ADLX_TERMINATE_FUNCTION_NAME: &[u8; 14] = b"ADLXTerminate\0"; -pub type wchar_t = ::std::os::raw::c_ushort; -pub type adlx_int64 = i64; -pub type adlx_int32 = i32; -pub type adlx_uint64 = u64; -pub type adlx_uint32 = u32; -pub type adlx_uint16 = u16; -pub type adlx_uint8 = u8; -pub type adlx_handle = *mut ::std::os::raw::c_void; -pub type adlx_double = f64; -pub type adlx_long = ::std::os::raw::c_long; -pub type adlx_int = adlx_int32; -pub type adlx_uint = adlx_uint32; -pub type adlx_bool = adlx_uint8; -#[doc = "< @ENG_START_DOX This result indicates success. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_OK: ADLX_RESULT = 0; -#[doc = "< @ENG_START_DOX This result indicates that the asked action is already enabled. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ALREADY_ENABLED: ADLX_RESULT = 1; -#[doc = "< @ENG_START_DOX This result indicates that ADLX has a unspecified type of initialization. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ALREADY_INITIALIZED: ADLX_RESULT = 2; -#[doc = "< @ENG_START_DOX This result indicates an unspecified failure. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_FAIL: ADLX_RESULT = 3; -#[doc = "< @ENG_START_DOX This result indicates that the arguments are invalid. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_INVALID_ARGS: ADLX_RESULT = 4; -#[doc = "< @ENG_START_DOX This result indicates that the asked version is incompatible with the current version. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_BAD_VER: ADLX_RESULT = 5; -#[doc = "< @ENG_START_DOX This result indicates that an unknown interface was asked. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_UNKNOWN_INTERFACE: ADLX_RESULT = 6; -#[doc = "< @ENG_START_DOX This result indicates that the calls were made in an interface after ADLX was terminated. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_TERMINATED: ADLX_RESULT = 7; -#[doc = "< @ENG_START_DOX This result indicates that the ADL initialization failed. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ADL_INIT_ERROR: ADLX_RESULT = 8; -#[doc = "< @ENG_START_DOX This result indicates that the item is not found. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_NOT_FOUND: ADLX_RESULT = 9; -#[doc = "< @ENG_START_DOX This result indicates that the method was called into an invalid object. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_INVALID_OBJECT: ADLX_RESULT = 10; -#[doc = "< @ENG_START_DOX This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ORPHAN_OBJECTS: ADLX_RESULT = 11; -#[doc = "< @ENG_START_DOX This result indicates that the asked feature is not supported. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_NOT_SUPPORTED: ADLX_RESULT = 12; -#[doc = "< @ENG_START_DOX This result indicates a failure due to an operation currently in progress. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_PENDING_OPERATION: ADLX_RESULT = 13; -#[doc = "< @ENG_START_DOX This result indicates that the GPU is inactive. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_GPU_INACTIVE: ADLX_RESULT = 14; -#[doc = " @enum ADLX_RESULT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the result returned from an ADLX function or from an ADLX method.\n @ENG_END_DOX"] -pub type ADLX_RESULT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX This is not a Hybrid Graphics system. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_NONE: ADLX_HG_TYPE = 0; -#[doc = "< @ENG_START_DOX This is an AMD integrated GPU. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_AMD: ADLX_HG_TYPE = 1; -#[doc = "< @ENG_START_DOX This is a non-AMD integrated GPU. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_OTHER: ADLX_HG_TYPE = 2; -#[doc = " @enum ADLX_HG_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the type of Hybrid Graphic.\n @ENG_END_DOX"] -pub type ADLX_HG_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The ASIC family type is not defined. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_UNDEFINED: ADLX_ASIC_FAMILY_TYPE = 0; -#[doc = "< @ENG_START_DOX The ASIC family type is discrete. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_RADEON: ADLX_ASIC_FAMILY_TYPE = 1; -#[doc = "< @ENG_START_DOX The ASIC family type is Firepro. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREPRO: ADLX_ASIC_FAMILY_TYPE = 2; -#[doc = "< @ENG_START_DOX The ASIC family type is FireMV. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREMV: ADLX_ASIC_FAMILY_TYPE = 3; -#[doc = "< @ENG_START_DOX The ASIC family type is FireStream. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIRESTREAM: ADLX_ASIC_FAMILY_TYPE = 4; -#[doc = "< @ENG_START_DOX The ASIC family type is Fusion. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FUSION: ADLX_ASIC_FAMILY_TYPE = 5; -#[doc = "< @ENG_START_DOX The ASIC family type is Embedded. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_EMBEDDED: ADLX_ASIC_FAMILY_TYPE = 6; -#[doc = " @enum ADLX_ASIC_FAMILY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the ASIC family type.\n @ENG_END_DOX"] -pub type ADLX_ASIC_FAMILY_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The PCI bus type is not defined. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_UNDEFINED: ADLX_PCI_BUS_TYPE = 0; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCI: ADLX_PCI_BUS_TYPE = 1; -#[doc = "< @ENG_START_DOX The PCI bus type is AGP bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_AGP: ADLX_PCI_BUS_TYPE = 2; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE: ADLX_PCI_BUS_TYPE = 3; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 2nd generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_2_0: ADLX_PCI_BUS_TYPE = 4; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 3rd generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_3_0: ADLX_PCI_BUS_TYPE = 5; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 4th generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_4_0: ADLX_PCI_BUS_TYPE = 6; -#[doc = " @enum ADLX_PCI_BUS_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the PCI bus type.\n @ENG_END_DOX"] -pub type ADLX_PCI_BUS_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The DP link rate is unknown. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UNKNOWN: ADLX_DP_LINK_RATE = 0; -#[doc = "< @ENG_START_DOX The DP link rate is 1.62 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_RBR: ADLX_DP_LINK_RATE = 1; -#[doc = "< @ENG_START_DOX The DP link rate is 2.16 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_16GBPS: ADLX_DP_LINK_RATE = 2; -#[doc = "< @ENG_START_DOX The DP link rate is 2.43 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_43GBPS: ADLX_DP_LINK_RATE = 3; -#[doc = "< @ENG_START_DOX The DP link rate is 2.70 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR: ADLX_DP_LINK_RATE = 4; -#[doc = "< @ENG_START_DOX The DP link rate is 4.32 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_4_32GBPS: ADLX_DP_LINK_RATE = 5; -#[doc = "< @ENG_START_DOX The DP link rate is 5.40 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR2: ADLX_DP_LINK_RATE = 6; -#[doc = "< @ENG_START_DOX The DP link rate is 8.10 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR3: ADLX_DP_LINK_RATE = 7; -#[doc = "< @ENG_START_DOX The DP link rate is 10 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR10: ADLX_DP_LINK_RATE = 8; -#[doc = "< @ENG_START_DOX The DP link rate is 13.5 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR13D5: ADLX_DP_LINK_RATE = 9; -#[doc = "< @ENG_START_DOX The DP link rate is 20 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR20: ADLX_DP_LINK_RATE = 10; -#[doc = " @enum ADLX_DP_LINK_RATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the DP link rate.\n @ENG_END_DOX"] -pub type ADLX_DP_LINK_RATE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The GPU type is unknown. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_UNDEFINED: ADLX_GPU_TYPE = 0; -#[doc = "< @ENG_START_DOX The GPU type is an integrated GPU. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_INTEGRATED: ADLX_GPU_TYPE = 1; -#[doc = "< @ENG_START_DOX The GPU type is a discrete GPU. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_DISCRETE: ADLX_GPU_TYPE = 2; -#[doc = " @enum ADLX_GPU_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the GPU type.\n @ENG_END_DOX"] -pub type ADLX_GPU_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display connector type is unknown. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_UNKNOWN: ADLX_DISPLAY_CONNECTOR_TYPE = 0; -#[doc = "< @ENG_START_DOX The display connector type is VGA. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_VGA: ADLX_DISPLAY_CONNECTOR_TYPE = 1; -#[doc = "< @ENG_START_DOX The display connector type is DVI-D. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_D: ADLX_DISPLAY_CONNECTOR_TYPE = 2; -#[doc = "< @ENG_START_DOX The display connector type is DVI-I. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_I: ADLX_DISPLAY_CONNECTOR_TYPE = 3; -#[doc = "< @ENG_START_DOX The display connector type is NTSC. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NTSC: ADLX_DISPLAY_CONNECTOR_TYPE = - 4; -#[doc = "< @ENG_START_DOX The display connector type is JPN. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_JPN: ADLX_DISPLAY_CONNECTOR_TYPE = 5; -#[doc = "< @ENG_START_DOX The display connector type is NONI2C-JPN. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN: - ADLX_DISPLAY_CONNECTOR_TYPE = 6; -#[doc = "< @ENG_START_DOX The display connector type is NONI2C-NTSC. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC: - ADLX_DISPLAY_CONNECTOR_TYPE = 7; -#[doc = "< @ENG_START_DOX The display connector type is PROPRIETARY. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_PROPRIETARY: ADLX_DISPLAY_CONNECTOR_TYPE = 8; -#[doc = "< @ENG_START_DOX The display connector type is HDMI A. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_A: ADLX_DISPLAY_CONNECTOR_TYPE = 9; -#[doc = "< @ENG_START_DOX The display connector type is HDMI B. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_B: ADLX_DISPLAY_CONNECTOR_TYPE = 10; -#[doc = "< @ENG_START_DOX The display connector type is SVIDEO. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_SVIDEO: ADLX_DISPLAY_CONNECTOR_TYPE = 11; -#[doc = "< @ENG_START_DOX The display connector type is COMPOSITE. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_COMPOSITE: ADLX_DISPLAY_CONNECTOR_TYPE = 12; -#[doc = "< @ENG_START_DOX The display connector type is RCA. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_RCA_3COMPONENT: ADLX_DISPLAY_CONNECTOR_TYPE = - 13; -#[doc = "< @ENG_START_DOX The display connector type is DISPLAYPORT. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DISPLAYPORT: ADLX_DISPLAY_CONNECTOR_TYPE = 14; -#[doc = "< @ENG_START_DOX The display connector type is EDP. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_EDP: ADLX_DISPLAY_CONNECTOR_TYPE = 15; -#[doc = "< @ENG_START_DOX The display connector type is WIRELESSDISPLAY. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_WIRELESSDISPLAY: ADLX_DISPLAY_CONNECTOR_TYPE = - 16; -#[doc = "< @ENG_START_DOX The display connector type is USB Type-C. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_USB_TYPE_C: ADLX_DISPLAY_CONNECTOR_TYPE = 17; -#[doc = " @enum ADLX_DISPLAY_CONNECTOR_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display connector type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_CONNECTOR_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display type is an unknown display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_UNKOWN: ADLX_DISPLAY_TYPE = 0; -#[doc = "< @ENG_START_DOX The display type is a monitor display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_MONITOR: ADLX_DISPLAY_TYPE = 1; -#[doc = "< @ENG_START_DOX The display type is a TV display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_TELEVISION: ADLX_DISPLAY_TYPE = 2; -#[doc = "< @ENG_START_DOX The display type is an LCD display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_LCD_PANEL: ADLX_DISPLAY_TYPE = 3; -#[doc = "< @ENG_START_DOX The display type is a DFP display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_DIGITAL_FLAT_PANEL: ADLX_DISPLAY_TYPE = 4; -#[doc = "< @ENG_START_DOX The display type is a component video display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_COMPONENT_VIDEO: ADLX_DISPLAY_TYPE = 5; -#[doc = "< @ENG_START_DOX The display type is a projector display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_PROJECTOR: ADLX_DISPLAY_TYPE = 6; -#[doc = " @enum ADLX_DISPLAY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display scan type is progressive mode. @ENG_END_DOX"] -pub const ADLX_DISPLAY_SCAN_TYPE_PROGRESSIVE: ADLX_DISPLAY_SCAN_TYPE = 0; -#[doc = "< @ENG_START_DOX The display scan type is interlaced mode. @ENG_END_DOX"] -pub const ADLX_DISPLAY_SCAN_TYPE_INTERLACED: ADLX_DISPLAY_SCAN_TYPE = 1; -#[doc = " @enum ADLX_DISPLAY_SCAN_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display scan type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_SCAN_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Positive Polarity @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_POLARITY_POSITIVE: ADLX_DISPLAY_TIMING_POLARITY = 0; -#[doc = "< @ENG_START_DOX Negative Polarity @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_POLARITY_NEGATIVE: ADLX_DISPLAY_TIMING_POLARITY = 1; -#[doc = " @enum ADLX_DISPLAY_TIMING_POLARITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing polarity\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TIMING_POLARITY = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Maximum pixel clock @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 650000; -#[doc = "< @ENG_START_DOX Minimum pixel clock @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 0; -#[doc = "< @ENG_START_DOX Maximum refresh rate @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 200; -#[doc = "< @ENG_START_DOX Minimum refresh rate @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; -#[doc = "< @ENG_START_DOX Maximum resolution @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 9999; -#[doc = "< @ENG_START_DOX Minimum resolution @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; -#[doc = " @enum ADLX_DISPLAY_TIMING_LIMITATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing limitation\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TIMING_LIMITATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_709. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_709: ADLX_GAMUT_SPACE = 0; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_601. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_601: ADLX_GAMUT_SPACE = 1; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_ADOBE_RGB: ADLX_GAMUT_SPACE = 2; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CIE_RGB. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CIE_RGB: ADLX_GAMUT_SPACE = 3; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_2020. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_2020: ADLX_GAMUT_SPACE = 4; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CUSTOM. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CUSTOM: ADLX_GAMUT_SPACE = 5; -#[doc = " @enum ADLX_GAMUT_SPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the predefined gamut space.\n @ENG_END_DOX"] -pub type ADLX_GAMUT_SPACE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The white point setting is 5000k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_5000K: ADLX_WHITE_POINT = 0; -#[doc = "< @ENG_START_DOX The white point setting is 6500k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_6500K: ADLX_WHITE_POINT = 1; -#[doc = "< @ENG_START_DOX The white point setting is 7500k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_7500K: ADLX_WHITE_POINT = 2; -#[doc = "< @ENG_START_DOX The white point setting is 9300k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_9300K: ADLX_WHITE_POINT = 3; -#[doc = "< @ENG_START_DOX The white point setting is customized. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_CUSTOM: ADLX_WHITE_POINT = 4; -#[doc = " @enum ADLX_WHITE_POINT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the standardized white point setting.\n @ENG_END_DOX"] -pub type ADLX_WHITE_POINT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The gamma type is unknown. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_UNKNOW: ADLX_GAMMA_TYPE = 0; -#[doc = "< @ENG_START_DOX The gamma type is Degamma Ramp way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_DEGAMMA_RAMP: ADLX_GAMMA_TYPE = 1; -#[doc = "< @ENG_START_DOX The gamma type is Regamma Ramp way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_REGAMMA_RAMP: ADLX_GAMMA_TYPE = 2; -#[doc = "< @ENG_START_DOX The gamma type is Degamma coefficients way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_DEGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 3; -#[doc = "< @ENG_START_DOX The gamma type is Regamma coefficients way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_REGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 4; -#[doc = " @enum ADLX_GAMMA_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the gamma type.\n @ENG_END_DOX"] -pub type ADLX_GAMMA_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The orientation is landscape. @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE: ADLX_ORIENTATION = 0; -#[doc = "< @ENG_START_DOX The orientation is Portrait. @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT: ADLX_ORIENTATION = 90; -#[doc = "< @ENG_START_DOX The orientation is landscape (flipped). @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE_FLIPPED: ADLX_ORIENTATION = 180; -#[doc = "< @ENG_START_DOX the orientation is Portrait (flipped). @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT_FLIPPED: ADLX_ORIENTATION = 270; -#[doc = " @enum ADLX_ORIENTATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the orientation.\n @ENG_END_DOX"] -pub type ADLX_ORIENTATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Single display desktop: one display showing the entire desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_SINGLE: ADLX_DESKTOP_TYPE = 0; -#[doc = "< @ENG_START_DOX Duplicate desktop: two or more displays each show the entire desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_DUPLCATE: ADLX_DESKTOP_TYPE = 1; -#[doc = "< @ENG_START_DOX AMD Eyefinity desktop: two or more displays each show a portion of the desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_EYEFINITY: ADLX_DESKTOP_TYPE = 2; -#[doc = " @enum ADLX_DESKTOP_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Types of desktops in respect to display composition\n @ENG_END_DOX"] -pub type ADLX_DESKTOP_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The log captures errors, warnings and debug information. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LDEBUG: ADLX_LOG_SEVERITY = 0; -#[doc = "< @ENG_START_DOX The log captures errors and warnings. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LWARNING: ADLX_LOG_SEVERITY = 1; -#[doc = "< @ENG_START_DOX The log captures errors. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LERROR: ADLX_LOG_SEVERITY = 2; -#[doc = " @enum ADLX_LOG_SEVERITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the severity level for ADLX logs.\n @ENG_END_DOX\n"] -pub type ADLX_LOG_SEVERITY = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The log destination is a file. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_LOCALFILE: ADLX_LOG_DESTINATION = 0; -#[doc = "< @ENG_START_DOX The log destination is the application debugger. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_DBGVIEW: ADLX_LOG_DESTINATION = 1; -#[doc = "< @ENG_START_DOX The log destination is the application. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_APPLICATION: ADLX_LOG_DESTINATION = 2; -#[doc = " @enum ADLX_LOG_DESTINATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the location of the log traces that are generated from the internal code execution of ADLX.\n @ENG_END_DOX\n"] -pub type ADLX_LOG_DESTINATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The scale mode preserves aspect ratio. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_PRESERVE_ASPECT_RATIO: ADLX_SCALE_MODE = 0; -#[doc = "< @ENG_START_DOX The scale mode extends to full panel. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_FULL_PANEL: ADLX_SCALE_MODE = 1; -#[doc = "< @ENG_START_DOX The scale mode is centered on screen. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_CENTERED: ADLX_SCALE_MODE = 2; -#[doc = " @enum ADLX_SCALE_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the methods to stretch and position the image to fit on the display.\n @ENG_END_DOX\n"] -pub type ADLX_SCALE_MODE = ::std::os::raw::c_int; -pub const ADLX_COLOR_DEPTH_BPC_UNKNOWN: ADLX_COLOR_DEPTH = 0; -#[doc = "< @ENG_START_DOX A color component/pixel with 6 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_6: ADLX_COLOR_DEPTH = 1; -#[doc = "< @ENG_START_DOX A color component/pixel with 8 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_8: ADLX_COLOR_DEPTH = 2; -#[doc = "< @ENG_START_DOX A color component/pixel with 10 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_10: ADLX_COLOR_DEPTH = 3; -#[doc = "< @ENG_START_DOX A color component/pixel with 12 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_12: ADLX_COLOR_DEPTH = 4; -#[doc = "< @ENG_START_DOX A color component/pixel with 14 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_14: ADLX_COLOR_DEPTH = 5; -#[doc = "< @ENG_START_DOX A color component/pixel with 16 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_16: ADLX_COLOR_DEPTH = 6; -#[doc = " @enum ADLX_COLOR_DEPTH\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel.\n @ENG_END_DOX\n"] -pub type ADLX_COLOR_DEPTH = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The pixel format is unknown. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_FORMAT_UNKNOWN: ADLX_PIXEL_FORMAT = 0; -#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 PC Standard (Full RGB). @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_RGB_444_FULL: ADLX_PIXEL_FORMAT = 1; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:4:4. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_444: ADLX_PIXEL_FORMAT = 2; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:2. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_422: ADLX_PIXEL_FORMAT = 3; -#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 Studio (Limited RGB). @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_RGB_444_LIMITED: ADLX_PIXEL_FORMAT = 4; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:0 Pixel Format. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_420: ADLX_PIXEL_FORMAT = 5; -#[doc = " @enum ADLX_PIXEL_FORMAT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the pixel format to encode images for the display.\n @ENG_END_DOX\n"] -pub type ADLX_PIXEL_FORMAT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_CVT: ADLX_TIMING_STANDARD = 0; -#[doc = "< @ENG_START_DOX Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking\nperiods and allows a lower pixel clock rate and higher frame rates. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_CVT_RB: ADLX_TIMING_STANDARD = 1; -#[doc = "< @ENG_START_DOX Generalized Timing Formula(GTF). A method of generating industry standard display timings. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_GTF: ADLX_TIMING_STANDARD = 2; -#[doc = "< @ENG_START_DOX Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_DMT: ADLX_TIMING_STANDARD = 3; -#[doc = "< @ENG_START_DOX Manual control @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_MANUAL: ADLX_TIMING_STANDARD = 4; -#[doc = " @enum ADLX_TIMING_STANDARD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Timing standard for custom resolution\n @ENG_END_DOX\n"] -pub type ADLX_TIMING_STANDARD = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX VSync is always off. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_OFF: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = - 0; -#[doc = "< @ENG_START_DOX VSync is off, unless specified by the application. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_OFF_UNLESS_APP_SPECIFIES: - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 1; -#[doc = "< @ENG_START_DOX VSync is on, unless specified by application. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ON_UNLESS_APP_SPECIFIES: - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 2; -#[doc = "< @ENG_START_DOX VSync is always on. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_ON: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = - 3; -#[doc = " @enum ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the modes of VSync settings.\n @ENG_END_DOX"] -pub type ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The anti-aliasing mode uses application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_USE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 0; -#[doc = "< @ENG_START_DOX The anti-aliasing mode enhances the application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_ENHANCE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 1; -#[doc = "< @ENG_START_DOX The anti-aliasing mode overrides the application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_OVERRIDE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 2; -#[doc = " @enum ADLX_ANTI_ALIASING_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing mode.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The anti-aliasing level is invalid. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_INVALID: ADLX_ANTI_ALIASING_LEVEL = 0; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 2X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2X: ADLX_ANTI_ALIASING_LEVEL = 2; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 2XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2XEQ: ADLX_ANTI_ALIASING_LEVEL = 3; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 4X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4X: ADLX_ANTI_ALIASING_LEVEL = 4; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 4XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4XEQ: ADLX_ANTI_ALIASING_LEVEL = 5; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 8X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8X: ADLX_ANTI_ALIASING_LEVEL = 8; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 8XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8XEQ: ADLX_ANTI_ALIASING_LEVEL = 9; -#[doc = " @enum ADLX_ANTI_ALIASING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing level.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The multi-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 0; -#[doc = "< @ENG_START_DOX The adaptive multi-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_ADAPTIVE_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 1; -#[doc = "< @ENG_START_DOX The super-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_SUPERSAMPLING: ADLX_ANTI_ALIASING_METHOD = 2; -#[doc = " @enum ADLX_ANTI_ALIASING_METHOD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing method.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_METHOD = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is invalid. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_INVALID: ADLX_ANISOTROPIC_FILTERING_LEVEL = 0; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 2X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X2: ADLX_ANISOTROPIC_FILTERING_LEVEL = 2; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 4X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X4: ADLX_ANISOTROPIC_FILTERING_LEVEL = 4; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 8X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X8: ADLX_ANISOTROPIC_FILTERING_LEVEL = 8; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 16X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X16: ADLX_ANISOTROPIC_FILTERING_LEVEL = 16; -#[doc = " @enum ADLX_ANISOTROPIC_FILTERING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the Anisotropic Filtering level.\n @ENG_END_DOX"] -pub type ADLX_ANISOTROPIC_FILTERING_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX This mode uses AMD optimization. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_AMD_OPTIMIZED: ADLX_TESSELLATION_MODE = 0; -#[doc = "< @ENG_START_DOX This mode uses application settings. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_USE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 1; -#[doc = "< @ENG_START_DOX This mode uses override application settings. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_OVERRIDE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 2; -#[doc = " @enum ADLX_TESSELLATION_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation setting on a GPU.\n @ENG_END_DOX"] -pub type ADLX_TESSELLATION_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The tessellation level is Off. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_OFF: ADLX_TESSELLATION_LEVEL = 1; -#[doc = "< @ENG_START_DOX The tessellation level is 2X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_2X: ADLX_TESSELLATION_LEVEL = 2; -#[doc = "< @ENG_START_DOX The tessellation level is 4X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_4X: ADLX_TESSELLATION_LEVEL = 4; -#[doc = "< @ENG_START_DOX The tessellation level is 6X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_6X: ADLX_TESSELLATION_LEVEL = 6; -#[doc = "< @ENG_START_DOX The tessellation level is 8X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_8X: ADLX_TESSELLATION_LEVEL = 8; -#[doc = "< @ENG_START_DOX The tessellation level is 16X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_16X: ADLX_TESSELLATION_LEVEL = 16; -#[doc = "< @ENG_START_DOX The tessellation level is 32X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_32X: ADLX_TESSELLATION_LEVEL = 32; -#[doc = "< @ENG_START_DOX The tessellation level is 64X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_64X: ADLX_TESSELLATION_LEVEL = 64; -#[doc = " @enum ADLX_TESSELLATION_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation level on a GPU.\n @ENG_END_DOX"] -pub type ADLX_TESSELLATION_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The memory timing is default. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_DEFAULT: ADLX_MEMORYTIMING_DESCRIPTION = 0; -#[doc = "< @ENG_START_DOX The memory timing is fast timing. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING: ADLX_MEMORYTIMING_DESCRIPTION = 1; -#[doc = "< @ENG_START_DOX The memory timing is fast timing level 2. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING_LEVEL_2: - ADLX_MEMORYTIMING_DESCRIPTION = 2; -#[doc = "< @ENG_START_DOX The memory timing is automatic. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_AUTOMATIC: ADLX_MEMORYTIMING_DESCRIPTION = 3; -#[doc = "< @ENG_START_DOX The memory timing is level 1. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_1: - ADLX_MEMORYTIMING_DESCRIPTION = 4; -#[doc = "< @ENG_START_DOX The memory timing is level 2. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_2: - ADLX_MEMORYTIMING_DESCRIPTION = 5; -#[doc = " @enum ADLX_MEMORYTIMING_DESCRIPTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the priority of the log entry.\n @ENG_END_DOX"] -pub type ADLX_MEMORYTIMING_DESCRIPTION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The I2C line is OEM. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM: ADLX_I2C_LINE = 1; -#[doc = "< @ENG_START_DOX The I2C line is Over Driver Control. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OD_CONTROL: ADLX_I2C_LINE = 2; -#[doc = "< @ENG_START_DOX The I2C line is OEM2. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM2: ADLX_I2C_LINE = 3; -#[doc = "< @ENG_START_DOX The I2C line is OEM3. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM3: ADLX_I2C_LINE = 4; -#[doc = "< @ENG_START_DOX The I2C line is OEM4. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM4: ADLX_I2C_LINE = 5; -#[doc = "< @ENG_START_DOX The I2C line is OEM5. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM5: ADLX_I2C_LINE = 6; -#[doc = "< @ENG_START_DOX The I2C line is OEM6. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM6: ADLX_I2C_LINE = 7; -#[doc = " @enum ADLX_I2C_LINE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the I2C line options.\n @ENG_END_DOX"] -pub type ADLX_I2C_LINE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The event has an unknown trigger. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_UNKNOWN: ADLX_SYNC_ORIGIN = 1; -#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in this application. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_INTERNAL: ADLX_SYNC_ORIGIN = 2; -#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in another application. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_EXTERNAL: ADLX_SYNC_ORIGIN = 3; -#[doc = " @enum ADLX_SYNC_ORIGIN\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the origin of an event.\n @ENG_END_DOX"] -pub type ADLX_SYNC_ORIGIN = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The transfer function is sRGB. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_SRGB: ADLX_3DLUT_TRANSFER_FUNCTION = 1; -#[doc = "< @ENG_START_DOX The transfer function is PQ. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_PQ: ADLX_3DLUT_TRANSFER_FUNCTION = 2; -#[doc = "< @ENG_START_DOX The transfer function is G22. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_G22: ADLX_3DLUT_TRANSFER_FUNCTION = 3; -#[doc = " @enum ADLX_3DLUT_TRANSFER_FUNCTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the User 3D LUT transfer function.\n @ENG_END_DOX"] -pub type ADLX_3DLUT_TRANSFER_FUNCTION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The color space is sRGB. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_SRGB: ADLX_3DLUT_COLORSPACE = 1; -#[doc = "< @ENG_START_DOX The color space is BT2020. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_BT2020: ADLX_3DLUT_COLORSPACE = 2; -#[doc = "< @ENG_START_DOX The color space is DCIP3. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_DCIP3: ADLX_3DLUT_COLORSPACE = 3; -#[doc = "< @ENG_START_DOX The color space is native. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_NATIVE: ADLX_3DLUT_COLORSPACE = 4; -#[doc = " @enum ADLX_3DLUT_COLORSPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the custom 3D LUT color space.\n @ENG_END_DOX"] -pub type ADLX_3DLUT_COLORSPACE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The bias control type is auto. @ENG_END_DOX"] -pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_AUTO: ADLX_SSM_BIAS_MODE = 0; -#[doc = "< @ENG_START_DOX The bias control type is manual. @ENG_END_DOX"] -pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_MANUAL: ADLX_SSM_BIAS_MODE = 1; -#[doc = " @enum ADLX_SSM_BIAS_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief AMD SmartShift Max bias mode.\n @ENG_END_DOX"] -pub type ADLX_SSM_BIAS_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The Antilag level is AntiLag. @ENG_END_DOX"] -pub const ADLX_ANTILAG_STATE_ANTILAG: ADLX_ANTILAG_STATE = 0; -#[doc = "< @ENG_START_DOX The Antilag level is AntiLag Next. @ENG_END_DOX"] -pub const ADLX_ANTILAG_STATE_ANTILAGNEXT: ADLX_ANTILAG_STATE = 1; -#[doc = " @enum ADLX_ANTILAG_STATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the state of Anti Lag.\n @ENG_END_DOX"] -pub type ADLX_ANTILAG_STATE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The GPU is not part of an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_NONE: ADLX_MGPU_MODE = 0; -#[doc = "< @ENG_START_DOX The GPU is the primary GPU in an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_PRIMARY: ADLX_MGPU_MODE = 1; -#[doc = "< @ENG_START_DOX The GPU is the secondary GPU in an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_SECONDARY: ADLX_MGPU_MODE = 2; -#[doc = " @enum ADLX_MGPU_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the AMD MGPU mode.\n @ENG_END_DOX"] -pub type ADLX_MGPU_MODE = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXInterfaceVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXInterface, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXInterfaceVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(IADLXInterfaceVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXInterfaceVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(QueryInterface) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXInterface { - pub pVtbl: *const IADLXInterfaceVtbl, -} -#[test] -fn bindgen_test_layout_IADLXInterface() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXInterface)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXInterface)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterface), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_bool>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 88usize, - concat!("Size of: ", stringify!(IADLXListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Add_Back) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXList { - pub pVtbl: *const IADLXListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub VendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - vendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub ASICFamilyType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, - ) -> ADLX_RESULT, - >, - pub Type: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, - >, - pub IsExternal: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, isExternal: *mut adlx_bool) -> ADLX_RESULT, - >, - pub Name: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - gpuName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DriverPath: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - driverPath: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub PNPString: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - pnpString: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub HasDesktops: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, - >, - pub TotalVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, vramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub VRAMType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - type_: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub BIOSInfo: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - partNumber: *mut *const ::std::os::raw::c_char, - version: *mut *const ::std::os::raw::c_char, - date: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DeviceId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - deviceId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub RevisionId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - revisionId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - subSystemId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemVendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - subSystemVendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub UniqueId: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, uniqueId: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 152usize, - concat!("Size of: ", stringify!(IADLXGPUVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(VendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(ASICFamilyType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Type) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(IsExternal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Name) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(DriverPath) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(PNPString) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(HasDesktops) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(TotalVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(VRAMType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(BIOSInfo) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(DeviceId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(RevisionId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(SubSystemId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(SubSystemVendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(UniqueId) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU { - pub pVtbl: *const IADLXGPUVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPU() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPU)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_uint8>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, - pub At_GPUList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - location: adlx_uint, - ppItem: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub Add_Back_GPUList: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXGPU) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXGPUListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_GPUList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(At_GPUList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Add_Back_GPUList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUList { - pub pVtbl: *const IADLXGPUListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsEventListenerVtbl { - pub OnGPUListChanged: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsEventListener, - pNewGPUs: *mut IADLXGPUList, - ) -> adlx_bool, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUsEventListenerVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsEventListenerVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsEventListenerVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).OnGPUListChanged) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsEventListenerVtbl), - "::", - stringify!(OnGPUListChanged) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsEventListener { - pub pVtbl: *const IADLXGPUsEventListenerVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUsEventListener() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsEventListener)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsEventListener)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsEventListener), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsChangedHandlingVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub AddGPUsListEventListener: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - pListener: *mut IADLXGPUsEventListener, - ) -> ADLX_RESULT, - >, - pub RemoveGPUsListEventListener: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - pListener: *mut IADLXGPUsEventListener, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUsChangedHandlingVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(IADLXGPUsChangedHandlingVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsChangedHandlingVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).AddGPUsListEventListener) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(AddGPUsListEventListener) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RemoveGPUsListEventListener) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(RemoveGPUsListEventListener) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsChangedHandling { - pub pVtbl: *const IADLXGPUsChangedHandlingVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUsChangedHandling() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsChangedHandling)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsChangedHandling)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandling), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDesktopServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDisplayServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXLog { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLX3DSettingsServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUTuningServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXI2C { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemVtbl { - pub GetHybridGraphicsType: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystem, hgType: *mut ADLX_HG_TYPE) -> ADLX_RESULT, - >, - pub GetGPUs: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUs: *mut *mut IADLXGPUList, - ) -> ADLX_RESULT, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetDisplaysServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppDispServices: *mut *mut IADLXDisplayServices, - ) -> ADLX_RESULT, - >, - pub GetDesktopsServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppDeskServices: *mut *mut IADLXDesktopServices, - ) -> ADLX_RESULT, - >, - pub GetGPUsChangedHandling: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUsChangedHandling: *mut *mut IADLXGPUsChangedHandling, - ) -> ADLX_RESULT, - >, - pub EnableLog: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - mode: ADLX_LOG_DESTINATION, - severity: ADLX_LOG_SEVERITY, - pLogger: *mut IADLXLog, - fileName: *const wchar_t, - ) -> ADLX_RESULT, - >, - pub Get3DSettingsServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - pp3DSettingsServices: *mut *mut IADLX3DSettingsServices, - ) -> ADLX_RESULT, - >, - pub GetGPUTuningServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUTuningServices: *mut *mut IADLXGPUTuningServices, - ) -> ADLX_RESULT, - >, - pub GetPerformanceMonitoringServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppPerformanceMonitoringServices: *mut *mut IADLXPerformanceMonitoringServices, - ) -> ADLX_RESULT, - >, - pub TotalSystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystem, ramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub GetI2C: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - pGPU: *mut IADLXGPU, - ppI2C: *mut *mut IADLXI2C, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 96usize, - concat!("Size of: ", stringify!(IADLXSystemVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetHybridGraphicsType) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetHybridGraphicsType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUs) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUs) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetDisplaysServices) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetDisplaysServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetDesktopsServices) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetDesktopsServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUsChangedHandling) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUsChangedHandling) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).EnableLog) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(EnableLog) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Get3DSettingsServices) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(Get3DSettingsServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTuningServices) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUTuningServices) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetPerformanceMonitoringServices) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetPerformanceMonitoringServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalSystemRAM) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(TotalSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetI2C) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetI2C) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem { - pub pVtbl: *const IADLXSystemVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystem() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystem)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDisplay { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDesktop { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLMappingVtbl { - pub GetADLXGPUFromBdf: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppGPU: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub GetADLXGPUFromAdlAdapterIndex: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adlAdapterIndex: adlx_int, - ppGPU: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub BdfFromADLXGPU: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pGPU: *mut IADLXGPU, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub AdlAdapterIndexFromADLXGPU: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pGPU: *mut IADLXGPU, - adlAdapterIndex: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetADLXDisplayFromADLIds: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adapterIndex: adlx_int, - displayIndex: adlx_int, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppDisplay: *mut *mut IADLXDisplay, - ) -> ADLX_RESULT, - >, - pub ADLIdsFromADLXDisplay: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pDisplay: *mut IADLXDisplay, - adapterIndex: *mut adlx_int, - displayIndex: *mut adlx_int, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetADLXDesktopFromADLIds: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adapterIndex: adlx_int, - VidPnSourceId: adlx_int, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppDesktop: *mut *mut IADLXDesktop, - ) -> ADLX_RESULT, - >, - pub ADLIdsFromADLXDesktop: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pDesktop: *mut IADLXDesktop, - adapterIndex: *mut adlx_int, - VidPnSourceId: *mut adlx_int, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLMappingVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(IADLMappingVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLMappingVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXGPUFromBdf) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXGPUFromBdf) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetADLXGPUFromAdlAdapterIndex) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXGPUFromAdlAdapterIndex) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BdfFromADLXGPU) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(BdfFromADLXGPU) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).AdlAdapterIndexFromADLXGPU) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(AdlAdapterIndexFromADLXGPU) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDisplayFromADLIds) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXDisplayFromADLIds) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDisplay) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(ADLIdsFromADLXDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDesktopFromADLIds) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXDesktopFromADLIds) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDesktop) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(ADLIdsFromADLXDesktop) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLMapping { - pub pVtbl: *const IADLMappingVtbl, -} -#[test] -fn bindgen_test_layout_IADLMapping() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLMapping)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLMapping)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLMapping), - "::", - stringify!(pVtbl) - ) - ); -} -pub type ADLXQueryFullVersion_Fn = - ::std::option::Option ADLX_RESULT>; -pub type ADLXQueryVersion_Fn = ::std::option::Option< - unsafe extern "C" fn(version: *mut *const ::std::os::raw::c_char) -> ADLX_RESULT, ->; -#[doc = " @typedef ADLX_ADL_Main_Memory_Free\n @ingroup ADLXDefs\n @ENG_START_DOX The typedef of ADLX_ADL_Main_Memory_Free function. @ENG_END_DOX\n @definition\n @codeStart\n typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer)\n @codeEnd"] -pub type ADLX_ADL_Main_Memory_Free = - ::std::option::Option; -pub type ADLXInitialize_Fn = ::std::option::Option< - unsafe extern "C" fn(version: adlx_uint64, ppSystem: *mut *mut IADLXSystem) -> ADLX_RESULT, ->; -pub type ADLXInitializeWithCallerAdl_Fn = ::std::option::Option< - unsafe extern "C" fn( - version: adlx_uint64, - ppSystem: *mut *mut IADLXSystem, - ppAdlMapping: *mut *mut IADLMapping, - adlContext: adlx_handle, - adlMainMemoryFree: ADLX_ADL_Main_Memory_Free, - ) -> ADLX_RESULT, ->; -pub type ADLXTerminate_Fn = ::std::option::Option ADLX_RESULT>; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU1Vtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub VendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - vendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub ASICFamilyType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, - ) -> ADLX_RESULT, - >, - pub Type: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, - >, - pub IsExternal: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, isExternal: *mut adlx_bool) -> ADLX_RESULT, - >, - pub Name: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - gpuName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DriverPath: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - driverPath: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub PNPString: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - pnpString: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub HasDesktops: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, - >, - pub TotalVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, vramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub VRAMType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - type_: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub BIOSInfo: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - partNumber: *mut *const ::std::os::raw::c_char, - version: *mut *const ::std::os::raw::c_char, - date: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DeviceId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - deviceId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub RevisionId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - revisionId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - subSystemId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemVendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - subSystemVendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub UniqueId: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, uniqueId: *mut adlx_int) -> ADLX_RESULT, - >, - pub PCIBusType: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, busType: *mut ADLX_PCI_BUS_TYPE) -> ADLX_RESULT, - >, - pub PCIBusLaneWidth: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, laneWidth: *mut adlx_uint) -> ADLX_RESULT, - >, - pub MultiGPUMode: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, mode: *mut ADLX_MGPU_MODE) -> ADLX_RESULT, - >, - pub ProductName: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - productName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPU1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 184usize, - concat!("Size of: ", stringify!(IADLXGPU1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(VendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(ASICFamilyType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Type) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(IsExternal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Name) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(DriverPath) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PNPString) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(HasDesktops) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(TotalVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(VRAMType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(BIOSInfo) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(DeviceId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(RevisionId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(SubSystemId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(SubSystemVendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(UniqueId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PCIBusType) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PCIBusType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PCIBusLaneWidth) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PCIBusLaneWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).MultiGPUMode) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(MultiGPUMode) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ProductName) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(ProductName) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU1 { - pub pVtbl: *const IADLXGPU1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPU1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPU1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPowerTuningServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem1Vtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetPowerTuningServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem1, - ppPowerTuningServices: *mut *mut IADLXPowerTuningServices, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystem1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(IADLXSystem1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetPowerTuningServices) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(GetPowerTuningServices) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem1 { - pub pVtbl: *const IADLXSystem1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystem1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystem1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1), - "::", - stringify!(pVtbl) - ) - ); -} -#[doc = " @struct ADLX_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains RGB information.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_RGB { - #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] - pub gamutR: adlx_double, - #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] - pub gamutG: adlx_double, - #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] - pub gamutB: adlx_double, -} -#[test] -fn bindgen_test_layout_ADLX_RGB() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ADLX_RGB)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ADLX_RGB)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutR) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutR) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutG) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutG) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutB) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutB) - ) - ); -} -#[doc = " @struct ADLX_Point\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_Point { - #[doc = "< @ENG_START_DOX The x coordinate. @ENG_END_DOX"] - pub x: adlx_int, - #[doc = "< @ENG_START_DOX The y coordinate. @ENG_END_DOX"] - pub y: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_Point() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(ADLX_Point)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_Point)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_Point), - "::", - stringify!(x) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_Point), - "::", - stringify!(y) - ) - ); -} -#[doc = " @struct ADLX_GamutColorSpace\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported gamut coordinates\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_GamutColorSpace { - #[doc = "< @ENG_START_DOX The red channel chromaticity coordinate. @ENG_END_DOX"] - pub red: ADLX_Point, - #[doc = "< @ENG_START_DOX The green channel chromaticity coordinate. @ENG_END_DOX"] - pub green: ADLX_Point, - #[doc = "< @ENG_START_DOX The blue channel chromaticity coordinate. @ENG_END_DOX"] - pub blue: ADLX_Point, -} -#[test] -fn bindgen_test_layout_ADLX_GamutColorSpace() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ADLX_GamutColorSpace)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_GamutColorSpace)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(red) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(green) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(blue) - ) - ); -} -#[doc = " @struct ADLX_GammaRamp\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains the display gamma ramp used to program the re-gamma LUT.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_GammaRamp { - #[doc = "< @ENG_START_DOX The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values.\nEach triplet consists of red, green and blue values. @ENG_END_DOX"] - pub gamma: [adlx_uint16; 768usize], -} -#[test] -fn bindgen_test_layout_ADLX_GammaRamp() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 1536usize, - concat!("Size of: ", stringify!(ADLX_GammaRamp)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_GammaRamp)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GammaRamp), - "::", - stringify!(gamma) - ) - ); -} -#[doc = " @struct ADLX_RegammaCoeff\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_RegammaCoeff { - #[doc = "< @ENG_START_DOX The a0 gamma coefficient. @ENG_END_DOX"] - pub coefficientA0: adlx_int, - #[doc = "< @ENG_START_DOX The a1 gamma coefficient. @ENG_END_DOX"] - pub coefficientA1: adlx_int, - #[doc = "< @ENG_START_DOX The a2 gamma coefficient. @ENG_END_DOX"] - pub coefficientA2: adlx_int, - #[doc = "< @ENG_START_DOX The a3 gamma coefficient. @ENG_END_DOX"] - pub coefficientA3: adlx_int, - #[doc = "< @ENG_START_DOX The regamma divider. @ENG_END_DOX"] - pub gamma: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_RegammaCoeff() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(ADLX_RegammaCoeff)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_RegammaCoeff)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA0) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA0) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA1) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA2) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA2) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA3) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA3) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(gamma) - ) - ); -} -#[doc = " @struct ADLX_TimingInfo\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains display timing information.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_TimingInfo { - #[doc = "< @ENG_START_DOX The detailed timing flag. @ENG_END_DOX"] - pub timingFlags: adlx_int, - #[doc = "< @ENG_START_DOX The total number of pixels that compose all scan lines during a horizontal sync. @ENG_END_DOX"] - pub hTotal: adlx_int, - #[doc = "< @ENG_START_DOX The total number of vertical pixels permitted/processed per sync. @ENG_END_DOX"] - pub vTotal: adlx_int, - #[doc = "< @ENG_START_DOX The number of horizontal pixels within the active area. @ENG_END_DOX"] - pub hDisplay: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels within the active display area. @ENG_END_DOX"] - pub vDisplay: adlx_int, - #[doc = "< @ENG_START_DOX The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image. @ENG_END_DOX"] - pub hFrontPorch: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image. @ENG_END_DOX"] - pub vFrontPorch: adlx_int, - #[doc = "< @ENG_START_DOX The number of pixels that compose a scan line during a horizontal sync. @ENG_END_DOX"] - pub hSyncWidth: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels permitted/processed during a sync. @ENG_END_DOX"] - pub vSyncWidth: adlx_int, - #[doc = "< @ENG_START_DOX The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] - pub hPolarity: adlx_int, - #[doc = "< @ENG_START_DOX The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] - pub vPolarity: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_TimingInfo() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 44usize, - concat!("Size of: ", stringify!(ADLX_TimingInfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_TimingInfo)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).timingFlags) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(timingFlags) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hTotal) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hTotal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vTotal) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vTotal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hDisplay) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vDisplay) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hFrontPorch) as usize - ptr as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hFrontPorch) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vFrontPorch) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vFrontPorch) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hSyncWidth) as usize - ptr as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hSyncWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vSyncWidth) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vSyncWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hPolarity) as usize - ptr as usize }, - 36usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hPolarity) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vPolarity) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vPolarity) - ) - ); -} -#[doc = " @struct ADLX_CustomResolution\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information for custom resolution parameters on a given display.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_CustomResolution { - #[doc = "< @ENG_START_DOX The resolution width. @ENG_END_DOX"] - pub resWidth: adlx_int, - #[doc = "< @ENG_START_DOX The resolution height. @ENG_END_DOX"] - pub resHeight: adlx_int, - #[doc = "< @ENG_START_DOX The refresh rate. @ENG_END_DOX"] - pub refreshRate: adlx_int, - #[doc = "< @ENG_START_DOX The presentation method, 0 PROGRESSIVE; 1 INTERLACED. @ENG_END_DOX"] - pub presentation: ADLX_DISPLAY_SCAN_TYPE, - #[doc = "< @ENG_START_DOX The display timing standard. @ENG_END_DOX"] - pub timingStandard: ADLX_TIMING_STANDARD, - #[doc = "< @ENG_START_DOX The speed at which pixels are transmitted within on a refresh cycle. @ENG_END_DOX"] - pub GPixelClock: adlx_long, - #[doc = "< @ENG_START_DOX The detailed timing information. @ENG_END_DOX"] - pub detailedTiming: ADLX_TimingInfo, -} -#[test] -fn bindgen_test_layout_ADLX_CustomResolution() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 68usize, - concat!("Size of: ", stringify!(ADLX_CustomResolution)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_CustomResolution)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).resWidth) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(resWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).resHeight) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(resHeight) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).refreshRate) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(refreshRate) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).presentation) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(presentation) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).timingStandard) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(timingStandard) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPixelClock) as usize - ptr as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(GPixelClock) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).detailedTiming) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(detailedTiming) - ) - ); -} -#[doc = " @struct ADLX_IntRange\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on the integer range.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_IntRange { - #[doc = "< @ENG_START_DOX The minimum integer value. @ENG_END_DOX"] - pub minValue: adlx_int, - #[doc = "< @ENG_START_DOX The maximum integer value. @ENG_END_DOX"] - pub maxValue: adlx_int, - #[doc = "< @ENG_START_DOX The accepted integer range step. @ENG_END_DOX"] - pub step: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_IntRange() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(ADLX_IntRange)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_IntRange)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).minValue) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(minValue) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).maxValue) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(maxValue) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(step) - ) - ); -} -#[doc = " @struct ADLX_UINT16_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains UINT16 RGB information.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_UINT16_RGB { - #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] - pub red: adlx_uint16, - #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] - pub green: adlx_uint16, - #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] - pub blue: adlx_uint16, -} -#[test] -fn bindgen_test_layout_ADLX_UINT16_RGB() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 6usize, - concat!("Size of: ", stringify!(ADLX_UINT16_RGB)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_UINT16_RGB)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(red) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(green) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(blue) - ) - ); -} -#[doc = " @struct ADLX_3DLUT_Data\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains custom 3D LUT information.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_3DLUT_Data { - #[doc = "< @ENG_START_DOX The data is a buffer containing 17*17*17 triplets of @ref ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values.\nFor 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit. @ENG_END_DOX"] - pub data: [ADLX_UINT16_RGB; 4913usize], -} -#[test] -fn bindgen_test_layout_ADLX_3DLUT_Data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 29478usize, - concat!("Size of: ", stringify!(ADLX_3DLUT_Data)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_3DLUT_Data)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_3DLUT_Data), - "::", - stringify!(data) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsSupportVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUClockSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVRAMClockSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUHotspotTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUPower: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUTotalBoardPower: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUFanSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVoltage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetGPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUClockSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVRAMClockSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUHotspotTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUPowerRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUFanSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVoltageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUTotalBoardPowerRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUIntakeTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUIntakeTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsSupportVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 200usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsSupportVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsSupportVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUClockSpeed) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUClockSpeed) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAMClockSpeed) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVRAMClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUTemperature) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUTemperature) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUHotspotTemperature) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUHotspotTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUPower) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUPower) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUTotalBoardPower) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUTotalBoardPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUFanSpeed) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUFanSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVoltage) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVoltage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUUsageRange) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUClockSpeedRange) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUClockSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMClockSpeedRange) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVRAMClockSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTemperatureRange) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUTemperatureRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetGPUHotspotTemperatureRange) as usize - ptr as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUHotspotTemperatureRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUPowerRange) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUPowerRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUFanSpeedRange) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUFanSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMRange) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVoltageRange) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVoltageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTotalBoardPowerRange) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUTotalBoardPowerRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetGPUIntakeTemperatureRange) as usize - ptr as usize - }, - 184usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUIntakeTemperatureRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUIntakeTemperature) as usize - ptr as usize - }, - 192usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUIntakeTemperature) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsSupport { - pub pVtbl: *const IADLXGPUMetricsSupportVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsSupport() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsSupport)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsSupport)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupport), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupportVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedCPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSystemRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSmartShift: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetCPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSystemRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSmartShiftRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupportVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 72usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupportVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupportVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedCPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedSmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetCPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetSystemRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetSmartShiftRange) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport { - pub pVtbl: *const IADLXSystemMetricsSupportVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub GPUUsage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUClockSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVRAMClockSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUHotspotTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUPower: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUTotalBoardPower: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUFanSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVoltage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUIntakeTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 120usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUClockSpeed) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAMClockSpeed) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVRAMClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUTemperature) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUHotspotTemperature) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUHotspotTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUPower) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUTotalBoardPower) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUTotalBoardPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUFanSpeed) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUFanSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAM) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVoltage) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVoltage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUIntakeTemperature) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUIntakeTemperature) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetrics { - pub pVtbl: *const IADLXGPUMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsListVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: - ::std::option::Option adlx_uint>, - pub Empty: - ::std::option::Option adlx_bool>, - pub Begin: - ::std::option::Option adlx_uint>, - pub End: - ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: - ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_GPUMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_GPUMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - pItem: *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_GPUMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(At_GPUMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Add_Back_GPUMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsList { - pub pVtbl: *const IADLXGPUMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub CPUUsage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub SystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub SmartShift: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(CPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(SystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(SmartShift) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics { - pub pVtbl: *const IADLXSystemMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsListVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub Empty: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_bool, - >, - pub Begin: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub End: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, - >, - pub Remove_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, - >, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_SystemMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_SystemMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - pItem: *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_SystemMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(At_SystemMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_SystemMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Add_Back_SystemMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsList { - pub pVtbl: *const IADLXSystemMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPS, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPS, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub FPS: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPS, data: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXFPSVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(IADLXFPSVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).FPS) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(FPS) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPS { - pub pVtbl: *const IADLXFPSVtbl, -} -#[test] -fn bindgen_test_layout_IADLXFPS() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXFPS)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPS)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPS), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_bool>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, - pub At_FPSList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - location: adlx_uint, - ppItem: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub Add_Back_FPSList: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXFPS) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXFPSListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXFPSListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_FPSList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(At_FPSList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_FPSList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Add_Back_FPSList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSList { - pub pVtbl: *const IADLXFPSListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXFPSList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXFPSList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXAllMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub GetSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - metrics: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub GetFPS: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - metrics: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub GetGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - pGPU: *mut IADLXGPU, - metrics: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(IADLXAllMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetrics) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetSystemMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetFPS) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetFPS) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetrics) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetGPUMetrics) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetrics { - pub pVtbl: *const IADLXAllMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXAllMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXAllMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsListVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: - ::std::option::Option adlx_uint>, - pub Empty: - ::std::option::Option adlx_bool>, - pub Begin: - ::std::option::Option adlx_uint>, - pub End: - ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: - ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_AllMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_AllMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - pItem: *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXAllMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_AllMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(At_AllMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_AllMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Add_Back_AllMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsList { - pub pVtbl: *const IADLXAllMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXAllMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPerformanceMonitoringServicesVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetSamplingIntervalRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - range: *mut ADLX_IntRange, - ) -> ADLX_RESULT, - >, - pub SetSamplingInterval: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - intervalMs: adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSamplingInterval: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - intervalMs: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetMaxPerformanceMetricsHistorySizeRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - range: *mut ADLX_IntRange, - ) -> ADLX_RESULT, - >, - pub SetMaxPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: adlx_int, - ) -> ADLX_RESULT, - >, - pub GetMaxPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub ClearPerformanceMetricsHistory: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub GetCurrentPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub StartPerformanceMetricsTracking: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub StopPerformanceMetricsTracking: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub GetAllMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXAllMetricsList, - ) -> ADLX_RESULT, - >, - pub GetGPUMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXGPUMetricsList, - ) -> ADLX_RESULT, - >, - pub GetSystemMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXSystemMetricsList, - ) -> ADLX_RESULT, - >, - pub GetFPSHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXFPSList, - ) -> ADLX_RESULT, - >, - pub GetCurrentAllMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - ppMetrics: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentFPS: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub GetSupportedGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - ppMetricsSupported: *mut *mut IADLXGPUMetricsSupport, - ) -> ADLX_RESULT, - >, - pub GetSupportedSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetricsSupported: *mut *mut IADLXSystemMetricsSupport, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXPerformanceMonitoringServicesVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 184usize, - concat!( - "Size of: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(IADLXPerformanceMonitoringServicesVtbl) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingIntervalRange) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSamplingIntervalRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SetSamplingInterval) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(SetSamplingInterval) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingInterval) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSamplingInterval) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySizeRange) as usize - - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetMaxPerformanceMetricsHistorySizeRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).SetMaxPerformanceMetricsHistorySize) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(SetMaxPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySize) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetMaxPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).ClearPerformanceMetricsHistory) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(ClearPerformanceMetricsHistory) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetCurrentPerformanceMetricsHistorySize) as usize - - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).StartPerformanceMetricsTracking) as usize - ptr as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(StartPerformanceMetricsTracking) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).StopPerformanceMetricsTracking) as usize - ptr as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(StopPerformanceMetricsTracking) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetAllMetricsHistory) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetAllMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetricsHistory) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetGPUMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetricsHistory) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSystemMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetFPSHistory) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetFPSHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentAllMetrics) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentAllMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentGPUMetrics) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentGPUMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentSystemMetrics) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentSystemMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentFPS) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentFPS) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedGPUMetrics) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSupportedGPUMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedSystemMetrics) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSupportedSystemMetrics) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPerformanceMonitoringServices { - pub pVtbl: *const IADLXPerformanceMonitoringServicesVtbl, -} -#[test] -fn bindgen_test_layout_IADLXPerformanceMonitoringServices() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXPerformanceMonitoringServices)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(IADLXPerformanceMonitoringServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServices), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport1Vtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedCPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSystemRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSmartShift: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetCPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSystemRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSmartShiftRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub IsSupportedPowerDistribution: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 80usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedCPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedSmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetCPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetSystemRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetSmartShiftRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedPowerDistribution) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedPowerDistribution) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport1 { - pub pVtbl: *const IADLXSystemMetricsSupport1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport1() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics1Vtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub CPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - data: *mut adlx_double, - ) -> ADLX_RESULT, - >, - pub SystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub SmartShift: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub PowerDistribution: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - apuShiftValue: *mut adlx_int, - gpuShiftValue: *mut adlx_int, - apuShiftLimit: *mut adlx_int, - gpuShiftLimit: *mut adlx_int, - totalShiftLimit: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(CPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(SystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(SmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PowerDistribution) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(PowerDistribution) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics1 { - pub pVtbl: *const IADLXSystemMetrics1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1), - "::", - stringify!(pVtbl) - ) - ); -} diff --git a/api-gen/src/adlx/wrapper.h b/api-gen/src/adlx/wrapper.h deleted file mode 100644 index a5a2336..0000000 --- a/api-gen/src/adlx/wrapper.h +++ /dev/null @@ -1,6 +0,0 @@ -#include "../../../vendor/adlx/SDK/Include/ADLX.h" - -// Interfaces to generate bindings for -#include "../../../vendor/adlx/SDK/Include/ISystem1.h" -#include "../../../vendor/adlx/SDK/Include/IPerformanceMonitoring.h" -#include "../../../vendor/adlx/SDK/Include/IPerformanceMonitoring1.h" diff --git a/api-gen/src/main.rs b/api-gen/src/main.rs deleted file mode 100644 index 0d5047c..0000000 --- a/api-gen/src/main.rs +++ /dev/null @@ -1,17 +0,0 @@ -fn main() { - use std::path::PathBuf; - - println!("cargo:rerun-if-changed=api-gen/src/adlx/wrapper.h"); - - let bindings = bindgen::Builder::default() - .header("api-gen/src/adlx/wrapper.h") - .allowlist_item("I?ADLX\\w+") - .generate() - .expect("failed to generate adlx bindings"); - - // Write the bindings to the $OUT_DIR/bindings.rs file. - let out_path = PathBuf::from("api-gen/src/adlx/"); - bindings - .write_to_file(out_path.join("bindings.rs")) - .expect("Couldn't write bindings!"); -} diff --git a/api_gen/Cargo.toml b/api_gen/Cargo.toml new file mode 100644 index 0000000..67d893c --- /dev/null +++ b/api_gen/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "api_gen" +version = "0.0.0" +edition = "2021" +publish = false + +[dependencies] +bindgen = "0.69.2" diff --git a/api_gen/src/main.rs b/api_gen/src/main.rs new file mode 100644 index 0000000..462c79c --- /dev/null +++ b/api_gen/src/main.rs @@ -0,0 +1,21 @@ +use std::path::Path; + +fn main() { + let crate_root = Path::new(env!("CARGO_MANIFEST_DIR")); + + let header_path = crate_root.join("wrapper.h"); + + let bindings = bindgen::Builder::default() + .header(header_path.to_string_lossy()) + .clang_arg(format!( + "-I{}", + crate_root.join("../vendor/ADLX/SDK/Include/").display() + )) + .allowlist_item("I?ADLX\\w+") + .generate() + .expect("failed to generate adlx bindings"); + + bindings + .write_to_file(crate_root.join("../src/ffi.rs")) + .expect("Couldn't write bindings!"); +} diff --git a/api_gen/wrapper.h b/api_gen/wrapper.h new file mode 100644 index 0000000..00aa381 --- /dev/null +++ b/api_gen/wrapper.h @@ -0,0 +1,6 @@ +#include + +// Interfaces to generate bindings for +#include +#include +#include diff --git a/src/bindings.rs b/src/bindings.rs deleted file mode 100644 index 4c3a58b..0000000 --- a/src/bindings.rs +++ /dev/null @@ -1,6236 +0,0 @@ -/* automatically generated by rust-bindgen 0.69.2 */ - -pub const ADLX_VER_MAJOR: u32 = 1; -pub const ADLX_VER_MINOR: u32 = 2; -pub const ADLX_VER_RELEASE: u32 = 0; -pub const ADLX_VER_BUILD_NUM: u32 = 72; -pub const ADLX_DLL_NAMEW: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_DLL_NAMEA: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_DLL_NAME: &[u8; 14] = b"amdadlx64.dll\0"; -pub const ADLX_QUERY_FULL_VERSION_FUNCTION_NAME: &[u8; 21] = b"ADLXQueryFullVersion\0"; -pub const ADLX_QUERY_VERSION_FUNCTION_NAME: &[u8; 17] = b"ADLXQueryVersion\0"; -pub const ADLX_INIT_FUNCTION_NAME: &[u8; 15] = b"ADLXInitialize\0"; -pub const ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME: &[u8; 37] = - b"ADLXInitializeWithIncompatibleDriver\0"; -pub const ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME: &[u8; 28] = b"ADLXInitializeWithCallerAdl\0"; -pub const ADLX_TERMINATE_FUNCTION_NAME: &[u8; 14] = b"ADLXTerminate\0"; -pub type wchar_t = ::std::os::raw::c_ushort; -pub type adlx_int64 = i64; -pub type adlx_int32 = i32; -pub type adlx_uint64 = u64; -pub type adlx_uint32 = u32; -pub type adlx_uint16 = u16; -pub type adlx_uint8 = u8; -pub type adlx_handle = *mut ::std::os::raw::c_void; -pub type adlx_double = f64; -pub type adlx_long = ::std::os::raw::c_long; -pub type adlx_int = adlx_int32; -pub type adlx_uint = adlx_uint32; -pub type adlx_bool = adlx_uint8; -#[doc = "< @ENG_START_DOX This result indicates success. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_OK: ADLX_RESULT = 0; -#[doc = "< @ENG_START_DOX This result indicates that the asked action is already enabled. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ALREADY_ENABLED: ADLX_RESULT = 1; -#[doc = "< @ENG_START_DOX This result indicates that ADLX has a unspecified type of initialization. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ALREADY_INITIALIZED: ADLX_RESULT = 2; -#[doc = "< @ENG_START_DOX This result indicates an unspecified failure. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_FAIL: ADLX_RESULT = 3; -#[doc = "< @ENG_START_DOX This result indicates that the arguments are invalid. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_INVALID_ARGS: ADLX_RESULT = 4; -#[doc = "< @ENG_START_DOX This result indicates that the asked version is incompatible with the current version. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_BAD_VER: ADLX_RESULT = 5; -#[doc = "< @ENG_START_DOX This result indicates that an unknown interface was asked. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_UNKNOWN_INTERFACE: ADLX_RESULT = 6; -#[doc = "< @ENG_START_DOX This result indicates that the calls were made in an interface after ADLX was terminated. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_TERMINATED: ADLX_RESULT = 7; -#[doc = "< @ENG_START_DOX This result indicates that the ADL initialization failed. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ADL_INIT_ERROR: ADLX_RESULT = 8; -#[doc = "< @ENG_START_DOX This result indicates that the item is not found. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_NOT_FOUND: ADLX_RESULT = 9; -#[doc = "< @ENG_START_DOX This result indicates that the method was called into an invalid object. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_INVALID_OBJECT: ADLX_RESULT = 10; -#[doc = "< @ENG_START_DOX This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_ORPHAN_OBJECTS: ADLX_RESULT = 11; -#[doc = "< @ENG_START_DOX This result indicates that the asked feature is not supported. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_NOT_SUPPORTED: ADLX_RESULT = 12; -#[doc = "< @ENG_START_DOX This result indicates a failure due to an operation currently in progress. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_PENDING_OPERATION: ADLX_RESULT = 13; -#[doc = "< @ENG_START_DOX This result indicates that the GPU is inactive. @ENG_END_DOX"] -pub const ADLX_RESULT_ADLX_GPU_INACTIVE: ADLX_RESULT = 14; -#[doc = " @enum ADLX_RESULT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the result returned from an ADLX function or from an ADLX method.\n @ENG_END_DOX"] -pub type ADLX_RESULT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX This is not a Hybrid Graphics system. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_NONE: ADLX_HG_TYPE = 0; -#[doc = "< @ENG_START_DOX This is an AMD integrated GPU. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_AMD: ADLX_HG_TYPE = 1; -#[doc = "< @ENG_START_DOX This is a non-AMD integrated GPU. @ENG_END_DOX"] -pub const ADLX_HG_TYPE_OTHER: ADLX_HG_TYPE = 2; -#[doc = " @enum ADLX_HG_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the type of Hybrid Graphic.\n @ENG_END_DOX"] -pub type ADLX_HG_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The ASIC family type is not defined. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_UNDEFINED: ADLX_ASIC_FAMILY_TYPE = 0; -#[doc = "< @ENG_START_DOX The ASIC family type is discrete. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_RADEON: ADLX_ASIC_FAMILY_TYPE = 1; -#[doc = "< @ENG_START_DOX The ASIC family type is Firepro. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREPRO: ADLX_ASIC_FAMILY_TYPE = 2; -#[doc = "< @ENG_START_DOX The ASIC family type is FireMV. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREMV: ADLX_ASIC_FAMILY_TYPE = 3; -#[doc = "< @ENG_START_DOX The ASIC family type is FireStream. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIRESTREAM: ADLX_ASIC_FAMILY_TYPE = 4; -#[doc = "< @ENG_START_DOX The ASIC family type is Fusion. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FUSION: ADLX_ASIC_FAMILY_TYPE = 5; -#[doc = "< @ENG_START_DOX The ASIC family type is Embedded. @ENG_END_DOX"] -pub const ADLX_ASIC_FAMILY_TYPE_ASIC_EMBEDDED: ADLX_ASIC_FAMILY_TYPE = 6; -#[doc = " @enum ADLX_ASIC_FAMILY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the ASIC family type.\n @ENG_END_DOX"] -pub type ADLX_ASIC_FAMILY_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The PCI bus type is not defined. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_UNDEFINED: ADLX_PCI_BUS_TYPE = 0; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCI: ADLX_PCI_BUS_TYPE = 1; -#[doc = "< @ENG_START_DOX The PCI bus type is AGP bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_AGP: ADLX_PCI_BUS_TYPE = 2; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE: ADLX_PCI_BUS_TYPE = 3; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 2nd generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_2_0: ADLX_PCI_BUS_TYPE = 4; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 3rd generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_3_0: ADLX_PCI_BUS_TYPE = 5; -#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 4th generation bus. @ENG_END_DOX"] -pub const ADLX_PCI_BUS_TYPE_PCIE_4_0: ADLX_PCI_BUS_TYPE = 6; -#[doc = " @enum ADLX_PCI_BUS_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the PCI bus type.\n @ENG_END_DOX"] -pub type ADLX_PCI_BUS_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The DP link rate is unknown. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UNKNOWN: ADLX_DP_LINK_RATE = 0; -#[doc = "< @ENG_START_DOX The DP link rate is 1.62 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_RBR: ADLX_DP_LINK_RATE = 1; -#[doc = "< @ENG_START_DOX The DP link rate is 2.16 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_16GBPS: ADLX_DP_LINK_RATE = 2; -#[doc = "< @ENG_START_DOX The DP link rate is 2.43 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_43GBPS: ADLX_DP_LINK_RATE = 3; -#[doc = "< @ENG_START_DOX The DP link rate is 2.70 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR: ADLX_DP_LINK_RATE = 4; -#[doc = "< @ENG_START_DOX The DP link rate is 4.32 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_4_32GBPS: ADLX_DP_LINK_RATE = 5; -#[doc = "< @ENG_START_DOX The DP link rate is 5.40 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR2: ADLX_DP_LINK_RATE = 6; -#[doc = "< @ENG_START_DOX The DP link rate is 8.10 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR3: ADLX_DP_LINK_RATE = 7; -#[doc = "< @ENG_START_DOX The DP link rate is 10 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR10: ADLX_DP_LINK_RATE = 8; -#[doc = "< @ENG_START_DOX The DP link rate is 13.5 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR13D5: ADLX_DP_LINK_RATE = 9; -#[doc = "< @ENG_START_DOX The DP link rate is 20 Gbps/Lane. @ENG_END_DOX"] -pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR20: ADLX_DP_LINK_RATE = 10; -#[doc = " @enum ADLX_DP_LINK_RATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the DP link rate.\n @ENG_END_DOX"] -pub type ADLX_DP_LINK_RATE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The GPU type is unknown. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_UNDEFINED: ADLX_GPU_TYPE = 0; -#[doc = "< @ENG_START_DOX The GPU type is an integrated GPU. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_INTEGRATED: ADLX_GPU_TYPE = 1; -#[doc = "< @ENG_START_DOX The GPU type is a discrete GPU. @ENG_END_DOX"] -pub const ADLX_GPU_TYPE_GPUTYPE_DISCRETE: ADLX_GPU_TYPE = 2; -#[doc = " @enum ADLX_GPU_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the GPU type.\n @ENG_END_DOX"] -pub type ADLX_GPU_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display connector type is unknown. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_UNKNOWN: ADLX_DISPLAY_CONNECTOR_TYPE = 0; -#[doc = "< @ENG_START_DOX The display connector type is VGA. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_VGA: ADLX_DISPLAY_CONNECTOR_TYPE = 1; -#[doc = "< @ENG_START_DOX The display connector type is DVI-D. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_D: ADLX_DISPLAY_CONNECTOR_TYPE = 2; -#[doc = "< @ENG_START_DOX The display connector type is DVI-I. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_I: ADLX_DISPLAY_CONNECTOR_TYPE = 3; -#[doc = "< @ENG_START_DOX The display connector type is NTSC. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NTSC: ADLX_DISPLAY_CONNECTOR_TYPE = - 4; -#[doc = "< @ENG_START_DOX The display connector type is JPN. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_JPN: ADLX_DISPLAY_CONNECTOR_TYPE = 5; -#[doc = "< @ENG_START_DOX The display connector type is NONI2C-JPN. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN: - ADLX_DISPLAY_CONNECTOR_TYPE = 6; -#[doc = "< @ENG_START_DOX The display connector type is NONI2C-NTSC. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC: - ADLX_DISPLAY_CONNECTOR_TYPE = 7; -#[doc = "< @ENG_START_DOX The display connector type is PROPRIETARY. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_PROPRIETARY: ADLX_DISPLAY_CONNECTOR_TYPE = 8; -#[doc = "< @ENG_START_DOX The display connector type is HDMI A. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_A: ADLX_DISPLAY_CONNECTOR_TYPE = 9; -#[doc = "< @ENG_START_DOX The display connector type is HDMI B. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_B: ADLX_DISPLAY_CONNECTOR_TYPE = 10; -#[doc = "< @ENG_START_DOX The display connector type is SVIDEO. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_SVIDEO: ADLX_DISPLAY_CONNECTOR_TYPE = 11; -#[doc = "< @ENG_START_DOX The display connector type is COMPOSITE. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_COMPOSITE: ADLX_DISPLAY_CONNECTOR_TYPE = 12; -#[doc = "< @ENG_START_DOX The display connector type is RCA. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_RCA_3COMPONENT: ADLX_DISPLAY_CONNECTOR_TYPE = - 13; -#[doc = "< @ENG_START_DOX The display connector type is DISPLAYPORT. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DISPLAYPORT: ADLX_DISPLAY_CONNECTOR_TYPE = 14; -#[doc = "< @ENG_START_DOX The display connector type is EDP. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_EDP: ADLX_DISPLAY_CONNECTOR_TYPE = 15; -#[doc = "< @ENG_START_DOX The display connector type is WIRELESSDISPLAY. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_WIRELESSDISPLAY: ADLX_DISPLAY_CONNECTOR_TYPE = - 16; -#[doc = "< @ENG_START_DOX The display connector type is USB Type-C. @ENG_END_DOX"] -pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_USB_TYPE_C: ADLX_DISPLAY_CONNECTOR_TYPE = 17; -#[doc = " @enum ADLX_DISPLAY_CONNECTOR_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display connector type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_CONNECTOR_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display type is an unknown display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_UNKOWN: ADLX_DISPLAY_TYPE = 0; -#[doc = "< @ENG_START_DOX The display type is a monitor display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_MONITOR: ADLX_DISPLAY_TYPE = 1; -#[doc = "< @ENG_START_DOX The display type is a TV display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_TELEVISION: ADLX_DISPLAY_TYPE = 2; -#[doc = "< @ENG_START_DOX The display type is an LCD display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_LCD_PANEL: ADLX_DISPLAY_TYPE = 3; -#[doc = "< @ENG_START_DOX The display type is a DFP display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_DIGITAL_FLAT_PANEL: ADLX_DISPLAY_TYPE = 4; -#[doc = "< @ENG_START_DOX The display type is a component video display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_COMPONENT_VIDEO: ADLX_DISPLAY_TYPE = 5; -#[doc = "< @ENG_START_DOX The display type is a projector display. @ENG_END_DOX"] -pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_PROJECTOR: ADLX_DISPLAY_TYPE = 6; -#[doc = " @enum ADLX_DISPLAY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The display scan type is progressive mode. @ENG_END_DOX"] -pub const ADLX_DISPLAY_SCAN_TYPE_PROGRESSIVE: ADLX_DISPLAY_SCAN_TYPE = 0; -#[doc = "< @ENG_START_DOX The display scan type is interlaced mode. @ENG_END_DOX"] -pub const ADLX_DISPLAY_SCAN_TYPE_INTERLACED: ADLX_DISPLAY_SCAN_TYPE = 1; -#[doc = " @enum ADLX_DISPLAY_SCAN_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display scan type.\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_SCAN_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Positive Polarity @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_POLARITY_POSITIVE: ADLX_DISPLAY_TIMING_POLARITY = 0; -#[doc = "< @ENG_START_DOX Negative Polarity @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_POLARITY_NEGATIVE: ADLX_DISPLAY_TIMING_POLARITY = 1; -#[doc = " @enum ADLX_DISPLAY_TIMING_POLARITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing polarity\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TIMING_POLARITY = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Maximum pixel clock @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 650000; -#[doc = "< @ENG_START_DOX Minimum pixel clock @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 0; -#[doc = "< @ENG_START_DOX Maximum refresh rate @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 200; -#[doc = "< @ENG_START_DOX Minimum refresh rate @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; -#[doc = "< @ENG_START_DOX Maximum resolution @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 9999; -#[doc = "< @ENG_START_DOX Minimum resolution @ENG_END_DOX"] -pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; -#[doc = " @enum ADLX_DISPLAY_TIMING_LIMITATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing limitation\n @ENG_END_DOX"] -pub type ADLX_DISPLAY_TIMING_LIMITATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_709. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_709: ADLX_GAMUT_SPACE = 0; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_601. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_601: ADLX_GAMUT_SPACE = 1; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_ADOBE_RGB: ADLX_GAMUT_SPACE = 2; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CIE_RGB. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CIE_RGB: ADLX_GAMUT_SPACE = 3; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_2020. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_2020: ADLX_GAMUT_SPACE = 4; -#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CUSTOM. @ENG_END_DOX"] -pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CUSTOM: ADLX_GAMUT_SPACE = 5; -#[doc = " @enum ADLX_GAMUT_SPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the predefined gamut space.\n @ENG_END_DOX"] -pub type ADLX_GAMUT_SPACE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The white point setting is 5000k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_5000K: ADLX_WHITE_POINT = 0; -#[doc = "< @ENG_START_DOX The white point setting is 6500k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_6500K: ADLX_WHITE_POINT = 1; -#[doc = "< @ENG_START_DOX The white point setting is 7500k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_7500K: ADLX_WHITE_POINT = 2; -#[doc = "< @ENG_START_DOX The white point setting is 9300k. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_9300K: ADLX_WHITE_POINT = 3; -#[doc = "< @ENG_START_DOX The white point setting is customized. @ENG_END_DOX"] -pub const ADLX_WHITE_POINT_WHITE_POINT_CUSTOM: ADLX_WHITE_POINT = 4; -#[doc = " @enum ADLX_WHITE_POINT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the standardized white point setting.\n @ENG_END_DOX"] -pub type ADLX_WHITE_POINT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The gamma type is unknown. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_UNKNOW: ADLX_GAMMA_TYPE = 0; -#[doc = "< @ENG_START_DOX The gamma type is Degamma Ramp way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_DEGAMMA_RAMP: ADLX_GAMMA_TYPE = 1; -#[doc = "< @ENG_START_DOX The gamma type is Regamma Ramp way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_REGAMMA_RAMP: ADLX_GAMMA_TYPE = 2; -#[doc = "< @ENG_START_DOX The gamma type is Degamma coefficients way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_DEGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 3; -#[doc = "< @ENG_START_DOX The gamma type is Regamma coefficients way. @ENG_END_DOX"] -pub const ADLX_GAMMA_TYPE_REGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 4; -#[doc = " @enum ADLX_GAMMA_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the gamma type.\n @ENG_END_DOX"] -pub type ADLX_GAMMA_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The orientation is landscape. @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE: ADLX_ORIENTATION = 0; -#[doc = "< @ENG_START_DOX The orientation is Portrait. @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT: ADLX_ORIENTATION = 90; -#[doc = "< @ENG_START_DOX The orientation is landscape (flipped). @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE_FLIPPED: ADLX_ORIENTATION = 180; -#[doc = "< @ENG_START_DOX the orientation is Portrait (flipped). @ENG_END_DOX"] -pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT_FLIPPED: ADLX_ORIENTATION = 270; -#[doc = " @enum ADLX_ORIENTATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the orientation.\n @ENG_END_DOX"] -pub type ADLX_ORIENTATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Single display desktop: one display showing the entire desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_SINGLE: ADLX_DESKTOP_TYPE = 0; -#[doc = "< @ENG_START_DOX Duplicate desktop: two or more displays each show the entire desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_DUPLCATE: ADLX_DESKTOP_TYPE = 1; -#[doc = "< @ENG_START_DOX AMD Eyefinity desktop: two or more displays each show a portion of the desktop @ENG_END_DOX"] -pub const ADLX_DESKTOP_TYPE_DESKTOP_EYEFINITY: ADLX_DESKTOP_TYPE = 2; -#[doc = " @enum ADLX_DESKTOP_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Types of desktops in respect to display composition\n @ENG_END_DOX"] -pub type ADLX_DESKTOP_TYPE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The log captures errors, warnings and debug information. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LDEBUG: ADLX_LOG_SEVERITY = 0; -#[doc = "< @ENG_START_DOX The log captures errors and warnings. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LWARNING: ADLX_LOG_SEVERITY = 1; -#[doc = "< @ENG_START_DOX The log captures errors. @ENG_END_DOX"] -pub const ADLX_LOG_SEVERITY_LERROR: ADLX_LOG_SEVERITY = 2; -#[doc = " @enum ADLX_LOG_SEVERITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the severity level for ADLX logs.\n @ENG_END_DOX\n"] -pub type ADLX_LOG_SEVERITY = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The log destination is a file. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_LOCALFILE: ADLX_LOG_DESTINATION = 0; -#[doc = "< @ENG_START_DOX The log destination is the application debugger. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_DBGVIEW: ADLX_LOG_DESTINATION = 1; -#[doc = "< @ENG_START_DOX The log destination is the application. @ENG_END_DOX"] -pub const ADLX_LOG_DESTINATION_APPLICATION: ADLX_LOG_DESTINATION = 2; -#[doc = " @enum ADLX_LOG_DESTINATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the location of the log traces that are generated from the internal code execution of ADLX.\n @ENG_END_DOX\n"] -pub type ADLX_LOG_DESTINATION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The scale mode preserves aspect ratio. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_PRESERVE_ASPECT_RATIO: ADLX_SCALE_MODE = 0; -#[doc = "< @ENG_START_DOX The scale mode extends to full panel. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_FULL_PANEL: ADLX_SCALE_MODE = 1; -#[doc = "< @ENG_START_DOX The scale mode is centered on screen. @ENG_END_DOX"] -pub const ADLX_SCALE_MODE_CENTERED: ADLX_SCALE_MODE = 2; -#[doc = " @enum ADLX_SCALE_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the methods to stretch and position the image to fit on the display.\n @ENG_END_DOX\n"] -pub type ADLX_SCALE_MODE = ::std::os::raw::c_int; -pub const ADLX_COLOR_DEPTH_BPC_UNKNOWN: ADLX_COLOR_DEPTH = 0; -#[doc = "< @ENG_START_DOX A color component/pixel with 6 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_6: ADLX_COLOR_DEPTH = 1; -#[doc = "< @ENG_START_DOX A color component/pixel with 8 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_8: ADLX_COLOR_DEPTH = 2; -#[doc = "< @ENG_START_DOX A color component/pixel with 10 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_10: ADLX_COLOR_DEPTH = 3; -#[doc = "< @ENG_START_DOX A color component/pixel with 12 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_12: ADLX_COLOR_DEPTH = 4; -#[doc = "< @ENG_START_DOX A color component/pixel with 14 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_14: ADLX_COLOR_DEPTH = 5; -#[doc = "< @ENG_START_DOX A color component/pixel with 16 bits @ENG_END_DOX"] -pub const ADLX_COLOR_DEPTH_BPC_16: ADLX_COLOR_DEPTH = 6; -#[doc = " @enum ADLX_COLOR_DEPTH\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel.\n @ENG_END_DOX\n"] -pub type ADLX_COLOR_DEPTH = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The pixel format is unknown. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_FORMAT_UNKNOWN: ADLX_PIXEL_FORMAT = 0; -#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 PC Standard (Full RGB). @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_RGB_444_FULL: ADLX_PIXEL_FORMAT = 1; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:4:4. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_444: ADLX_PIXEL_FORMAT = 2; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:2. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_422: ADLX_PIXEL_FORMAT = 3; -#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 Studio (Limited RGB). @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_RGB_444_LIMITED: ADLX_PIXEL_FORMAT = 4; -#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:0 Pixel Format. @ENG_END_DOX"] -pub const ADLX_PIXEL_FORMAT_YCBCR_420: ADLX_PIXEL_FORMAT = 5; -#[doc = " @enum ADLX_PIXEL_FORMAT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the pixel format to encode images for the display.\n @ENG_END_DOX\n"] -pub type ADLX_PIXEL_FORMAT = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_CVT: ADLX_TIMING_STANDARD = 0; -#[doc = "< @ENG_START_DOX Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking\nperiods and allows a lower pixel clock rate and higher frame rates. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_CVT_RB: ADLX_TIMING_STANDARD = 1; -#[doc = "< @ENG_START_DOX Generalized Timing Formula(GTF). A method of generating industry standard display timings. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_GTF: ADLX_TIMING_STANDARD = 2; -#[doc = "< @ENG_START_DOX Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_DMT: ADLX_TIMING_STANDARD = 3; -#[doc = "< @ENG_START_DOX Manual control @ENG_END_DOX"] -pub const ADLX_TIMING_STANDARD_MANUAL: ADLX_TIMING_STANDARD = 4; -#[doc = " @enum ADLX_TIMING_STANDARD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Timing standard for custom resolution\n @ENG_END_DOX\n"] -pub type ADLX_TIMING_STANDARD = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX VSync is always off. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_OFF: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = - 0; -#[doc = "< @ENG_START_DOX VSync is off, unless specified by the application. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_OFF_UNLESS_APP_SPECIFIES: - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 1; -#[doc = "< @ENG_START_DOX VSync is on, unless specified by application. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ON_UNLESS_APP_SPECIFIES: - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 2; -#[doc = "< @ENG_START_DOX VSync is always on. @ENG_END_DOX"] -pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_ON: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = - 3; -#[doc = " @enum ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the modes of VSync settings.\n @ENG_END_DOX"] -pub type ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The anti-aliasing mode uses application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_USE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 0; -#[doc = "< @ENG_START_DOX The anti-aliasing mode enhances the application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_ENHANCE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 1; -#[doc = "< @ENG_START_DOX The anti-aliasing mode overrides the application settings. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_OVERRIDE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 2; -#[doc = " @enum ADLX_ANTI_ALIASING_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing mode.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The anti-aliasing level is invalid. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_INVALID: ADLX_ANTI_ALIASING_LEVEL = 0; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 2X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2X: ADLX_ANTI_ALIASING_LEVEL = 2; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 2XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2XEQ: ADLX_ANTI_ALIASING_LEVEL = 3; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 4X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4X: ADLX_ANTI_ALIASING_LEVEL = 4; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 4XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4XEQ: ADLX_ANTI_ALIASING_LEVEL = 5; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 8X. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8X: ADLX_ANTI_ALIASING_LEVEL = 8; -#[doc = "< @ENG_START_DOX The anti-aliasing level is 8XEQ. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8XEQ: ADLX_ANTI_ALIASING_LEVEL = 9; -#[doc = " @enum ADLX_ANTI_ALIASING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing level.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The multi-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 0; -#[doc = "< @ENG_START_DOX The adaptive multi-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_ADAPTIVE_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 1; -#[doc = "< @ENG_START_DOX The super-sampling method. @ENG_END_DOX"] -pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_SUPERSAMPLING: ADLX_ANTI_ALIASING_METHOD = 2; -#[doc = " @enum ADLX_ANTI_ALIASING_METHOD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing method.\n @ENG_END_DOX"] -pub type ADLX_ANTI_ALIASING_METHOD = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is invalid. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_INVALID: ADLX_ANISOTROPIC_FILTERING_LEVEL = 0; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 2X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X2: ADLX_ANISOTROPIC_FILTERING_LEVEL = 2; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 4X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X4: ADLX_ANISOTROPIC_FILTERING_LEVEL = 4; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 8X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X8: ADLX_ANISOTROPIC_FILTERING_LEVEL = 8; -#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 16X. @ENG_END_DOX"] -pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X16: ADLX_ANISOTROPIC_FILTERING_LEVEL = 16; -#[doc = " @enum ADLX_ANISOTROPIC_FILTERING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the Anisotropic Filtering level.\n @ENG_END_DOX"] -pub type ADLX_ANISOTROPIC_FILTERING_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX This mode uses AMD optimization. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_AMD_OPTIMIZED: ADLX_TESSELLATION_MODE = 0; -#[doc = "< @ENG_START_DOX This mode uses application settings. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_USE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 1; -#[doc = "< @ENG_START_DOX This mode uses override application settings. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_MODE_T_MODE_OVERRIDE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 2; -#[doc = " @enum ADLX_TESSELLATION_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation setting on a GPU.\n @ENG_END_DOX"] -pub type ADLX_TESSELLATION_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The tessellation level is Off. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_OFF: ADLX_TESSELLATION_LEVEL = 1; -#[doc = "< @ENG_START_DOX The tessellation level is 2X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_2X: ADLX_TESSELLATION_LEVEL = 2; -#[doc = "< @ENG_START_DOX The tessellation level is 4X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_4X: ADLX_TESSELLATION_LEVEL = 4; -#[doc = "< @ENG_START_DOX The tessellation level is 6X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_6X: ADLX_TESSELLATION_LEVEL = 6; -#[doc = "< @ENG_START_DOX The tessellation level is 8X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_8X: ADLX_TESSELLATION_LEVEL = 8; -#[doc = "< @ENG_START_DOX The tessellation level is 16X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_16X: ADLX_TESSELLATION_LEVEL = 16; -#[doc = "< @ENG_START_DOX The tessellation level is 32X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_32X: ADLX_TESSELLATION_LEVEL = 32; -#[doc = "< @ENG_START_DOX The tessellation level is 64X. @ENG_END_DOX"] -pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_64X: ADLX_TESSELLATION_LEVEL = 64; -#[doc = " @enum ADLX_TESSELLATION_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation level on a GPU.\n @ENG_END_DOX"] -pub type ADLX_TESSELLATION_LEVEL = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The memory timing is default. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_DEFAULT: ADLX_MEMORYTIMING_DESCRIPTION = 0; -#[doc = "< @ENG_START_DOX The memory timing is fast timing. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING: ADLX_MEMORYTIMING_DESCRIPTION = 1; -#[doc = "< @ENG_START_DOX The memory timing is fast timing level 2. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING_LEVEL_2: - ADLX_MEMORYTIMING_DESCRIPTION = 2; -#[doc = "< @ENG_START_DOX The memory timing is automatic. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_AUTOMATIC: ADLX_MEMORYTIMING_DESCRIPTION = 3; -#[doc = "< @ENG_START_DOX The memory timing is level 1. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_1: - ADLX_MEMORYTIMING_DESCRIPTION = 4; -#[doc = "< @ENG_START_DOX The memory timing is level 2. @ENG_END_DOX"] -pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_2: - ADLX_MEMORYTIMING_DESCRIPTION = 5; -#[doc = " @enum ADLX_MEMORYTIMING_DESCRIPTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the priority of the log entry.\n @ENG_END_DOX"] -pub type ADLX_MEMORYTIMING_DESCRIPTION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The I2C line is OEM. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM: ADLX_I2C_LINE = 1; -#[doc = "< @ENG_START_DOX The I2C line is Over Driver Control. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OD_CONTROL: ADLX_I2C_LINE = 2; -#[doc = "< @ENG_START_DOX The I2C line is OEM2. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM2: ADLX_I2C_LINE = 3; -#[doc = "< @ENG_START_DOX The I2C line is OEM3. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM3: ADLX_I2C_LINE = 4; -#[doc = "< @ENG_START_DOX The I2C line is OEM4. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM4: ADLX_I2C_LINE = 5; -#[doc = "< @ENG_START_DOX The I2C line is OEM5. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM5: ADLX_I2C_LINE = 6; -#[doc = "< @ENG_START_DOX The I2C line is OEM6. @ENG_END_DOX"] -pub const ADLX_I2C_LINE_I2C_LINE_OEM6: ADLX_I2C_LINE = 7; -#[doc = " @enum ADLX_I2C_LINE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the I2C line options.\n @ENG_END_DOX"] -pub type ADLX_I2C_LINE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The event has an unknown trigger. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_UNKNOWN: ADLX_SYNC_ORIGIN = 1; -#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in this application. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_INTERNAL: ADLX_SYNC_ORIGIN = 2; -#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in another application. @ENG_END_DOX"] -pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_EXTERNAL: ADLX_SYNC_ORIGIN = 3; -#[doc = " @enum ADLX_SYNC_ORIGIN\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the origin of an event.\n @ENG_END_DOX"] -pub type ADLX_SYNC_ORIGIN = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The transfer function is sRGB. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_SRGB: ADLX_3DLUT_TRANSFER_FUNCTION = 1; -#[doc = "< @ENG_START_DOX The transfer function is PQ. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_PQ: ADLX_3DLUT_TRANSFER_FUNCTION = 2; -#[doc = "< @ENG_START_DOX The transfer function is G22. @ENG_END_DOX"] -pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_G22: ADLX_3DLUT_TRANSFER_FUNCTION = 3; -#[doc = " @enum ADLX_3DLUT_TRANSFER_FUNCTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the User 3D LUT transfer function.\n @ENG_END_DOX"] -pub type ADLX_3DLUT_TRANSFER_FUNCTION = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The color space is sRGB. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_SRGB: ADLX_3DLUT_COLORSPACE = 1; -#[doc = "< @ENG_START_DOX The color space is BT2020. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_BT2020: ADLX_3DLUT_COLORSPACE = 2; -#[doc = "< @ENG_START_DOX The color space is DCIP3. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_DCIP3: ADLX_3DLUT_COLORSPACE = 3; -#[doc = "< @ENG_START_DOX The color space is native. @ENG_END_DOX"] -pub const ADLX_3DLUT_COLORSPACE_CS_NATIVE: ADLX_3DLUT_COLORSPACE = 4; -#[doc = " @enum ADLX_3DLUT_COLORSPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the custom 3D LUT color space.\n @ENG_END_DOX"] -pub type ADLX_3DLUT_COLORSPACE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The bias control type is auto. @ENG_END_DOX"] -pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_AUTO: ADLX_SSM_BIAS_MODE = 0; -#[doc = "< @ENG_START_DOX The bias control type is manual. @ENG_END_DOX"] -pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_MANUAL: ADLX_SSM_BIAS_MODE = 1; -#[doc = " @enum ADLX_SSM_BIAS_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief AMD SmartShift Max bias mode.\n @ENG_END_DOX"] -pub type ADLX_SSM_BIAS_MODE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The Antilag level is AntiLag. @ENG_END_DOX"] -pub const ADLX_ANTILAG_STATE_ANTILAG: ADLX_ANTILAG_STATE = 0; -#[doc = "< @ENG_START_DOX The Antilag level is AntiLag Next. @ENG_END_DOX"] -pub const ADLX_ANTILAG_STATE_ANTILAGNEXT: ADLX_ANTILAG_STATE = 1; -#[doc = " @enum ADLX_ANTILAG_STATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the state of Anti Lag.\n @ENG_END_DOX"] -pub type ADLX_ANTILAG_STATE = ::std::os::raw::c_int; -#[doc = "< @ENG_START_DOX The GPU is not part of an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_NONE: ADLX_MGPU_MODE = 0; -#[doc = "< @ENG_START_DOX The GPU is the primary GPU in an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_PRIMARY: ADLX_MGPU_MODE = 1; -#[doc = "< @ENG_START_DOX The GPU is the secondary GPU in an AMD MGPU configuration. @ENG_END_DOX"] -pub const ADLX_MGPU_MODE_MGPU_SECONDARY: ADLX_MGPU_MODE = 2; -#[doc = " @enum ADLX_MGPU_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the AMD MGPU mode.\n @ENG_END_DOX"] -pub type ADLX_MGPU_MODE = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXInterfaceVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXInterface, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXInterfaceVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(IADLXInterfaceVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXInterfaceVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterfaceVtbl), - "::", - stringify!(QueryInterface) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXInterface { - pub pVtbl: *const IADLXInterfaceVtbl, -} -#[test] -fn bindgen_test_layout_IADLXInterface() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXInterface)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXInterface)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXInterface), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_bool>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 88usize, - concat!("Size of: ", stringify!(IADLXListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXListVtbl), - "::", - stringify!(Add_Back) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXList { - pub pVtbl: *const IADLXListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub VendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - vendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub ASICFamilyType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, - ) -> ADLX_RESULT, - >, - pub Type: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, - >, - pub IsExternal: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, isExternal: *mut adlx_bool) -> ADLX_RESULT, - >, - pub Name: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - gpuName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DriverPath: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - driverPath: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub PNPString: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - pnpString: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub HasDesktops: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, - >, - pub TotalVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, vramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub VRAMType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - type_: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub BIOSInfo: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - partNumber: *mut *const ::std::os::raw::c_char, - version: *mut *const ::std::os::raw::c_char, - date: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DeviceId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - deviceId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub RevisionId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - revisionId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - subSystemId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemVendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU, - subSystemVendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub UniqueId: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU, uniqueId: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 152usize, - concat!("Size of: ", stringify!(IADLXGPUVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(VendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(ASICFamilyType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Type) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(IsExternal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(Name) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(DriverPath) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(PNPString) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(HasDesktops) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(TotalVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(VRAMType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(BIOSInfo) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(DeviceId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(RevisionId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(SubSystemId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(SubSystemVendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUVtbl), - "::", - stringify!(UniqueId) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU { - pub pVtbl: *const IADLXGPUVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPU() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPU)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_uint8>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, - pub At_GPUList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUList, - location: adlx_uint, - ppItem: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub Add_Back_GPUList: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXGPU) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXGPUListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_GPUList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(At_GPUList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUListVtbl), - "::", - stringify!(Add_Back_GPUList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUList { - pub pVtbl: *const IADLXGPUListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsEventListenerVtbl { - pub OnGPUListChanged: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsEventListener, - pNewGPUs: *mut IADLXGPUList, - ) -> adlx_bool, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUsEventListenerVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsEventListenerVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsEventListenerVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).OnGPUListChanged) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsEventListenerVtbl), - "::", - stringify!(OnGPUListChanged) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsEventListener { - pub pVtbl: *const IADLXGPUsEventListenerVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUsEventListener() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsEventListener)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsEventListener)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsEventListener), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsChangedHandlingVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub AddGPUsListEventListener: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - pListener: *mut IADLXGPUsEventListener, - ) -> ADLX_RESULT, - >, - pub RemoveGPUsListEventListener: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUsChangedHandling, - pListener: *mut IADLXGPUsEventListener, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUsChangedHandlingVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(IADLXGPUsChangedHandlingVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsChangedHandlingVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).AddGPUsListEventListener) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(AddGPUsListEventListener) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RemoveGPUsListEventListener) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandlingVtbl), - "::", - stringify!(RemoveGPUsListEventListener) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUsChangedHandling { - pub pVtbl: *const IADLXGPUsChangedHandlingVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUsChangedHandling() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUsChangedHandling)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUsChangedHandling)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUsChangedHandling), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDesktopServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDisplayServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXLog { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLX3DSettingsServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUTuningServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXI2C { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemVtbl { - pub GetHybridGraphicsType: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystem, hgType: *mut ADLX_HG_TYPE) -> ADLX_RESULT, - >, - pub GetGPUs: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUs: *mut *mut IADLXGPUList, - ) -> ADLX_RESULT, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetDisplaysServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppDispServices: *mut *mut IADLXDisplayServices, - ) -> ADLX_RESULT, - >, - pub GetDesktopsServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppDeskServices: *mut *mut IADLXDesktopServices, - ) -> ADLX_RESULT, - >, - pub GetGPUsChangedHandling: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUsChangedHandling: *mut *mut IADLXGPUsChangedHandling, - ) -> ADLX_RESULT, - >, - pub EnableLog: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - mode: ADLX_LOG_DESTINATION, - severity: ADLX_LOG_SEVERITY, - pLogger: *mut IADLXLog, - fileName: *const wchar_t, - ) -> ADLX_RESULT, - >, - pub Get3DSettingsServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - pp3DSettingsServices: *mut *mut IADLX3DSettingsServices, - ) -> ADLX_RESULT, - >, - pub GetGPUTuningServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppGPUTuningServices: *mut *mut IADLXGPUTuningServices, - ) -> ADLX_RESULT, - >, - pub GetPerformanceMonitoringServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - ppPerformanceMonitoringServices: *mut *mut IADLXPerformanceMonitoringServices, - ) -> ADLX_RESULT, - >, - pub TotalSystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystem, ramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub GetI2C: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem, - pGPU: *mut IADLXGPU, - ppI2C: *mut *mut IADLXI2C, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 96usize, - concat!("Size of: ", stringify!(IADLXSystemVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetHybridGraphicsType) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetHybridGraphicsType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUs) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUs) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetDisplaysServices) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetDisplaysServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetDesktopsServices) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetDesktopsServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUsChangedHandling) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUsChangedHandling) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).EnableLog) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(EnableLog) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Get3DSettingsServices) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(Get3DSettingsServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTuningServices) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetGPUTuningServices) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetPerformanceMonitoringServices) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetPerformanceMonitoringServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalSystemRAM) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(TotalSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetI2C) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemVtbl), - "::", - stringify!(GetI2C) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem { - pub pVtbl: *const IADLXSystemVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystem() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystem)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDisplay { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXDesktop { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLMappingVtbl { - pub GetADLXGPUFromBdf: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppGPU: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub GetADLXGPUFromAdlAdapterIndex: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adlAdapterIndex: adlx_int, - ppGPU: *mut *mut IADLXGPU, - ) -> ADLX_RESULT, - >, - pub BdfFromADLXGPU: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pGPU: *mut IADLXGPU, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub AdlAdapterIndexFromADLXGPU: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pGPU: *mut IADLXGPU, - adlAdapterIndex: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetADLXDisplayFromADLIds: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adapterIndex: adlx_int, - displayIndex: adlx_int, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppDisplay: *mut *mut IADLXDisplay, - ) -> ADLX_RESULT, - >, - pub ADLIdsFromADLXDisplay: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pDisplay: *mut IADLXDisplay, - adapterIndex: *mut adlx_int, - displayIndex: *mut adlx_int, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetADLXDesktopFromADLIds: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - adapterIndex: adlx_int, - VidPnSourceId: adlx_int, - bus: adlx_int, - device: adlx_int, - function: adlx_int, - ppDesktop: *mut *mut IADLXDesktop, - ) -> ADLX_RESULT, - >, - pub ADLIdsFromADLXDesktop: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLMapping, - pDesktop: *mut IADLXDesktop, - adapterIndex: *mut adlx_int, - VidPnSourceId: *mut adlx_int, - bus: *mut adlx_int, - device: *mut adlx_int, - function: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLMappingVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(IADLMappingVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLMappingVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXGPUFromBdf) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXGPUFromBdf) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetADLXGPUFromAdlAdapterIndex) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXGPUFromAdlAdapterIndex) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BdfFromADLXGPU) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(BdfFromADLXGPU) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).AdlAdapterIndexFromADLXGPU) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(AdlAdapterIndexFromADLXGPU) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDisplayFromADLIds) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXDisplayFromADLIds) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDisplay) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(ADLIdsFromADLXDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDesktopFromADLIds) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(GetADLXDesktopFromADLIds) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDesktop) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLMappingVtbl), - "::", - stringify!(ADLIdsFromADLXDesktop) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLMapping { - pub pVtbl: *const IADLMappingVtbl, -} -#[test] -fn bindgen_test_layout_IADLMapping() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLMapping)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLMapping)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLMapping), - "::", - stringify!(pVtbl) - ) - ); -} -pub type ADLXQueryFullVersion_Fn = - ::std::option::Option ADLX_RESULT>; -pub type ADLXQueryVersion_Fn = ::std::option::Option< - unsafe extern "C" fn(version: *mut *const ::std::os::raw::c_char) -> ADLX_RESULT, ->; -#[doc = " @typedef ADLX_ADL_Main_Memory_Free\n @ingroup ADLXDefs\n @ENG_START_DOX The typedef of ADLX_ADL_Main_Memory_Free function. @ENG_END_DOX\n @definition\n @codeStart\n typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer)\n @codeEnd"] -pub type ADLX_ADL_Main_Memory_Free = - ::std::option::Option; -pub type ADLXInitialize_Fn = ::std::option::Option< - unsafe extern "C" fn(version: adlx_uint64, ppSystem: *mut *mut IADLXSystem) -> ADLX_RESULT, ->; -pub type ADLXInitializeWithCallerAdl_Fn = ::std::option::Option< - unsafe extern "C" fn( - version: adlx_uint64, - ppSystem: *mut *mut IADLXSystem, - ppAdlMapping: *mut *mut IADLMapping, - adlContext: adlx_handle, - adlMainMemoryFree: ADLX_ADL_Main_Memory_Free, - ) -> ADLX_RESULT, ->; -pub type ADLXTerminate_Fn = ::std::option::Option ADLX_RESULT>; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU1Vtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub VendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - vendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub ASICFamilyType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, - ) -> ADLX_RESULT, - >, - pub Type: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, - >, - pub IsExternal: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, isExternal: *mut adlx_bool) -> ADLX_RESULT, - >, - pub Name: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - gpuName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DriverPath: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - driverPath: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub PNPString: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - pnpString: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub HasDesktops: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, - >, - pub TotalVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, vramMB: *mut adlx_uint) -> ADLX_RESULT, - >, - pub VRAMType: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - type_: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub BIOSInfo: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - partNumber: *mut *const ::std::os::raw::c_char, - version: *mut *const ::std::os::raw::c_char, - date: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub DeviceId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - deviceId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub RevisionId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - revisionId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - subSystemId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub SubSystemVendorId: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - subSystemVendorId: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, - pub UniqueId: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, uniqueId: *mut adlx_int) -> ADLX_RESULT, - >, - pub PCIBusType: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, busType: *mut ADLX_PCI_BUS_TYPE) -> ADLX_RESULT, - >, - pub PCIBusLaneWidth: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, laneWidth: *mut adlx_uint) -> ADLX_RESULT, - >, - pub MultiGPUMode: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPU1, mode: *mut ADLX_MGPU_MODE) -> ADLX_RESULT, - >, - pub ProductName: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPU1, - productName: *mut *const ::std::os::raw::c_char, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPU1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 184usize, - concat!("Size of: ", stringify!(IADLXGPU1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(VendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(ASICFamilyType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Type) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(IsExternal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(Name) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(DriverPath) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PNPString) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(HasDesktops) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(TotalVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(VRAMType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(BIOSInfo) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(DeviceId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(RevisionId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(SubSystemId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(SubSystemVendorId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(UniqueId) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PCIBusType) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PCIBusType) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PCIBusLaneWidth) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(PCIBusLaneWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).MultiGPUMode) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(MultiGPUMode) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).ProductName) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1Vtbl), - "::", - stringify!(ProductName) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPU1 { - pub pVtbl: *const IADLXGPU1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPU1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPU1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPU1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPU1), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPowerTuningServices { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem1Vtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetPowerTuningServices: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystem1, - ppPowerTuningServices: *mut *mut IADLXPowerTuningServices, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystem1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(IADLXSystem1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetPowerTuningServices) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1Vtbl), - "::", - stringify!(GetPowerTuningServices) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystem1 { - pub pVtbl: *const IADLXSystem1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystem1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystem1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystem1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystem1), - "::", - stringify!(pVtbl) - ) - ); -} -#[doc = " @struct ADLX_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains RGB information.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_RGB { - #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] - pub gamutR: adlx_double, - #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] - pub gamutG: adlx_double, - #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] - pub gamutB: adlx_double, -} -#[test] -fn bindgen_test_layout_ADLX_RGB() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ADLX_RGB)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(ADLX_RGB)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutR) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutR) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutG) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutG) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamutB) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RGB), - "::", - stringify!(gamutB) - ) - ); -} -#[doc = " @struct ADLX_Point\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_Point { - #[doc = "< @ENG_START_DOX The x coordinate. @ENG_END_DOX"] - pub x: adlx_int, - #[doc = "< @ENG_START_DOX The y coordinate. @ENG_END_DOX"] - pub y: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_Point() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(ADLX_Point)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_Point)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_Point), - "::", - stringify!(x) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_Point), - "::", - stringify!(y) - ) - ); -} -#[doc = " @struct ADLX_GamutColorSpace\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported gamut coordinates\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_GamutColorSpace { - #[doc = "< @ENG_START_DOX The red channel chromaticity coordinate. @ENG_END_DOX"] - pub red: ADLX_Point, - #[doc = "< @ENG_START_DOX The green channel chromaticity coordinate. @ENG_END_DOX"] - pub green: ADLX_Point, - #[doc = "< @ENG_START_DOX The blue channel chromaticity coordinate. @ENG_END_DOX"] - pub blue: ADLX_Point, -} -#[test] -fn bindgen_test_layout_ADLX_GamutColorSpace() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(ADLX_GamutColorSpace)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_GamutColorSpace)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(red) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(green) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GamutColorSpace), - "::", - stringify!(blue) - ) - ); -} -#[doc = " @struct ADLX_GammaRamp\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains the display gamma ramp used to program the re-gamma LUT.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_GammaRamp { - #[doc = "< @ENG_START_DOX The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values.\nEach triplet consists of red, green and blue values. @ENG_END_DOX"] - pub gamma: [adlx_uint16; 768usize], -} -#[test] -fn bindgen_test_layout_ADLX_GammaRamp() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 1536usize, - concat!("Size of: ", stringify!(ADLX_GammaRamp)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_GammaRamp)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_GammaRamp), - "::", - stringify!(gamma) - ) - ); -} -#[doc = " @struct ADLX_RegammaCoeff\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_RegammaCoeff { - #[doc = "< @ENG_START_DOX The a0 gamma coefficient. @ENG_END_DOX"] - pub coefficientA0: adlx_int, - #[doc = "< @ENG_START_DOX The a1 gamma coefficient. @ENG_END_DOX"] - pub coefficientA1: adlx_int, - #[doc = "< @ENG_START_DOX The a2 gamma coefficient. @ENG_END_DOX"] - pub coefficientA2: adlx_int, - #[doc = "< @ENG_START_DOX The a3 gamma coefficient. @ENG_END_DOX"] - pub coefficientA3: adlx_int, - #[doc = "< @ENG_START_DOX The regamma divider. @ENG_END_DOX"] - pub gamma: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_RegammaCoeff() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 20usize, - concat!("Size of: ", stringify!(ADLX_RegammaCoeff)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_RegammaCoeff)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA0) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA0) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA1) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA1) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA2) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA2) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).coefficientA3) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(coefficientA3) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_RegammaCoeff), - "::", - stringify!(gamma) - ) - ); -} -#[doc = " @struct ADLX_TimingInfo\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains display timing information.\n @ENG_END_DOX"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_TimingInfo { - #[doc = "< @ENG_START_DOX The detailed timing flag. @ENG_END_DOX"] - pub timingFlags: adlx_int, - #[doc = "< @ENG_START_DOX The total number of pixels that compose all scan lines during a horizontal sync. @ENG_END_DOX"] - pub hTotal: adlx_int, - #[doc = "< @ENG_START_DOX The total number of vertical pixels permitted/processed per sync. @ENG_END_DOX"] - pub vTotal: adlx_int, - #[doc = "< @ENG_START_DOX The number of horizontal pixels within the active area. @ENG_END_DOX"] - pub hDisplay: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels within the active display area. @ENG_END_DOX"] - pub vDisplay: adlx_int, - #[doc = "< @ENG_START_DOX The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image. @ENG_END_DOX"] - pub hFrontPorch: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image. @ENG_END_DOX"] - pub vFrontPorch: adlx_int, - #[doc = "< @ENG_START_DOX The number of pixels that compose a scan line during a horizontal sync. @ENG_END_DOX"] - pub hSyncWidth: adlx_int, - #[doc = "< @ENG_START_DOX The number of vertical pixels permitted/processed during a sync. @ENG_END_DOX"] - pub vSyncWidth: adlx_int, - #[doc = "< @ENG_START_DOX The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] - pub hPolarity: adlx_int, - #[doc = "< @ENG_START_DOX The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] - pub vPolarity: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_TimingInfo() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 44usize, - concat!("Size of: ", stringify!(ADLX_TimingInfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_TimingInfo)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).timingFlags) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(timingFlags) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hTotal) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hTotal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vTotal) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vTotal) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hDisplay) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vDisplay) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vDisplay) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hFrontPorch) as usize - ptr as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hFrontPorch) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vFrontPorch) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vFrontPorch) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hSyncWidth) as usize - ptr as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hSyncWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vSyncWidth) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vSyncWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).hPolarity) as usize - ptr as usize }, - 36usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(hPolarity) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).vPolarity) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(ADLX_TimingInfo), - "::", - stringify!(vPolarity) - ) - ); -} -#[doc = " @struct ADLX_CustomResolution\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information for custom resolution parameters on a given display.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_CustomResolution { - #[doc = "< @ENG_START_DOX The resolution width. @ENG_END_DOX"] - pub resWidth: adlx_int, - #[doc = "< @ENG_START_DOX The resolution height. @ENG_END_DOX"] - pub resHeight: adlx_int, - #[doc = "< @ENG_START_DOX The refresh rate. @ENG_END_DOX"] - pub refreshRate: adlx_int, - #[doc = "< @ENG_START_DOX The presentation method, 0 PROGRESSIVE; 1 INTERLACED. @ENG_END_DOX"] - pub presentation: ADLX_DISPLAY_SCAN_TYPE, - #[doc = "< @ENG_START_DOX The display timing standard. @ENG_END_DOX"] - pub timingStandard: ADLX_TIMING_STANDARD, - #[doc = "< @ENG_START_DOX The speed at which pixels are transmitted within on a refresh cycle. @ENG_END_DOX"] - pub GPixelClock: adlx_long, - #[doc = "< @ENG_START_DOX The detailed timing information. @ENG_END_DOX"] - pub detailedTiming: ADLX_TimingInfo, -} -#[test] -fn bindgen_test_layout_ADLX_CustomResolution() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 68usize, - concat!("Size of: ", stringify!(ADLX_CustomResolution)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_CustomResolution)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).resWidth) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(resWidth) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).resHeight) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(resHeight) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).refreshRate) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(refreshRate) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).presentation) as usize - ptr as usize }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(presentation) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).timingStandard) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(timingStandard) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPixelClock) as usize - ptr as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(GPixelClock) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).detailedTiming) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ADLX_CustomResolution), - "::", - stringify!(detailedTiming) - ) - ); -} -#[doc = " @struct ADLX_IntRange\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on the integer range.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_IntRange { - #[doc = "< @ENG_START_DOX The minimum integer value. @ENG_END_DOX"] - pub minValue: adlx_int, - #[doc = "< @ENG_START_DOX The maximum integer value. @ENG_END_DOX"] - pub maxValue: adlx_int, - #[doc = "< @ENG_START_DOX The accepted integer range step. @ENG_END_DOX"] - pub step: adlx_int, -} -#[test] -fn bindgen_test_layout_ADLX_IntRange() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 12usize, - concat!("Size of: ", stringify!(ADLX_IntRange)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(ADLX_IntRange)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).minValue) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(minValue) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).maxValue) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(maxValue) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ADLX_IntRange), - "::", - stringify!(step) - ) - ); -} -#[doc = " @struct ADLX_UINT16_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains UINT16 RGB information.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_UINT16_RGB { - #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] - pub red: adlx_uint16, - #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] - pub green: adlx_uint16, - #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] - pub blue: adlx_uint16, -} -#[test] -fn bindgen_test_layout_ADLX_UINT16_RGB() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 6usize, - concat!("Size of: ", stringify!(ADLX_UINT16_RGB)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_UINT16_RGB)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(red) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, - 2usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(green) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ADLX_UINT16_RGB), - "::", - stringify!(blue) - ) - ); -} -#[doc = " @struct ADLX_3DLUT_Data\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains custom 3D LUT information.\n @ENG_END_DOX\n"] -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct ADLX_3DLUT_Data { - #[doc = "< @ENG_START_DOX The data is a buffer containing 17*17*17 triplets of @ref ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values.\nFor 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit. @ENG_END_DOX"] - pub data: [ADLX_UINT16_RGB; 4913usize], -} -#[test] -fn bindgen_test_layout_ADLX_3DLUT_Data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 29478usize, - concat!("Size of: ", stringify!(ADLX_3DLUT_Data)) - ); - assert_eq!( - ::std::mem::align_of::(), - 2usize, - concat!("Alignment of ", stringify!(ADLX_3DLUT_Data)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ADLX_3DLUT_Data), - "::", - stringify!(data) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsSupportVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUClockSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVRAMClockSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUHotspotTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUPower: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUTotalBoardPower: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUFanSpeed: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUVoltage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetGPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUClockSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVRAMClockSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUHotspotTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUPowerRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUFanSpeedRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUVoltageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUTotalBoardPowerRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetGPUIntakeTemperatureRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub IsSupportedGPUIntakeTemperature: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsSupportVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 200usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsSupportVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsSupportVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUClockSpeed) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUClockSpeed) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAMClockSpeed) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVRAMClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUTemperature) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUTemperature) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUHotspotTemperature) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUHotspotTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUPower) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUPower) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUTotalBoardPower) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUTotalBoardPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUFanSpeed) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUFanSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAM) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVoltage) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUVoltage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUUsageRange) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUClockSpeedRange) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUClockSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMClockSpeedRange) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVRAMClockSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTemperatureRange) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUTemperatureRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetGPUHotspotTemperatureRange) as usize - ptr as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUHotspotTemperatureRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUPowerRange) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUPowerRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUFanSpeedRange) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUFanSpeedRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMRange) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVoltageRange) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUVoltageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTotalBoardPowerRange) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUTotalBoardPowerRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetGPUIntakeTemperatureRange) as usize - ptr as usize - }, - 184usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(GetGPUIntakeTemperatureRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedGPUIntakeTemperature) as usize - ptr as usize - }, - 192usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupportVtbl), - "::", - stringify!(IsSupportedGPUIntakeTemperature) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsSupport { - pub pVtbl: *const IADLXGPUMetricsSupportVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsSupport() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsSupport)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsSupport)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsSupport), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupportVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedCPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSystemRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSmartShift: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetCPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSystemRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSmartShiftRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupportVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 72usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupportVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupportVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedCPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(IsSupportedSmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetCPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetSystemRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupportVtbl), - "::", - stringify!(GetSmartShiftRange) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport { - pub pVtbl: *const IADLXSystemMetricsSupportVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub GPUUsage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUClockSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVRAMClockSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUHotspotTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUPower: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUTotalBoardPower: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub GPUFanSpeed: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUVoltage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub GPUIntakeTemperature: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 120usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUClockSpeed) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAMClockSpeed) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVRAMClockSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUTemperature) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUHotspotTemperature) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUHotspotTemperature) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUPower) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUTotalBoardPower) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUTotalBoardPower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUFanSpeed) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUFanSpeed) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAM) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUVoltage) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUVoltage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GPUIntakeTemperature) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsVtbl), - "::", - stringify!(GPUIntakeTemperature) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetrics { - pub pVtbl: *const IADLXGPUMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsListVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: - ::std::option::Option adlx_uint>, - pub Empty: - ::std::option::Option adlx_bool>, - pub Begin: - ::std::option::Option adlx_uint>, - pub End: - ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: - ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_GPUMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_GPUMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXGPUMetricsList, - pItem: *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_GPUMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(At_GPUMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsListVtbl), - "::", - stringify!(Add_Back_GPUMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXGPUMetricsList { - pub pVtbl: *const IADLXGPUMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXGPUMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXGPUMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXGPUMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXGPUMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub CPUUsage: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_double) -> ADLX_RESULT, - >, - pub SystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub SmartShift: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(CPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(SystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsVtbl), - "::", - stringify!(SmartShift) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics { - pub pVtbl: *const IADLXSystemMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsListVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub Empty: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_bool, - >, - pub Begin: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub End: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, - >, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, - >, - pub Remove_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, - >, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_SystemMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_SystemMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsList, - pItem: *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_SystemMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(At_SystemMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_SystemMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsListVtbl), - "::", - stringify!(Add_Back_SystemMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsList { - pub pVtbl: *const IADLXSystemMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPS, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPS, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub FPS: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPS, data: *mut adlx_int) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXFPSVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(IADLXFPSVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).FPS) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSVtbl), - "::", - stringify!(FPS) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPS { - pub pVtbl: *const IADLXFPSVtbl, -} -#[test] -fn bindgen_test_layout_IADLXFPS() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXFPS)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPS)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPS), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSListVtbl { - pub Acquire: ::std::option::Option adlx_long>, - pub Release: ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: ::std::option::Option adlx_uint>, - pub Empty: ::std::option::Option adlx_bool>, - pub Begin: ::std::option::Option adlx_uint>, - pub End: ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXInterface) -> ADLX_RESULT, - >, - pub At_FPSList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXFPSList, - location: adlx_uint, - ppItem: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub Add_Back_FPSList: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXFPS) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXFPSListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXFPSListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_FPSList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(At_FPSList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_FPSList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSListVtbl), - "::", - stringify!(Add_Back_FPSList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXFPSList { - pub pVtbl: *const IADLXFPSListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXFPSList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXFPSList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXFPSList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXFPSList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXAllMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub GetSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - metrics: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub GetFPS: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - metrics: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub GetGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetrics, - pGPU: *mut IADLXGPU, - metrics: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsVtbl() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(IADLXAllMetricsVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetrics) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetSystemMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetFPS) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetFPS) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetrics) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsVtbl), - "::", - stringify!(GetGPUMetrics) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetrics { - pub pVtbl: *const IADLXAllMetricsVtbl, -} -#[test] -fn bindgen_test_layout_IADLXAllMetrics() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXAllMetrics)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetrics)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetrics), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsListVtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub Size: - ::std::option::Option adlx_uint>, - pub Empty: - ::std::option::Option adlx_bool>, - pub Begin: - ::std::option::Option adlx_uint>, - pub End: - ::std::option::Option adlx_uint>, - pub At: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub Clear: - ::std::option::Option ADLX_RESULT>, - pub Remove_Back: - ::std::option::Option ADLX_RESULT>, - pub Add_Back: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - pItem: *mut IADLXInterface, - ) -> ADLX_RESULT, - >, - pub At_AllMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - location: adlx_uint, - ppItem: *mut *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, - pub Add_Back_AllMetricsList: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXAllMetricsList, - pItem: *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsListVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 104usize, - concat!("Size of: ", stringify!(IADLXAllMetricsListVtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsListVtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Empty) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Begin) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(End) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(At) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Clear) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Remove_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Add_Back) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).At_AllMetricsList) as usize - ptr as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(At_AllMetricsList) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_AllMetricsList) as usize - ptr as usize }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsListVtbl), - "::", - stringify!(Add_Back_AllMetricsList) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXAllMetricsList { - pub pVtbl: *const IADLXAllMetricsListVtbl, -} -#[test] -fn bindgen_test_layout_IADLXAllMetricsList() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXAllMetricsList)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXAllMetricsList)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXAllMetricsList), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPerformanceMonitoringServicesVtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub GetSamplingIntervalRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - range: *mut ADLX_IntRange, - ) -> ADLX_RESULT, - >, - pub SetSamplingInterval: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - intervalMs: adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSamplingInterval: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - intervalMs: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetMaxPerformanceMetricsHistorySizeRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - range: *mut ADLX_IntRange, - ) -> ADLX_RESULT, - >, - pub SetMaxPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: adlx_int, - ) -> ADLX_RESULT, - >, - pub GetMaxPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub ClearPerformanceMetricsHistory: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub GetCurrentPerformanceMetricsHistorySize: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - sizeSec: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub StartPerformanceMetricsTracking: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub StopPerformanceMetricsTracking: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, - >, - pub GetAllMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXAllMetricsList, - ) -> ADLX_RESULT, - >, - pub GetGPUMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXGPUMetricsList, - ) -> ADLX_RESULT, - >, - pub GetSystemMetricsHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXSystemMetricsList, - ) -> ADLX_RESULT, - >, - pub GetFPSHistory: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - startMs: adlx_int, - stopMs: adlx_int, - ppMetricsList: *mut *mut IADLXFPSList, - ) -> ADLX_RESULT, - >, - pub GetCurrentAllMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXAllMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - ppMetrics: *mut *mut IADLXGPUMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXSystemMetrics, - ) -> ADLX_RESULT, - >, - pub GetCurrentFPS: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetrics: *mut *mut IADLXFPS, - ) -> ADLX_RESULT, - >, - pub GetSupportedGPUMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - pGPU: *mut IADLXGPU, - ppMetricsSupported: *mut *mut IADLXGPUMetricsSupport, - ) -> ADLX_RESULT, - >, - pub GetSupportedSystemMetrics: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXPerformanceMonitoringServices, - ppMetricsSupported: *mut *mut IADLXSystemMetricsSupport, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXPerformanceMonitoringServicesVtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 184usize, - concat!( - "Size of: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl) - ) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(IADLXPerformanceMonitoringServicesVtbl) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingIntervalRange) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSamplingIntervalRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SetSamplingInterval) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(SetSamplingInterval) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingInterval) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSamplingInterval) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySizeRange) as usize - - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetMaxPerformanceMetricsHistorySizeRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).SetMaxPerformanceMetricsHistorySize) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(SetMaxPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySize) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetMaxPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).ClearPerformanceMetricsHistory) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(ClearPerformanceMetricsHistory) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).GetCurrentPerformanceMetricsHistorySize) as usize - - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentPerformanceMetricsHistorySize) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).StartPerformanceMetricsTracking) as usize - ptr as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(StartPerformanceMetricsTracking) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).StopPerformanceMetricsTracking) as usize - ptr as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(StopPerformanceMetricsTracking) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetAllMetricsHistory) as usize - ptr as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetAllMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetricsHistory) as usize - ptr as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetGPUMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetricsHistory) as usize - ptr as usize }, - 120usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSystemMetricsHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetFPSHistory) as usize - ptr as usize }, - 128usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetFPSHistory) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentAllMetrics) as usize - ptr as usize }, - 136usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentAllMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentGPUMetrics) as usize - ptr as usize }, - 144usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentGPUMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentSystemMetrics) as usize - ptr as usize }, - 152usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentSystemMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentFPS) as usize - ptr as usize }, - 160usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetCurrentFPS) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedGPUMetrics) as usize - ptr as usize }, - 168usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSupportedGPUMetrics) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedSystemMetrics) as usize - ptr as usize }, - 176usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServicesVtbl), - "::", - stringify!(GetSupportedSystemMetrics) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXPerformanceMonitoringServices { - pub pVtbl: *const IADLXPerformanceMonitoringServicesVtbl, -} -#[test] -fn bindgen_test_layout_IADLXPerformanceMonitoringServices() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXPerformanceMonitoringServices)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!( - "Alignment of ", - stringify!(IADLXPerformanceMonitoringServices) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXPerformanceMonitoringServices), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport1Vtbl { - pub Acquire: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, - >, - pub Release: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, - >, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub IsSupportedCPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSystemRAM: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub IsSupportedSmartShift: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, - pub GetCPUUsageRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSystemRAMRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub GetSmartShiftRange: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - minValue: *mut adlx_int, - maxValue: *mut adlx_int, - ) -> ADLX_RESULT, - >, - pub IsSupportedPowerDistribution: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetricsSupport1, - supported: *mut adlx_bool, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 80usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedCPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedSystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedSmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetCPUUsageRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetSystemRAMRange) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, - 64usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(GetSmartShiftRange) - ) - ); - assert_eq!( - unsafe { - ::std::ptr::addr_of!((*ptr).IsSupportedPowerDistribution) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1Vtbl), - "::", - stringify!(IsSupportedPowerDistribution) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetricsSupport1 { - pub pVtbl: *const IADLXSystemMetricsSupport1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetricsSupport1() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetricsSupport1), - "::", - stringify!(pVtbl) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics1Vtbl { - pub Acquire: - ::std::option::Option adlx_long>, - pub Release: - ::std::option::Option adlx_long>, - pub QueryInterface: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - interfaceId: *const wchar_t, - ppInterface: *mut *mut ::std::os::raw::c_void, - ) -> ADLX_RESULT, - >, - pub TimeStamp: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, ms: *mut adlx_int64) -> ADLX_RESULT, - >, - pub CPUUsage: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - data: *mut adlx_double, - ) -> ADLX_RESULT, - >, - pub SystemRAM: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub SmartShift: ::std::option::Option< - unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, - >, - pub PowerDistribution: ::std::option::Option< - unsafe extern "C" fn( - pThis: *mut IADLXSystemMetrics1, - apuShiftValue: *mut adlx_int, - gpuShiftValue: *mut adlx_int, - apuShiftLimit: *mut adlx_int, - gpuShiftLimit: *mut adlx_int, - totalShiftLimit: *mut adlx_int, - ) -> ADLX_RESULT, - >, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics1Vtbl() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics1Vtbl)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics1Vtbl)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(Acquire) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(Release) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(QueryInterface) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(TimeStamp) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(CPUUsage) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(SystemRAM) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(SmartShift) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).PowerDistribution) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1Vtbl), - "::", - stringify!(PowerDistribution) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct IADLXSystemMetrics1 { - pub pVtbl: *const IADLXSystemMetrics1Vtbl, -} -#[test] -fn bindgen_test_layout_IADLXSystemMetrics1() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(IADLXSystemMetrics1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(IADLXSystemMetrics1)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IADLXSystemMetrics1), - "::", - stringify!(pVtbl) - ) - ); -} diff --git a/src/ffi.rs b/src/ffi.rs index 43f178e..4c3a58b 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -1,6 +1,6236 @@ -#![allow(non_upper_case_globals)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(dead_code)] +/* automatically generated by rust-bindgen 0.69.2 */ -include!("bindings.rs"); +pub const ADLX_VER_MAJOR: u32 = 1; +pub const ADLX_VER_MINOR: u32 = 2; +pub const ADLX_VER_RELEASE: u32 = 0; +pub const ADLX_VER_BUILD_NUM: u32 = 72; +pub const ADLX_DLL_NAMEW: &[u8; 14] = b"amdadlx64.dll\0"; +pub const ADLX_DLL_NAMEA: &[u8; 14] = b"amdadlx64.dll\0"; +pub const ADLX_DLL_NAME: &[u8; 14] = b"amdadlx64.dll\0"; +pub const ADLX_QUERY_FULL_VERSION_FUNCTION_NAME: &[u8; 21] = b"ADLXQueryFullVersion\0"; +pub const ADLX_QUERY_VERSION_FUNCTION_NAME: &[u8; 17] = b"ADLXQueryVersion\0"; +pub const ADLX_INIT_FUNCTION_NAME: &[u8; 15] = b"ADLXInitialize\0"; +pub const ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME: &[u8; 37] = + b"ADLXInitializeWithIncompatibleDriver\0"; +pub const ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME: &[u8; 28] = b"ADLXInitializeWithCallerAdl\0"; +pub const ADLX_TERMINATE_FUNCTION_NAME: &[u8; 14] = b"ADLXTerminate\0"; +pub type wchar_t = ::std::os::raw::c_ushort; +pub type adlx_int64 = i64; +pub type adlx_int32 = i32; +pub type adlx_uint64 = u64; +pub type adlx_uint32 = u32; +pub type adlx_uint16 = u16; +pub type adlx_uint8 = u8; +pub type adlx_handle = *mut ::std::os::raw::c_void; +pub type adlx_double = f64; +pub type adlx_long = ::std::os::raw::c_long; +pub type adlx_int = adlx_int32; +pub type adlx_uint = adlx_uint32; +pub type adlx_bool = adlx_uint8; +#[doc = "< @ENG_START_DOX This result indicates success. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_OK: ADLX_RESULT = 0; +#[doc = "< @ENG_START_DOX This result indicates that the asked action is already enabled. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_ALREADY_ENABLED: ADLX_RESULT = 1; +#[doc = "< @ENG_START_DOX This result indicates that ADLX has a unspecified type of initialization. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_ALREADY_INITIALIZED: ADLX_RESULT = 2; +#[doc = "< @ENG_START_DOX This result indicates an unspecified failure. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_FAIL: ADLX_RESULT = 3; +#[doc = "< @ENG_START_DOX This result indicates that the arguments are invalid. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_INVALID_ARGS: ADLX_RESULT = 4; +#[doc = "< @ENG_START_DOX This result indicates that the asked version is incompatible with the current version. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_BAD_VER: ADLX_RESULT = 5; +#[doc = "< @ENG_START_DOX This result indicates that an unknown interface was asked. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_UNKNOWN_INTERFACE: ADLX_RESULT = 6; +#[doc = "< @ENG_START_DOX This result indicates that the calls were made in an interface after ADLX was terminated. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_TERMINATED: ADLX_RESULT = 7; +#[doc = "< @ENG_START_DOX This result indicates that the ADL initialization failed. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_ADL_INIT_ERROR: ADLX_RESULT = 8; +#[doc = "< @ENG_START_DOX This result indicates that the item is not found. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_NOT_FOUND: ADLX_RESULT = 9; +#[doc = "< @ENG_START_DOX This result indicates that the method was called into an invalid object. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_INVALID_OBJECT: ADLX_RESULT = 10; +#[doc = "< @ENG_START_DOX This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_ORPHAN_OBJECTS: ADLX_RESULT = 11; +#[doc = "< @ENG_START_DOX This result indicates that the asked feature is not supported. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_NOT_SUPPORTED: ADLX_RESULT = 12; +#[doc = "< @ENG_START_DOX This result indicates a failure due to an operation currently in progress. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_PENDING_OPERATION: ADLX_RESULT = 13; +#[doc = "< @ENG_START_DOX This result indicates that the GPU is inactive. @ENG_END_DOX"] +pub const ADLX_RESULT_ADLX_GPU_INACTIVE: ADLX_RESULT = 14; +#[doc = " @enum ADLX_RESULT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the result returned from an ADLX function or from an ADLX method.\n @ENG_END_DOX"] +pub type ADLX_RESULT = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX This is not a Hybrid Graphics system. @ENG_END_DOX"] +pub const ADLX_HG_TYPE_NONE: ADLX_HG_TYPE = 0; +#[doc = "< @ENG_START_DOX This is an AMD integrated GPU. @ENG_END_DOX"] +pub const ADLX_HG_TYPE_AMD: ADLX_HG_TYPE = 1; +#[doc = "< @ENG_START_DOX This is a non-AMD integrated GPU. @ENG_END_DOX"] +pub const ADLX_HG_TYPE_OTHER: ADLX_HG_TYPE = 2; +#[doc = " @enum ADLX_HG_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the type of Hybrid Graphic.\n @ENG_END_DOX"] +pub type ADLX_HG_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The ASIC family type is not defined. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_UNDEFINED: ADLX_ASIC_FAMILY_TYPE = 0; +#[doc = "< @ENG_START_DOX The ASIC family type is discrete. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_RADEON: ADLX_ASIC_FAMILY_TYPE = 1; +#[doc = "< @ENG_START_DOX The ASIC family type is Firepro. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREPRO: ADLX_ASIC_FAMILY_TYPE = 2; +#[doc = "< @ENG_START_DOX The ASIC family type is FireMV. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIREMV: ADLX_ASIC_FAMILY_TYPE = 3; +#[doc = "< @ENG_START_DOX The ASIC family type is FireStream. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FIRESTREAM: ADLX_ASIC_FAMILY_TYPE = 4; +#[doc = "< @ENG_START_DOX The ASIC family type is Fusion. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_FUSION: ADLX_ASIC_FAMILY_TYPE = 5; +#[doc = "< @ENG_START_DOX The ASIC family type is Embedded. @ENG_END_DOX"] +pub const ADLX_ASIC_FAMILY_TYPE_ASIC_EMBEDDED: ADLX_ASIC_FAMILY_TYPE = 6; +#[doc = " @enum ADLX_ASIC_FAMILY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the ASIC family type.\n @ENG_END_DOX"] +pub type ADLX_ASIC_FAMILY_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The PCI bus type is not defined. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_UNDEFINED: ADLX_PCI_BUS_TYPE = 0; +#[doc = "< @ENG_START_DOX The PCI bus type is PCI bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_PCI: ADLX_PCI_BUS_TYPE = 1; +#[doc = "< @ENG_START_DOX The PCI bus type is AGP bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_AGP: ADLX_PCI_BUS_TYPE = 2; +#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_PCIE: ADLX_PCI_BUS_TYPE = 3; +#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 2nd generation bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_PCIE_2_0: ADLX_PCI_BUS_TYPE = 4; +#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 3rd generation bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_PCIE_3_0: ADLX_PCI_BUS_TYPE = 5; +#[doc = "< @ENG_START_DOX The PCI bus type is PCI Express 4th generation bus. @ENG_END_DOX"] +pub const ADLX_PCI_BUS_TYPE_PCIE_4_0: ADLX_PCI_BUS_TYPE = 6; +#[doc = " @enum ADLX_PCI_BUS_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the PCI bus type.\n @ENG_END_DOX"] +pub type ADLX_PCI_BUS_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The DP link rate is unknown. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UNKNOWN: ADLX_DP_LINK_RATE = 0; +#[doc = "< @ENG_START_DOX The DP link rate is 1.62 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_RBR: ADLX_DP_LINK_RATE = 1; +#[doc = "< @ENG_START_DOX The DP link rate is 2.16 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_16GBPS: ADLX_DP_LINK_RATE = 2; +#[doc = "< @ENG_START_DOX The DP link rate is 2.43 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_2_43GBPS: ADLX_DP_LINK_RATE = 3; +#[doc = "< @ENG_START_DOX The DP link rate is 2.70 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR: ADLX_DP_LINK_RATE = 4; +#[doc = "< @ENG_START_DOX The DP link rate is 4.32 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_4_32GBPS: ADLX_DP_LINK_RATE = 5; +#[doc = "< @ENG_START_DOX The DP link rate is 5.40 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR2: ADLX_DP_LINK_RATE = 6; +#[doc = "< @ENG_START_DOX The DP link rate is 8.10 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_HBR3: ADLX_DP_LINK_RATE = 7; +#[doc = "< @ENG_START_DOX The DP link rate is 10 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR10: ADLX_DP_LINK_RATE = 8; +#[doc = "< @ENG_START_DOX The DP link rate is 13.5 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR13D5: ADLX_DP_LINK_RATE = 9; +#[doc = "< @ENG_START_DOX The DP link rate is 20 Gbps/Lane. @ENG_END_DOX"] +pub const ADLX_DP_LINK_RATE_DP_LINK_RATE_UHBR20: ADLX_DP_LINK_RATE = 10; +#[doc = " @enum ADLX_DP_LINK_RATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the DP link rate.\n @ENG_END_DOX"] +pub type ADLX_DP_LINK_RATE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The GPU type is unknown. @ENG_END_DOX"] +pub const ADLX_GPU_TYPE_GPUTYPE_UNDEFINED: ADLX_GPU_TYPE = 0; +#[doc = "< @ENG_START_DOX The GPU type is an integrated GPU. @ENG_END_DOX"] +pub const ADLX_GPU_TYPE_GPUTYPE_INTEGRATED: ADLX_GPU_TYPE = 1; +#[doc = "< @ENG_START_DOX The GPU type is a discrete GPU. @ENG_END_DOX"] +pub const ADLX_GPU_TYPE_GPUTYPE_DISCRETE: ADLX_GPU_TYPE = 2; +#[doc = " @enum ADLX_GPU_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the GPU type.\n @ENG_END_DOX"] +pub type ADLX_GPU_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The display connector type is unknown. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_UNKNOWN: ADLX_DISPLAY_CONNECTOR_TYPE = 0; +#[doc = "< @ENG_START_DOX The display connector type is VGA. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_VGA: ADLX_DISPLAY_CONNECTOR_TYPE = 1; +#[doc = "< @ENG_START_DOX The display connector type is DVI-D. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_D: ADLX_DISPLAY_CONNECTOR_TYPE = 2; +#[doc = "< @ENG_START_DOX The display connector type is DVI-I. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DVI_I: ADLX_DISPLAY_CONNECTOR_TYPE = 3; +#[doc = "< @ENG_START_DOX The display connector type is NTSC. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NTSC: ADLX_DISPLAY_CONNECTOR_TYPE = + 4; +#[doc = "< @ENG_START_DOX The display connector type is JPN. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_JPN: ADLX_DISPLAY_CONNECTOR_TYPE = 5; +#[doc = "< @ENG_START_DOX The display connector type is NONI2C-JPN. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN: + ADLX_DISPLAY_CONNECTOR_TYPE = 6; +#[doc = "< @ENG_START_DOX The display connector type is NONI2C-NTSC. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC: + ADLX_DISPLAY_CONNECTOR_TYPE = 7; +#[doc = "< @ENG_START_DOX The display connector type is PROPRIETARY. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_PROPRIETARY: ADLX_DISPLAY_CONNECTOR_TYPE = 8; +#[doc = "< @ENG_START_DOX The display connector type is HDMI A. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_A: ADLX_DISPLAY_CONNECTOR_TYPE = 9; +#[doc = "< @ENG_START_DOX The display connector type is HDMI B. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_HDMI_TYPE_B: ADLX_DISPLAY_CONNECTOR_TYPE = 10; +#[doc = "< @ENG_START_DOX The display connector type is SVIDEO. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_SVIDEO: ADLX_DISPLAY_CONNECTOR_TYPE = 11; +#[doc = "< @ENG_START_DOX The display connector type is COMPOSITE. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_COMPOSITE: ADLX_DISPLAY_CONNECTOR_TYPE = 12; +#[doc = "< @ENG_START_DOX The display connector type is RCA. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_RCA_3COMPONENT: ADLX_DISPLAY_CONNECTOR_TYPE = + 13; +#[doc = "< @ENG_START_DOX The display connector type is DISPLAYPORT. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_DISPLAYPORT: ADLX_DISPLAY_CONNECTOR_TYPE = 14; +#[doc = "< @ENG_START_DOX The display connector type is EDP. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_EDP: ADLX_DISPLAY_CONNECTOR_TYPE = 15; +#[doc = "< @ENG_START_DOX The display connector type is WIRELESSDISPLAY. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_WIRELESSDISPLAY: ADLX_DISPLAY_CONNECTOR_TYPE = + 16; +#[doc = "< @ENG_START_DOX The display connector type is USB Type-C. @ENG_END_DOX"] +pub const ADLX_DISPLAY_CONNECTOR_TYPE_DISPLAY_CONTYPE_USB_TYPE_C: ADLX_DISPLAY_CONNECTOR_TYPE = 17; +#[doc = " @enum ADLX_DISPLAY_CONNECTOR_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display connector type.\n @ENG_END_DOX"] +pub type ADLX_DISPLAY_CONNECTOR_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The display type is an unknown display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_UNKOWN: ADLX_DISPLAY_TYPE = 0; +#[doc = "< @ENG_START_DOX The display type is a monitor display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_MONITOR: ADLX_DISPLAY_TYPE = 1; +#[doc = "< @ENG_START_DOX The display type is a TV display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_TELEVISION: ADLX_DISPLAY_TYPE = 2; +#[doc = "< @ENG_START_DOX The display type is an LCD display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_LCD_PANEL: ADLX_DISPLAY_TYPE = 3; +#[doc = "< @ENG_START_DOX The display type is a DFP display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_DIGITAL_FLAT_PANEL: ADLX_DISPLAY_TYPE = 4; +#[doc = "< @ENG_START_DOX The display type is a component video display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_COMPONENT_VIDEO: ADLX_DISPLAY_TYPE = 5; +#[doc = "< @ENG_START_DOX The display type is a projector display. @ENG_END_DOX"] +pub const ADLX_DISPLAY_TYPE_DISPLAY_TYPE_PROJECTOR: ADLX_DISPLAY_TYPE = 6; +#[doc = " @enum ADLX_DISPLAY_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display type.\n @ENG_END_DOX"] +pub type ADLX_DISPLAY_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The display scan type is progressive mode. @ENG_END_DOX"] +pub const ADLX_DISPLAY_SCAN_TYPE_PROGRESSIVE: ADLX_DISPLAY_SCAN_TYPE = 0; +#[doc = "< @ENG_START_DOX The display scan type is interlaced mode. @ENG_END_DOX"] +pub const ADLX_DISPLAY_SCAN_TYPE_INTERLACED: ADLX_DISPLAY_SCAN_TYPE = 1; +#[doc = " @enum ADLX_DISPLAY_SCAN_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the display scan type.\n @ENG_END_DOX"] +pub type ADLX_DISPLAY_SCAN_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX Positive Polarity @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_POLARITY_POSITIVE: ADLX_DISPLAY_TIMING_POLARITY = 0; +#[doc = "< @ENG_START_DOX Negative Polarity @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_POLARITY_NEGATIVE: ADLX_DISPLAY_TIMING_POLARITY = 1; +#[doc = " @enum ADLX_DISPLAY_TIMING_POLARITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing polarity\n @ENG_END_DOX"] +pub type ADLX_DISPLAY_TIMING_POLARITY = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX Maximum pixel clock @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 650000; +#[doc = "< @ENG_START_DOX Minimum pixel clock @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_PIXEL_CLOCK_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 0; +#[doc = "< @ENG_START_DOX Maximum refresh rate @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 200; +#[doc = "< @ENG_START_DOX Minimum refresh rate @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_REFRESH_RATE_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; +#[doc = "< @ENG_START_DOX Maximum resolution @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MAX: ADLX_DISPLAY_TIMING_LIMITATION = 9999; +#[doc = "< @ENG_START_DOX Minimum resolution @ENG_END_DOX"] +pub const ADLX_DISPLAY_TIMING_LIMITATION_RESOLUTION_MIN: ADLX_DISPLAY_TIMING_LIMITATION = 1; +#[doc = " @enum ADLX_DISPLAY_TIMING_LIMITATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Display timing limitation\n @ENG_END_DOX"] +pub type ADLX_DISPLAY_TIMING_LIMITATION = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_709. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_709: ADLX_GAMUT_SPACE = 0; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_601. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_601: ADLX_GAMUT_SPACE = 1; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_ADOBE_RGB: ADLX_GAMUT_SPACE = 2; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CIE_RGB. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CIE_RGB: ADLX_GAMUT_SPACE = 3; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_2020. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CCIR_2020: ADLX_GAMUT_SPACE = 4; +#[doc = "< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CUSTOM. @ENG_END_DOX"] +pub const ADLX_GAMUT_SPACE_GAMUT_SPACE_CUSTOM: ADLX_GAMUT_SPACE = 5; +#[doc = " @enum ADLX_GAMUT_SPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the predefined gamut space.\n @ENG_END_DOX"] +pub type ADLX_GAMUT_SPACE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The white point setting is 5000k. @ENG_END_DOX"] +pub const ADLX_WHITE_POINT_WHITE_POINT_5000K: ADLX_WHITE_POINT = 0; +#[doc = "< @ENG_START_DOX The white point setting is 6500k. @ENG_END_DOX"] +pub const ADLX_WHITE_POINT_WHITE_POINT_6500K: ADLX_WHITE_POINT = 1; +#[doc = "< @ENG_START_DOX The white point setting is 7500k. @ENG_END_DOX"] +pub const ADLX_WHITE_POINT_WHITE_POINT_7500K: ADLX_WHITE_POINT = 2; +#[doc = "< @ENG_START_DOX The white point setting is 9300k. @ENG_END_DOX"] +pub const ADLX_WHITE_POINT_WHITE_POINT_9300K: ADLX_WHITE_POINT = 3; +#[doc = "< @ENG_START_DOX The white point setting is customized. @ENG_END_DOX"] +pub const ADLX_WHITE_POINT_WHITE_POINT_CUSTOM: ADLX_WHITE_POINT = 4; +#[doc = " @enum ADLX_WHITE_POINT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the standardized white point setting.\n @ENG_END_DOX"] +pub type ADLX_WHITE_POINT = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The gamma type is unknown. @ENG_END_DOX"] +pub const ADLX_GAMMA_TYPE_UNKNOW: ADLX_GAMMA_TYPE = 0; +#[doc = "< @ENG_START_DOX The gamma type is Degamma Ramp way. @ENG_END_DOX"] +pub const ADLX_GAMMA_TYPE_DEGAMMA_RAMP: ADLX_GAMMA_TYPE = 1; +#[doc = "< @ENG_START_DOX The gamma type is Regamma Ramp way. @ENG_END_DOX"] +pub const ADLX_GAMMA_TYPE_REGAMMA_RAMP: ADLX_GAMMA_TYPE = 2; +#[doc = "< @ENG_START_DOX The gamma type is Degamma coefficients way. @ENG_END_DOX"] +pub const ADLX_GAMMA_TYPE_DEGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 3; +#[doc = "< @ENG_START_DOX The gamma type is Regamma coefficients way. @ENG_END_DOX"] +pub const ADLX_GAMMA_TYPE_REGAMMA_COEFFICIENTS: ADLX_GAMMA_TYPE = 4; +#[doc = " @enum ADLX_GAMMA_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the gamma type.\n @ENG_END_DOX"] +pub type ADLX_GAMMA_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The orientation is landscape. @ENG_END_DOX"] +pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE: ADLX_ORIENTATION = 0; +#[doc = "< @ENG_START_DOX The orientation is Portrait. @ENG_END_DOX"] +pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT: ADLX_ORIENTATION = 90; +#[doc = "< @ENG_START_DOX The orientation is landscape (flipped). @ENG_END_DOX"] +pub const ADLX_ORIENTATION_ORIENTATION_LANDSCAPE_FLIPPED: ADLX_ORIENTATION = 180; +#[doc = "< @ENG_START_DOX the orientation is Portrait (flipped). @ENG_END_DOX"] +pub const ADLX_ORIENTATION_ORIENTATION_PORTRAIT_FLIPPED: ADLX_ORIENTATION = 270; +#[doc = " @enum ADLX_ORIENTATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the orientation.\n @ENG_END_DOX"] +pub type ADLX_ORIENTATION = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX Single display desktop: one display showing the entire desktop @ENG_END_DOX"] +pub const ADLX_DESKTOP_TYPE_DESKTOP_SINGLE: ADLX_DESKTOP_TYPE = 0; +#[doc = "< @ENG_START_DOX Duplicate desktop: two or more displays each show the entire desktop @ENG_END_DOX"] +pub const ADLX_DESKTOP_TYPE_DESKTOP_DUPLCATE: ADLX_DESKTOP_TYPE = 1; +#[doc = "< @ENG_START_DOX AMD Eyefinity desktop: two or more displays each show a portion of the desktop @ENG_END_DOX"] +pub const ADLX_DESKTOP_TYPE_DESKTOP_EYEFINITY: ADLX_DESKTOP_TYPE = 2; +#[doc = " @enum ADLX_DESKTOP_TYPE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Types of desktops in respect to display composition\n @ENG_END_DOX"] +pub type ADLX_DESKTOP_TYPE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The log captures errors, warnings and debug information. @ENG_END_DOX"] +pub const ADLX_LOG_SEVERITY_LDEBUG: ADLX_LOG_SEVERITY = 0; +#[doc = "< @ENG_START_DOX The log captures errors and warnings. @ENG_END_DOX"] +pub const ADLX_LOG_SEVERITY_LWARNING: ADLX_LOG_SEVERITY = 1; +#[doc = "< @ENG_START_DOX The log captures errors. @ENG_END_DOX"] +pub const ADLX_LOG_SEVERITY_LERROR: ADLX_LOG_SEVERITY = 2; +#[doc = " @enum ADLX_LOG_SEVERITY\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the severity level for ADLX logs.\n @ENG_END_DOX\n"] +pub type ADLX_LOG_SEVERITY = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The log destination is a file. @ENG_END_DOX"] +pub const ADLX_LOG_DESTINATION_LOCALFILE: ADLX_LOG_DESTINATION = 0; +#[doc = "< @ENG_START_DOX The log destination is the application debugger. @ENG_END_DOX"] +pub const ADLX_LOG_DESTINATION_DBGVIEW: ADLX_LOG_DESTINATION = 1; +#[doc = "< @ENG_START_DOX The log destination is the application. @ENG_END_DOX"] +pub const ADLX_LOG_DESTINATION_APPLICATION: ADLX_LOG_DESTINATION = 2; +#[doc = " @enum ADLX_LOG_DESTINATION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the location of the log traces that are generated from the internal code execution of ADLX.\n @ENG_END_DOX\n"] +pub type ADLX_LOG_DESTINATION = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The scale mode preserves aspect ratio. @ENG_END_DOX"] +pub const ADLX_SCALE_MODE_PRESERVE_ASPECT_RATIO: ADLX_SCALE_MODE = 0; +#[doc = "< @ENG_START_DOX The scale mode extends to full panel. @ENG_END_DOX"] +pub const ADLX_SCALE_MODE_FULL_PANEL: ADLX_SCALE_MODE = 1; +#[doc = "< @ENG_START_DOX The scale mode is centered on screen. @ENG_END_DOX"] +pub const ADLX_SCALE_MODE_CENTERED: ADLX_SCALE_MODE = 2; +#[doc = " @enum ADLX_SCALE_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the methods to stretch and position the image to fit on the display.\n @ENG_END_DOX\n"] +pub type ADLX_SCALE_MODE = ::std::os::raw::c_int; +pub const ADLX_COLOR_DEPTH_BPC_UNKNOWN: ADLX_COLOR_DEPTH = 0; +#[doc = "< @ENG_START_DOX A color component/pixel with 6 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_6: ADLX_COLOR_DEPTH = 1; +#[doc = "< @ENG_START_DOX A color component/pixel with 8 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_8: ADLX_COLOR_DEPTH = 2; +#[doc = "< @ENG_START_DOX A color component/pixel with 10 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_10: ADLX_COLOR_DEPTH = 3; +#[doc = "< @ENG_START_DOX A color component/pixel with 12 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_12: ADLX_COLOR_DEPTH = 4; +#[doc = "< @ENG_START_DOX A color component/pixel with 14 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_14: ADLX_COLOR_DEPTH = 5; +#[doc = "< @ENG_START_DOX A color component/pixel with 16 bits @ENG_END_DOX"] +pub const ADLX_COLOR_DEPTH_BPC_16: ADLX_COLOR_DEPTH = 6; +#[doc = " @enum ADLX_COLOR_DEPTH\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel.\n @ENG_END_DOX\n"] +pub type ADLX_COLOR_DEPTH = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The pixel format is unknown. @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_FORMAT_UNKNOWN: ADLX_PIXEL_FORMAT = 0; +#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 PC Standard (Full RGB). @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_RGB_444_FULL: ADLX_PIXEL_FORMAT = 1; +#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:4:4. @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_YCBCR_444: ADLX_PIXEL_FORMAT = 2; +#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:2. @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_YCBCR_422: ADLX_PIXEL_FORMAT = 3; +#[doc = "< @ENG_START_DOX The pixel format is RGB 4:4:4 Studio (Limited RGB). @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_RGB_444_LIMITED: ADLX_PIXEL_FORMAT = 4; +#[doc = "< @ENG_START_DOX The pixel format is YCbCr 4:2:0 Pixel Format. @ENG_END_DOX"] +pub const ADLX_PIXEL_FORMAT_YCBCR_420: ADLX_PIXEL_FORMAT = 5; +#[doc = " @enum ADLX_PIXEL_FORMAT\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the pixel format to encode images for the display.\n @ENG_END_DOX\n"] +pub type ADLX_PIXEL_FORMAT = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. @ENG_END_DOX"] +pub const ADLX_TIMING_STANDARD_CVT: ADLX_TIMING_STANDARD = 0; +#[doc = "< @ENG_START_DOX Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking\nperiods and allows a lower pixel clock rate and higher frame rates. @ENG_END_DOX"] +pub const ADLX_TIMING_STANDARD_CVT_RB: ADLX_TIMING_STANDARD = 1; +#[doc = "< @ENG_START_DOX Generalized Timing Formula(GTF). A method of generating industry standard display timings. @ENG_END_DOX"] +pub const ADLX_TIMING_STANDARD_GTF: ADLX_TIMING_STANDARD = 2; +#[doc = "< @ENG_START_DOX Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. @ENG_END_DOX"] +pub const ADLX_TIMING_STANDARD_DMT: ADLX_TIMING_STANDARD = 3; +#[doc = "< @ENG_START_DOX Manual control @ENG_END_DOX"] +pub const ADLX_TIMING_STANDARD_MANUAL: ADLX_TIMING_STANDARD = 4; +#[doc = " @enum ADLX_TIMING_STANDARD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Timing standard for custom resolution\n @ENG_END_DOX\n"] +pub type ADLX_TIMING_STANDARD = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX VSync is always off. @ENG_END_DOX"] +pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_OFF: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = + 0; +#[doc = "< @ENG_START_DOX VSync is off, unless specified by the application. @ENG_END_DOX"] +pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_OFF_UNLESS_APP_SPECIFIES: + ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 1; +#[doc = "< @ENG_START_DOX VSync is on, unless specified by application. @ENG_END_DOX"] +pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ON_UNLESS_APP_SPECIFIES: + ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = 2; +#[doc = "< @ENG_START_DOX VSync is always on. @ENG_END_DOX"] +pub const ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE_WFVR_ALWAYS_ON: ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = + 3; +#[doc = " @enum ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the modes of VSync settings.\n @ENG_END_DOX"] +pub type ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The anti-aliasing mode uses application settings. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_USE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 0; +#[doc = "< @ENG_START_DOX The anti-aliasing mode enhances the application settings. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_ENHANCE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 1; +#[doc = "< @ENG_START_DOX The anti-aliasing mode overrides the application settings. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_MODE_AA_MODE_OVERRIDE_APP_SETTINGS: ADLX_ANTI_ALIASING_MODE = 2; +#[doc = " @enum ADLX_ANTI_ALIASING_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing mode.\n @ENG_END_DOX"] +pub type ADLX_ANTI_ALIASING_MODE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The anti-aliasing level is invalid. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_INVALID: ADLX_ANTI_ALIASING_LEVEL = 0; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 2X. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2X: ADLX_ANTI_ALIASING_LEVEL = 2; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 2XEQ. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_2XEQ: ADLX_ANTI_ALIASING_LEVEL = 3; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 4X. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4X: ADLX_ANTI_ALIASING_LEVEL = 4; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 4XEQ. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_4XEQ: ADLX_ANTI_ALIASING_LEVEL = 5; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 8X. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8X: ADLX_ANTI_ALIASING_LEVEL = 8; +#[doc = "< @ENG_START_DOX The anti-aliasing level is 8XEQ. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_LEVEL_AA_LEVEL_8XEQ: ADLX_ANTI_ALIASING_LEVEL = 9; +#[doc = " @enum ADLX_ANTI_ALIASING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing level.\n @ENG_END_DOX"] +pub type ADLX_ANTI_ALIASING_LEVEL = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The multi-sampling method. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 0; +#[doc = "< @ENG_START_DOX The adaptive multi-sampling method. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_ADAPTIVE_MULTISAMPLING: ADLX_ANTI_ALIASING_METHOD = 1; +#[doc = "< @ENG_START_DOX The super-sampling method. @ENG_END_DOX"] +pub const ADLX_ANTI_ALIASING_METHOD_AA_METHOD_SUPERSAMPLING: ADLX_ANTI_ALIASING_METHOD = 2; +#[doc = " @enum ADLX_ANTI_ALIASING_METHOD\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the anti-aliasing method.\n @ENG_END_DOX"] +pub type ADLX_ANTI_ALIASING_METHOD = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is invalid. @ENG_END_DOX"] +pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_INVALID: ADLX_ANISOTROPIC_FILTERING_LEVEL = 0; +#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 2X. @ENG_END_DOX"] +pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X2: ADLX_ANISOTROPIC_FILTERING_LEVEL = 2; +#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 4X. @ENG_END_DOX"] +pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X4: ADLX_ANISOTROPIC_FILTERING_LEVEL = 4; +#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 8X. @ENG_END_DOX"] +pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X8: ADLX_ANISOTROPIC_FILTERING_LEVEL = 8; +#[doc = "< @ENG_START_DOX The Anisotropic Filtering level is 16X. @ENG_END_DOX"] +pub const ADLX_ANISOTROPIC_FILTERING_LEVEL_AF_LEVEL_X16: ADLX_ANISOTROPIC_FILTERING_LEVEL = 16; +#[doc = " @enum ADLX_ANISOTROPIC_FILTERING_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the Anisotropic Filtering level.\n @ENG_END_DOX"] +pub type ADLX_ANISOTROPIC_FILTERING_LEVEL = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX This mode uses AMD optimization. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_MODE_T_MODE_AMD_OPTIMIZED: ADLX_TESSELLATION_MODE = 0; +#[doc = "< @ENG_START_DOX This mode uses application settings. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_MODE_T_MODE_USE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 1; +#[doc = "< @ENG_START_DOX This mode uses override application settings. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_MODE_T_MODE_OVERRIDE_APP_SETTINGS: ADLX_TESSELLATION_MODE = 2; +#[doc = " @enum ADLX_TESSELLATION_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation setting on a GPU.\n @ENG_END_DOX"] +pub type ADLX_TESSELLATION_MODE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The tessellation level is Off. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_OFF: ADLX_TESSELLATION_LEVEL = 1; +#[doc = "< @ENG_START_DOX The tessellation level is 2X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_2X: ADLX_TESSELLATION_LEVEL = 2; +#[doc = "< @ENG_START_DOX The tessellation level is 4X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_4X: ADLX_TESSELLATION_LEVEL = 4; +#[doc = "< @ENG_START_DOX The tessellation level is 6X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_6X: ADLX_TESSELLATION_LEVEL = 6; +#[doc = "< @ENG_START_DOX The tessellation level is 8X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_8X: ADLX_TESSELLATION_LEVEL = 8; +#[doc = "< @ENG_START_DOX The tessellation level is 16X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_16X: ADLX_TESSELLATION_LEVEL = 16; +#[doc = "< @ENG_START_DOX The tessellation level is 32X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_32X: ADLX_TESSELLATION_LEVEL = 32; +#[doc = "< @ENG_START_DOX The tessellation level is 64X. @ENG_END_DOX"] +pub const ADLX_TESSELLATION_LEVEL_T_LEVEL_64X: ADLX_TESSELLATION_LEVEL = 64; +#[doc = " @enum ADLX_TESSELLATION_LEVEL\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the tessellation level on a GPU.\n @ENG_END_DOX"] +pub type ADLX_TESSELLATION_LEVEL = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The memory timing is default. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_DEFAULT: ADLX_MEMORYTIMING_DESCRIPTION = 0; +#[doc = "< @ENG_START_DOX The memory timing is fast timing. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING: ADLX_MEMORYTIMING_DESCRIPTION = 1; +#[doc = "< @ENG_START_DOX The memory timing is fast timing level 2. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_FAST_TIMING_LEVEL_2: + ADLX_MEMORYTIMING_DESCRIPTION = 2; +#[doc = "< @ENG_START_DOX The memory timing is automatic. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_AUTOMATIC: ADLX_MEMORYTIMING_DESCRIPTION = 3; +#[doc = "< @ENG_START_DOX The memory timing is level 1. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_1: + ADLX_MEMORYTIMING_DESCRIPTION = 4; +#[doc = "< @ENG_START_DOX The memory timing is level 2. @ENG_END_DOX"] +pub const ADLX_MEMORYTIMING_DESCRIPTION_MEMORYTIMING_MEMORYTIMING_LEVEL_2: + ADLX_MEMORYTIMING_DESCRIPTION = 5; +#[doc = " @enum ADLX_MEMORYTIMING_DESCRIPTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the priority of the log entry.\n @ENG_END_DOX"] +pub type ADLX_MEMORYTIMING_DESCRIPTION = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The I2C line is OEM. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM: ADLX_I2C_LINE = 1; +#[doc = "< @ENG_START_DOX The I2C line is Over Driver Control. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OD_CONTROL: ADLX_I2C_LINE = 2; +#[doc = "< @ENG_START_DOX The I2C line is OEM2. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM2: ADLX_I2C_LINE = 3; +#[doc = "< @ENG_START_DOX The I2C line is OEM3. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM3: ADLX_I2C_LINE = 4; +#[doc = "< @ENG_START_DOX The I2C line is OEM4. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM4: ADLX_I2C_LINE = 5; +#[doc = "< @ENG_START_DOX The I2C line is OEM5. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM5: ADLX_I2C_LINE = 6; +#[doc = "< @ENG_START_DOX The I2C line is OEM6. @ENG_END_DOX"] +pub const ADLX_I2C_LINE_I2C_LINE_OEM6: ADLX_I2C_LINE = 7; +#[doc = " @enum ADLX_I2C_LINE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the I2C line options.\n @ENG_END_DOX"] +pub type ADLX_I2C_LINE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The event has an unknown trigger. @ENG_END_DOX"] +pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_UNKNOWN: ADLX_SYNC_ORIGIN = 1; +#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in this application. @ENG_END_DOX"] +pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_INTERNAL: ADLX_SYNC_ORIGIN = 2; +#[doc = "< @ENG_START_DOX The event is triggered by a change in settings using ADLX in another application. @ENG_END_DOX"] +pub const ADLX_SYNC_ORIGIN_SYNC_ORIGIN_EXTERNAL: ADLX_SYNC_ORIGIN = 3; +#[doc = " @enum ADLX_SYNC_ORIGIN\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the origin of an event.\n @ENG_END_DOX"] +pub type ADLX_SYNC_ORIGIN = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The transfer function is sRGB. @ENG_END_DOX"] +pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_SRGB: ADLX_3DLUT_TRANSFER_FUNCTION = 1; +#[doc = "< @ENG_START_DOX The transfer function is PQ. @ENG_END_DOX"] +pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_PQ: ADLX_3DLUT_TRANSFER_FUNCTION = 2; +#[doc = "< @ENG_START_DOX The transfer function is G22. @ENG_END_DOX"] +pub const ADLX_3DLUT_TRANSFER_FUNCTION_TF_G22: ADLX_3DLUT_TRANSFER_FUNCTION = 3; +#[doc = " @enum ADLX_3DLUT_TRANSFER_FUNCTION\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the User 3D LUT transfer function.\n @ENG_END_DOX"] +pub type ADLX_3DLUT_TRANSFER_FUNCTION = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The color space is sRGB. @ENG_END_DOX"] +pub const ADLX_3DLUT_COLORSPACE_CS_SRGB: ADLX_3DLUT_COLORSPACE = 1; +#[doc = "< @ENG_START_DOX The color space is BT2020. @ENG_END_DOX"] +pub const ADLX_3DLUT_COLORSPACE_CS_BT2020: ADLX_3DLUT_COLORSPACE = 2; +#[doc = "< @ENG_START_DOX The color space is DCIP3. @ENG_END_DOX"] +pub const ADLX_3DLUT_COLORSPACE_CS_DCIP3: ADLX_3DLUT_COLORSPACE = 3; +#[doc = "< @ENG_START_DOX The color space is native. @ENG_END_DOX"] +pub const ADLX_3DLUT_COLORSPACE_CS_NATIVE: ADLX_3DLUT_COLORSPACE = 4; +#[doc = " @enum ADLX_3DLUT_COLORSPACE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the custom 3D LUT color space.\n @ENG_END_DOX"] +pub type ADLX_3DLUT_COLORSPACE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The bias control type is auto. @ENG_END_DOX"] +pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_AUTO: ADLX_SSM_BIAS_MODE = 0; +#[doc = "< @ENG_START_DOX The bias control type is manual. @ENG_END_DOX"] +pub const ADLX_SSM_BIAS_MODE_SSM_BIAS_MANUAL: ADLX_SSM_BIAS_MODE = 1; +#[doc = " @enum ADLX_SSM_BIAS_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief AMD SmartShift Max bias mode.\n @ENG_END_DOX"] +pub type ADLX_SSM_BIAS_MODE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The Antilag level is AntiLag. @ENG_END_DOX"] +pub const ADLX_ANTILAG_STATE_ANTILAG: ADLX_ANTILAG_STATE = 0; +#[doc = "< @ENG_START_DOX The Antilag level is AntiLag Next. @ENG_END_DOX"] +pub const ADLX_ANTILAG_STATE_ANTILAGNEXT: ADLX_ANTILAG_STATE = 1; +#[doc = " @enum ADLX_ANTILAG_STATE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the state of Anti Lag.\n @ENG_END_DOX"] +pub type ADLX_ANTILAG_STATE = ::std::os::raw::c_int; +#[doc = "< @ENG_START_DOX The GPU is not part of an AMD MGPU configuration. @ENG_END_DOX"] +pub const ADLX_MGPU_MODE_MGPU_NONE: ADLX_MGPU_MODE = 0; +#[doc = "< @ENG_START_DOX The GPU is the primary GPU in an AMD MGPU configuration. @ENG_END_DOX"] +pub const ADLX_MGPU_MODE_MGPU_PRIMARY: ADLX_MGPU_MODE = 1; +#[doc = "< @ENG_START_DOX The GPU is the secondary GPU in an AMD MGPU configuration. @ENG_END_DOX"] +pub const ADLX_MGPU_MODE_MGPU_SECONDARY: ADLX_MGPU_MODE = 2; +#[doc = " @enum ADLX_MGPU_MODE\n @ingroup enumerations\n @ENG_START_DOX\n @brief Indicates the AMD MGPU mode.\n @ENG_END_DOX"] +pub type ADLX_MGPU_MODE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXInterfaceVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXInterface, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXInterfaceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IADLXInterfaceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXInterfaceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXInterfaceVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXInterfaceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXInterfaceVtbl), + "::", + stringify!(QueryInterface) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXInterface { + pub pVtbl: *const IADLXInterfaceVtbl, +} +#[test] +fn bindgen_test_layout_IADLXInterface() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXInterface)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXInterface)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXInterface), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXListVtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: ::std::option::Option adlx_uint>, + pub Empty: ::std::option::Option adlx_bool>, + pub Begin: ::std::option::Option adlx_uint>, + pub End: ::std::option::Option adlx_uint>, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: ::std::option::Option ADLX_RESULT>, + pub Remove_Back: + ::std::option::Option ADLX_RESULT>, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXList, pItem: *mut IADLXInterface) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IADLXListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXListVtbl), + "::", + stringify!(Add_Back) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXList { + pub pVtbl: *const IADLXListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUVtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub VendorId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + vendorId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub ASICFamilyType: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, + ) -> ADLX_RESULT, + >, + pub Type: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, + >, + pub IsExternal: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU, isExternal: *mut adlx_bool) -> ADLX_RESULT, + >, + pub Name: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + gpuName: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub DriverPath: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + driverPath: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub PNPString: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + pnpString: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub HasDesktops: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, + >, + pub TotalVRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU, vramMB: *mut adlx_uint) -> ADLX_RESULT, + >, + pub VRAMType: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + type_: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub BIOSInfo: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + partNumber: *mut *const ::std::os::raw::c_char, + version: *mut *const ::std::os::raw::c_char, + date: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub DeviceId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + deviceId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub RevisionId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + revisionId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub SubSystemId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + subSystemId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub SubSystemVendorId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU, + subSystemVendorId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub UniqueId: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU, uniqueId: *mut adlx_int) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(IADLXGPUVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(ASICFamilyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(IsExternal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(DriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(PNPString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(HasDesktops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(TotalVRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(VRAMType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(BIOSInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(RevisionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(SubSystemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(SubSystemVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUVtbl), + "::", + stringify!(UniqueId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPU { + pub pVtbl: *const IADLXGPUVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPU() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPU)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPU)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUListVtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: ::std::option::Option adlx_uint>, + pub Empty: ::std::option::Option adlx_uint8>, + pub Begin: ::std::option::Option adlx_uint>, + pub End: ::std::option::Option adlx_uint>, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: ::std::option::Option ADLX_RESULT>, + pub Remove_Back: + ::std::option::Option ADLX_RESULT>, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXInterface) -> ADLX_RESULT, + >, + pub At_GPUList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUList, + location: adlx_uint, + ppItem: *mut *mut IADLXGPU, + ) -> ADLX_RESULT, + >, + pub Add_Back_GPUList: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUList, pItem: *mut IADLXGPU) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IADLXGPUListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Add_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At_GPUList) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(At_GPUList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUListVtbl), + "::", + stringify!(Add_Back_GPUList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUList { + pub pVtbl: *const IADLXGPUListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUsEventListenerVtbl { + pub OnGPUListChanged: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUsEventListener, + pNewGPUs: *mut IADLXGPUList, + ) -> adlx_bool, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUsEventListenerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUsEventListenerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUsEventListenerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnGPUListChanged) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsEventListenerVtbl), + "::", + stringify!(OnGPUListChanged) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUsEventListener { + pub pVtbl: *const IADLXGPUsEventListenerVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUsEventListener() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUsEventListener)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUsEventListener)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsEventListener), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUsChangedHandlingVtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUsChangedHandling) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUsChangedHandling, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub AddGPUsListEventListener: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUsChangedHandling, + pListener: *mut IADLXGPUsEventListener, + ) -> ADLX_RESULT, + >, + pub RemoveGPUsListEventListener: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUsChangedHandling, + pListener: *mut IADLXGPUsEventListener, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUsChangedHandlingVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IADLXGPUsChangedHandlingVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUsChangedHandlingVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandlingVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandlingVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandlingVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddGPUsListEventListener) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandlingVtbl), + "::", + stringify!(AddGPUsListEventListener) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveGPUsListEventListener) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandlingVtbl), + "::", + stringify!(RemoveGPUsListEventListener) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUsChangedHandling { + pub pVtbl: *const IADLXGPUsChangedHandlingVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUsChangedHandling() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUsChangedHandling)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUsChangedHandling)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUsChangedHandling), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXDesktopServices { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXDisplayServices { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXLog { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLX3DSettingsServices { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUTuningServices { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXI2C { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemVtbl { + pub GetHybridGraphicsType: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystem, hgType: *mut ADLX_HG_TYPE) -> ADLX_RESULT, + >, + pub GetGPUs: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppGPUs: *mut *mut IADLXGPUList, + ) -> ADLX_RESULT, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub GetDisplaysServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppDispServices: *mut *mut IADLXDisplayServices, + ) -> ADLX_RESULT, + >, + pub GetDesktopsServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppDeskServices: *mut *mut IADLXDesktopServices, + ) -> ADLX_RESULT, + >, + pub GetGPUsChangedHandling: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppGPUsChangedHandling: *mut *mut IADLXGPUsChangedHandling, + ) -> ADLX_RESULT, + >, + pub EnableLog: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + mode: ADLX_LOG_DESTINATION, + severity: ADLX_LOG_SEVERITY, + pLogger: *mut IADLXLog, + fileName: *const wchar_t, + ) -> ADLX_RESULT, + >, + pub Get3DSettingsServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + pp3DSettingsServices: *mut *mut IADLX3DSettingsServices, + ) -> ADLX_RESULT, + >, + pub GetGPUTuningServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppGPUTuningServices: *mut *mut IADLXGPUTuningServices, + ) -> ADLX_RESULT, + >, + pub GetPerformanceMonitoringServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + ppPerformanceMonitoringServices: *mut *mut IADLXPerformanceMonitoringServices, + ) -> ADLX_RESULT, + >, + pub TotalSystemRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystem, ramMB: *mut adlx_uint) -> ADLX_RESULT, + >, + pub GetI2C: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem, + pGPU: *mut IADLXGPU, + ppI2C: *mut *mut IADLXI2C, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IADLXSystemVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHybridGraphicsType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetHybridGraphicsType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetGPUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplaysServices) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetDisplaysServices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDesktopsServices) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetDesktopsServices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUsChangedHandling) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetGPUsChangedHandling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableLog) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(EnableLog) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Get3DSettingsServices) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(Get3DSettingsServices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTuningServices) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetGPUTuningServices) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetPerformanceMonitoringServices) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetPerformanceMonitoringServices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSystemRAM) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(TotalSystemRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetI2C) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemVtbl), + "::", + stringify!(GetI2C) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystem { + pub pVtbl: *const IADLXSystemVtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystem() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystem)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystem)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXDisplay { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXDesktop { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLMappingVtbl { + pub GetADLXGPUFromBdf: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + bus: adlx_int, + device: adlx_int, + function: adlx_int, + ppGPU: *mut *mut IADLXGPU, + ) -> ADLX_RESULT, + >, + pub GetADLXGPUFromAdlAdapterIndex: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + adlAdapterIndex: adlx_int, + ppGPU: *mut *mut IADLXGPU, + ) -> ADLX_RESULT, + >, + pub BdfFromADLXGPU: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + pGPU: *mut IADLXGPU, + bus: *mut adlx_int, + device: *mut adlx_int, + function: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub AdlAdapterIndexFromADLXGPU: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + pGPU: *mut IADLXGPU, + adlAdapterIndex: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetADLXDisplayFromADLIds: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + adapterIndex: adlx_int, + displayIndex: adlx_int, + bus: adlx_int, + device: adlx_int, + function: adlx_int, + ppDisplay: *mut *mut IADLXDisplay, + ) -> ADLX_RESULT, + >, + pub ADLIdsFromADLXDisplay: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + pDisplay: *mut IADLXDisplay, + adapterIndex: *mut adlx_int, + displayIndex: *mut adlx_int, + bus: *mut adlx_int, + device: *mut adlx_int, + function: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetADLXDesktopFromADLIds: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + adapterIndex: adlx_int, + VidPnSourceId: adlx_int, + bus: adlx_int, + device: adlx_int, + function: adlx_int, + ppDesktop: *mut *mut IADLXDesktop, + ) -> ADLX_RESULT, + >, + pub ADLIdsFromADLXDesktop: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLMapping, + pDesktop: *mut IADLXDesktop, + adapterIndex: *mut adlx_int, + VidPnSourceId: *mut adlx_int, + bus: *mut adlx_int, + device: *mut adlx_int, + function: *mut adlx_int, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLMappingVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IADLMappingVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLMappingVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetADLXGPUFromBdf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(GetADLXGPUFromBdf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetADLXGPUFromAdlAdapterIndex) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(GetADLXGPUFromAdlAdapterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BdfFromADLXGPU) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(BdfFromADLXGPU) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdlAdapterIndexFromADLXGPU) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(AdlAdapterIndexFromADLXGPU) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDisplayFromADLIds) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(GetADLXDisplayFromADLIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDisplay) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(ADLIdsFromADLXDisplay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetADLXDesktopFromADLIds) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(GetADLXDesktopFromADLIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ADLIdsFromADLXDesktop) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLMappingVtbl), + "::", + stringify!(ADLIdsFromADLXDesktop) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLMapping { + pub pVtbl: *const IADLMappingVtbl, +} +#[test] +fn bindgen_test_layout_IADLMapping() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLMapping)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLMapping)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLMapping), + "::", + stringify!(pVtbl) + ) + ); +} +pub type ADLXQueryFullVersion_Fn = + ::std::option::Option ADLX_RESULT>; +pub type ADLXQueryVersion_Fn = ::std::option::Option< + unsafe extern "C" fn(version: *mut *const ::std::os::raw::c_char) -> ADLX_RESULT, +>; +#[doc = " @typedef ADLX_ADL_Main_Memory_Free\n @ingroup ADLXDefs\n @ENG_START_DOX The typedef of ADLX_ADL_Main_Memory_Free function. @ENG_END_DOX\n @definition\n @codeStart\n typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer)\n @codeEnd"] +pub type ADLX_ADL_Main_Memory_Free = + ::std::option::Option; +pub type ADLXInitialize_Fn = ::std::option::Option< + unsafe extern "C" fn(version: adlx_uint64, ppSystem: *mut *mut IADLXSystem) -> ADLX_RESULT, +>; +pub type ADLXInitializeWithCallerAdl_Fn = ::std::option::Option< + unsafe extern "C" fn( + version: adlx_uint64, + ppSystem: *mut *mut IADLXSystem, + ppAdlMapping: *mut *mut IADLMapping, + adlContext: adlx_handle, + adlMainMemoryFree: ADLX_ADL_Main_Memory_Free, + ) -> ADLX_RESULT, +>; +pub type ADLXTerminate_Fn = ::std::option::Option ADLX_RESULT>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPU1Vtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub VendorId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + vendorId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub ASICFamilyType: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + asicFamilyType: *mut ADLX_ASIC_FAMILY_TYPE, + ) -> ADLX_RESULT, + >, + pub Type: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, gpuType: *mut ADLX_GPU_TYPE) -> ADLX_RESULT, + >, + pub IsExternal: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, isExternal: *mut adlx_bool) -> ADLX_RESULT, + >, + pub Name: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + gpuName: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub DriverPath: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + driverPath: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub PNPString: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + pnpString: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub HasDesktops: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, hasDesktops: *mut adlx_bool) -> ADLX_RESULT, + >, + pub TotalVRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, vramMB: *mut adlx_uint) -> ADLX_RESULT, + >, + pub VRAMType: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + type_: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub BIOSInfo: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + partNumber: *mut *const ::std::os::raw::c_char, + version: *mut *const ::std::os::raw::c_char, + date: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub DeviceId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + deviceId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub RevisionId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + revisionId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub SubSystemId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + subSystemId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub SubSystemVendorId: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + subSystemVendorId: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, + pub UniqueId: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, uniqueId: *mut adlx_int) -> ADLX_RESULT, + >, + pub PCIBusType: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, busType: *mut ADLX_PCI_BUS_TYPE) -> ADLX_RESULT, + >, + pub PCIBusLaneWidth: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, laneWidth: *mut adlx_uint) -> ADLX_RESULT, + >, + pub MultiGPUMode: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPU1, mode: *mut ADLX_MGPU_MODE) -> ADLX_RESULT, + >, + pub ProductName: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPU1, + productName: *mut *const ::std::os::raw::c_char, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPU1Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!("Size of: ", stringify!(IADLXGPU1Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPU1Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASICFamilyType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(ASICFamilyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsExternal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(IsExternal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriverPath) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(DriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PNPString) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(PNPString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasDesktops) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(HasDesktops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalVRAM) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(TotalVRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VRAMType) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(VRAMType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BIOSInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(BIOSInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevisionId) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(RevisionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemId) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(SubSystemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemVendorId) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(SubSystemVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueId) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(UniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PCIBusType) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(PCIBusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PCIBusLaneWidth) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(PCIBusLaneWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MultiGPUMode) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(MultiGPUMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductName) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1Vtbl), + "::", + stringify!(ProductName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPU1 { + pub pVtbl: *const IADLXGPU1Vtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPU1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPU1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPU1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPU1), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXPowerTuningServices { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystem1Vtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem1, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub GetPowerTuningServices: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystem1, + ppPowerTuningServices: *mut *mut IADLXPowerTuningServices, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystem1Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IADLXSystem1Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystem1Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem1Vtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem1Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem1Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPowerTuningServices) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem1Vtbl), + "::", + stringify!(GetPowerTuningServices) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystem1 { + pub pVtbl: *const IADLXSystem1Vtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystem1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystem1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystem1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystem1), + "::", + stringify!(pVtbl) + ) + ); +} +#[doc = " @struct ADLX_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains RGB information.\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_RGB { + #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] + pub gamutR: adlx_double, + #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] + pub gamutG: adlx_double, + #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] + pub gamutB: adlx_double, +} +#[test] +fn bindgen_test_layout_ADLX_RGB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ADLX_RGB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ADLX_RGB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamutR) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RGB), + "::", + stringify!(gamutR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamutG) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RGB), + "::", + stringify!(gamutG) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamutB) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RGB), + "::", + stringify!(gamutB) + ) + ); +} +#[doc = " @struct ADLX_Point\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point.\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_Point { + #[doc = "< @ENG_START_DOX The x coordinate. @ENG_END_DOX"] + pub x: adlx_int, + #[doc = "< @ENG_START_DOX The y coordinate. @ENG_END_DOX"] + pub y: adlx_int, +} +#[test] +fn bindgen_test_layout_ADLX_Point() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ADLX_Point)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_Point)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_Point), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_Point), + "::", + stringify!(y) + ) + ); +} +#[doc = " @struct ADLX_GamutColorSpace\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported gamut coordinates\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_GamutColorSpace { + #[doc = "< @ENG_START_DOX The red channel chromaticity coordinate. @ENG_END_DOX"] + pub red: ADLX_Point, + #[doc = "< @ENG_START_DOX The green channel chromaticity coordinate. @ENG_END_DOX"] + pub green: ADLX_Point, + #[doc = "< @ENG_START_DOX The blue channel chromaticity coordinate. @ENG_END_DOX"] + pub blue: ADLX_Point, +} +#[test] +fn bindgen_test_layout_ADLX_GamutColorSpace() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ADLX_GamutColorSpace)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_GamutColorSpace)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_GamutColorSpace), + "::", + stringify!(red) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_GamutColorSpace), + "::", + stringify!(green) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ADLX_GamutColorSpace), + "::", + stringify!(blue) + ) + ); +} +#[doc = " @struct ADLX_GammaRamp\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains the display gamma ramp used to program the re-gamma LUT.\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_GammaRamp { + #[doc = "< @ENG_START_DOX The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values.\nEach triplet consists of red, green and blue values. @ENG_END_DOX"] + pub gamma: [adlx_uint16; 768usize], +} +#[test] +fn bindgen_test_layout_ADLX_GammaRamp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1536usize, + concat!("Size of: ", stringify!(ADLX_GammaRamp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(ADLX_GammaRamp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_GammaRamp), + "::", + stringify!(gamma) + ) + ); +} +#[doc = " @struct ADLX_RegammaCoeff\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve.\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_RegammaCoeff { + #[doc = "< @ENG_START_DOX The a0 gamma coefficient. @ENG_END_DOX"] + pub coefficientA0: adlx_int, + #[doc = "< @ENG_START_DOX The a1 gamma coefficient. @ENG_END_DOX"] + pub coefficientA1: adlx_int, + #[doc = "< @ENG_START_DOX The a2 gamma coefficient. @ENG_END_DOX"] + pub coefficientA2: adlx_int, + #[doc = "< @ENG_START_DOX The a3 gamma coefficient. @ENG_END_DOX"] + pub coefficientA3: adlx_int, + #[doc = "< @ENG_START_DOX The regamma divider. @ENG_END_DOX"] + pub gamma: adlx_int, +} +#[test] +fn bindgen_test_layout_ADLX_RegammaCoeff() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(ADLX_RegammaCoeff)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_RegammaCoeff)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).coefficientA0) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RegammaCoeff), + "::", + stringify!(coefficientA0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).coefficientA1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RegammaCoeff), + "::", + stringify!(coefficientA1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).coefficientA2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RegammaCoeff), + "::", + stringify!(coefficientA2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).coefficientA3) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RegammaCoeff), + "::", + stringify!(coefficientA3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gamma) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ADLX_RegammaCoeff), + "::", + stringify!(gamma) + ) + ); +} +#[doc = " @struct ADLX_TimingInfo\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains display timing information.\n @ENG_END_DOX"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_TimingInfo { + #[doc = "< @ENG_START_DOX The detailed timing flag. @ENG_END_DOX"] + pub timingFlags: adlx_int, + #[doc = "< @ENG_START_DOX The total number of pixels that compose all scan lines during a horizontal sync. @ENG_END_DOX"] + pub hTotal: adlx_int, + #[doc = "< @ENG_START_DOX The total number of vertical pixels permitted/processed per sync. @ENG_END_DOX"] + pub vTotal: adlx_int, + #[doc = "< @ENG_START_DOX The number of horizontal pixels within the active area. @ENG_END_DOX"] + pub hDisplay: adlx_int, + #[doc = "< @ENG_START_DOX The number of vertical pixels within the active display area. @ENG_END_DOX"] + pub vDisplay: adlx_int, + #[doc = "< @ENG_START_DOX The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image. @ENG_END_DOX"] + pub hFrontPorch: adlx_int, + #[doc = "< @ENG_START_DOX The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image. @ENG_END_DOX"] + pub vFrontPorch: adlx_int, + #[doc = "< @ENG_START_DOX The number of pixels that compose a scan line during a horizontal sync. @ENG_END_DOX"] + pub hSyncWidth: adlx_int, + #[doc = "< @ENG_START_DOX The number of vertical pixels permitted/processed during a sync. @ENG_END_DOX"] + pub vSyncWidth: adlx_int, + #[doc = "< @ENG_START_DOX The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] + pub hPolarity: adlx_int, + #[doc = "< @ENG_START_DOX The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX"] + pub vPolarity: adlx_int, +} +#[test] +fn bindgen_test_layout_ADLX_TimingInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(ADLX_TimingInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_TimingInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).timingFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(timingFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTotal) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(hTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vTotal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(vTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDisplay) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(hDisplay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDisplay) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(vDisplay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hFrontPorch) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(hFrontPorch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vFrontPorch) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(vFrontPorch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSyncWidth) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(hSyncWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vSyncWidth) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(vSyncWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPolarity) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(hPolarity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vPolarity) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ADLX_TimingInfo), + "::", + stringify!(vPolarity) + ) + ); +} +#[doc = " @struct ADLX_CustomResolution\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information for custom resolution parameters on a given display.\n @ENG_END_DOX\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_CustomResolution { + #[doc = "< @ENG_START_DOX The resolution width. @ENG_END_DOX"] + pub resWidth: adlx_int, + #[doc = "< @ENG_START_DOX The resolution height. @ENG_END_DOX"] + pub resHeight: adlx_int, + #[doc = "< @ENG_START_DOX The refresh rate. @ENG_END_DOX"] + pub refreshRate: adlx_int, + #[doc = "< @ENG_START_DOX The presentation method, 0 PROGRESSIVE; 1 INTERLACED. @ENG_END_DOX"] + pub presentation: ADLX_DISPLAY_SCAN_TYPE, + #[doc = "< @ENG_START_DOX The display timing standard. @ENG_END_DOX"] + pub timingStandard: ADLX_TIMING_STANDARD, + #[doc = "< @ENG_START_DOX The speed at which pixels are transmitted within on a refresh cycle. @ENG_END_DOX"] + pub GPixelClock: adlx_long, + #[doc = "< @ENG_START_DOX The detailed timing information. @ENG_END_DOX"] + pub detailedTiming: ADLX_TimingInfo, +} +#[test] +fn bindgen_test_layout_ADLX_CustomResolution() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 68usize, + concat!("Size of: ", stringify!(ADLX_CustomResolution)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_CustomResolution)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).resWidth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(resWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).resHeight) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(resHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).refreshRate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(refreshRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).presentation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(presentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).timingStandard) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(timingStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPixelClock) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(GPixelClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).detailedTiming) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ADLX_CustomResolution), + "::", + stringify!(detailedTiming) + ) + ); +} +#[doc = " @struct ADLX_IntRange\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains information on the integer range.\n @ENG_END_DOX\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_IntRange { + #[doc = "< @ENG_START_DOX The minimum integer value. @ENG_END_DOX"] + pub minValue: adlx_int, + #[doc = "< @ENG_START_DOX The maximum integer value. @ENG_END_DOX"] + pub maxValue: adlx_int, + #[doc = "< @ENG_START_DOX The accepted integer range step. @ENG_END_DOX"] + pub step: adlx_int, +} +#[test] +fn bindgen_test_layout_ADLX_IntRange() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(ADLX_IntRange)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ADLX_IntRange)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).minValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_IntRange), + "::", + stringify!(minValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).maxValue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_IntRange), + "::", + stringify!(maxValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).step) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ADLX_IntRange), + "::", + stringify!(step) + ) + ); +} +#[doc = " @struct ADLX_UINT16_RGB\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains UINT16 RGB information.\n @ENG_END_DOX\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_UINT16_RGB { + #[doc = "< @ENG_START_DOX Red @ENG_END_DOX"] + pub red: adlx_uint16, + #[doc = "< @ENG_START_DOX Green @ENG_END_DOX"] + pub green: adlx_uint16, + #[doc = "< @ENG_START_DOX Blue @ENG_END_DOX"] + pub blue: adlx_uint16, +} +#[test] +fn bindgen_test_layout_ADLX_UINT16_RGB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(ADLX_UINT16_RGB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(ADLX_UINT16_RGB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_UINT16_RGB), + "::", + stringify!(red) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ADLX_UINT16_RGB), + "::", + stringify!(green) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ADLX_UINT16_RGB), + "::", + stringify!(blue) + ) + ); +} +#[doc = " @struct ADLX_3DLUT_Data\n @ingroup structuresVal\n @ENG_START_DOX\n @brief This structure contains custom 3D LUT information.\n @ENG_END_DOX\n"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ADLX_3DLUT_Data { + #[doc = "< @ENG_START_DOX The data is a buffer containing 17*17*17 triplets of @ref ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values.\nFor 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit. @ENG_END_DOX"] + pub data: [ADLX_UINT16_RGB; 4913usize], +} +#[test] +fn bindgen_test_layout_ADLX_3DLUT_Data() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 29478usize, + concat!("Size of: ", stringify!(ADLX_3DLUT_Data)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(ADLX_3DLUT_Data)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ADLX_3DLUT_Data), + "::", + stringify!(data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetricsSupportVtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetricsSupport) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUUsage: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUClockSpeed: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUVRAMClockSpeed: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUTemperature: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUHotspotTemperature: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUPower: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUTotalBoardPower: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUFanSpeed: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUVRAM: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUVoltage: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub GetGPUUsageRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUClockSpeedRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUVRAMClockSpeedRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUTemperatureRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUHotspotTemperatureRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUPowerRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUFanSpeedRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUVRAMRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUVoltageRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUTotalBoardPowerRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetGPUIntakeTemperatureRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub IsSupportedGPUIntakeTemperature: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetricsSupportVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 200usize, + concat!("Size of: ", stringify!(IADLXGPUMetricsSupportVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetricsSupportVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUClockSpeed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUClockSpeed) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAMClockSpeed) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUVRAMClockSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUTemperature) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUTemperature) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IsSupportedGPUHotspotTemperature) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUHotspotTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUPower) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUPower) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IsSupportedGPUTotalBoardPower) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUTotalBoardPower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUFanSpeed) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUFanSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVRAM) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUVRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedGPUVoltage) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUVoltage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUUsageRange) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUUsageRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUClockSpeedRange) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUClockSpeedRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMClockSpeedRange) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUVRAMClockSpeedRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTemperatureRange) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUTemperatureRange) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetGPUHotspotTemperatureRange) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUHotspotTemperatureRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUPowerRange) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUPowerRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUFanSpeedRange) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUFanSpeedRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVRAMRange) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUVRAMRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUVoltageRange) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUVoltageRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUTotalBoardPowerRange) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUTotalBoardPowerRange) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetGPUIntakeTemperatureRange) as usize - ptr as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(GetGPUIntakeTemperatureRange) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IsSupportedGPUIntakeTemperature) as usize - ptr as usize + }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupportVtbl), + "::", + stringify!(IsSupportedGPUIntakeTemperature) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetricsSupport { + pub pVtbl: *const IADLXGPUMetricsSupportVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetricsSupport() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUMetricsSupport)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetricsSupport)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsSupport), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsSupportVtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub IsSupportedCPUUsage: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedSystemRAM: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedSmartShift: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub GetCPUUsageRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetSystemRAMRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetSmartShiftRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsSupportVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsSupportVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsSupportVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(IsSupportedCPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(IsSupportedSystemRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(IsSupportedSmartShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(GetCPUUsageRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(GetSystemRAMRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupportVtbl), + "::", + stringify!(GetSmartShiftRange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsSupport { + pub pVtbl: *const IADLXSystemMetricsSupportVtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsSupport() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsSupport)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetricsVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetrics, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub TimeStamp: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, + >, + pub GPUUsage: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub GPUClockSpeed: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub GPUVRAMClockSpeed: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub GPUTemperature: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub GPUHotspotTemperature: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub GPUPower: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub GPUTotalBoardPower: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub GPUFanSpeed: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub GPUVRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub GPUVoltage: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub GPUIntakeTemperature: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXGPUMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetricsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IADLXGPUMetricsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetricsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUUsage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUClockSpeed) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUClockSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAMClockSpeed) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUVRAMClockSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUTemperature) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUHotspotTemperature) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUHotspotTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUPower) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUPower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUTotalBoardPower) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUTotalBoardPower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUFanSpeed) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUFanSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUVRAM) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUVRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUVoltage) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUVoltage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPUIntakeTemperature) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsVtbl), + "::", + stringify!(GPUIntakeTemperature) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetrics { + pub pVtbl: *const IADLXGPUMetricsVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetrics() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUMetrics)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetrics)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetrics), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetricsListVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: + ::std::option::Option adlx_uint>, + pub Empty: + ::std::option::Option adlx_bool>, + pub Begin: + ::std::option::Option adlx_uint>, + pub End: + ::std::option::Option adlx_uint>, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: + ::std::option::Option ADLX_RESULT>, + pub Remove_Back: + ::std::option::Option ADLX_RESULT>, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsList, + pItem: *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub At_GPUMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXGPUMetrics, + ) -> ADLX_RESULT, + >, + pub Add_Back_GPUMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXGPUMetricsList, + pItem: *mut IADLXGPUMetrics, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetricsListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IADLXGPUMetricsListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetricsListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Add_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At_GPUMetricsList) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(At_GPUMetricsList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_GPUMetricsList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsListVtbl), + "::", + stringify!(Add_Back_GPUMetricsList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXGPUMetricsList { + pub pVtbl: *const IADLXGPUMetricsListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXGPUMetricsList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXGPUMetricsList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXGPUMetricsList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXGPUMetricsList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetrics, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub TimeStamp: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, + >, + pub CPUUsage: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_double) -> ADLX_RESULT, + >, + pub SystemRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub SmartShift: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics, data: *mut adlx_int) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(CPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(SystemRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsVtbl), + "::", + stringify!(SmartShift) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetrics { + pub pVtbl: *const IADLXSystemMetricsVtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetrics() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystemMetrics)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetrics)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsListVtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, + >, + pub Empty: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_bool, + >, + pub Begin: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, + >, + pub End: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> adlx_uint, + >, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, + >, + pub Remove_Back: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsList) -> ADLX_RESULT, + >, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsList, + pItem: *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub At_SystemMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXSystemMetrics, + ) -> ADLX_RESULT, + >, + pub Add_Back_SystemMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsList, + pItem: *mut IADLXSystemMetrics, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Add_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At_SystemMetricsList) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(At_SystemMetricsList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_SystemMetricsList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsListVtbl), + "::", + stringify!(Add_Back_SystemMetricsList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsList { + pub pVtbl: *const IADLXSystemMetricsListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsList() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXFPSVtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXFPS, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub TimeStamp: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXFPS, ms: *mut adlx_int64) -> ADLX_RESULT, + >, + pub FPS: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXFPS, data: *mut adlx_int) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXFPSVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IADLXFPSVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXFPSVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSVtbl), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FPS) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSVtbl), + "::", + stringify!(FPS) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXFPS { + pub pVtbl: *const IADLXFPSVtbl, +} +#[test] +fn bindgen_test_layout_IADLXFPS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXFPS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXFPS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPS), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXFPSListVtbl { + pub Acquire: ::std::option::Option adlx_long>, + pub Release: ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXFPSList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: ::std::option::Option adlx_uint>, + pub Empty: ::std::option::Option adlx_bool>, + pub Begin: ::std::option::Option adlx_uint>, + pub End: ::std::option::Option adlx_uint>, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXFPSList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: ::std::option::Option ADLX_RESULT>, + pub Remove_Back: + ::std::option::Option ADLX_RESULT>, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXInterface) -> ADLX_RESULT, + >, + pub At_FPSList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXFPSList, + location: adlx_uint, + ppItem: *mut *mut IADLXFPS, + ) -> ADLX_RESULT, + >, + pub Add_Back_FPSList: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXFPSList, pItem: *mut IADLXFPS) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXFPSListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IADLXFPSListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXFPSListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Add_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At_FPSList) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(At_FPSList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_FPSList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSListVtbl), + "::", + stringify!(Add_Back_FPSList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXFPSList { + pub pVtbl: *const IADLXFPSListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXFPSList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXFPSList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXFPSList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXFPSList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXAllMetricsVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetrics, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub TimeStamp: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXAllMetrics, ms: *mut adlx_int64) -> ADLX_RESULT, + >, + pub GetSystemMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetrics, + metrics: *mut *mut IADLXSystemMetrics, + ) -> ADLX_RESULT, + >, + pub GetFPS: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetrics, + metrics: *mut *mut IADLXFPS, + ) -> ADLX_RESULT, + >, + pub GetGPUMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetrics, + pGPU: *mut IADLXGPU, + metrics: *mut *mut IADLXGPUMetrics, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXAllMetricsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IADLXAllMetricsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXAllMetricsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetrics) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(GetSystemMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFPS) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(GetFPS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetrics) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsVtbl), + "::", + stringify!(GetGPUMetrics) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXAllMetrics { + pub pVtbl: *const IADLXAllMetricsVtbl, +} +#[test] +fn bindgen_test_layout_IADLXAllMetrics() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXAllMetrics)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXAllMetrics)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetrics), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXAllMetricsListVtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetricsList, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub Size: + ::std::option::Option adlx_uint>, + pub Empty: + ::std::option::Option adlx_bool>, + pub Begin: + ::std::option::Option adlx_uint>, + pub End: + ::std::option::Option adlx_uint>, + pub At: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub Clear: + ::std::option::Option ADLX_RESULT>, + pub Remove_Back: + ::std::option::Option ADLX_RESULT>, + pub Add_Back: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetricsList, + pItem: *mut IADLXInterface, + ) -> ADLX_RESULT, + >, + pub At_AllMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetricsList, + location: adlx_uint, + ppItem: *mut *mut IADLXAllMetrics, + ) -> ADLX_RESULT, + >, + pub Add_Back_AllMetricsList: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXAllMetricsList, + pItem: *mut IADLXAllMetrics, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXAllMetricsListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IADLXAllMetricsListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXAllMetricsListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Empty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(At) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clear) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Clear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove_Back) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Remove_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Add_Back) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).At_AllMetricsList) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(At_AllMetricsList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Add_Back_AllMetricsList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsListVtbl), + "::", + stringify!(Add_Back_AllMetricsList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXAllMetricsList { + pub pVtbl: *const IADLXAllMetricsListVtbl, +} +#[test] +fn bindgen_test_layout_IADLXAllMetricsList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXAllMetricsList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXAllMetricsList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXAllMetricsList), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXPerformanceMonitoringServicesVtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub GetSamplingIntervalRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + range: *mut ADLX_IntRange, + ) -> ADLX_RESULT, + >, + pub SetSamplingInterval: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + intervalMs: adlx_int, + ) -> ADLX_RESULT, + >, + pub GetSamplingInterval: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + intervalMs: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetMaxPerformanceMetricsHistorySizeRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + range: *mut ADLX_IntRange, + ) -> ADLX_RESULT, + >, + pub SetMaxPerformanceMetricsHistorySize: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + sizeSec: adlx_int, + ) -> ADLX_RESULT, + >, + pub GetMaxPerformanceMetricsHistorySize: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + sizeSec: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub ClearPerformanceMetricsHistory: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, + >, + pub GetCurrentPerformanceMetricsHistorySize: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + sizeSec: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub StartPerformanceMetricsTracking: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, + >, + pub StopPerformanceMetricsTracking: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXPerformanceMonitoringServices) -> ADLX_RESULT, + >, + pub GetAllMetricsHistory: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + startMs: adlx_int, + stopMs: adlx_int, + ppMetricsList: *mut *mut IADLXAllMetricsList, + ) -> ADLX_RESULT, + >, + pub GetGPUMetricsHistory: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + pGPU: *mut IADLXGPU, + startMs: adlx_int, + stopMs: adlx_int, + ppMetricsList: *mut *mut IADLXGPUMetricsList, + ) -> ADLX_RESULT, + >, + pub GetSystemMetricsHistory: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + startMs: adlx_int, + stopMs: adlx_int, + ppMetricsList: *mut *mut IADLXSystemMetricsList, + ) -> ADLX_RESULT, + >, + pub GetFPSHistory: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + startMs: adlx_int, + stopMs: adlx_int, + ppMetricsList: *mut *mut IADLXFPSList, + ) -> ADLX_RESULT, + >, + pub GetCurrentAllMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + ppMetrics: *mut *mut IADLXAllMetrics, + ) -> ADLX_RESULT, + >, + pub GetCurrentGPUMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + pGPU: *mut IADLXGPU, + ppMetrics: *mut *mut IADLXGPUMetrics, + ) -> ADLX_RESULT, + >, + pub GetCurrentSystemMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + ppMetrics: *mut *mut IADLXSystemMetrics, + ) -> ADLX_RESULT, + >, + pub GetCurrentFPS: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + ppMetrics: *mut *mut IADLXFPS, + ) -> ADLX_RESULT, + >, + pub GetSupportedGPUMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + pGPU: *mut IADLXGPU, + ppMetricsSupported: *mut *mut IADLXGPUMetricsSupport, + ) -> ADLX_RESULT, + >, + pub GetSupportedSystemMetrics: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXPerformanceMonitoringServices, + ppMetricsSupported: *mut *mut IADLXSystemMetricsSupport, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXPerformanceMonitoringServicesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!( + "Size of: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IADLXPerformanceMonitoringServicesVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingIntervalRange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetSamplingIntervalRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSamplingInterval) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(SetSamplingInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSamplingInterval) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetSamplingInterval) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySizeRange) as usize + - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetMaxPerformanceMetricsHistorySizeRange) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SetMaxPerformanceMetricsHistorySize) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(SetMaxPerformanceMetricsHistorySize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetMaxPerformanceMetricsHistorySize) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetMaxPerformanceMetricsHistorySize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClearPerformanceMetricsHistory) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(ClearPerformanceMetricsHistory) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetCurrentPerformanceMetricsHistorySize) as usize + - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetCurrentPerformanceMetricsHistorySize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).StartPerformanceMetricsTracking) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(StartPerformanceMetricsTracking) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).StopPerformanceMetricsTracking) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(StopPerformanceMetricsTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllMetricsHistory) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetAllMetricsHistory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGPUMetricsHistory) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetGPUMetricsHistory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSystemMetricsHistory) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetSystemMetricsHistory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFPSHistory) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetFPSHistory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentAllMetrics) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetCurrentAllMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentGPUMetrics) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetCurrentGPUMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentSystemMetrics) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetCurrentSystemMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentFPS) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetCurrentFPS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedGPUMetrics) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetSupportedGPUMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSupportedSystemMetrics) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServicesVtbl), + "::", + stringify!(GetSupportedSystemMetrics) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXPerformanceMonitoringServices { + pub pVtbl: *const IADLXPerformanceMonitoringServicesVtbl, +} +#[test] +fn bindgen_test_layout_IADLXPerformanceMonitoringServices() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXPerformanceMonitoringServices)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IADLXPerformanceMonitoringServices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXPerformanceMonitoringServices), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsSupport1Vtbl { + pub Acquire: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetricsSupport1) -> adlx_long, + >, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub IsSupportedCPUUsage: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedSystemRAM: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub IsSupportedSmartShift: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, + pub GetCPUUsageRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetSystemRAMRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub GetSmartShiftRange: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + minValue: *mut adlx_int, + maxValue: *mut adlx_int, + ) -> ADLX_RESULT, + >, + pub IsSupportedPowerDistribution: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetricsSupport1, + supported: *mut adlx_bool, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsSupport1Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedCPUUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(IsSupportedCPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSystemRAM) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(IsSupportedSystemRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSupportedSmartShift) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(IsSupportedSmartShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCPUUsageRange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(GetCPUUsageRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSystemRAMRange) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(GetSystemRAMRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSmartShiftRange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(GetSmartShiftRange) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IsSupportedPowerDistribution) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1Vtbl), + "::", + stringify!(IsSupportedPowerDistribution) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetricsSupport1 { + pub pVtbl: *const IADLXSystemMetricsSupport1Vtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetricsSupport1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystemMetricsSupport1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetricsSupport1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetricsSupport1), + "::", + stringify!(pVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetrics1Vtbl { + pub Acquire: + ::std::option::Option adlx_long>, + pub Release: + ::std::option::Option adlx_long>, + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetrics1, + interfaceId: *const wchar_t, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> ADLX_RESULT, + >, + pub TimeStamp: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, ms: *mut adlx_int64) -> ADLX_RESULT, + >, + pub CPUUsage: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetrics1, + data: *mut adlx_double, + ) -> ADLX_RESULT, + >, + pub SystemRAM: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub SmartShift: ::std::option::Option< + unsafe extern "C" fn(pThis: *mut IADLXSystemMetrics1, data: *mut adlx_int) -> ADLX_RESULT, + >, + pub PowerDistribution: ::std::option::Option< + unsafe extern "C" fn( + pThis: *mut IADLXSystemMetrics1, + apuShiftValue: *mut adlx_int, + gpuShiftValue: *mut adlx_int, + apuShiftLimit: *mut adlx_int, + gpuShiftLimit: *mut adlx_int, + totalShiftLimit: *mut adlx_int, + ) -> ADLX_RESULT, + >, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetrics1Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IADLXSystemMetrics1Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetrics1Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Acquire) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(Acquire) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CPUUsage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(CPUUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemRAM) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(SystemRAM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SmartShift) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(SmartShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerDistribution) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1Vtbl), + "::", + stringify!(PowerDistribution) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IADLXSystemMetrics1 { + pub pVtbl: *const IADLXSystemMetrics1Vtbl, +} +#[test] +fn bindgen_test_layout_IADLXSystemMetrics1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IADLXSystemMetrics1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IADLXSystemMetrics1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IADLXSystemMetrics1), + "::", + stringify!(pVtbl) + ) + ); +} diff --git a/src/lib.rs b/src/lib.rs index c70a30f..5d28da5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,11 @@ #![doc = include_str!("../README.md")] +#[allow( + non_upper_case_globals, + non_camel_case_types, + non_snake_case, + dead_code +)] pub mod ffi; pub mod gpu; diff --git a/vendor/ADLX b/vendor/ADLX new file mode 160000 index 0000000..d361234 --- /dev/null +++ b/vendor/ADLX @@ -0,0 +1 @@ +Subproject commit d3612344d19250f6030b27a787e8eeb2322e5dec diff --git a/vendor/adlx/ADLX SDK License Agreement.pdf b/vendor/adlx/ADLX SDK License Agreement.pdf deleted file mode 100644 index 9973f257a4fa92de8bf020a9b1191d5385654a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126195 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

Y+USwt>^H5eVrSbLgxYa>!`|8wJo3Uws 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 WP}SP*j= -* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref ADLX_RESULT ADLXHelper_Initialize () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* If __ADLXHelper_Initialize__ is successfully executed, __ADLX_OK__ is returned.
-* If __ADLXHelper_Initialize__ is not successfully executed, an error code is returned.
-* If ADLX was previously successfully initialized with any of the initialization functions, __ADLX_ALREADY_INITIALIZED__ is returned.
-* Refer to @ref ADLX_RESULT for success codes and error codes. -* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details This function is used when an application does not use the ADL library and initializes ADLX with default parameters.
-* For more information for initializing ADLX with default parameters, refer to @ref @adlx_gpu_support "ADLX GPU Support".
-* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -ADLX_RESULT ADLXHelper_Initialize(); - -/** -* @page page_cHelpADLXHelper_InitializeWithIncompatibleDriver ADLXHelper_InitializeWithIncompatibleDriver -* @ENG_START_DOX -* @brief Initializes ADLX with a legacy driver.
-* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* If __ADLXHelper_InitializeWithIncompatibleDriver__ is successfully executed, __ADLX_OK__ is returned.
-* If __ADLXHelper_InitializeWithIncompatibleDriver__ is not successfully executed, an error code is returned.
-* If ADLX was previously successfully initialized with any of the initialization functions, __ADLX_ALREADY_INITIALIZED__ is returned.
-* Refer to @ref ADLX_RESULT for success codes and error codes.
-* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details This function is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver.
-* For more information for initializing ADLX with a legacy driver, refer to @ref @adlx_gpu_support "ADLX GPU Support".
-* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver(); - -/** -* @page page_cHelpADLXHelper_InitializeWithCallerAdl ADLXHelper_InitializeWithCallerAdl -* @ENG_START_DOX -* @brief Initializes ADLX with an ADL context. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref ADLX_RESULT ADLXHelper_InitializeWithCallerAdl (adlx_handle adlContext, @ref ADLX_ADL_Main_Memory_Free adlMainMemoryFree) -* @codeEnd -* @params -* @paramrow{1.,[in],adlContext,adlx_handle,@ENG_START_DOX The ADL context. @ENG_END_DOX} -* @paramrow{2.,[in],adlMainMemoryFree,@ref ADLX_ADL_Main_Memory_Free,@ENG_START_DOX The callback handler of the memory deallocation function. @ENG_END_DOX} -* -* @retvalues -* @ENG_START_DOX -* If __ADLXHelper_InitializeWithCallerAdl__ is successfully executed, __ADLX_OK__ is returned.
-* If __ADLXHelper_InitializeWithCallerAdl__ is not successfully executed, an error code is returned.
-* If ADLX was previously successfully initialized with any of the Initialize versions, __ADLX_ALREADY_INITIALIZED__ is returned.
-* Refer to @ref ADLX_RESULT for success codes and error codes.
-* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details -* This function is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL.
-* In such case, the application shall pass the parameters in this function that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized.
-* For more information for initializing ADLX with an ADL context, refer to @ref page_guide_use_ADLX "Using ADLX in an ADL application".
-* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -ADLX_RESULT ADLXHelper_InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree); - -/** -* @page page_cHelpADLXHelper_Terminate ADLXHelper_Terminate -* @ENG_START_DOX -* @brief Terminates ADLX and releases ADLX library. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref ADLX_RESULT ADLXHelper_Terminate () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* If __ADLXHelper_Terminate__ is successfully executed, __ADLX_OK__ is returned.
-* If __ADLXHelper_Terminate__ is not successfully executed, an error code is returned.
-* Refer to @ref ADLX_RESULT for success codes and error codes. -* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details -* Any interface obtained from ADLX that is not released becomes invalid.
-* Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes.
-* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -ADLX_RESULT ADLXHelper_Terminate(); - -/** -* @page page_cHelpADLXHelper_GetSystemServices ADLXHelper_GetSystemServices -* @ENG_START_DOX -* @brief Gets the ADLX system interface. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref DOX_IADLXSystem* ADLXHelper_GetSystemServices () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* If ADLX was successfully initialized before this function call, the @ref DOX_IADLXSystem interface is returned.
-* If ADLX was not successfully initialized, __nullptr__ is returned. -* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -IADLXSystem* ADLXHelper_GetSystemServices (); - -/** -* @page page_cHelpADLXHelper_GetAdlMapping ADLXHelper_GetAdlMapping -* @ENG_START_DOX -* @brief Gets the ADL Mapping interface. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* @ref DOX_IADLMapping* ADLXHelper_GetAdlMapping () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* If ADLX was successfully initialized with ADL, a valid pointer of the @ref DOX_IADLMapping interface is returned.
-* If ADLX was initialized under any of the following circumstances, __nullptr__ is returned.
-* - ADLX initialization was with other initialization methods.
-* - ADLX initialization was failed.
-* - ADLX initialization was not called.
-* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details __ADLXHelper_GetAdlMapping__ is used to convert data between ADL and ADLX in applications where ADLX was initialized with @ref page_cHelpADLXHelper_InitializeWithCallerAdl. -* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -IADLMapping* ADLXHelper_GetAdlMapping(); - -/** -* @page page_cHelpADLXHelper_QueryFullVersion ADLXHelper_QueryFullVersion -* @ENG_START_DOX -* @brief Gets the full version of ADLX. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* adlx_uint64 ADLXHelper_QueryFullVersion () -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* The full version of ADLX. -* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -adlx_uint64 ADLXHelper_QueryFullVersion(); - -/** -* @page page_cHelpADLXHelper_QueryVersion ADLXHelper_QueryVersion -* @ENG_START_DOX -* @brief Gets the version of ADLX. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* const char* ADLXHelper_QueryVersion (); -* @codeEnd -* @params -* N/A -* -* @retvalues -* @ENG_START_DOX -* The version of ADLX. -* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXHelper/Windows/C/ADLXHelper.h", @ADLX_First_Ver} -*/ -const char* ADLXHelper_QueryVersion(); -#endif // __ADLXFactoryC_h__ - diff --git a/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp b/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp deleted file mode 100644 index 0947411..0000000 --- a/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp +++ /dev/null @@ -1,152 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#include "ADLXHelper.h" - -ADLXHelper g_ADLX; - -//------------------------------------------------------------------------------------------------- -//Constructor -ADLXHelper::ADLXHelper () -{} - -//------------------------------------------------------------------------------------------------- -//Destructor -ADLXHelper::~ADLXHelper () -{ - Terminate (); -} - -//------------------------------------------------------------------------------------------------- -//Initialization -ADLX_RESULT ADLXHelper::Initialize () -{ - return InitializePrivate (nullptr, nullptr); -} - -ADLX_RESULT ADLXHelper::InitializeWithIncompatibleDriver () -{ - return InitializePrivate (nullptr, nullptr, true); -} - -ADLX_RESULT ADLXHelper::InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) -{ - if (adlContext == nullptr || adlMainMemoryFree == nullptr) - { - return ADLX_INVALID_ARGS; - } - return InitializePrivate (adlContext, adlMainMemoryFree); -} - -//------------------------------------------------------------------------------------------------- -//Termination -ADLX_RESULT ADLXHelper::Terminate () -{ - ADLX_RESULT res = ADLX_OK; - if (m_hDLLHandle != nullptr) - { - m_ADLXFullVersion = 0; - m_ADLXVersion = nullptr; - m_pSystemServices = nullptr; - m_pAdlMapping = nullptr; - if (nullptr != m_terminateFn) - { - res = m_terminateFn (); - } - m_fullVersionFn = nullptr; - m_versionFn = nullptr; - m_initWithADLFn = nullptr; - m_initFnEx = nullptr; - m_initFn = nullptr; - m_terminateFn = nullptr; - adlx_free_library (m_hDLLHandle); - m_hDLLHandle = nullptr; - } - return res; -} - -//------------------------------------------------------------------------------------------------- -//Gets the full version of ADLX -adlx_uint64 ADLXHelper::QueryFullVersion () -{ - return m_ADLXFullVersion; -} - -//------------------------------------------------------------------------------------------------- -//Gets the version of ADLX -const char* ADLXHelper::QueryVersion () -{ - return m_ADLXVersion; -} - -//------------------------------------------------------------------------------------------------- -//Gets the ADLX system interface -adlx::IADLXSystem* ADLXHelper::GetSystemServices () -{ - return m_pSystemServices; -} - -//------------------------------------------------------------------------------------------------- -//Gets the ADL Mapping interface -adlx::IADLMapping* ADLXHelper::GetAdlMapping () -{ - return m_pAdlMapping; -} - -//------------------------------------------------------------------------------------------------- -//Loads ADLX and finds the function pointers to the ADLX functions -ADLX_RESULT ADLXHelper::LoadADLXDll() -{ - if (m_hDLLHandle == nullptr) - { - m_hDLLHandle = adlx_load_library (ADLX_DLL_NAME); - if (m_hDLLHandle) - { - m_fullVersionFn = (ADLXQueryFullVersion_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_QUERY_FULL_VERSION_FUNCTION_NAME); - m_versionFn = (ADLXQueryVersion_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_QUERY_VERSION_FUNCTION_NAME); - m_initWithADLFn = (ADLXInitializeWithCallerAdl_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME); - m_initFnEx = (ADLXInitialize_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME); - m_initFn = (ADLXInitialize_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_INIT_FUNCTION_NAME); - m_terminateFn = (ADLXTerminate_Fn)adlx_get_proc_address (m_hDLLHandle, ADLX_TERMINATE_FUNCTION_NAME); - } - } - - if (m_fullVersionFn && m_versionFn && m_initWithADLFn && m_initFnEx && m_initFn && m_terminateFn) - { - return ADLX_OK; - } - - return ADLX_FAIL; -} - -//------------------------------------------------------------------------------------------------- -//Initializes ADLX based on the parameters -ADLX_RESULT ADLXHelper::InitializePrivate(adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree, adlx_bool useIncompatibleDriver) -{ - ADLX_RESULT res = LoadADLXDll (); - if (ADLX_OK == res) - { - m_fullVersionFn (&m_ADLXFullVersion); - m_versionFn (&m_ADLXVersion); - if (adlContext != nullptr && adlMainMemoryFree != nullptr) - { - res = m_initWithADLFn (ADLX_FULL_VERSION, &m_pSystemServices, &m_pAdlMapping, adlContext, adlMainMemoryFree); - } - else - { - if (useIncompatibleDriver) - { - res = m_initFnEx (ADLX_FULL_VERSION, &m_pSystemServices); - } - else - { - res = m_initFn (ADLX_FULL_VERSION, &m_pSystemServices); - } - } - return res; - } - - return ADLX_FAIL; -} \ No newline at end of file diff --git a/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h b/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h deleted file mode 100644 index faa29d4..0000000 --- a/vendor/adlx/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h +++ /dev/null @@ -1,355 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_ADLXHelper_h -#define ADLX_ADLXHelper_h - -#pragma once - -#include "../../../Include/ADLX.h" - -class ADLXHelper -{ -public: - /** - * @page page_cppHelpNew ADLXHelper - * @ENG_START_DOX - * @brief The constructor of the ADLXHelper class. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * ADLXHelper () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * An ADLXHelper object. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - ADLXHelper (); - - /** - * @page page_cppHelpDelete ~ADLXHelper - * @ENG_START_DOX - * @brief The destructor of the ADLXHelper class. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * ~ADLXHelper () - * @codeEnd - * @params - * N/A - * - * @retvalues - * N/A - * - * @detaileddesc - * @ENG_START_DOX - * @details This method calls @ref page_cppHelpTerminate. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - virtual ~ADLXHelper (); - - //Initialization. Either of these versions Must be called before any calls in this class - - /** - * @page page_cppHelpInitializeWithCallerAdl InitializeWithCallerAdl - * @ENG_START_DOX - * @brief Initializes ADLX with an ADL context. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT InitializeWithCallerAdl (adlx_handle adlContext, @ref ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - * @codeEnd - * @params - * @paramrow{1.,[in],adlContext,adlx_handle,@ENG_START_DOX The ADL context. @ENG_END_DOX} - * @paramrow{2.,[in],adlMainMemoryFree,@ref ADLX_ADL_Main_Memory_Free,@ENG_START_DOX The callback handler of the memory deallocation. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If __InitializeWithCallerAdl__ is successfully executed, __ADLX_OK__ is returned.
- * If __InitializeWithCallerAdl__ is not successfully executed, an error code is returned.
- * If ADLX was previously successfully initialized with any of the Initialize versions, __ADLX_ALREADY_INITIALIZED__ is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * This method is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL.
- * In such case, the application shall pass the parameters in this method that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized.
- * For more information for initializing ADLX with an ADL context, refer to @ref page_guide_use_ADLX "Using ADLX in an ADL application".
- * @ENG_END_DOX - * - * @requirements - * - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - ADLX_RESULT InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree); - - /** - * @page page_cppHelpInitialize Initialize - * @ENG_START_DOX - * @brief Initializes ADLX with default parameters. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT Initialize () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If __Initialize__ is successfully executed, __ADLX_OK__ is returned.
- * If __Initialize__ is not successfully executed, an error code is returned.
- * If ADLX was previously successfully initialized with any of the initialization functions, __ADLX_ALREADY_INITIALIZED__ is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * This method is used when an application does not use the ADL library and initializes ADLX with default parameters.
- * For more information for initializing ADLX with default parameters, refer to @ref @adlx_gpu_support "ADLX GPU Support".
- * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - ADLX_RESULT Initialize (); - - /** - * @page page_cppHelpInitializeWithIncompatibleDriver InitializeWithIncompatibleDriver - * @ENG_START_DOX - * @brief Initializes ADLX with a legacy driver. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT InitializeWithIncompatibleDriver () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If __InitializeWithIncompatibleDriver__ is successfully executed, __ADLX_OK__ is returned.
- * If __InitializeWithIncompatibleDriver__ is not successfully executed, an error code is returned.
- * If ADLX was previously successfully initialized with any of the Initialize versions, __ADLX_ALREADY_INITIALIZED__ is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * This method is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver.
- * For more information for initializing ADLX with a legacy driver, refer to @ref @adlx_gpu_support "ADLX GPU Support".
- * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - ADLX_RESULT InitializeWithIncompatibleDriver (); - - //Destruction. - //WARNING: No outstanding interfaces from ADLX must exist when calling this method. - //After this call they will be invalid and calls into them will result in access violation. - - /** - * @page page_cppHelpTerminate Terminate - * @ENG_START_DOX - * @brief Terminates ADLX and releases ADLX library. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT Terminate () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If __Terminate__ is successfully executed, __ADLX_OK__ is returned.
- * If __Terminate__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * Any interface obtained from ADLX that is not released becomes invalid.
- * Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes.
- * @ENG_END_DOX - * - * @requirements - * - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - ADLX_RESULT Terminate (); - - //Returns the ADLX version - - /** - * @page page_cppHelpQueryFullVersion QueryFullVersion - * @ENG_START_DOX - * @brief Gets the full version of ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * adlx_uint64 QueryFullVersion () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * The full version of ADLX. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - adlx_uint64 QueryFullVersion (); - - /** - * @page page_cppHelpQueryVersion QueryVersion - * @ENG_START_DOX - * @brief Gets the version of ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * const char* QueryVersion () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * The version of ADLX. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - const char* QueryVersion (); - - /** - * @page page_cppHelpGetSystemServices GetSystemServices - * @ENG_START_DOX - * @brief Gets the ADLX system interface. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref DOX_IADLXSystem* GetSystemServices () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If ADLX was successfully initialized before this method call, the @ref DOX_IADLXSystem interface is returned.
- * If ADLX was not successfully initialized, __nullptr__ is returned. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - adlx::IADLXSystem* GetSystemServices (); - - /** - * @page page_cppHelpGetAdlMapping GetAdlMapping - * @ENG_START_DOX - * @brief Gets the ADL Mapping interface. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref DOX_IADLMapping* GetAdlMapping () - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If ADLX was successfully initialized with ADL, a valid pointer of the @ref DOX_IADLMapping interface is returned.
- * If ADLX was initialized under any of the following circumstances, __nullptr__ is returned.
- * - ADLX initialization was with other initialization methods.
- * - ADLX initialization was failed.
- * - ADLX initialization was not called.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * __GetAdlMapping__ is used to convert data between ADL and ADLX in applications where ADLX was initialized with @ref page_cppHelpInitializeWithCallerAdl. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXHelper/Windows/Cpp/ADLXHelper.h", @ADLX_First_Ver} - */ - adlx::IADLMapping* GetAdlMapping (); - -protected: - - //Handle to the ADLX dll - adlx_handle m_hDLLHandle = nullptr; - - //Full Version of this ADLX instance - adlx_uint64 m_ADLXFullVersion = 0; - - //Version of this ADLX instance - const char* m_ADLXVersion = nullptr; - - //The ADLX system services interface - adlx::IADLXSystem* m_pSystemServices = nullptr; - - //the ADL mapping interface - adlx::IADLMapping* m_pAdlMapping = nullptr; - - //ADLX function - query full version - ADLXQueryFullVersion_Fn m_fullVersionFn = nullptr; - - //ADLX function - query version - ADLXQueryVersion_Fn m_versionFn = nullptr; - - //ADLX function - initialize with ADL - ADLXInitializeWithCallerAdl_Fn m_initWithADLFn = nullptr; - - //ADLX function - initialize with incompatible driver - ADLXInitialize_Fn m_initFnEx = nullptr; - - //ADLX function - initialize - ADLXInitialize_Fn m_initFn = nullptr; - - //ADLX function - terminate - ADLXTerminate_Fn m_terminateFn = nullptr; - - //Loads ADLX and finds the function pointers to the ADLX functions - ADLX_RESULT LoadADLXDll (); - - //Initializes ADLX based on the parameters - ADLX_RESULT InitializePrivate (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree, adlx_bool useIncompatibleDriver = false); -}; //class ADLXHelper - -extern ::ADLXHelper g_ADLX; - -#endif //ADLX_ADLXHelper_h \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/ADLX.h b/vendor/adlx/SDK/Include/ADLX.h deleted file mode 100644 index 712be71..0000000 --- a/vendor/adlx/SDK/Include/ADLX.h +++ /dev/null @@ -1,367 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_H -#define ADLX_H -#pragma once - -#include "ADLXDefines.h" -#include "ISystem.h" - -#pragma region dll name -#if defined(_WIN32) -#if defined(_M_AMD64) -/** -* @def ADLX_DLL_NAMEW -* @ingroup ADLXMacro -* @ENG_START_DOX Unicode name for 64-bit ADLX dll @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAMEW L"amdadlx64.dll" -* @codeEnd -*/ -#define ADLX_DLL_NAMEW L"amdadlx64.dll" -/** -* @def ADLX_DLL_NAMEA -* @ingroup ADLXMacro -* @ENG_START_DOX ANSI name for 64-bit ADLX dll @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAMEA "amdadlx64.dll" -* @codeEnd -*/ -#define ADLX_DLL_NAMEA "amdadlx64.dll" -#else //_M_AMD64 -/** -* @def ADLX_DLL_NAMEW -* @ingroup ADLXMacro -* @ENG_START_DOX Unicode name for 32-bit ADLX dll @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAMEW L"amdadlx32.dll" -* @codeEnd -*/ -#define ADLX_DLL_NAMEW L"amdadlx32.dll" -/** -* @def ADLX_DLL_NAMEA -* @ingroup ADLXMacro -* @ENG_START_DOX ANSI name for 32-bit ADLX dll @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAMEA "amdadlx32.dll" -* @codeEnd -*/ -#define ADLX_DLL_NAMEA "amdadlx32.dll" -#endif //_M_AMD64 - -#if defined(UNICODE) -/** -* @def ADLX_DLL_NAME -* @ingroup ADLXMacro -* @ENG_START_DOX ADLX dll name in Unicode applications @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAME @ref ADLX_DLL_NAMEW -* @codeEnd -*/ -#define ADLX_DLL_NAME ADLX_DLL_NAMEW -#else //UNICODE -/** -* @def ADLX_DLL_NAME -* @ingroup ADLXMacro -* @ENG_START_DOX ADLX dll name in ANSI applications @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_DLL_NAME @ref ADLX_DLL_NAMEA -* @codeEnd -*/ -#define ADLX_DLL_NAME ADLX_DLL_NAMEA -#endif //UNICODE -#endif //_WIN32 -#pragma endregion dll name - -#pragma region ADLX callbacks -typedef ADLX_RESULT(ADLX_CDECL_CALL* ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion); -typedef ADLX_RESULT(ADLX_CDECL_CALL* ADLXQueryVersion_Fn)(const char** version); - -/** -* @typedef ADLX_ADL_Main_Memory_Free -* @ingroup ADLXDefs -* @ENG_START_DOX The typedef of ADLX_ADL_Main_Memory_Free function. @ENG_END_DOX -* @definition -* @codeStart -* typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer) -* @codeEnd -*/ -typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer); -#pragma endregion ADLX callbacks - -#pragma region C-style functions -/** - * @def ADLX_QUERY_FULL_VERSION_FUNCTION_NAME - * @ingroup ADLXMacro - * @ENG_START_DOX The function name of QueryFullVersion @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME "ADLXQueryFullVersion" - * @codeEnd - */ -#define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME "ADLXQueryFullVersion" - -/** - * @def ADLX_QUERY_VERSION_FUNCTION_NAME - * @ingroup ADLXMacro - * @ENG_START_DOX The function name of QueryVersion @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_QUERY_VERSION_FUNCTION_NAME "ADLXQueryVersion" - * @codeEnd - */ -#define ADLX_QUERY_VERSION_FUNCTION_NAME "ADLXQueryVersion" - - /** - * @def ADLX_INIT_FUNCTION_NAME - * @ingroup ADLXMacro - * @ENG_START_DOX The function name of ADLXInitialize @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_INIT_FUNCTION_NAME "ADLXInitialize" - * @codeEnd - */ -#define ADLX_INIT_FUNCTION_NAME "ADLXInitialize" - - /** - * @def ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME - * @ingroup ADLXMacro - * @ENG_START_DOX The function name of ADLXInitializeWithIncompatibleDriver @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME "ADLXInitializeWithIncompatibleDriver" - * @codeEnd - */ -#define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME "ADLXInitializeWithIncompatibleDriver" - -/** -* @def ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME -* @ingroup ADLXMacro -* @ENG_START_DOX The function name of ADLXInitializeWithCallerAdl @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME "ADLXInitializeWithCallerAdl" -* @codeEnd -*/ -#define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME "ADLXInitializeWithCallerAdl" - -/** -* @def ADLX_TERMINATE_FUNCTION_NAME -* @ingroup ADLXMacro -* @ENG_START_DOX The function name of ADLXTerminate @ENG_END_DOX -* @definition -* @codeStart -* \#define ADLX_TERMINATE_FUNCTION_NAME "ADLXTerminate" -* @codeEnd -*/ -#define ADLX_TERMINATE_FUNCTION_NAME "ADLXTerminate" - -#if defined(__cplusplus) - -extern "C" -{ - /** - * @page page_ADLXQueryFullVersion_Fn ADLXQueryFullVersion_Fn - * @ENG_START_DOX - * @brief A pointer to the function to query the full version of ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion) - * @codeEnd - * @params - * @paramrow{1.,[out],fullVersion,adlx_uint64*,@ENG_START_DOX The pointer to a variable where the full version of ADLX is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the full version is successfully returned, __ADLX_OK__ is returned.
- * If the full version is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @detaileddesc - * The pointer of the function is returned by the @ref adlx_get_proc_address using the @ref ADLX_QUERY_FULL_VERSION_FUNCTION_NAME as the function name. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLX.h", @ADLX_First_Ver} - */ - - /** - * @typedef ADLXQueryFullVersion_Fn - * @ingroup ADLXDefs - * @ENG_START_DOX The typedef of QueryFullVersion function. @ENG_END_DOX - * @definition - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *QueryFullVersion_Fn)(adlx_uint64* fullVersion) - * @codeEnd - */ - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion); - - /** - * @page page_ADLXQueryVersion_Fn ADLXQueryVersion_Fn - * @ENG_START_DOX - * @brief A pointer to the function to query the version of ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryVersion_Fn)(const char** version) - * @codeEnd - * @params - * @paramrow{1.,[out],version,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the version of ADLX is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the version is successfully returned, __ADLX_OK__ is returned.
- * If the version is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @detaileddesc - * The pointer of the function is returned by the @ref adlx_get_proc_address using the @ref ADLX_QUERY_VERSION_FUNCTION_NAME as the function name. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLX.h", @ADLX_First_Ver} - */ - - /** - * @typedef ADLXQueryVersion_Fn - * @ingroup ADLXDefs - * @ENG_START_DOX The typedef of QueryVersion function. @ENG_END_DOX - * @definition - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *QueryVersion_Fn)(const char** version) - * @codeEnd - */ - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryVersion_Fn)(const char** version); - - /** - * @page page_ADLXInitialize_Fn ADLXInitialize_Fn - * @ENG_START_DOX - * @brief A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, @ref DOX_IADLXSystem** ppSystem) - * @codeEnd - * @params - * @paramrow{1.,[in],version,adlx_uint64,@ENG_START_DOX The version of ADLX. @ENG_END_DOX} - * @paramrow{1.,[out],ppSystem,@ref DOX_IADLXSystem**,@ENG_START_DOX The address of a pointer to the ADLX system interface. If ADLX initialization failed\, the method sets the dereferenced address __*ppSystem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If ADLX was successfully initialized, __ADLX_OK__ is returned.
- * If ADLX was not successfully initialized, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @detaileddesc - * The pointer of the function is returned by the @ref adlx_get_proc_address using the @ref ADLX_INIT_FUNCTION_NAME or @ref ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME as the function name. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLX.h", @ADLX_First_Ver} - */ - - /** - * @typedef ADLXInitialize_Fn - * @ingroup ADLXDefs - * @ENG_START_DOX The typedef of ADLXInitialize function. @ENG_END_DOX - * @definition - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, @ref DOX_IADLXSystem** ppSystem) - * @codeEnd - */ - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, adlx::IADLXSystem** ppSystem); - - /** - * @page page_ADLXInitializeWithCallerAdl_Fn ADLXInitializeWithCallerAdl_Fn - * @ENG_START_DOX - * @brief A pointer to the function to initialize ADLX with an ADL context. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, @ref DOX_IADLXSystem** ppSystem, @ref DOX_IADLMapping** ppAdlMapping, adlx_handle adlContext, @ref ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - * @codeEnd - * @params - * @paramrow{1.,[in],version,adlx_uint64,@ENG_START_DOX The version of ADLX. @ENG_END_DOX} - * @paramrow{2.,[out],ppSystem,@ref DOX_IADLXSystem**,@ENG_START_DOX The address of a pointer to the ADLX system interface. If ADLX initialization failed\, the method sets the dereferenced address __*ppSystem__ to __nullptr__. @ENG_END_DOX} - * @paramrow{3.,[out],ppAdlMapping,@ref DOX_IADLMapping**,@ENG_START_DOX The address of a pointer to the ADLX mapping interface. If ADLX initialization failed\, the method sets the dereferenced address __*ppAdlMapping__ to __nullptr__. @ENG_END_DOX} - * @paramrow{4.,[in],adlContext,adlx_handle,@ENG_START_DOX The ADL context. @ENG_END_DOX} - * @paramrow{5.,[in],adlMainMemoryFree,@ref ADLX_ADL_Main_Memory_Free,@ENG_START_DOX The callback handle of the memory deallocation function. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If ADLX was successfully initialized, __ADLX_OK__ is returned.
- * If ADLX was not successfully initialized, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @detaileddesc - * The pointer of the function is returned by the @ref adlx_get_proc_address using the @ref ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME as the function name. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLX.h", @ADLX_First_Ver} - */ - - /** - * @typedef ADLXInitializeWithCallerAdl_Fn - * @ingroup ADLXDefs - * @ENG_START_DOX The typedef of ADLXInitializeWithCallerAdl function. @ENG_END_DOX - * @definition - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, @ref DOX_IADLXSystem** ppSystem, @ref DOX_IADLMapping** ppAdlMapping, adlx_handle adlContext, @ref ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - * @codeEnd - */ - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, adlx::IADLXSystem** ppSystem, adlx::IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree); - - /** - * @page page_ADLXTerminate_Fn ADLXTerminate_Fn - * @ENG_START_DOX - * @brief A pointer to the function to terminate ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * typedef @ref ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)() - * @codeEnd - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * If the function is successfully executed, __ADLX_OK__ is returned.
- * If the function is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @detaileddesc - * The pointer of the function is returned by the @ref adlx_get_proc_address using the @ref ADLX_TERMINATE_FUNCTION_NAME as the function name. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLX.h", @ADLX_First_Ver} - */ - - /** - * @typedef ADLXTerminate_Fn - * @ingroup ADLXDefs - * @ENG_START_DOX The typedef of ADLXTerminate function. @ENG_END_DOX - * @definition - * @codeStart - * typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)() - * @codeEnd - */ - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)(); -} -#else -typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion); -typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryVersion_Fn)(const char** version); -typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem); -typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree); -typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)(); -#endif - -#pragma endregion C-style functions - -#endif //ADLX_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/ADLXDefines.h b/vendor/adlx/SDK/Include/ADLXDefines.h deleted file mode 100644 index 7f82052..0000000 --- a/vendor/adlx/SDK/Include/ADLXDefines.h +++ /dev/null @@ -1,1308 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_DEFINES_H -#define ADLX_DEFINES_H -#pragma once - -#if defined(_WIN32) -#include -#endif - -#include -#include -#include "ADLXVersion.h" - -//------------------------------------------------------------------------------------------------- -//Version stuff -#pragma region version - -#define ADLX_MAKE_FULL_VER(VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE, VERSION_BUILD_NUM) ( ((adlx_uint64)(VERSION_MAJOR) << 48ull) | ((adlx_uint64)(VERSION_MINOR) << 32ull) | ((adlx_uint64)(VERSION_RELEASE) << 16ull) | (adlx_uint64)(VERSION_BUILD_NUM)) -#define ADLX_FULL_VERSION ADLX_MAKE_FULL_VER(ADLX_VER_MAJOR, ADLX_VER_MINOR, ADLX_VER_RELEASE, ADLX_VER_BUILD_NUM) - -#define ADLX_VERSION_STR ADLX_VER_MAJOR##.##ADLX_VER_MINOR -#pragma endregion version - -//------------------------------------------------------------------------------------------------- -//ADLX Platform - platform-specific defines, such as types and C/C++ declarations -#pragma region platform -/** - * @defgroup typedefs ADLX Primitive Data Types - * @ENG_START_DOX - * @brief This section provides definitions for ADLX primitive data types. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - * - * ADLX Type | Description - * ----: | :---- - * adlx_int64 | @ENG_START_DOX adlx_int64 is typedef of int64_t @ENG_END_DOX - * adlx_int32 | @ENG_START_DOX adlx_int32 is typedef of int32_t @ENG_END_DOX - * adlx_int16 | @ENG_START_DOX adlx_int16 is typedef of int16_t @ENG_END_DOX - * adlx_int8 | @ENG_START_DOX adlx_int8 is typedef of int8_t @ENG_END_DOX - * adlx_uint64 | @ENG_START_DOX adlx_uint64 is typedef of uint64_t @ENG_END_DOX - * adlx_uint32 | @ENG_START_DOX adlx_uint32 is typedef of uint32_t @ENG_END_DOX - * adlx_uint16 | @ENG_START_DOX adlx_uint16 is typedef of uint16_t @ENG_END_DOX - * adlx_uint8 | @ENG_START_DOX adlx_uint8 is typedef of uint8_t @ENG_END_DOX - * adlx_size | @ENG_START_DOX adlx_size is typedef of size_t @ENG_END_DOX - * adlx_handle | @ENG_START_DOX adlx_handle is typedef of void* @ENG_END_DOX - * adlx_double | @ENG_START_DOX adlx_double is typedef of double @ENG_END_DOX - * adlx_float | @ENG_START_DOX adlx_float is typedef of float @ENG_END_DOX - * adlx_void | @ENG_START_DOX adlx_void is typedef of void @ENG_END_DOX - * adlx_int | @ENG_START_DOX adlx_int is typedef of adlx_int32 @ENG_END_DOX - * adlx_uint | @ENG_START_DOX adlx_uint is typedef of adlx_uint32 @ENG_END_DOX - * adlx_ulong | @ENG_START_DOX adlx_ulong is typedef of unsigned long @ENG_END_DOX - * adlx_bool | @ENG_START_DOX adlx_bool is typedef of bool @ENG_END_DOX - */ -#pragma region ADLX simple data types -typedef int64_t adlx_int64; -typedef int32_t adlx_int32; -typedef int16_t adlx_int16; -typedef int8_t adlx_int8; - -typedef uint64_t adlx_uint64; -typedef uint32_t adlx_uint32; -typedef uint16_t adlx_uint16; -typedef uint8_t adlx_uint8; -typedef size_t adlx_size; - -typedef void* adlx_handle; -typedef double adlx_double; -typedef float adlx_float; - -typedef void adlx_void; - -typedef long adlx_long; -typedef adlx_int32 adlx_int; -typedef unsigned long adlx_ulong; -typedef adlx_uint32 adlx_uint; - -typedef uint8_t adlx_byte; - -#if defined(__cplusplus) -typedef bool adlx_bool; -#else -typedef adlx_uint8 adlx_bool; -#define true 1 -#define false 0 -#endif -#pragma endregion ADLX simple data types - -//Calling standards -#pragma region Export declarations - -#if defined(_WIN32) - // Microsoft -#define ADLX_CORE_LINK __declspec(dllexport) -#define ADLX_STD_CALL __stdcall -#define ADLX_CDECL_CALL __cdecl -#define ADLX_FAST_CALL __fastcall -#define ADLX_INLINE __inline -#define ADLX_FORCEINLINE __forceinline -#define ADLX_NO_VTABLE __declspec(novtable) -#else -#define EXPORT -#define IMPORT -#pragma warning Unknown dynamic link import/export semantics. -#endif - -#pragma endregion Export declarations - -//Various platform APIs -#pragma region Platform APIs - -/** - * @page adlx_atomic_inc adlx_atomic_inc - * @ENG_START_DOX - * @brief An atomic increment of a variable in multithreading environments. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * adlx_long adlx_atomic_inc (adlx_long* x) - * @codeEnd - * @params - * @paramrow{1.,[in],x,adlx_long*,@ENG_START_DOX The pointer to the variable to be incremented. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * The incremented value. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - */ -adlx_long ADLX_CDECL_CALL adlx_atomic_inc (adlx_long* x); - -/** - * @page adlx_atomic_dec adlx_atomic_dec - * @ENG_START_DOX - * @brief An atomic decrement of a variable in multithreading environments. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * adlx_long adlx_atomic_dec (adlx_long* x) - * @codeEnd - * @params - * @paramrow{1.,[in],x,adlx_long*,@ENG_START_DOX The pointer to the variable to be decremented. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * The decremented value. - * @ENG_END_DOX - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - */ -adlx_long ADLX_CDECL_CALL adlx_atomic_dec (adlx_long* x); - - -/** - * @page adlx_load_library adlx_load_library - * @ENG_START_DOX - * @brief Loads a module into the address space of the calling process. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * adlx_handle adlx_load_library (const TCHAR* filename) - * @codeEnd - * @params - * @paramrow{1.,[in],filename,const TCHAR*,@ENG_START_DOX The zero-terminated string that specifies the file name of the module to be loaded. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the module is successfully loaded, a handle to the loaded module is returned.
- * If the module is not successfully loaded, __nullptr__ is returned.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * Use this function to load ADLX in your application. Specify the __filename__ parameter as @ref ADLX_DLL_NAME. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - */ -adlx_handle ADLX_CDECL_CALL adlx_load_library (const TCHAR* filename); - -/** -* @page adlx_free_library adlx_free_library -* @ENG_START_DOX -* @brief Frees a loaded module. -* @ENG_END_DOX -* -* @syntax -* @codeStart -* int adlx_free_library (adlx_handle module) -* @codeEnd -* @params -* @paramrow{1.,[in],module,adlx_handle,@ENG_START_DOX The handle to the loaded module. @ENG_END_DOX} -* -* @retvalues -* @ENG_START_DOX -* If the module is successfully unloaded, a non-zero value is returned.
-* If the module is not successfully unloaded, zero is returned.
-* @ENG_END_DOX -* -* @detaileddesc -* @ENG_START_DOX -* @details -* When ADLX is successfully freed with this function, ADLX is unloaded from the address space of the calling process and the handle to the module is no longer valid. -* @ENG_END_DOX -* -* @requirements -* @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} -*/ -int ADLX_CDECL_CALL adlx_free_library (adlx_handle module); - -/** - * @page adlx_get_proc_address adlx_get_proc_address - * @ENG_START_DOX - * @brief Retrieves the address of a function from a module. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * void* adlx_get_proc_address (adlx_handle module, const char* procName) - * @codeEnd - * @params - * @paramrow{1.,[in],module,adlx_handle,@ENG_START_DOX The handle to the module. @ENG_END_DOX} - * @paramrow{2.,[in],procName,const char*,@ENG_START_DOX The zero-terminated string that specifies the name of the function. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the function was found, the address of the function is returned.
- * If the function was not found, __nullptr__ is returned.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * Use this function to load ADLX functions from the ADLX module. The name of the ADLX function can be one of values: @ref ADLX_QUERY_FULL_VERSION_FUNCTION_NAME, @ref ADLX_QUERY_VERSION_FUNCTION_NAME, @ref ADLX_INIT_FUNCTION_NAME, @ref ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME, @ref ADLX_TERMINATE_FUNCTION_NAME.
- * Parameter: procName | Description | Return Value - * -|-|- - * @ref ADLX_QUERY_FULL_VERSION_FUNCTION_NAME | The function to query the full version of ADLX. | @ref page_ADLXQueryFullVersion_Fn| - * @ref ADLX_QUERY_VERSION_FUNCTION_NAME | The function to query the version of ADLX. | @ref page_ADLXQueryVersion_Fn| - * @ref ADLX_INIT_FUNCTION_NAME | The function to initialize ADLX with default parameters. | @ref page_ADLXInitialize_Fn | - * @ref ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME | The function to initialize ADLX with a legacy driver. | @ref page_ADLXInitialize_Fn | - * @ref ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME | The function to initialize ADLX with an ADL context. | @ref page_ADLXInitializeWithCallerAdl_Fn| - * @ref ADLX_TERMINATE_FUNCTION_NAME | The function to terminate ADLX. | @ref page_ADLXTerminate_Fn | - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - */ -void* ADLX_CDECL_CALL adlx_get_proc_address (adlx_handle module, const char* procName); - -#pragma endregion Platform APIs - -#pragma endregion platform -/** @file */ -//------------------------------------------------------------------------------------------------- -//ADLX data types -#pragma region ADLX data types - -#pragma region ADLX_RESULT -/** - * @enum ADLX_RESULT - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the result returned from an ADLX function or from an ADLX method. - * @ENG_END_DOX - */ -typedef enum -{ - ADLX_OK = 0, /**< @ENG_START_DOX This result indicates success. @ENG_END_DOX */ - ADLX_ALREADY_ENABLED, /**< @ENG_START_DOX This result indicates that the asked action is already enabled. @ENG_END_DOX */ - ADLX_ALREADY_INITIALIZED, /**< @ENG_START_DOX This result indicates that ADLX has a unspecified type of initialization. @ENG_END_DOX */ - ADLX_FAIL, /**< @ENG_START_DOX This result indicates an unspecified failure. @ENG_END_DOX */ - ADLX_INVALID_ARGS, /**< @ENG_START_DOX This result indicates that the arguments are invalid. @ENG_END_DOX */ - ADLX_BAD_VER, /**< @ENG_START_DOX This result indicates that the asked version is incompatible with the current version. @ENG_END_DOX */ - ADLX_UNKNOWN_INTERFACE, /**< @ENG_START_DOX This result indicates that an unknown interface was asked. @ENG_END_DOX */ - ADLX_TERMINATED, /**< @ENG_START_DOX This result indicates that the calls were made in an interface after ADLX was terminated. @ENG_END_DOX */ - ADLX_ADL_INIT_ERROR, /**< @ENG_START_DOX This result indicates that the ADL initialization failed. @ENG_END_DOX */ - ADLX_NOT_FOUND, /**< @ENG_START_DOX This result indicates that the item is not found. @ENG_END_DOX */ - ADLX_INVALID_OBJECT, /**< @ENG_START_DOX This result indicates that the method was called into an invalid object. @ENG_END_DOX */ - ADLX_ORPHAN_OBJECTS, /**< @ENG_START_DOX This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. @ENG_END_DOX */ - ADLX_NOT_SUPPORTED, /**< @ENG_START_DOX This result indicates that the asked feature is not supported. @ENG_END_DOX */ - ADLX_PENDING_OPERATION, /**< @ENG_START_DOX This result indicates a failure due to an operation currently in progress. @ENG_END_DOX */ - ADLX_GPU_INACTIVE /**< @ENG_START_DOX This result indicates that the GPU is inactive. @ENG_END_DOX */ -} ADLX_RESULT; - -/** - * @def ADLX_SUCCEEDED - * @ingroup ADLXMacro - * @ENG_START_DOX Checks if the result code passed as parameter indicates a successful operation. @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_SUCCEEDED(x) (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - * @codeEnd -*/ -#define ADLX_SUCCEEDED(x) (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - - /** - * @def ADLX_FAILED - * @ingroup ADLXMacro - * @ENG_START_DOX Checks if the result code passed as parameter indicates an unsuccessful operation. @ENG_END_DOX - * @definition - * @codeStart - * \#define ADLX_FAILED(x) (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - * @codeEnd - */ -#define ADLX_FAILED(x) (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - -#pragma endregion ADLX_RESULT - -#pragma region ADLX_HG_TYPE -/** - * @enum ADLX_HG_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the type of Hybrid Graphic. - * @ENG_END_DOX - */ -typedef enum -{ - NONE = 0, /**< @ENG_START_DOX This is not a Hybrid Graphics system. @ENG_END_DOX */ - AMD, /**< @ENG_START_DOX This is an AMD integrated GPU. @ENG_END_DOX */ - OTHER, /**< @ENG_START_DOX This is a non-AMD integrated GPU. @ENG_END_DOX */ -} ADLX_HG_TYPE; -#pragma endregion ADLX_HG_TYPE - -#pragma region ADLX_ASIC_FAMILY_TYPE -/** - * @enum ADLX_ASIC_FAMILY_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the ASIC family type. - * @ENG_END_DOX - */ -typedef enum -{ - ASIC_UNDEFINED = 0, /**< @ENG_START_DOX The ASIC family type is not defined. @ENG_END_DOX */ - ASIC_RADEON, /**< @ENG_START_DOX The ASIC family type is discrete. @ENG_END_DOX */ - ASIC_FIREPRO, /**< @ENG_START_DOX The ASIC family type is Firepro. @ENG_END_DOX */ - ASIC_FIREMV, /**< @ENG_START_DOX The ASIC family type is FireMV. @ENG_END_DOX */ - ASIC_FIRESTREAM, /**< @ENG_START_DOX The ASIC family type is FireStream. @ENG_END_DOX */ - ASIC_FUSION, /**< @ENG_START_DOX The ASIC family type is Fusion. @ENG_END_DOX */ - ASIC_EMBEDDED, /**< @ENG_START_DOX The ASIC family type is Embedded. @ENG_END_DOX */ -} ADLX_ASIC_FAMILY_TYPE; -#pragma endregion ADLX_ASIC_FAMILY_TYPE - -#pragma region ADLX_PCI_BUS_TYPE -/** - * @enum ADLX_PCI_BUS_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the PCI bus type. - * @ENG_END_DOX - */ -typedef enum -{ - UNDEFINED = 0, /**< @ENG_START_DOX The PCI bus type is not defined. @ENG_END_DOX */ - PCI, /**< @ENG_START_DOX The PCI bus type is PCI bus. @ENG_END_DOX */ - AGP, /**< @ENG_START_DOX The PCI bus type is AGP bus. @ENG_END_DOX */ - PCIE, /**< @ENG_START_DOX The PCI bus type is PCI Express bus. @ENG_END_DOX */ - PCIE_2_0, /**< @ENG_START_DOX The PCI bus type is PCI Express 2nd generation bus. @ENG_END_DOX */ - PCIE_3_0, /**< @ENG_START_DOX The PCI bus type is PCI Express 3rd generation bus. @ENG_END_DOX */ - PCIE_4_0 /**< @ENG_START_DOX The PCI bus type is PCI Express 4th generation bus. @ENG_END_DOX */ -} ADLX_PCI_BUS_TYPE; -#pragma endregion ADLX_PCI_BUS_TYPE - -#pragma region ADLX_DP_LINK_RATE -/** - * @enum ADLX_DP_LINK_RATE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the DP link rate. - * @ENG_END_DOX - */ -typedef enum -{ - DP_LINK_RATE_UNKNOWN = 0, /**< @ENG_START_DOX The DP link rate is unknown. @ENG_END_DOX */ - DP_LINK_RATE_RBR, /**< @ENG_START_DOX The DP link rate is 1.62 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_2_16GBPS, /**< @ENG_START_DOX The DP link rate is 2.16 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_2_43GBPS, /**< @ENG_START_DOX The DP link rate is 2.43 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_HBR, /**< @ENG_START_DOX The DP link rate is 2.70 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_4_32GBPS, /**< @ENG_START_DOX The DP link rate is 4.32 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_HBR2, /**< @ENG_START_DOX The DP link rate is 5.40 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_HBR3, /**< @ENG_START_DOX The DP link rate is 8.10 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_UHBR10, /**< @ENG_START_DOX The DP link rate is 10 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_UHBR13D5, /**< @ENG_START_DOX The DP link rate is 13.5 Gbps/Lane. @ENG_END_DOX */ - DP_LINK_RATE_UHBR20 /**< @ENG_START_DOX The DP link rate is 20 Gbps/Lane. @ENG_END_DOX */ -} ADLX_DP_LINK_RATE; - -#pragma endregion ADLX_DP_LINK_RATE - -#pragma region ADLX_GPU_TYPE -/** - * @enum ADLX_GPU_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the GPU type. - * @ENG_END_DOX - */ -typedef enum -{ - GPUTYPE_UNDEFINED = 0, /**< @ENG_START_DOX The GPU type is unknown. @ENG_END_DOX */ - GPUTYPE_INTEGRATED, /**< @ENG_START_DOX The GPU type is an integrated GPU. @ENG_END_DOX */ - GPUTYPE_DISCRETE, /**< @ENG_START_DOX The GPU type is a discrete GPU. @ENG_END_DOX */ -} ADLX_GPU_TYPE; -#pragma endregion ADLX_GPU_TYPE - -#pragma region ADLX_DISPLAY_CONNECTOR_TYPE -/** - * @enum ADLX_DISPLAY_CONNECTOR_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the display connector type. - * @ENG_END_DOX - */ -typedef enum -{ - DISPLAY_CONTYPE_UNKNOWN = 0, /**< @ENG_START_DOX The display connector type is unknown. @ENG_END_DOX */ - DISPLAY_CONTYPE_VGA, /**< @ENG_START_DOX The display connector type is VGA. @ENG_END_DOX */ - DISPLAY_CONTYPE_DVI_D, /**< @ENG_START_DOX The display connector type is DVI-D. @ENG_END_DOX */ - DISPLAY_CONTYPE_DVI_I, /**< @ENG_START_DOX The display connector type is DVI-I. @ENG_END_DOX */ - DISPLAY_CONTYPE_CVDONGLE_NTSC, /**< @ENG_START_DOX The display connector type is NTSC. @ENG_END_DOX */ - DISPLAY_CONTYPE_CVDONGLE_JPN, /**< @ENG_START_DOX The display connector type is JPN. @ENG_END_DOX */ - DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN, /**< @ENG_START_DOX The display connector type is NONI2C-JPN. @ENG_END_DOX */ - DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC, /**< @ENG_START_DOX The display connector type is NONI2C-NTSC. @ENG_END_DOX */ - DISPLAY_CONTYPE_PROPRIETARY, /**< @ENG_START_DOX The display connector type is PROPRIETARY. @ENG_END_DOX */ - DISPLAY_CONTYPE_HDMI_TYPE_A, /**< @ENG_START_DOX The display connector type is HDMI A. @ENG_END_DOX */ - DISPLAY_CONTYPE_HDMI_TYPE_B, /**< @ENG_START_DOX The display connector type is HDMI B. @ENG_END_DOX */ - DISPLAY_CONTYPE_SVIDEO, /**< @ENG_START_DOX The display connector type is SVIDEO. @ENG_END_DOX */ - DISPLAY_CONTYPE_COMPOSITE, /**< @ENG_START_DOX The display connector type is COMPOSITE. @ENG_END_DOX */ - DISPLAY_CONTYPE_RCA_3COMPONENT, /**< @ENG_START_DOX The display connector type is RCA. @ENG_END_DOX */ - DISPLAY_CONTYPE_DISPLAYPORT, /**< @ENG_START_DOX The display connector type is DISPLAYPORT. @ENG_END_DOX */ - DISPLAY_CONTYPE_EDP, /**< @ENG_START_DOX The display connector type is EDP. @ENG_END_DOX */ - DISPLAY_CONTYPE_WIRELESSDISPLAY, /**< @ENG_START_DOX The display connector type is WIRELESSDISPLAY. @ENG_END_DOX */ - DISPLAY_CONTYPE_USB_TYPE_C /**< @ENG_START_DOX The display connector type is USB Type-C. @ENG_END_DOX */ -}ADLX_DISPLAY_CONNECTOR_TYPE; -#pragma endregion ADLX_DISPLAY_CONNECTOR_TYPE - -#pragma region ADLX_DISPLAY_TYPE -/** - * @enum ADLX_DISPLAY_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the display type. - * @ENG_END_DOX - */ -typedef enum -{ - DISPLAY_TYPE_UNKOWN = 0, /**< @ENG_START_DOX The display type is an unknown display. @ENG_END_DOX */ - DISPLAY_TYPE_MONITOR, /**< @ENG_START_DOX The display type is a monitor display. @ENG_END_DOX */ - DISPLAY_TYPE_TELEVISION, /**< @ENG_START_DOX The display type is a TV display. @ENG_END_DOX */ - DISPLAY_TYPE_LCD_PANEL, /**< @ENG_START_DOX The display type is an LCD display. @ENG_END_DOX */ - DISPLAY_TYPE_DIGITAL_FLAT_PANEL, /**< @ENG_START_DOX The display type is a DFP display. @ENG_END_DOX */ - DISPLAY_TYPE_COMPONENT_VIDEO, /**< @ENG_START_DOX The display type is a component video display. @ENG_END_DOX */ - DISPLAY_TYPE_PROJECTOR /**< @ENG_START_DOX The display type is a projector display. @ENG_END_DOX */ -}ADLX_DISPLAY_TYPE; -#pragma endregion ADLX_DISPLAY_TYPE - -#pragma region ADLX_DISPLAY_SCAN_TYPE -/** - * @enum ADLX_DISPLAY_SCAN_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the display scan type. - * @ENG_END_DOX - */ -typedef enum -{ - PROGRESSIVE = 0, /**< @ENG_START_DOX The display scan type is progressive mode. @ENG_END_DOX */ - INTERLACED /**< @ENG_START_DOX The display scan type is interlaced mode. @ENG_END_DOX */ -} ADLX_DISPLAY_SCAN_TYPE; -#pragma endregion ADLX_DISPLAY_SCAN_TYPE - -#pragma region ADLX_DISPLAY_TIMING_POLARITY -/** - * @enum ADLX_DISPLAY_TIMING_POLARITY - * @ingroup enumerations - * @ENG_START_DOX - * @brief Display timing polarity - * @ENG_END_DOX - */ -typedef enum -{ - POSITIVE = 0, /**< @ENG_START_DOX Positive Polarity @ENG_END_DOX */ - NEGATIVE /**< @ENG_START_DOX Negative Polarity @ENG_END_DOX */ -} ADLX_DISPLAY_TIMING_POLARITY; - -#pragma endregion ADLX_DISPLAY_TIMING_POLARITY - -#pragma region ADLX_DISPLAY_TIMING_LIMITATION -/** - * @enum ADLX_DISPLAY_TIMING_LIMITATION - * @ingroup enumerations - * @ENG_START_DOX - * @brief Display timing limitation - * @ENG_END_DOX - */ -typedef enum -{ - PIXEL_CLOCK_MAX = 650000, /**< @ENG_START_DOX Maximum pixel clock @ENG_END_DOX */ - PIXEL_CLOCK_MIN = 0, /**< @ENG_START_DOX Minimum pixel clock @ENG_END_DOX */ - REFRESH_RATE_MAX = 200, /**< @ENG_START_DOX Maximum refresh rate @ENG_END_DOX */ - REFRESH_RATE_MIN = 1, /**< @ENG_START_DOX Minimum refresh rate @ENG_END_DOX */ - RESOLUTION_MAX = 9999, /**< @ENG_START_DOX Maximum resolution @ENG_END_DOX */ - RESOLUTION_MIN = 1 /**< @ENG_START_DOX Minimum resolution @ENG_END_DOX */ -} ADLX_DISPLAY_TIMING_LIMITATION; - -#pragma endregion ADLX_DISPLAY_TIMING_LIMITATION - -#pragma region ADLX_USER_3DLUT_SIZE -/** -* @def MAX_USER_3DLUT_NUM_POINTS -* @ingroup ADLXMacro -* @ENG_START_DOX Constant value used to set size of user 3D LUT data @ENG_END_DOX -* @definition -* @codeStart -* \#define MAX_USER_3DLUT_NUM_POINTS 17 -* @codeEnd -*/ - -#define MAX_USER_3DLUT_NUM_POINTS 17 - -#pragma endregion ADLX_USER_3DLUT_SIZE - -#pragma region ADLX_GAMUT_SPACE -/** - * @enum ADLX_GAMUT_SPACE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the predefined gamut space. - * @ENG_END_DOX - */ -typedef enum -{ - GAMUT_SPACE_CCIR_709 = 0, /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_709. @ENG_END_DOX */ - GAMUT_SPACE_CCIR_601, /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_601. @ENG_END_DOX */ - GAMUT_SPACE_ADOBE_RGB, /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. @ENG_END_DOX */ - GAMUT_SPACE_CIE_RGB, /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CIE_RGB. @ENG_END_DOX */ - GAMUT_SPACE_CCIR_2020, /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CCIR_2020. @ENG_END_DOX */ - GAMUT_SPACE_CUSTOM /**< @ENG_START_DOX The predefined gamut space is GAMUT_SPACE_CUSTOM. @ENG_END_DOX */ -} ADLX_GAMUT_SPACE; -#pragma endregion ADLX_GAMUT_SPACE - -#pragma region ADLX_WHITE_POINT -/** - * @enum ADLX_WHITE_POINT - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the standardized white point setting. - * @ENG_END_DOX - */ -typedef enum -{ - WHITE_POINT_5000K = 0, /**< @ENG_START_DOX The white point setting is 5000k. @ENG_END_DOX */ - WHITE_POINT_6500K, /**< @ENG_START_DOX The white point setting is 6500k. @ENG_END_DOX */ - WHITE_POINT_7500K, /**< @ENG_START_DOX The white point setting is 7500k. @ENG_END_DOX */ - WHITE_POINT_9300K, /**< @ENG_START_DOX The white point setting is 9300k. @ENG_END_DOX */ - WHITE_POINT_CUSTOM /**< @ENG_START_DOX The white point setting is customized. @ENG_END_DOX */ -} ADLX_WHITE_POINT; -#pragma endregion ADLX_WHITE_POINT - -#pragma region ADLX_GAMMA_TYPE -/** - * @enum ADLX_GAMMA_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the gamma type. - * @ENG_END_DOX - */ -typedef enum -{ - UNKNOW = 0, /**< @ENG_START_DOX The gamma type is unknown. @ENG_END_DOX */ - DEGAMMA_RAMP, /**< @ENG_START_DOX The gamma type is Degamma Ramp way. @ENG_END_DOX */ - REGAMMA_RAMP, /**< @ENG_START_DOX The gamma type is Regamma Ramp way. @ENG_END_DOX */ - DEGAMMA_COEFFICIENTS, /**< @ENG_START_DOX The gamma type is Degamma coefficients way. @ENG_END_DOX */ - REGAMMA_COEFFICIENTS /**< @ENG_START_DOX The gamma type is Regamma coefficients way. @ENG_END_DOX */ -} ADLX_GAMMA_TYPE; -#pragma endregion ADLX_GAMMA_TYPE - -#pragma region ADLX_ORIENTATION -/** - * @enum ADLX_ORIENTATION - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the orientation. - * @ENG_END_DOX - */ -typedef enum -{ - ORIENTATION_LANDSCAPE = 0, /**< @ENG_START_DOX The orientation is landscape. @ENG_END_DOX */ - ORIENTATION_PORTRAIT = 90, /**< @ENG_START_DOX The orientation is Portrait. @ENG_END_DOX */ - ORIENTATION_LANDSCAPE_FLIPPED = 180, /**< @ENG_START_DOX The orientation is landscape (flipped). @ENG_END_DOX */ - ORIENTATION_PORTRAIT_FLIPPED = 270, /**< @ENG_START_DOX the orientation is Portrait (flipped). @ENG_END_DOX */ -} ADLX_ORIENTATION; -#pragma endregion ADLX_ORIENTATION - -#pragma region ADLX_DESKTOP_TYPE -/** - * @enum ADLX_DESKTOP_TYPE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Types of desktops in respect to display composition - * @ENG_END_DOX - */ -typedef enum { - DESKTOP_SINGLE = 0, /**< @ENG_START_DOX Single display desktop: one display showing the entire desktop @ENG_END_DOX */ - DESKTOP_DUPLCATE = 1, /**< @ENG_START_DOX Duplicate desktop: two or more displays each show the entire desktop @ENG_END_DOX */ - DESKTOP_EYEFINITY = 2, /**< @ENG_START_DOX AMD Eyefinity desktop: two or more displays each show a portion of the desktop @ENG_END_DOX */ -} ADLX_DESKTOP_TYPE; -#pragma endregion ADLX_DESKTOP_TYPE - -#pragma region ADLX_LOG_SEVERITY -/** @enum ADLX_LOG_SEVERITY - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the severity level for ADLX logs. - * @ENG_END_DOX - * - */ -typedef enum -{ - LDEBUG = 0, /**< @ENG_START_DOX The log captures errors, warnings and debug information. @ENG_END_DOX */ - LWARNING, /**< @ENG_START_DOX The log captures errors and warnings. @ENG_END_DOX */ - LERROR, /**< @ENG_START_DOX The log captures errors. @ENG_END_DOX */ -} ADLX_LOG_SEVERITY; -#pragma endregion ADLX_LOG_SEVERITY - -#pragma region ADLX_LOG_DESTINATION -/** @enum ADLX_LOG_DESTINATION - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the location of the log traces that are generated from the internal code execution of ADLX. - * @ENG_END_DOX - * - */ -typedef enum -{ - LOCALFILE = 0, /**< @ENG_START_DOX The log destination is a file. @ENG_END_DOX */ - DBGVIEW, /**< @ENG_START_DOX The log destination is the application debugger. @ENG_END_DOX */ - APPLICATION, /**< @ENG_START_DOX The log destination is the application. @ENG_END_DOX */ -} ADLX_LOG_DESTINATION; -#pragma endregion ADLX_LOG_DESTINATION - -#pragma region ADLX_SCALE_MODE -/** @enum ADLX_SCALE_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the methods to stretch and position the image to fit on the display. - * @ENG_END_DOX - * - */ -typedef enum -{ - PRESERVE_ASPECT_RATIO = 0, /**< @ENG_START_DOX The scale mode preserves aspect ratio. @ENG_END_DOX */ - FULL_PANEL, /**< @ENG_START_DOX The scale mode extends to full panel. @ENG_END_DOX */ - CENTERED /**< @ENG_START_DOX The scale mode is centered on screen. @ENG_END_DOX */ -} ADLX_SCALE_MODE; - -#pragma endregion ADLX_SCALE_MODE - -#pragma region ADLX_COLOR_DEPTH -/** @enum ADLX_COLOR_DEPTH - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel. - * @ENG_END_DOX - * - */ -typedef enum -{ - BPC_UNKNOWN = 0, - BPC_6, /**< @ENG_START_DOX A color component/pixel with 6 bits @ENG_END_DOX */ - BPC_8, /**< @ENG_START_DOX A color component/pixel with 8 bits @ENG_END_DOX */ - BPC_10, /**< @ENG_START_DOX A color component/pixel with 10 bits @ENG_END_DOX */ - BPC_12, /**< @ENG_START_DOX A color component/pixel with 12 bits @ENG_END_DOX */ - BPC_14, /**< @ENG_START_DOX A color component/pixel with 14 bits @ENG_END_DOX */ - BPC_16 /**< @ENG_START_DOX A color component/pixel with 16 bits @ENG_END_DOX */ -} ADLX_COLOR_DEPTH; - -#pragma endregion ADLX_COLOR_DEPTH - -#pragma region ADLX_PIXEL_FORMAT -/** @enum ADLX_PIXEL_FORMAT - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the pixel format to encode images for the display. - * @ENG_END_DOX - * - */ -typedef enum -{ - FORMAT_UNKNOWN = 0,/**< @ENG_START_DOX The pixel format is unknown. @ENG_END_DOX */ - RGB_444_FULL, /**< @ENG_START_DOX The pixel format is RGB 4:4:4 PC Standard (Full RGB). @ENG_END_DOX */ - YCBCR_444, /**< @ENG_START_DOX The pixel format is YCbCr 4:4:4. @ENG_END_DOX */ - YCBCR_422, /**< @ENG_START_DOX The pixel format is YCbCr 4:2:2. @ENG_END_DOX */ - RGB_444_LIMITED, /**< @ENG_START_DOX The pixel format is RGB 4:4:4 Studio (Limited RGB). @ENG_END_DOX */ - YCBCR_420 /**< @ENG_START_DOX The pixel format is YCbCr 4:2:0 Pixel Format. @ENG_END_DOX */ -} ADLX_PIXEL_FORMAT; - -#pragma endregion ADLX_PIXEL_FORMAT - -#pragma region ADLX_TIMING_STANDARD - -/** @enum ADLX_TIMING_STANDARD - * @ingroup enumerations - * @ENG_START_DOX - * @brief Timing standard for custom resolution - * @ENG_END_DOX - * - */ -typedef enum -{ - CVT = 0, /**< @ENG_START_DOX Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. @ENG_END_DOX */ - CVT_RB, /**< @ENG_START_DOX Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking - periods and allows a lower pixel clock rate and higher frame rates. @ENG_END_DOX */ - GTF, /**< @ENG_START_DOX Generalized Timing Formula(GTF). A method of generating industry standard display timings. @ENG_END_DOX */ - DMT, /**< @ENG_START_DOX Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. @ENG_END_DOX */ - MANUAL /**< @ENG_START_DOX Manual control @ENG_END_DOX */ -} ADLX_TIMING_STANDARD; - -#pragma endregion ADLX_TIMING_STANDARD - -#pragma region ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE -/** @enum ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the modes of VSync settings. - * @ENG_END_DOX - */ -typedef enum -{ - WFVR_ALWAYS_OFF = 0, /**< @ENG_START_DOX VSync is always off. @ENG_END_DOX */ - WFVR_OFF_UNLESS_APP_SPECIFIES, /**< @ENG_START_DOX VSync is off, unless specified by the application. @ENG_END_DOX */ - WFVR_ON_UNLESS_APP_SPECIFIES, /**< @ENG_START_DOX VSync is on, unless specified by application. @ENG_END_DOX */ - WFVR_ALWAYS_ON, /**< @ENG_START_DOX VSync is always on. @ENG_END_DOX */ -} ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE; -#pragma endregion ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - -#pragma region ADLX_ANTI_ALIASING_MODE -/** @enum ADLX_ANTI_ALIASING_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the anti-aliasing mode. - * @ENG_END_DOX - */ -typedef enum -{ - AA_MODE_USE_APP_SETTINGS = 0, /**< @ENG_START_DOX The anti-aliasing mode uses application settings. @ENG_END_DOX */ - AA_MODE_ENHANCE_APP_SETTINGS, /**< @ENG_START_DOX The anti-aliasing mode enhances the application settings. @ENG_END_DOX */ - AA_MODE_OVERRIDE_APP_SETTINGS, /**< @ENG_START_DOX The anti-aliasing mode overrides the application settings. @ENG_END_DOX */ -} ADLX_ANTI_ALIASING_MODE; -#pragma endregion ADLX_ANTI_ALIASING_MODE - -#pragma region ADLX_ANTI_ALIASING_LEVEL -/** @enum ADLX_ANTI_ALIASING_LEVEL - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the anti-aliasing level. - * @ENG_END_DOX - */ -typedef enum -{ - AA_LEVEL_INVALID = 0, /**< @ENG_START_DOX The anti-aliasing level is invalid. @ENG_END_DOX */ - AA_LEVEL_2X = 2, /**< @ENG_START_DOX The anti-aliasing level is 2X. @ENG_END_DOX */ - AA_LEVEL_2XEQ = 3, /**< @ENG_START_DOX The anti-aliasing level is 2XEQ. @ENG_END_DOX */ - AA_LEVEL_4X = 4, /**< @ENG_START_DOX The anti-aliasing level is 4X. @ENG_END_DOX */ - AA_LEVEL_4XEQ = 5, /**< @ENG_START_DOX The anti-aliasing level is 4XEQ. @ENG_END_DOX */ - AA_LEVEL_8X = 8, /**< @ENG_START_DOX The anti-aliasing level is 8X. @ENG_END_DOX */ - AA_LEVEL_8XEQ = 9, /**< @ENG_START_DOX The anti-aliasing level is 8XEQ. @ENG_END_DOX */ -} ADLX_ANTI_ALIASING_LEVEL; -#pragma endregion ADLX_ANTI_ALIASING_LEVEL - -#pragma region ADLX_ANTI_ALIASING_METHOD -/** @enum ADLX_ANTI_ALIASING_METHOD - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the anti-aliasing method. - * @ENG_END_DOX - */ -typedef enum -{ - AA_METHOD_MULTISAMPLING = 0, /**< @ENG_START_DOX The multi-sampling method. @ENG_END_DOX */ - AA_METHOD_ADAPTIVE_MULTISAMPLING, /**< @ENG_START_DOX The adaptive multi-sampling method. @ENG_END_DOX */ - AA_METHOD_SUPERSAMPLING, /**< @ENG_START_DOX The super-sampling method. @ENG_END_DOX */ -} ADLX_ANTI_ALIASING_METHOD; -#pragma endregion ADLX_ANTI_ALIASING_METHOD - -#pragma region ADLX_ANISOTROPIC_FILTERING_LEVEL -/** @enum ADLX_ANISOTROPIC_FILTERING_LEVEL - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the Anisotropic Filtering level. - * @ENG_END_DOX - */ -typedef enum -{ - AF_LEVEL_INVALID = 0, /**< @ENG_START_DOX The Anisotropic Filtering level is invalid. @ENG_END_DOX */ - AF_LEVEL_X2 = 2, /**< @ENG_START_DOX The Anisotropic Filtering level is 2X. @ENG_END_DOX */ - AF_LEVEL_X4 = 4, /**< @ENG_START_DOX The Anisotropic Filtering level is 4X. @ENG_END_DOX */ - AF_LEVEL_X8 = 8, /**< @ENG_START_DOX The Anisotropic Filtering level is 8X. @ENG_END_DOX */ - AF_LEVEL_X16 = 16, /**< @ENG_START_DOX The Anisotropic Filtering level is 16X. @ENG_END_DOX */ -} ADLX_ANISOTROPIC_FILTERING_LEVEL; -#pragma endregion ADLX_ANISOTROPIC_FILTERING_LEVEL - -#pragma region ADLX_TESSELLATION_MODE -/** @enum ADLX_TESSELLATION_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the tessellation setting on a GPU. - * @ENG_END_DOX - */ -typedef enum -{ - T_MODE_AMD_OPTIMIZED = 0, /**< @ENG_START_DOX This mode uses AMD optimization. @ENG_END_DOX */ - T_MODE_USE_APP_SETTINGS, /**< @ENG_START_DOX This mode uses application settings. @ENG_END_DOX */ - T_MODE_OVERRIDE_APP_SETTINGS, /**< @ENG_START_DOX This mode uses override application settings. @ENG_END_DOX */ -} ADLX_TESSELLATION_MODE; -#pragma endregion ADLX_TESSELLATION_MODE - -#pragma region ADLX_TESSELLATION_LEVEL -/** @enum ADLX_TESSELLATION_LEVEL - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the tessellation level on a GPU. - * @ENG_END_DOX - */ -typedef enum -{ - T_LEVEL_OFF = 1, /**< @ENG_START_DOX The tessellation level is Off. @ENG_END_DOX */ - T_LEVEL_2X = 2, /**< @ENG_START_DOX The tessellation level is 2X. @ENG_END_DOX */ - T_LEVEL_4X = 4, /**< @ENG_START_DOX The tessellation level is 4X. @ENG_END_DOX */ - T_LEVEL_6X = 6, /**< @ENG_START_DOX The tessellation level is 6X. @ENG_END_DOX */ - T_LEVEL_8X = 8, /**< @ENG_START_DOX The tessellation level is 8X. @ENG_END_DOX */ - T_LEVEL_16X = 16, /**< @ENG_START_DOX The tessellation level is 16X. @ENG_END_DOX */ - T_LEVEL_32X = 32, /**< @ENG_START_DOX The tessellation level is 32X. @ENG_END_DOX */ - T_LEVEL_64X = 64, /**< @ENG_START_DOX The tessellation level is 64X. @ENG_END_DOX */ -} ADLX_TESSELLATION_LEVEL; -#pragma endregion ADLX_TESSELLATION_LEVEL - -#pragma region ADLX_MEMORYTIMING_DESCRIPTION -/** - * @enum ADLX_MEMORYTIMING_DESCRIPTION - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the priority of the log entry. - * @ENG_END_DOX - */ -typedef enum -{ - MEMORYTIMING_DEFAULT = 0, /**< @ENG_START_DOX The memory timing is default. @ENG_END_DOX */ - MEMORYTIMING_FAST_TIMING, /**< @ENG_START_DOX The memory timing is fast timing. @ENG_END_DOX */ - MEMORYTIMING_FAST_TIMING_LEVEL_2, /**< @ENG_START_DOX The memory timing is fast timing level 2. @ENG_END_DOX */ - MEMORYTIMING_AUTOMATIC, /**< @ENG_START_DOX The memory timing is automatic. @ENG_END_DOX */ - MEMORYTIMING_MEMORYTIMING_LEVEL_1, /**< @ENG_START_DOX The memory timing is level 1. @ENG_END_DOX */ - MEMORYTIMING_MEMORYTIMING_LEVEL_2, /**< @ENG_START_DOX The memory timing is level 2. @ENG_END_DOX */ -} ADLX_MEMORYTIMING_DESCRIPTION; -#pragma endregion ADLX_MEMORYTIMING_DESCRIPTION - - -#pragma region ADLX_I2C_LINE -/** @enum ADLX_I2C_LINE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the I2C line options. - * @ENG_END_DOX - */ -typedef enum -{ - I2C_LINE_OEM = 1, /**< @ENG_START_DOX The I2C line is OEM. @ENG_END_DOX */ - I2C_LINE_OD_CONTROL, /**< @ENG_START_DOX The I2C line is Over Driver Control. @ENG_END_DOX */ - I2C_LINE_OEM2, /**< @ENG_START_DOX The I2C line is OEM2. @ENG_END_DOX */ - I2C_LINE_OEM3, /**< @ENG_START_DOX The I2C line is OEM3. @ENG_END_DOX */ - I2C_LINE_OEM4, /**< @ENG_START_DOX The I2C line is OEM4. @ENG_END_DOX */ - I2C_LINE_OEM5, /**< @ENG_START_DOX The I2C line is OEM5. @ENG_END_DOX */ - I2C_LINE_OEM6 /**< @ENG_START_DOX The I2C line is OEM6. @ENG_END_DOX */ -} ADLX_I2C_LINE; -#pragma endregion ADLX_I2C_LINE - -#pragma region ADLX_SYNC_ORIGIN -/** @enum ADLX_SYNC_ORIGIN - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the origin of an event. - * @ENG_END_DOX -*/ -typedef enum -{ - SYNC_ORIGIN_UNKNOWN = 1, /**< @ENG_START_DOX The event has an unknown trigger. @ENG_END_DOX */ - SYNC_ORIGIN_INTERNAL, /**< @ENG_START_DOX The event is triggered by a change in settings using ADLX in this application. @ENG_END_DOX */ - SYNC_ORIGIN_EXTERNAL /**< @ENG_START_DOX The event is triggered by a change in settings using ADLX in another application. @ENG_END_DOX */ -} ADLX_SYNC_ORIGIN; -#pragma endregion ADLX_SYNC_ORIGIN - -#pragma region ADLX_3DLUT_TRANSFER_FUNCTION -/** @enum ADLX_3DLUT_TRANSFER_FUNCTION - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the User 3D LUT transfer function. - * @ENG_END_DOX - */ - typedef enum -{ - TF_SRGB = 1, /**< @ENG_START_DOX The transfer function is sRGB. @ENG_END_DOX */ - TF_PQ, /**< @ENG_START_DOX The transfer function is PQ. @ENG_END_DOX */ - TF_G22 /**< @ENG_START_DOX The transfer function is G22. @ENG_END_DOX */ -} ADLX_3DLUT_TRANSFER_FUNCTION; -#pragma endregion ADLX_3DLUT_TRANSFER_FUNCTION - -#pragma region ADLX_3DLUT_COLORSPACE -/** @enum ADLX_3DLUT_COLORSPACE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the custom 3D LUT color space. - * @ENG_END_DOX - */ -typedef enum -{ - CS_SRGB = 1, /**< @ENG_START_DOX The color space is sRGB. @ENG_END_DOX */ - CS_BT2020, /**< @ENG_START_DOX The color space is BT2020. @ENG_END_DOX */ - CS_DCIP3, /**< @ENG_START_DOX The color space is DCIP3. @ENG_END_DOX */ - CS_NATIVE /**< @ENG_START_DOX The color space is native. @ENG_END_DOX */ -} ADLX_3DLUT_COLORSPACE; -#pragma endregion ADLX_3DLUT_COLORSPACE - -#pragma region ADLX_SSM_BIAS_MODE -/** @enum ADLX_SSM_BIAS_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief AMD SmartShift Max bias mode. - * @ENG_END_DOX - */ -typedef enum -{ - SSM_BIAS_AUTO = 0, /**< @ENG_START_DOX The bias control type is auto. @ENG_END_DOX */ - SSM_BIAS_MANUAL /**< @ENG_START_DOX The bias control type is manual. @ENG_END_DOX */ -}ADLX_SSM_BIAS_MODE; -#pragma endregion ADLX_SSM_BIAS_MODE - -#pragma region ADLX_ANTILAG_STATE -/** - * @enum ADLX_ANTILAG_STATE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the state of Anti Lag. - * @ENG_END_DOX - */ -typedef enum -{ - ANTILAG = 0, /**< @ENG_START_DOX The Antilag level is AntiLag. @ENG_END_DOX */ - ANTILAGNEXT, /**< @ENG_START_DOX The Antilag level is AntiLag Next. @ENG_END_DOX */ -} ADLX_ANTILAG_STATE; -#pragma endregion ADLX_ANTILAG_STATE - -#pragma region ADLX_MGPU_MODE -/** - * @enum ADLX_MGPU_MODE - * @ingroup enumerations - * @ENG_START_DOX - * @brief Indicates the AMD MGPU mode. - * @ENG_END_DOX - */ -typedef enum -{ - MGPU_NONE = 0, /**< @ENG_START_DOX The GPU is not part of an AMD MGPU configuration. @ENG_END_DOX */ - MGPU_PRIMARY, /**< @ENG_START_DOX The GPU is the primary GPU in an AMD MGPU configuration. @ENG_END_DOX */ - MGPU_SECONDARY, /**< @ENG_START_DOX The GPU is the secondary GPU in an AMD MGPU configuration. @ENG_END_DOX */ -} ADLX_MGPU_MODE; -#pragma endregion ADLX_MGPU_MODE - -#pragma endregion ADLX data types - -//------------------------------------------------------------------------------------------------- -//definitions for IADLXInterface -#pragma region ADLX_DECLARE_IID -//------------------------------------------------------------------------ -//IID's -#if defined(__cplusplus) -#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; } -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) - -#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } -#else //__cplusplus -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) -#define ADLX_DECLARE_IID(name,X) static const wchar_t* IID_##name(void) { return X; } - -#define ADLX_DECLARE_ITEM_IID(name,X) static const wchar_t* ITEM_IID_##name(void) { return X; } -#endif //__cplusplus -#pragma endregion ADLX_DECLARE_IID - -//------------------------------------------------------------------------ -//All ref-counted interfaces derive from this interface -#pragma region IADLXInterface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXInterface") - /** - * @page DOX_IADLXInterface_Acquire Acquire - * @ENG_START_DOX - * @brief Increments the reference count for an ADLX interface. - * @ENG_END_DOX - * @syntax - * @codeStart - * adlx_long Acquire () - * @codeEnd - * - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * Returns the new reference count. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __Acquire__ must be used when a copy of the interface pointer is needed.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call the __Acquire__ because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - * - */ - virtual adlx_long ADLX_STD_CALL Acquire () = 0; - /** - * @page DOX_IADLXInterface_Release Release - * @ENG_START_DOX - * @brief Decrements the reference count for an ADLX interface. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * adlx_long Release () - * @codeEnd - * - * @params - * N/A - * - * @retvalues - * @ENG_START_DOX - * Returns the new reference count. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __Release__ must be called when an interface is no longer needed. It decrements the reference counting and returns the new reference count. When the reference count reaches zero, the object behind this interface will self-destruct and free its memory and resources. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call the __Release__ because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - * - */ - virtual adlx_long ADLX_STD_CALL Release () = 0; - - /** - * @page DOX_IADLXInterface_QueryInterface QueryInterface - * @ENG_START_DOX - * @brief Retrieves reference counted interfaces to an object. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT QueryInterface (const wchar_t* interfaceId, void** ppInterface) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,interfaceId,const wchar_t*,@ENG_START_DOX The identifier of the interface being requested. @ENG_END_DOX} - * @paramrow{2.,[out],ppInterface,void**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppInterface__ to __nullptr__. @ENG_END_DOX} - * - * - * @retvalues - * @ENG_START_DOX - * If __QueryInterface__ is successfully called, __ADLX_OK__ is returned.
- * If the requested interface is not supported, __ADLX_UNKNOWN_INTERFACE__ is returned.
- * If the __*ppInterface__ parameter is __nullptr__, __ADLX_INVALID_ARGS__ is returned.
- * If __QueryInterface__ is not successfully called, an error code is returned.
- * Refer @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details To ensure ADLX SDK backwards and forward compatibility the ADLX interfaces are locked, they do not change in subsequent versions of the driver. When an ADLX interface needs another functionality, an extension interface is provided. The extension interface is obtained from the initial interface using __QueryInterface__. The documentation for the extension interface shows how to obtain it.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call __QueryInterface__ and @ref DOX_IADLXInterface_Release because the smart pointer calls them internally. - * @ENG_END_DOX - * - * @requirements - * @DetailsTable{#include "ADLXDefines.h", @ADLX_First_Ver} - * - */ - virtual ADLX_RESULT ADLX_STD_CALL QueryInterface (const wchar_t* interfaceId, void** ppInterface) = 0; - }; //IADLXInterface -} // namespace adlx -//---------------------------------------------------------------------------------------------- -#else //__cplusplus -ADLX_DECLARE_IID (IADLXInterface, L"IADLXInterface") -typedef struct IADLXInterface IADLXInterface; - -typedef struct IADLXInterfaceVtbl -{ - // IADLXInterface interface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXInterface* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXInterface* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXInterface* pThis, const wchar_t* interfaceId, void** ppInterface); -} IADLXInterfaceVtbl; - -struct IADLXInterface -{ - const IADLXInterfaceVtbl *pVtbl; -}; - -#endif //__cplusplus -#pragma endregion IADLXInterface - -//------------------------------------------------------------------------ -//Template for ADLX smart pointer for interfaces derived from IADLXInterface -#pragma region IADLXInterfacePtr -#if defined(__cplusplus) -namespace adlx -{ - template - class IADLXInterfacePtr_T - { - private: - _Interf* m_pInterf; - - void InternalAcquire () - { - if (m_pInterf != nullptr) - { - m_pInterf->Acquire (); - } - } - void InternalRelease () - { - if (m_pInterf != nullptr) - { - m_pInterf->Release (); - } - } - public: - IADLXInterfacePtr_T () : m_pInterf (nullptr) - {} - - IADLXInterfacePtr_T (const IADLXInterfacePtr_T<_Interf>& p) : m_pInterf (p.m_pInterf) - { - InternalAcquire (); - } - - IADLXInterfacePtr_T (_Interf* pInterface) : m_pInterf (pInterface) - { - InternalAcquire (); - } - - template - explicit IADLXInterfacePtr_T (const IADLXInterfacePtr_T<_OtherInterf>& cp) : m_pInterf (nullptr) - { - void* pInterf = nullptr; - if ((cp == NULL) || (cp->QueryInterface (_Interf::IID (), &pInterf) != ADLX_OK)) - { - pInterf = nullptr; - } - m_pInterf = static_cast<_Interf*>(pInterf); - } - - template - explicit IADLXInterfacePtr_T (_OtherInterf* cp) : m_pInterf (nullptr) - { - void* pInterf = nullptr; - if ((cp == nullptr) || (cp->QueryInterface (_Interf::IID (), &pInterf) != ADLX_OK)) - { - pInterf = nullptr; - } - m_pInterf = static_cast<_Interf*>(pInterf); - } - - ~IADLXInterfacePtr_T () - { - InternalRelease (); - } - - IADLXInterfacePtr_T& operator=(_Interf* pInterface) - { - if (m_pInterf != pInterface) - { - _Interf* pOldInterface = m_pInterf; - m_pInterf = pInterface; - InternalAcquire (); - if (pOldInterface != nullptr) - { - pOldInterface->Release (); - } - } - return *this; - } - - IADLXInterfacePtr_T& operator=(const IADLXInterfacePtr_T<_Interf>& cp) - { - return operator=(cp.m_pInterf); - } - - void Attach (_Interf* pInterface) - { - InternalRelease (); - m_pInterf = pInterface; - } - - _Interf* Detach () - { - _Interf* const pOld = m_pInterf; - m_pInterf = NULL; - return pOld; - } - void Release () - { - InternalRelease (); - m_pInterf = NULL; - } - - operator _Interf*() const - { - return m_pInterf; - } - - _Interf& operator*() const - { - return *m_pInterf; - } - - // Returns the address of the interface pointer contained in this - // class. This is required for initializing from C-style factory function to - // avoid getting an incorrect ref count at the beginning. - - _Interf** operator&() - { - InternalRelease (); - m_pInterf = 0; - return &m_pInterf; - } - - _Interf* operator->() const - { - return m_pInterf; - } - - bool operator==(const IADLXInterfacePtr_T<_Interf>& p) - { - return (m_pInterf == p.m_pInterf); - } - - bool operator==(_Interf* p) - { - return (m_pInterf == p); - } - - bool operator!=(const IADLXInterfacePtr_T<_Interf>& p) - { - return !(operator==(p)); - } - bool operator!=(_Interf* p) - { - return !(operator==(p)); - } - - _Interf* GetPtr () - { - return m_pInterf; - } - - const _Interf* GetPtr () const - { - return m_pInterf; - } - }; //IADLXInterfacePtr_T - - typedef IADLXInterfacePtr_T IADLXInterfacePtr; - -} // namespace adlx -#endif //__cplusplus -#pragma endregion IADLXInterfacePtr - -#endif //ADLX_DEFINES_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/ADLXStructures.h b/vendor/adlx/SDK/Include/ADLXStructures.h deleted file mode 100644 index a3cba10..0000000 --- a/vendor/adlx/SDK/Include/ADLXStructures.h +++ /dev/null @@ -1,191 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_STRUCTURES_H -#define ADLX_STRUCTURES_H -#pragma once -#include "ADLXDefines.h" - -/** @file */ -//------------------------------------------------------------------------------------------------- -#pragma region ADLX_RGB -/** - * @struct ADLX_RGB - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains RGB information. - * @ENG_END_DOX - */ -typedef struct -{ - adlx_double gamutR; /**< @ENG_START_DOX Red @ENG_END_DOX */ - adlx_double gamutG; /**< @ENG_START_DOX Green @ENG_END_DOX */ - adlx_double gamutB; /**< @ENG_START_DOX Blue @ENG_END_DOX */ -} ADLX_RGB; -#pragma endregion ADLX_RGB - -#pragma region ADLX_Point -/** - * @struct ADLX_Point - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point. - * @ENG_END_DOX - */ -typedef struct -{ - adlx_int x; /**< @ENG_START_DOX The x coordinate. @ENG_END_DOX */ - adlx_int y; /**< @ENG_START_DOX The y coordinate. @ENG_END_DOX */ -} ADLX_Point; -#pragma endregion ADLX_Point - -#pragma region ADLX_GamutColorSpace -/** - * @struct ADLX_GamutColorSpace - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains information on driver-supported gamut coordinates - * @ENG_END_DOX - */ -typedef struct -{ - ADLX_Point red; /**< @ENG_START_DOX The red channel chromaticity coordinate. @ENG_END_DOX */ - ADLX_Point green; /**< @ENG_START_DOX The green channel chromaticity coordinate. @ENG_END_DOX */ - ADLX_Point blue; /**< @ENG_START_DOX The blue channel chromaticity coordinate. @ENG_END_DOX */ -} ADLX_GamutColorSpace; -#pragma endregion ADLX_GamutColorSpace - -#pragma region ADLX_GammaRamp -/** - * @struct ADLX_GammaRamp - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains the display gamma ramp used to program the re-gamma LUT. - * @ENG_END_DOX - */ -typedef struct -{ - adlx_uint16 gamma[256 * 3]; /**< @ENG_START_DOX The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values. - Each triplet consists of red, green and blue values. @ENG_END_DOX */ -} ADLX_GammaRamp; -#pragma endregion ADLX_GammaRamp - -#pragma region ADLX_RegammaCoeff -/** - * @struct ADLX_RegammaCoeff - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve. - * @ENG_END_DOX - */ -typedef struct -{ - adlx_int coefficientA0; /**< @ENG_START_DOX The a0 gamma coefficient. @ENG_END_DOX */ - adlx_int coefficientA1; /**< @ENG_START_DOX The a1 gamma coefficient. @ENG_END_DOX */ - adlx_int coefficientA2; /**< @ENG_START_DOX The a2 gamma coefficient. @ENG_END_DOX */ - adlx_int coefficientA3; /**< @ENG_START_DOX The a3 gamma coefficient. @ENG_END_DOX */ - adlx_int gamma; /**< @ENG_START_DOX The regamma divider. @ENG_END_DOX */ -} ADLX_RegammaCoeff; -#pragma endregion ADLX_RegammaCoeff - -#pragma region ADLX_TimingInfo -/** - * @struct ADLX_TimingInfo - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains display timing information. - * @ENG_END_DOX - */ -typedef struct -{ - adlx_int timingFlags; /**< @ENG_START_DOX The detailed timing flag. @ENG_END_DOX */ - adlx_int hTotal; /**< @ENG_START_DOX The total number of pixels that compose all scan lines during a horizontal sync. @ENG_END_DOX */ - adlx_int vTotal; /**< @ENG_START_DOX The total number of vertical pixels permitted/processed per sync. @ENG_END_DOX */ - - adlx_int hDisplay; /**< @ENG_START_DOX The number of horizontal pixels within the active area. @ENG_END_DOX */ - adlx_int vDisplay; /**< @ENG_START_DOX The number of vertical pixels within the active display area. @ENG_END_DOX */ - - adlx_int hFrontPorch; /**< @ENG_START_DOX The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image. @ENG_END_DOX */ - adlx_int vFrontPorch; /**< @ENG_START_DOX The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image. @ENG_END_DOX */ - - adlx_int hSyncWidth; /**< @ENG_START_DOX The number of pixels that compose a scan line during a horizontal sync. @ENG_END_DOX */ - adlx_int vSyncWidth; /**< @ENG_START_DOX The number of vertical pixels permitted/processed during a sync. @ENG_END_DOX */ - - adlx_int hPolarity; /**< @ENG_START_DOX The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX */ - adlx_int vPolarity; /**< @ENG_START_DOX The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. @ENG_END_DOX */ -} ADLX_TimingInfo; - -#pragma endregion ADLX_TimingInfo - -#pragma region ADLX_CustomResolution -/** @struct ADLX_CustomResolution - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains information for custom resolution parameters on a given display. - * @ENG_END_DOX - * - */ -typedef struct -{ - adlx_int resWidth; /**< @ENG_START_DOX The resolution width. @ENG_END_DOX */ - adlx_int resHeight; /**< @ENG_START_DOX The resolution height. @ENG_END_DOX */ - adlx_int refreshRate; /**< @ENG_START_DOX The refresh rate. @ENG_END_DOX */ - ADLX_DISPLAY_SCAN_TYPE presentation; /**< @ENG_START_DOX The presentation method, 0 PROGRESSIVE; 1 INTERLACED. @ENG_END_DOX */ - ADLX_TIMING_STANDARD timingStandard; /**< @ENG_START_DOX The display timing standard. @ENG_END_DOX */ - adlx_long GPixelClock; /**< @ENG_START_DOX The speed at which pixels are transmitted within on a refresh cycle. @ENG_END_DOX */ - ADLX_TimingInfo detailedTiming; /**< @ENG_START_DOX The detailed timing information. @ENG_END_DOX */ -} ADLX_CustomResolution; - -#pragma endregion ADLX_CustomResolution - -#pragma region ADLX_IntRange -/** @struct ADLX_IntRange - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains information on the integer range. - * @ENG_END_DOX - * - */ -typedef struct -{ - adlx_int minValue; /**< @ENG_START_DOX The minimum integer value. @ENG_END_DOX */ - adlx_int maxValue; /**< @ENG_START_DOX The maximum integer value. @ENG_END_DOX */ - adlx_int step; /**< @ENG_START_DOX The accepted integer range step. @ENG_END_DOX */ -} ADLX_IntRange; -#pragma endregion ADLX_IntRange - -#pragma region ADLX_UINT16_RGB -/** @struct ADLX_UINT16_RGB - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains UINT16 RGB information. - * @ENG_END_DOX - * - */ -typedef struct ADLX_UINT16_RGB -{ - adlx_uint16 red; /**< @ENG_START_DOX Red @ENG_END_DOX */ - adlx_uint16 green; /**< @ENG_START_DOX Green @ENG_END_DOX */ - adlx_uint16 blue; /**< @ENG_START_DOX Blue @ENG_END_DOX */ -} ADLX_UINT16_RGB; -#pragma endregion ADLX_UINT16_RGB - -#pragma region ADLX_3DLUT_Data -/** @struct ADLX_3DLUT_Data - * @ingroup structuresVal - * @ENG_START_DOX - * @brief This structure contains custom 3D LUT information. - * @ENG_END_DOX - * - */ - -typedef struct ADLX_3DLUT_Data -{ - ADLX_UINT16_RGB data[MAX_USER_3DLUT_NUM_POINTS * MAX_USER_3DLUT_NUM_POINTS * MAX_USER_3DLUT_NUM_POINTS]; /**< @ENG_START_DOX The data is a buffer containing 17*17*17 triplets of @ref ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values. - For 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit. @ENG_END_DOX */ -} ADLX_3DLUT_Data; -#pragma endregion ADLX_3DLUT_Data - -#endif //ADLX_STRUCTURES_H diff --git a/vendor/adlx/SDK/Include/ADLXVersion.h b/vendor/adlx/SDK/Include/ADLXVersion.h deleted file mode 100644 index f3c2a1a..0000000 --- a/vendor/adlx/SDK/Include/ADLXVersion.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_VERSION_H -#define ADLX_VERSION_H -#pragma once - -#define ADLX_VER_MAJOR 1 -#define ADLX_VER_MINOR 2 -#define ADLX_VER_RELEASE 0 -#define ADLX_VER_BUILD_NUM 72 - -#define STRING(a) #a -#define STRING_EXPAND(a) STRING(a) - -#endif //ADLX_VERSION_H diff --git a/vendor/adlx/SDK/Include/I3DSettings.h b/vendor/adlx/SDK/Include/I3DSettings.h deleted file mode 100644 index a3d4efa..0000000 --- a/vendor/adlx/SDK/Include/I3DSettings.h +++ /dev/null @@ -1,3418 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_I3DSETTINGS_H -#define ADLX_I3DSETTINGS_H -#pragma once - -#include "ADLXStructures.h" -#include "IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//I3DSetting.h - Interfaces for ADLX GPU 3DSetting functionality - -//3DAntiLag setting interface -#pragma region IADLX3DAntiLag -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DAntiLag : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DAntiLag") - - /** - *@page DOX_IADLX3DAntiLag_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Radeon™ Anti-Lag is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is __true__ if Radeon Anti-Lag is supported. The variable is __false__ if Radeon Anti-Lag is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully returned, __ADLX_OK__ is returned.
- * If the state of Radeon Anti-Lag is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiLag_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DAntiLag_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Radeon™ Anti-Lag is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is __true__ if Radeon Anti-Lag is enabled. The variable is __false__ if Radeon Anti-Lag is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully returned, __ADLX_OK__ is returned.
- * If the state of Radeon Anti-Lag is returned is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- * __Note:__ @ref DOX_IADLX3DChill "AMD Radeon Chill", and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Anti-Lag is automatically disabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiLag_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - - /** - *@page DOX_IADLX3DAntiLag_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Radeon Anti-Lag state. Set __true__ to enable Radeon Anti-Lag. Set __false__ to disable Radeon Anti-Lag. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully set, __ADLX_OK__ is returned.
- * If the state of Radeon Anti-Lag is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- * __Note:__ @ref DOX_IADLX3DChill "AMD Radeon Chill", and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled. However, the configuration of the disabled feature is preserved. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiLag_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - }; //IADLX3DAntiLag - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DAntiLagPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DAntiLag, L"IADLX3DAntiLag") - -typedef struct IADLX3DAntiLag IADLX3DAntiLag; - -typedef struct IADLX3DAntiLagVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAntiLag* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DAntiLag* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAntiLag* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DAntiLag - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAntiLag* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DAntiLag* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DAntiLag* pThis, adlx_bool enable); -}IADLX3DAntiLagVtbl; - -struct IADLX3DAntiLag { const IADLX3DAntiLagVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DAntiLag - -//3DAntiLag1 setting interface -#pragma region IADLX3DAntiLag1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DAntiLag1 : public IADLX3DAntiLag - { - public: - ADLX_DECLARE_IID(L"IADLX3DAntiLag1") - - /** - *@page DOX_IADLX3DAntiLag1_GetLevel GetLevel - *@ENG_START_DOX @brief Gets the AMD Radeon™ Anti-Lag level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetLevel(@ref ADLX_ANTILAG_STATE* level) - *@codeEnd - * - *@params - * @paramrow{1.,[out],level,@ref ADLX_ANTILAG_STATE,@ENG_START_DOX The pointer to a variable where the Radeon Anti-Lag level is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the Radeon Anti-Lag level is successfully returned, __ADLX_OK__ is returned.
- * If the Radeon Anti-Lag level is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiLag1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetLevel(ADLX_ANTILAG_STATE* level) = 0; - - /** - *@page DOX_IADLX3DAntiLag1_SetLevel SetLevel - *@ENG_START_DOX @brief Sets the AMD Radeon™ Anti-Lag level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetLevel (@ref ADLX_ANTILAG_STATE level) - *@codeEnd - * - *@params - * @paramrow{1.,[in],level,@ref ADLX_ANTILAG_STATE,@ENG_START_DOX The new Radeon Anti-Lag level. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the Radeon Anti-Lag level is successfully set, __ADLX_OK__ is returned.
- * If the Radeon Anti-Lag level is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- * Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiLag1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetLevel(ADLX_ANTILAG_STATE level) = 0; - }; //IADLX3DAntiLag1 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DAntiLag1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLX3DAntiLag1, L"IADLX3DAntiLag1") - -typedef struct IADLX3DAntiLag1 IADLX3DAntiLag1; - -typedef struct IADLX3DAntiLag1Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DAntiLag1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLX3DAntiLag1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DAntiLag1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DAntiLag - ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLX3DAntiLag1* pThis, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLX3DAntiLag1* pThis, adlx_bool* enabled); - ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLX3DAntiLag1* pThis, adlx_bool enable); - ADLX_RESULT(ADLX_STD_CALL* GetLevel)(IADLX3DAntiLag1* pThis, ADLX_ANTILAG_STATE* level); - ADLX_RESULT(ADLX_STD_CALL* SetLevel)(IADLX3DAntiLag1* pThis, ADLX_ANTILAG_STATE level); -}IADLX3DAntiLag1Vtbl; - -struct IADLX3DAntiLag1 { const IADLX3DAntiLag1Vtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DAntiLag1 - - -//3DChill setting interface -#pragma region IADLX3DChill -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DChill : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DChill") - - /** - *@page DOX_IADLX3DChill_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Radeon™ Chill is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is __true__ if AMD Radeon Chill is supported. The variable is __false__ if AMD Radeon Chill is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Chill is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Chill is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DChill_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Radeon™ Chill is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is __true__ if AMD Radeon Chill is enabled. The variable is __false__ if AMD Radeon Chill is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Chill is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Chill is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
- * AMD Radeon Chill cannot be enabled simultaneously with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DAntiLag "AMD Radeon Anti-Lag", and @ref DOX_IADLX3DAntiLag1 "AMD Radeon Anti-Lag Next".
- * On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".
- * When a mutually exclusive feature is enabled, AMD Radeon Chill is automatically disabled.
- * __Note:__ If AMD Radeon Chill is later re-enabled, its previous configuration settings will be restored. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DChill_GetFPSRange GetFPSRange - *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFPSRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the FPS range of AMD Radeon Chill is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the FPS range is successfully returned, __ADLX_OK__ is returned.
- * If the FPS range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum FPS, minimum FPS, and step FPS values are read only. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * - * The maximum FPS determines the target frame rate during periods of intense action. - * - * The minimum FPS determines the target frame rate when in-game interaction is minimal. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFPSRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLX3DChill_GetMinFPS GetMinFPS - *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill current minimum FPS on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMinFPS (adlx_int* currentMinFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMinFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current minimum FPS value of AMD Radeon Chill is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current minimum FPS is successfully returned, __ADLX_OK__ is returned.
- * If the current minimum FPS is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * - * The minimum FPS determines the target frame rate when in-game interaction is minimal. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMinFPS (adlx_int* currentMinFPS) = 0; - - /** - *@page DOX_IADLX3DChill_GetMaxFPS GetMaxFPS - *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill current maximum FPS on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMaxFPS (adlx_int* currentMaxFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMaxFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current maximum FPS value of AMD Radeon Chill is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current maximum FPS is successfully returned, __ADLX_OK__ is returned.
- * If the current maximum FPS is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * - *The maximum FPS determines the target frame rate during periods of intense action. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMaxFPS (adlx_int* currentMaxFPS) = 0; - - /** - *@page DOX_IADLX3DChill_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the activation status of AMD Radeon™ Chill on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Chill state. Set __true__ to enable AMD Radeon Chill. Set __false__ to disable AMD Radeon Chill. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Chill is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Chill is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
- * AMD Radeon Chill cannot be enabled simultaneously with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DAntiLag "AMD Radeon Anti-Lag", and @ref DOX_IADLX3DAntiLag1 "AMD Radeon Anti-Lag Next".
- * On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".
- * When AMD Radeon Chill is enabled, the mutually exclusive features are automatically disabled.
- * __Note:__ If the disabled feature is later re-enabled, its previous configuration settings will be restored. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DChill_SetMinFPS SetMinFPS - *@ENG_START_DOX @brief Sets the AMD Radeon™ Chill minimum FPS on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMinFPS (adlx_int minFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[in],minFPS,adlx_int,@ENG_START_DOX The new minimum FPS value of AMD Radeon Chill. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum FPS is successfully set, __ADLX_OK__ is returned.
- * If the minimum FPS is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * - * The minimum FPS determines the target frame rate when in-game interaction is minimal. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMinFPS (adlx_int minFPS) = 0; - - /** - *@page DOX_IADLX3DChill_SetMaxFPS SetMaxFPS - *@ENG_START_DOX @brief Sets the AMD Radeon™ Chill maximum FPS on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMaxFPS (adlx_int maxFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[in],maxFPS,adlx_int,@ENG_START_DOX The new maximum FPS value of AMD Radeon Chill. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the maximum FPS is successfully set, __ADLX_OK__ is returned.
- * If the maximum FPS is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - * - * The maximum FPS determines the target frame rate during periods of intense action. - * @ENG_END_DOX - * - *@copydoc IADLX3DChill_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMaxFPS (adlx_int maxFPS) = 0; - - }; //IADLX3DChill - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DChillPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DChill, L"IADLX3DChill") - -typedef struct IADLX3DChill IADLX3DChill; - -typedef struct IADLX3DChillVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DChill* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DChill* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DChill* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DChill - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DChill* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DChill* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetFPSRange)(IADLX3DChill* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetMinFPS)(IADLX3DChill* pThis, adlx_int* currentMinFPS); - ADLX_RESULT (ADLX_STD_CALL *GetMaxFPS)(IADLX3DChill* pThis, adlx_int* currentMaxFPS); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DChill* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *SetMinFPS)(IADLX3DChill* pThis, adlx_int minFPS); - ADLX_RESULT (ADLX_STD_CALL *SetMaxFPS)(IADLX3DChill* pThis, adlx_int maxFPS); -}IADLX3DChillVtbl; - -struct IADLX3DChill { const IADLX3DChillVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DChill - -//3DBoost setting interface -#pragma region IADLX3DBoost -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DBoost : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DBoost") - - /** - *@page DOX_IADLX3DBoost_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Radeon™ Boost is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is __true__ if AMD Radeon Boost is supported. The variable is __false__ if AMD Radeon Boost is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Boost is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Boost is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- * Only works in supported games. - * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DBoost_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Radeon™ Boost is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is __true__ if AMD Radeon Boost is enabled. The variable is __false__ if AMD Radeon Boost is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Boost is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Boost is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
- * __Note:__ @ref DOX_IADLX3DChill "AMD Radeon Chill", AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Boost is automatically disabled.
- * On some AMD GPUs, AMD Radeon Boost and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Boost is automatically disabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DBoost_GetResolutionRange GetResolutionRange - *@ENG_START_DOX @brief Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetResolutionRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the resolution range of AMD Radeon Boost is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the resolution range is successfully returned, __ADLX_OK__ is returned.
- * If the resolution range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum resolution, minimum resolution, and step resolution of AMD Radeon Boost are read only. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- * Only works in supported games. - * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetResolutionRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLX3DBoost_GetResolution GetResolution - *@ENG_START_DOX @brief Gets the current minimum resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetResolution (adlx_int* currentMinRes) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMinRes,adlx_int*,@ENG_START_DOX The pointer to a variable where the current minimum resolution (in %) of AMD Radeon Boost is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current minimum resolution is successfully returned, __ADLX_OK__ is returned.
- * If the current minimum resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- * Only works in supported games. - * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetResolution (adlx_int* currentMinRes) = 0; - - /** - *@page DOX_IADLX3DBoost_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets AMD Radeon™ Boost to enabled or disabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Boost state. Set __true__ to enable AMD Radeon Boost. Set __false__ to disable AMD Radeon Boost. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Boost is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Boost is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
- * __Note:__ @ref DOX_IADLX3DChill "AMD Radeon Chill", AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Boost is enabled, AMD Radeon Chill are automatically disabled. However, the configuration of the disabled feature is preserved.
- * On some AMD GPUs, AMD Radeon Boost and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If AMD Radeon Boost is enabled, Radeon Super Resolution is automatically disabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DBoost_SetResolution SetResolution - *@ENG_START_DOX @brief Sets the minimum resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetResolution (adlx_int minRes) - *@codeEnd - * - *@params - * @paramrow{1.,[in],minRes,adlx_int,@ENG_START_DOX The new minimum resolution (in %) of AMD Radeon Boost. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum resolution is successfully set, __ADLX_OK__ is returned.
- * If the minimum resolution is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
- * @ENG_END_DOX - * - *@copydoc IADLX3DBoost_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetResolution (adlx_int minRes) = 0; - - }; //IADLX3DBoost - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DBoostPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DBoost, L"IADLX3DBoost") - -typedef struct IADLX3DBoost IADLX3DBoost; - -typedef struct IADLX3DBoostVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DBoost* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DBoost* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DBoost* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DBoost - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DBoost* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DBoost* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetResolutionRange)(IADLX3DBoost* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetResolution)(IADLX3DBoost* pThis, adlx_int* currentMinRes); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DBoost* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *SetResolution)(IADLX3DBoost* pThis, adlx_int minRes); -}IADLX3DBoostVtbl; - -struct IADLX3DBoost { const IADLX3DBoostVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DBoost - -//3DImageSharpening setting interface -#pragma region IADLX3DImageSharpening -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DImageSharpening : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DImageSharpening") - - /** - *@page DOX_IADLX3DImageSharpening_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Radeon™ Image Sharpening is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is __true__ if AMD Radeon Image Sharpening is supported. The variable is __false__ if AMD Radeon Image Sharpening is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DImageSharpening_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Radeon™ Image Sharpening is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is __true__ if AMD Radeon Image Sharpening is enabled. The variable is __false__ if AMD Radeon Image Sharpening is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
- * __Note:__ On some AMD GPUs, AMD Radeon Image Sharpening and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Image Sharpening is automatically disabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DImageSharpening_GetSharpnessRange GetSharpnessRange - *@ENG_START_DOX @brief Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSharpnessRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sharpness range is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sharpness range is successfully returned, __ADLX_OK__ is returned.
- * If the sharpness range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum sharpness, minimum sharpness, and step sharpness of AMD Radeon Image Sharpening are read only. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSharpnessRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLX3DImageSharpening_GetSharpness GetSharpness - *@ENG_START_DOX @brief Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSharpness (adlx_int* currentSharpness) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentSharpness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current sharpness (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current sharpness is successfully returned, __ADLX_OK__ is returned.
- * If the current sharpness is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSharpness (adlx_int* currentSharpness) = 0; - - /** - *@page DOX_IADLX3DImageSharpening_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Image Sharpening state. Set __true__ to enable AMD Radeon Image Sharpening. Set __false__ to disable AMD Radeon Image Sharpening. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Image Sharpening is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
- * __Note:__ On some AMD GPUs, AMD Radeon Image Sharpening and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Radeon Image Sharpening is enabled, AMD Radeon Super Resolution is automatically disabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DImageSharpening_SetSharpness SetSharpness - *@ENG_START_DOX @brief Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSharpness (adlx_int sharpness) - *@codeEnd - * - *@params - * @paramrow{1.,[in],sharpness,adlx_int,@ENG_START_DOX The new sharpness (in %). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sharpness is successfully set, __ADLX_OK__ is returned.
- * If the sharpness is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DImageSharpening_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSharpness (adlx_int sharpness) = 0; - - }; //IADLX3DImageSharpening - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DImageSharpeningPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DImageSharpening, L"IADLX3DImageSharpening") - -typedef struct IADLX3DImageSharpening IADLX3DImageSharpening; - -typedef struct IADLX3DImageSharpeningVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DImageSharpening* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DImageSharpening* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DImageSharpening* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DImageSharpening - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DImageSharpening* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DImageSharpening* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetSharpnessRange)(IADLX3DImageSharpening* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetSharpness)(IADLX3DImageSharpening* pThis, adlx_int* currentSharpness); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DImageSharpening* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *SetSharpness)(IADLX3DImageSharpening* pThis, adlx_int sharpness); -}IADLX3DImageSharpeningVtbl; - -struct IADLX3DImageSharpening { const IADLX3DImageSharpeningVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DImageSharpening - -//3DEnhancedSync setting interface -#pragma region IADLX3DEnhancedSync -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DEnhancedSync : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DEnhancedSync") - - /** - *@page DOX_IADLX3DEnhancedSync_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Radeon™ Enhanced Sync is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is __true__ if AMD Radeon Enhanced Sync is supported. The variable is __false__ if AMD Radeon Enhanced Sync is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- * Does not limit the frame rate at the display’s refresh rate.
- * @ENG_END_DOX - * - *@copydoc IADLX3DEnhancedSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DEnhancedSync_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is __true__ if AMD Radeon Enhanced Sync is enabled. The variable is __false__ if AMD Radeon Enhanced Sync is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- * Does not limit the frame rate at the display’s refresh rate.
- * __Note__: AMD Radeon Enhanced Sync configuration is dependent on the state of VSync.
- * If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled.
- * If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DEnhancedSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DEnhancedSync_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Enhanced Sync state. Set __true__ to enable AMD Radeon Enhanced Sync. Set __false__ to disable AMD Radeon Enhanced Sync. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Radeon Enhanced Sync is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- * Does not limit the frame rate at the display’s refresh rate.
- * __Note__: AMD Radeon Enhanced Sync configuration affects the state of VSync.
- * If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- * If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DEnhancedSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - }; //IADLX3DEnhancedSync - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DEnhancedSyncPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DEnhancedSync, L"IADLX3DEnhancedSync") - -typedef struct IADLX3DEnhancedSync IADLX3DEnhancedSync; - -typedef struct IADLX3DEnhancedSyncVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DEnhancedSync* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DEnhancedSync* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DEnhancedSync* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DEnhancedSync - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DEnhancedSync* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DEnhancedSync* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DEnhancedSync* pThis, adlx_bool enable); -}IADLX3DEnhancedSyncVtbl; - -struct IADLX3DEnhancedSync { const IADLX3DEnhancedSyncVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DEnhancedSync - -//3DWaitForVerticalRefresh setting interface -#pragma region IADLX3DWaitForVerticalRefresh -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DWaitForVerticalRefresh : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DWaitForVerticalRefresh") - - /** - *@page DOX_IADLX3DWaitForVerticalRefresh_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if VSync is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VSync is returned. The variable is __true__ if VSync is supported. The variable is __false__ if VSync is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of VSync is successfully returned, __ADLX_OK__ is returned.
- * If the state of VSync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- * Limits the frame rate at the display’s refresh rate.
- * @ENG_END_DOX - * - *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DWaitForVerticalRefresh_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if VSync is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VSync is returned. The variable is __true__ if VSync is enabled. The variable is __false__ if VSync is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of VSync is successfully returned, __ADLX_OK__ is returned.
- * If the state of VSync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- * Limits the frame rate at the display’s refresh rate.
- * __Note__: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.
- * If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- * If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DWaitForVerticalRefresh_GetMode GetMode - *@ENG_START_DOX @brief Gets the current VSync mode on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMode (@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMode,@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE*,@ENG_START_DOX The pointer to a variable where the current VSync mode is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current VSync mode is successfully returned, __ADLX_OK__ is returned.
- * If the current VSync mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- * Limits the frame rate at the display’s refresh rate.
- * __Note__: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.
- * If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- * If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode) = 0; - - /** - *@page DOX_IADLX3DWaitForVerticalRefresh_SetMode SetMode - *@ENG_START_DOX @brief Sets the VSync mode on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMode (@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode) - *@codeEnd - * - *@params - * @paramrow{1.,[in],mode,@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE,@ENG_START_DOX The new VSync mode. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the VSync mode is successfully set, __ADLX_OK__ is returned.
- * If the VSync mode is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- * Limits the frame rate at the display’s refresh rate.
- * __Note__: VSync configuration affects the state of AMD Radeon™ Enhanced Sync.
- * If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled.
- * If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled. - * @ENG_END_DOX - * - *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode) = 0; - - }; //IADLX3DWaitForVerticalRefresh - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DWaitForVerticalRefreshPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DWaitForVerticalRefresh, L"IADLX3DWaitForVerticalRefresh") - -typedef struct IADLX3DWaitForVerticalRefresh IADLX3DWaitForVerticalRefresh; - -typedef struct IADLX3DWaitForVerticalRefreshVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DWaitForVerticalRefresh* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DWaitForVerticalRefresh* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DWaitForVerticalRefresh* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DWaitForVerticalRefresh - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DWaitForVerticalRefresh* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DWaitForVerticalRefresh* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DWaitForVerticalRefresh* pThis, ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode); - ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DWaitForVerticalRefresh* pThis, ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode); -}IADLX3DWaitForVerticalRefreshVtbl; - -struct IADLX3DWaitForVerticalRefresh { const IADLX3DWaitForVerticalRefreshVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DWaitForVerticalRefresh - -//3DFrameRateTargetControl setting interface -#pragma region IADLX3DFrameRateTargetControl -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DFrameRateTargetControl : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DFrameRateTargetControl") - - /** - *@page DOX_IADLX3DFrameRateTargetControl_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Frame Rate Target Control is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is __true__ if AMD Frame Rate Target Control is supported. The variable is __false__ if AMD Frame Rate Target Control is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DFrameRateTargetControl_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Frame Rate Target Control is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is __true__ if AMD Frame Rate Target Control is enabled. The variable is __false__ if AMD Frame Rate Target Control is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DFrameRateTargetControl_GetFPSRange GetFPSRange - *@ENG_START_DOX @brief Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFPSRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the FPS range of AMD Frame Rate Target Control is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the FPS range is successfully returned, __ADLX_OK__ is returned.
- * If the FPS range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control are read only. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFPSRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLX3DFrameRateTargetControl_GetFPS GetFPS - *@ENG_START_DOX @brief Gets the current FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFPS (adlx_int* currentFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current FPS value of AMD Frame Rate Target Control is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current FPS is successfully returned, __ADLX_OK__ is returned.
- * If the current FPS is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFPS (adlx_int* currentFPS) = 0; - - /** - *@page DOX_IADLX3DFrameRateTargetControl_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets AMD Frame Rate Target Control to enabled or disabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Frame Rate Target Control state. Set __true__ to enable AMD Frame Rate Target Control. Set __false__ to disable AMD Frame Rate Target Control. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Frame Rate Target Control is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DFrameRateTargetControl_SetFPS SetFPS - *@ENG_START_DOX @brief Sets the maximum FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetFPS (adlx_int maxFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[in],maxFPS,adlx_int,@ENG_START_DOX The new maximum FPS value of AMD Frame Rate Target Control. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the maximum FPS is successfully set, __ADLX_OK__ is returned.
- * If the maximum FPS is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. - * @ENG_END_DOX - * - *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetFPS (adlx_int maxFPS) = 0; - - }; //IADLX3DFrameRateTargetControl - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DFrameRateTargetControlPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DFrameRateTargetControl, L"IADLX3DFrameRateTargetControl") - -typedef struct IADLX3DFrameRateTargetControl IADLX3DFrameRateTargetControl; - -typedef struct IADLX3DFrameRateTargetControlVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DFrameRateTargetControl* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DFrameRateTargetControl* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DFrameRateTargetControl* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DFrameRateTargetControl - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DFrameRateTargetControl* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DFrameRateTargetControl* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetFPSRange)(IADLX3DFrameRateTargetControl* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetFPS)(IADLX3DFrameRateTargetControl* pThis, adlx_int* currentFPS); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DFrameRateTargetControl* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *SetFPS)(IADLX3DFrameRateTargetControl* pThis, adlx_int maxFPS); -}IADLX3DFrameRateTargetControlVtbl; - -struct IADLX3DFrameRateTargetControl { const IADLX3DFrameRateTargetControlVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DFrameRateTargetControl - -//3DAntiAliasing setting interface -#pragma region IADLX3DAntiAliasing -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DAntiAliasing : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DAntiAliasing") - - /** - *@page DOX_IADLX3DAntiAliasing_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if anti-aliasing is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anti-aliasing is returned. The variable is __true__ if anti-aliasing is supported. The variable is __false__ if anti-aliasing is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of anti-aliasing is successfully returned, __ADLX_OK__ is returned.
- * If the state of anti-aliasing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_GetMode GetMode - *@ENG_START_DOX @brief Gets the current anti-aliasing mode of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMode (@ref ADLX_ANTI_ALIASING_MODE* currentMode) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMode,@ref ADLX_ANTI_ALIASING_MODE*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing mode is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current anti-aliasing mode is successfully returned, __ADLX_OK__ is returned.
- * If the current anti-aliasing mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_ANTI_ALIASING_MODE* currentMode) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_GetLevel GetLevel - *@ENG_START_DOX @brief Gets the current anti-aliasing level of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetLevel (@ref ADLX_ANTI_ALIASING_LEVEL* currentLevel) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentLevel,@ref ADLX_ANTI_ALIASING_LEVEL*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing level is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current anti-aliasing level is successfully returned, __ADLX_OK__ is returned.
- * If the current anti-aliasing level is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_ANTI_ALIASING_LEVEL* currentLevel) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_GetMethod GetMethod - *@ENG_START_DOX @brief Gets the current anti-aliasing method of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMethod (@ref ADLX_ANTI_ALIASING_METHOD* currentMethod) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMethod,@ref ADLX_ANTI_ALIASING_METHOD*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing method is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current anti-aliasing method is successfully returned, __ADLX_OK__ is returned.
- * If the current anti-aliasing method is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMethod (ADLX_ANTI_ALIASING_METHOD* currentMethod) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_SetMode SetMode - *@ENG_START_DOX @brief Sets the anti-aliasing mode on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMode (@ref ADLX_ANTI_ALIASING_MODE mode) - *@codeEnd - * - *@params - * @paramrow{1.,[in],mode,@ref ADLX_ANTI_ALIASING_MODE,@ENG_START_DOX The new anti-aliasing mode. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the anti-aliasing mode is successfully set, __ADLX_OK__ is returned.
- * If the anti-aliasing mode is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * - * __Note__: Set the mode to __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__ to concurrently enable other anti-aliasing methods, such as morphological anti-aliasing.
- * For more information, refer to @ref DOX_IADLX3DMorphologicalAntiAliasing "IADLX3DMorphologicalAntiAliasing". - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_ANTI_ALIASING_MODE mode) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_SetLevel SetLevel - *@ENG_START_DOX @brief Sets the anti-aliasing level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetLevel (@ref ADLX_ANTI_ALIASING_LEVEL level) - *@codeEnd - * - *@params - * @paramrow{1.,[in],level,@ref ADLX_ANTI_ALIASING_LEVEL,@ENG_START_DOX The new anti-aliasing level. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the anti-aliasing level is successfully set, __ADLX_OK__ is returned.
- * If the anti-aliasing level is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_ANTI_ALIASING_LEVEL level) = 0; - - /** - *@page DOX_IADLX3DAntiAliasing_SetMethod SetMethod - *@ENG_START_DOX @brief Sets the anti-aliasing method on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMethod (@ref ADLX_ANTI_ALIASING_METHOD method) - *@codeEnd - * - *@params - * @paramrow{1.,[in],method,@ref ADLX_ANTI_ALIASING_METHOD,@ENG_START_DOX The new anti-aliasing method. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the anti-aliasing method is successfully set, __ADLX_OK__ is returned.
- * If the anti-aliasing method is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMethod (ADLX_ANTI_ALIASING_METHOD method) = 0; - - }; //IADLX3DAntiAliasing - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DAntiAliasingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DAntiAliasing, L"IADLX3DAntiAliasing") - -typedef struct IADLX3DAntiAliasing IADLX3DAntiAliasing; - -typedef struct IADLX3DAntiAliasingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAntiAliasing* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DAntiAliasing* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAntiAliasing* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DAntiAliasing - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAntiAliasing* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_MODE* currentMode); - ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_LEVEL* currentLevel); - ADLX_RESULT (ADLX_STD_CALL *GetMethod)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_METHOD* currentMethod); - ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_MODE mode); - ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_LEVEL level); - ADLX_RESULT (ADLX_STD_CALL *SetMethod)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_METHOD method); -}IADLX3DAntiAliasingVtbl; - -struct IADLX3DAntiAliasing { const IADLX3DAntiAliasingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DAntiAliasing - -//3DMorphologicalAntiAliasing setting interface -#pragma region IADLX3DMorphologicalAntiAliasing -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DMorphologicalAntiAliasing : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DMorphologicalAntiAliasing") - - /** - *@page DOX_IADLX3DMorphologicalAntiAliasing_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if morphological anti-aliasing is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is __true__ if morphological anti-aliasing is supported. The variable is __false__ if morphological anti-aliasing is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of morphological anti-aliasing is successfully returned, __ADLX_OK__ is returned.
- * If the state of morphological anti-aliasing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- * The applications must run exclusively in full-screen mode.
- * Not applicable to DirectX® 12 and Vulkan® applications. - * - * __Note__: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__, as returned by @ref DOX_IADLX3DAntiAliasing_GetMode. - * @ENG_END_DOX - * - *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DMorphologicalAntiAliasing_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if morphological anti-aliasing is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is __true__ if morphological anti-aliasing is enabled. The variable is __false__ if morphological anti-aliasing is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of morphological anti-aliasing is successfully returned, __ADLX_OK__ is returned.
- * If the state of morphological anti-aliasing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- * The applications must run exclusively in full-screen mode.
- * Not applicable to DirectX® 12 and Vulkan® applications. - * - * __Note__: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__, as returned by @ref DOX_IADLX3DAntiAliasing_GetMode. - * @ENG_END_DOX - * - *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DMorphologicalAntiAliasing_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets morphological anti-aliasing to enabled or disabled state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new morphological anti-aliasing state. Set __true__ to enable morphological anti-aliasing. Set __false__ to disable morphological anti-aliasing. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of morphological anti-aliasing is successfully set, __ADLX_OK__ is returned.
- * If the state of morphological anti-aliasing is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- * The applications must run exclusively in full-screen mode.
- * Not applicable to DirectX® 12 and Vulkan® applications. - * - * __Note__: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__, as returned by @ref DOX_IADLX3DAntiAliasing_GetMode. - * @ENG_END_DOX - * - *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - }; //IADLX3DMorphologicalAntiAliasing - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DMorphologicalAntiAliasingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DMorphologicalAntiAliasing, L"IADLX3DMorphologicalAntiAliasing") - -typedef struct IADLX3DMorphologicalAntiAliasing IADLX3DMorphologicalAntiAliasing; - -typedef struct IADLX3DMorphologicalAntiAliasingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DMorphologicalAntiAliasing* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DMorphologicalAntiAliasing* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DMorphologicalAntiAliasing* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DMorphologicalAntiAliasing - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool enable); -}IADLX3DMorphologicalAntiAliasingVtbl; - -struct IADLX3DMorphologicalAntiAliasing { const IADLX3DMorphologicalAntiAliasingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DMorphologicalAntiAliasing - -//3DAnisotropicFiltering setting interface -#pragma region IADLX3DAnisotropicFiltering -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DAnisotropicFiltering : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DAnisotropicFiltering") - - /** - *@page DOX_IADLX3DAnisotropicFiltering_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if anisotropic filtering is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anisotropic filtering is returned. The variable is __true__ if anisotropic filtering is supported. The variable is __false__ if anisotropic filtering is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of anisotropic filtering is successfully returned, __ADLX_OK__ is returned.
- * If the state of anisotropic filtering is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- * Only affects DirectX® 9 applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DAnisotropicFiltering_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if anisotropic filtering is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anisotropic filtering is returned. The variable is __true__ if anisotropic filtering is enabled. The variable is __false__ if anisotropic filtering is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of anisotropic filtering is successfully returned, __ADLX_OK__ is returned.
- * If the state of anisotropic filtering is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- * Only affects DirectX® 9 applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0; - - /** - *@page DOX_IADLX3DAnisotropicFiltering_GetLevel GetLevel - *@ENG_START_DOX @brief Gets the current anisotropic filtering level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetLevel (@ref ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentLevel,@ref ADLX_ANISOTROPIC_FILTERING_LEVEL*,@ENG_START_DOX The pointer to a variable where the current anisotropic filtering level is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current anisotropic filtering level is successfully returned, __ADLX_OK__ is returned.
- * If the current anisotropic filtering level is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- * Only affects DirectX® 9 applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel) = 0; - - /** - *@page DOX_IADLX3DAnisotropicFiltering_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets anisotropic filtering to an enabled or disabled state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new anisotropic filtering state. Set __true__ to enable anisotropic filtering. Set __false__ to disable anisotropic filtering. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of anisotropic filtering is successfully set, __ADLX_OK__ is returned.
- * If the state of anisotropic filtering is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- * Only affects DirectX® 9 applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DAnisotropicFiltering_SetLevel SetLevel - *@ENG_START_DOX @brief Sets the anisotropic filtering level of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetLevel (@ref ADLX_ANISOTROPIC_FILTERING_LEVEL level) - *@codeEnd - * - *@params - * @paramrow{1.,[in],level,@ref ADLX_ANISOTROPIC_FILTERING_LEVEL,@ENG_START_DOX The new anisotropic filtering level. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the anisotropic filtering level is successfully set, __ADLX_OK__ is returned.
- * If the anisotropic filtering level is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- * Only affects DirectX® 9 applications. - * @ENG_END_DOX - * - *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL level) = 0; - - }; //IADLX3DAnisotropicFiltering - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DAnisotropicFilteringPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DAnisotropicFiltering, L"IADLX3DAnisotropicFiltering") - -typedef struct IADLX3DAnisotropicFiltering IADLX3DAnisotropicFiltering; - -typedef struct IADLX3DAnisotropicFilteringVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAnisotropicFiltering* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DAnisotropicFiltering* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAnisotropicFiltering* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DAnisotropicFiltering - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAnisotropicFiltering* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DAnisotropicFiltering* pThis, adlx_bool* isEnabled); - ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DAnisotropicFiltering* pThis, ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DAnisotropicFiltering* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DAnisotropicFiltering* pThis, ADLX_ANISOTROPIC_FILTERING_LEVEL level); -}IADLX3DAnisotropicFilteringVtbl; - -struct IADLX3DAnisotropicFiltering { const IADLX3DAnisotropicFilteringVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DAnisotropicFiltering - -//3DTessellation setting interface -#pragma region IADLX3DTessellation -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DTessellation : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DTessellation") - - /** - *@page DOX_IADLX3DTessellation_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if tessellation is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of tessellation is returned. The variable is __true__ if tessellation is supported. The variable is __false__ if tessellation is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of tessellation is successfully returned, __ADLX_OK__ is returned.
- * If the state of tessellation is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DTessellation_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DTessellation_GetMode GetMode - *@ENG_START_DOX @brief Gets the current tessellation mode on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMode (@ref ADLX_TESSELLATION_MODE* currentMode) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMode,@ref ADLX_TESSELLATION_MODE*,@ENG_START_DOX The pointer to a variable where the current tessellation mode is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current tessellation mode is successfully returned, __ADLX_OK__ is returned.
- * If the current tessellation mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DTessellation_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_TESSELLATION_MODE* currentMode) = 0; - - /** - *@page DOX_IADLX3DTessellation_GetLevel GetLevel - *@ENG_START_DOX @brief Gets the current tessellation level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetLevel (@ref ADLX_TESSELLATION_LEVEL* currentLevel) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentLevel,@ref ADLX_TESSELLATION_LEVEL*,@ENG_START_DOX The pointer to a variable where the current tessellation level is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current tessellation level is successfully returned, __ADLX_OK__ is returned.
- * If the current tessellation level is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DTessellation_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_TESSELLATION_LEVEL* currentLevel) = 0; - - /** - *@page DOX_IADLX3DTessellation_SetMode SetMode - *@ENG_START_DOX @brief Sets the tessellation mode on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMode (@ref ADLX_TESSELLATION_MODE mode) - *@codeEnd - * - *@params - * @paramrow{1.,[in],mode,@ref ADLX_TESSELLATION_MODE,@ENG_START_DOX The new tessellation mode. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the tesssellation mode is successfully set, __ADLX_OK__ is returned.
- * If the tessellation mode is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DTessellation_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_TESSELLATION_MODE mode) = 0; - - /** - *@page DOX_IADLX3DTessellation_SetLevel SetLevel - *@ENG_START_DOX @brief Sets the tessellation level on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetLevel (@ref ADLX_TESSELLATION_LEVEL level) - *@codeEnd - * - *@params - * @paramrow{1.,[in],level,@ref ADLX_TESSELLATION_LEVEL,@ENG_START_DOX The new tessellation level. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the tessellation level is successfully set, __ADLX_OK__ is returned.
- * If the tessellation level is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. - * @ENG_END_DOX - * - *@copydoc IADLX3DTessellation_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_TESSELLATION_LEVEL level) = 0; - - }; //IADLX3DTessellation - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DTessellationPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DTessellation, L"IADLX3DTessellation") - -typedef struct IADLX3DTessellation IADLX3DTessellation; - -typedef struct IADLX3DTessellationVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DTessellation* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DTessellation* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DTessellation* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DTessellation - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DTessellation* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_MODE* currentMode); - ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_LEVEL* currentLevel); - ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_MODE mode); - ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_LEVEL level); -}IADLX3DTessellationVtbl; - -struct IADLX3DTessellation { const IADLX3DTessellationVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DTessellation - -//3DRadeonSuperResolution interface -#pragma region IADLX3DRadeonSuperResolution -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DRadeonSuperResolution : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DRadeonSuperResolution") - - /** - *@page DOX_IADLX3DRadeonSuperResolution_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if Radeon™ Super Resolution is supported. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is __true__ if Radeon Super Resolution is supported. The variable is __false__ if Radeon Super Resolution is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Super Resolution is successfully returned, __ADLX_OK__ is returned.
- * If the state of Radeon Super Resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates. - * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DRadeonSuperResolution_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if Radeon™ Super Resolution is enabled. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is __true__ if Radeon Super Resolution is enabled. The variable is __false__ if Radeon Super Resolution is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Super Resolution is successfully returned, __ADLX_OK__ is returned.
- * If the state of Radeon Super Resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates.
- * - * __Note:__ @ref DOX_IADLXDisplayGPUScaling "GPU scaling" is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. - * - * On some AMD GPUs, Radeon Super Resolution is mutually exclusive with @ref DOX_IADLX3DChill "AMD Radeon Chill", @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DImageSharpening "AMD Radeon Image Sharpening", @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling", and @ref DOX_IADLXDisplayScalingMode_GetMode "Center Scaling". When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.
- * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - - /** - *@page DOX_IADLX3DRadeonSuperResolution_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the activation status of Radeon™ Super Resolution. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Radeon Super Resolution state. Set __true__ to enable Radeon Super Resolution. Set __false__ to disable Radeon Super Resolution. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Radeon Super Resolution is successfully set, __ADLX_OK__ is returned.
- * If the state of Radeon Super Resolution is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates.
- * - * __Note:__ @ref DOX_IADLXDisplayGPUScaling "GPU scaling" is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. - * - * On some AMD GPUs, Radeon Super Resolution is mutually exclusive with @ref DOX_IADLX3DChill "AMD Radeon Chill", @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DImageSharpening "AMD Radeon Image Sharpening", @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling", and @ref DOX_IADLXDisplayScalingMode_GetMode "Center Scaling". When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.
- - * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0; - - /** - *@page DOX_IADLX3DRadeonSuperResolution_GetSharpnessRange GetSharpnessRange - *@ENG_START_DOX @brief Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSharpnessRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sharpness range of Radeon Super Resolution is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sharpness range is successfully returned, __ADLX_OK__ is returned.
- * If the sharpness range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum sharpness, minimum sharpness, and step sharpness values are read only. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates. - * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSharpnessRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLX3DRadeonSuperResolution_GetSharpness GetSharpness - *@ENG_START_DOX @brief Gets the Radeon™ Super Resolution current sharpness. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSharpness (adlx_int* currentSharpness) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentSharpness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current sharpness of Radeon Super Resolution is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current sharpness is successfully returned, __ADLX_OK__ is returned.
- * If the current sharpness is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates. - * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSharpness (adlx_int* currentSharpness) = 0; - - /** - *@page DOX_IADLX3DRadeonSuperResolution_SetSharpness SetSharpness - *@ENG_START_DOX @brief Sets the Radeon™ Super Resolution sharpness. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSharpness (adlx_int sharpness) - *@codeEnd - * - *@params - * @paramrow{1.,[in],sharpness,adlx_int,@ENG_START_DOX The new sharpness of Radeon Super Resolution. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sharpness is successfully set, __ADLX_OK__ is returned.
- * If the sharpness is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Radeon Super Resolution is an upscaling feature for faster game frame rates. - * @ENG_END_DOX - * - *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSharpness (adlx_int sharpness) = 0; - }; //IADLX3DRadeonSuperResolution - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DRadeonSuperResolutionPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DRadeonSuperResolution, L"IADLX3DRadeonSuperResolution") - -typedef struct IADLX3DRadeonSuperResolution IADLX3DRadeonSuperResolution; - -typedef struct IADLX3DRadeonSuperResolutionVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DRadeonSuperResolution* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DRadeonSuperResolution* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DRadeonSuperResolution* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DRadeonSuperResolution - ADLX_RESULT (ADLX_STD_CALL *IsSupported) (IADLX3DRadeonSuperResolution* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled) (IADLX3DRadeonSuperResolution* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled) (IADLX3DRadeonSuperResolution* pThis, adlx_bool enable); - ADLX_RESULT (ADLX_STD_CALL *GetSharpnessRange) (IADLX3DRadeonSuperResolution* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetSharpness) (IADLX3DRadeonSuperResolution* pThis, adlx_int* currentSharpness); - ADLX_RESULT (ADLX_STD_CALL *SetSharpness) (IADLX3DRadeonSuperResolution* pThis, adlx_int sharpness); -}IADLX3DRadeonSuperResolutionVtbl; - -struct IADLX3DRadeonSuperResolution { const IADLX3DRadeonSuperResolutionVtbl* pVtbl; }; - -#endif //__cplusplus -#pragma endregion IADLX3DRadeonSuperResolution - -//3DResetShaderCache setting interface -#pragma region IADLX3DResetShaderCache -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DResetShaderCache : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DResetShaderCache") - - /** - *@page DOX_IADLX3DResetShaderCache_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if resetting the shader cache of a GPU is supported. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of shader cache reset is returned. The variable is __true__ if shader cache reset is supported. The variable is __false__ if shader cache reset is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of shader cache reset is successfully returned, ADLX_OK is returned.
- * If the state of shader cache reset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache. - * @ENG_END_DOX - * - *@copydoc IADLX3DResetShaderCache_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLX3DResetShaderCache_ResetShaderCache ResetShaderCache - *@ENG_START_DOX @brief Resets the content in a disk-based shader cache on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT ResetShaderCache () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the shader cache is successfully reset, ADLX_OK is returned.
- * If the shader cache is not successfully reset, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears the contents of the disk-based shader cache. - * @ENG_END_DOX - * - *@copydoc IADLX3DResetShaderCache_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ResetShaderCache () = 0; - - }; //IADLX3DResetShaderCache - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DResetShaderCachePtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DResetShaderCache, L"IADLX3DResetShaderCache") - -typedef struct IADLX3DResetShaderCache IADLX3DResetShaderCache; - -typedef struct IADLX3DResetShaderCacheVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DResetShaderCache* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DResetShaderCache* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DResetShaderCache* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DResetShaderCache - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DResetShaderCache* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *ResetShaderCache)(IADLX3DResetShaderCache* pThis); -}IADLX3DResetShaderCacheVtbl; - -struct IADLX3DResetShaderCache { const IADLX3DResetShaderCacheVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DResetShaderCache - -//Interface with information on 3D setting changes on a display. ADLX passes this to application that registered for 3D setting changed event in the IADLX3DSettingsChangedListener::On3DSettingsChanged() -#pragma region IADLX3DSettingsChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - class ADLX_NO_VTABLE IADLX3DSettingsChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLX3DSettingsChangedEvent") - - /** - *@page DOX_IADLX3DSettingsChangedEvent_GetGPU GetGPU - *@ENG_START_DOX @brief Gets the reference-counted GPU interface on which 3D Graphics settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPU (@ref DOX_IADLXGPU **ppGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppGPU,@ref DOX_IADLXGPU** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the GPU interface is successfully returned, __ADLX_OK__ is returned.
- * If the GPU interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLX3DSettingsChangedEvent_GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings. - @ENG_END_DOX - * - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPU (IADLXGPU** ppGPU) = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsAntiLagChanged IsAntiLagChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Anti-Lag settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsAntiLagChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Radeon Anti-Lag settings, __true__ is returned.
- * If there are on changes to the Radeon Anti-Lag settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsAntiLagChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsChillChanged IsChillChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Chill settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsChillChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the AMD Radeon Chill settings, __true__ is returned.
- * If there are on changes to the AMD Radeon Chill settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsChillChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsBoostChanged IsBoostChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Boost settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsBoostChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the AMD Radeon Boost settings, __true__ is returned.
- * If there are on changes to the AMD Radeon Boost settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsBoostChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsImageSharpeningChanged IsImageSharpeningChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Radeon Image Sharpening settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsImageSharpeningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Radeon Image Sharpening settings, __true__ is returned.
- * If there are on changes to the Radeon Image Sharpening settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsImageSharpeningChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsEnhancedSyncChanged IsEnhancedSyncChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Enhanced Sync settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsEnhancedSyncChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the AMD Radeon Enhanced Sync settings, __true__ is returned.
- * If there are on changes to the AMD Radeon Enhanced Sync settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsEnhancedSyncChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsWaitForVerticalRefreshChanged IsWaitForVerticalRefreshChanged - *@ENG_START_DOX @brief Checks for changes to the Wait for Vertical Refresh settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsWaitForVerticalRefreshChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Wait for Vertical Refresh settings, __true__ is returned.
- * If there are on changes to the Wait for Vertical Refresh settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsWaitForVerticalRefreshChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsFrameRateTargetControlChanged IsFrameRateTargetControlChanged - *@ENG_START_DOX @brief Checks for changes to the AMD Frame Rate Target Control settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsFrameRateTargetControlChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the AMD Frame Rate Target Control settings, __true__ is returned.
- * If there are on changes to the AMD Frame Rate Target Control settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsFrameRateTargetControlChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsAntiAliasingChanged IsAntiAliasingChanged - *@ENG_START_DOX @brief Checks for changes to the Anti-Aliasing settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsAntiAliasingChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Anti-Aliasing settings, __true__ is returned.
- * If there are on changes to the Anti-Aliasing settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsAntiAliasingChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsMorphologicalAntiAliasingChanged IsMorphologicalAntiAliasingChanged - *@ENG_START_DOX @brief Checks for changes to the Morphological Anti-Aliasing settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsMorphologicalAntiAliasingChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Morphological Anti-Aliasing settings, __true__ is returned.
- * If there are on changes to the Morphological Anti-Aliasing settings, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsMorphologicalAntiAliasingChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsAnisotropicFilteringChanged IsAnisotropicFilteringChanged - *@ENG_START_DOX @brief Checks for changes to the Anisotropic Filtering settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsAnisotropicFilteringChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Anisotropic Filtering settings, __true__ is returned.
- * If there are on changes to the Anisotropic Filtering settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsAnisotropicFilteringChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsTessellationModeChanged IsTessellationModeChanged - *@ENG_START_DOX @brief Checks for changes to the Tessellation settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsTessellationModeChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Tessellation settings, __true__ is returned.
- * If there are no changes to the Tessellation settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsTessellationModeChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsRadeonSuperResolutionChanged IsRadeonSuperResolutionChanged - *@ENG_START_DOX @brief Checks for changes to the Radeon™ Super Resolution settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsRadeonSuperResolutionChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the Radeon Super Resolution settings, __true__ is returned.
- * If there are no changes to the Radeon Super Resolution settings, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ Radeon Super Resolution settings are global for all the supported GPUs. For this event notification, @ref DOX_IADLX3DSettingsChangedEvent_GetGPU returns __nullpr__. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsRadeonSuperResolutionChanged () = 0; - - /** - *@page DOX_IADLX3DSettingsChangedEvent_IsResetShaderCache IsResetShaderCache - *@ENG_START_DOX @brief Checks if shader cache is reset. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsResetShaderCache () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If shader cache settings is reset, __true__ is returned.
- * If shader cache settings is not reset, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsResetShaderCache () = 0; - - }; //IADLX3DSettingsChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DSettingsChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DSettingsChangedEvent, L"IADLX3DSettingsChangedEvent") -typedef struct IADLX3DSettingsChangedEvent IADLX3DSettingsChangedEvent; - -typedef struct IADLX3DSettingsChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsChangedEvent* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsChangedEvent* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLX3DSettingsChangedEvent* pThis); - - // IADLX3DSettingsChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL *GetGPU)(IADLX3DSettingsChangedEvent* pThis, IADLXGPU** ppGPU); - adlx_bool (ADLX_STD_CALL *IsAntiLagChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsChillChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsBoostChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsImageSharpeningChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsEnhancedSyncChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsWaitForVerticalRefreshChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsFrameRateTargetControlChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsAntiAliasingChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsMorphologicalAntiAliasingChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsAnisotropicFilteringChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsTessellationModeChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsRadeonSuperResolutionChanged)(IADLX3DSettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsResetShaderCache)(IADLX3DSettingsChangedEvent* pThis); - -} IADLX3DSettingsChangedEventVtbl; - -struct IADLX3DSettingsChangedEvent { const IADLX3DSettingsChangedEventVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DSettingsChangedEvent - -//GPU 3D setting changed listener interface. To be implemented in application and passed in IADLX3DSettingsChangedHandling::Add3DSettingEventListener() -#pragma region IADLX3DSettingsChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DSettingsChangedListener - { - public: - /** - *@page DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged On3DSettingsChanged - *@ENG_START_DOX @brief __On3DSettingsChanged__ is called by ADLX when 3D Graphics settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool On3DSettingsChanged (@ref DOX_IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,p3DSettingsChangedEvent,@ref DOX_IADLX3DSettingsChangedEvent* ,@ENG_START_DOX The pointer to a 3D Graphics settings change event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener. - * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D Graphics settings change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D Graphics settings change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLX3DSettingsChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL On3DSettingsChanged (IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) = 0; - }; //IADLX3DSettingsChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLX3DSettingsChangedListener IADLX3DSettingsChangedListener; - -typedef struct IADLX3DSettingsChangedListenerVtbl -{ - // IADLX3DSettingsChangedListener interface - adlx_bool (ADLX_STD_CALL *On3DSettingsChanged)(IADLX3DSettingsChangedListener* pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent); - -} IADLX3DSettingsChangedListenerVtbl; - -struct IADLX3DSettingsChangedListener { const IADLX3DSettingsChangedListenerVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DSettingsChangedListener - -//Interface that allows registration to 3D settings-related events -#pragma region IADLX3DSettingsChangedHandling -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLX3DSettingsChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DSettingsChangedHandling") - - /** - *@page DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener Add3DSettingsEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when 3D Graphics settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add3DSettingsEventListener (@ref DOX_IADLX3DSettingsChangedListener* p3DSettingsChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,p3DSettingsChangedListener,@ref DOX_IADLX3DSettingsChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving 3D Graphics settings change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged method of the listener when 3D Graphics settings change.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener.
@ENG_END_DOX - * - * - *@copydoc IADLX3DSettingsChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) = 0; - - /** - *@page DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener Remove3DSettingsEventListener - *@ENG_START_DOX @brief Unregisters an event listener from 3D Graphics settings event list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Remove3DSettingsEventListener (@ref DOX_IADLX3DSettingsChangedListener* p3DSettingsChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,p3DSettingsChangedListener,@ref DOX_IADLX3DSettingsChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving 3D Graphics settings change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged method of the listener when 3D Graphics settings change. - * The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLX3DSettingsChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Remove3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) = 0; - - }; //IADLX3DSettingsChangedHandling - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DSettingsChangedHandlingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DSettingsChangedHandling, L"IADLX3DSettingsChangedHandling") -typedef struct IADLX3DSettingsChangedHandling IADLX3DSettingsChangedHandling; - -typedef struct IADLX3DSettingsChangedHandlingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsChangedHandling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsChangedHandling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLX3DSettingsChangedHandling interface - ADLX_RESULT (ADLX_STD_CALL *Add3DSettingsEventListener)(IADLX3DSettingsChangedHandling* pThis, IADLX3DSettingsChangedListener* p3DSettingsChangedListener); - ADLX_RESULT (ADLX_STD_CALL *Remove3DSettingsEventListener)(IADLX3DSettingsChangedHandling* pThis, IADLX3DSettingsChangedListener* p3DSettingsChangedListener); - -} IADLX3DSettingsChangedHandlingVtbl; - -struct IADLX3DSettingsChangedHandling { const IADLX3DSettingsChangedHandlingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DSettingsChangedHandling - -//3DSetting Services interface -#pragma region IADLX3DSettingsServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - - class ADLX_NO_VTABLE IADLX3DSettingsServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLX3DSettingsServices") - - /** - *@page DOX_IADLX3DSettingsServices_GetAntiLag GetAntiLag - *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAntiLag (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAntiLag** pp3DAntiLag) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DAntiLag,@ref DOX_IADLX3DAntiLag** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DAntiLag__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAntiLag (IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetChill GetChill - *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Chill interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetChill (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DChill** pp3DChill) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DChill,@ref DOX_IADLX3DChill** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DChill__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetChill (IADLXGPU* pGPU, IADLX3DChill** pp3DChill) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetBoost GetBoost - *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Boost interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBoost (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DBoost** pp3DBoost) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DBoost,@ref DOX_IADLX3DBoost** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DBoost__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBoost (IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetImageSharpening GetImageSharpening - *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetImageSharpening (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DImageSharpening** pp3DImageSharpening) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DImageSharpening,@ref DOX_IADLX3DImageSharpening** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DImageSharpening__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetImageSharpening (IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetEnhancedSync GetEnhancedSync - *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetEnhancedSync (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DEnhancedSync** pp3DEnhancedSync) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DEnhancedSync,@ref DOX_IADLX3DEnhancedSync** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DEnhancedSync__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetEnhancedSync (IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetWaitForVerticalRefresh GetWaitForVerticalRefresh - *@ENG_START_DOX @brief Gets the reference-counted Wait for Vertical Refresh interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetWaitForVerticalRefresh (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DWaitForVerticalRefresh,@ref DOX_IADLX3DWaitForVerticalRefresh** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DWaitForVerticalRefresh__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetWaitForVerticalRefresh (IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetFrameRateTargetControl GetFrameRateTargetControl - *@ENG_START_DOX @brief Gets the reference-counted AMD Frame Rate Target Control interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFrameRateTargetControl (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DFrameRateTargetControl,@ref DOX_IADLX3DFrameRateTargetControl** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DFrameRateTargetControl__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFrameRateTargetControl (IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetAntiAliasing GetAntiAliasing - *@ENG_START_DOX @brief Gets the reference-counted Anti-Aliasing interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAntiAliasing (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAntiAliasing** pp3DAntiAliasing) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DAntiAliasing,@ref DOX_IADLX3DAntiAliasing** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DAntiAliasing__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAntiAliasing (IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetMorphologicalAntiAliasing GetMorphologicalAntiAliasing - *@ENG_START_DOX @brief Gets the reference-counted Morphological Anti-Aliasing interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMorphologicalAntiAliasing (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DMorphologicalAntiAliasing,@ref DOX_IADLX3DMorphologicalAntiAliasing** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DMorphologicalAntiAliasing__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMorphologicalAntiAliasing (IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetAnisotropicFiltering GetAnisotropicFiltering - *@ENG_START_DOX @brief Gets the reference-counted Anisotropic Filtering interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAnisotropicFiltering (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DAnisotropicFiltering,@ref DOX_IADLX3DAnisotropicFiltering** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DAnisotropicFiltering__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAnisotropicFiltering (IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetTessellation GetTessellation - *@ENG_START_DOX @brief Gets the reference-counted Tessellation interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTessellation (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DTessellation** pp3DTessellation) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DTessellation,@ref DOX_IADLX3DTessellation** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DTessellation__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTessellation (IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetRadeonSuperResolution GetRadeonSuperResolution - *@ENG_START_DOX @brief Gets the reference-counted Radeon™ Super Resolution interface. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetRadeonSuperResolution (@ref DOX_IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pp3DRadeonSuperResolution,@ref DOX_IADLX3DRadeonSuperResolution** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DRadeonSuperResolution__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetRadeonSuperResolution (IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_GetResetShaderCache GetResetShaderCache - *@ENG_START_DOX @brief Gets the reference-counted Reset Shader Cache interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetResetShaderCache (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DResetShaderCache** pp3DResetShaderCache) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,pp3DResetShaderCache,@ref DOX_IADLX3DResetShaderCache** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DResetShaderCache__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetResetShaderCache (IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache) = 0; - - /** - *@page DOX_IADLX3DSettingsServices_Get3DSettingsChangedHandling Get3DSettingsChangedHandling - *@ENG_START_DOX @brief Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Get3DSettingsChangedHandling (@ref DOX_IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pp3DSettingsChangedHandling,@ref DOX_IADLX3DSettingsChangedHandling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DSettingsChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLX3DSettingsServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Get3DSettingsChangedHandling (IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling) = 0; - - }; //IADLX3DSettingsServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLX3DSettingsServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLX3DSettingsServices, L"IADLX3DSettingsServices") -typedef struct IADLX3DSettingsServices IADLX3DSettingsServices; - -typedef struct IADLX3DSettingsServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsServices* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsServices* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLX3DSettingsServices - ADLX_RESULT (ADLX_STD_CALL *GetAntiLag)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag); - ADLX_RESULT (ADLX_STD_CALL *GetChill)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DChill** pp3DChill); - ADLX_RESULT (ADLX_STD_CALL *GetBoost)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost); - ADLX_RESULT (ADLX_STD_CALL *GetImageSharpening)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening); - ADLX_RESULT (ADLX_STD_CALL *GetEnhancedSync)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync); - ADLX_RESULT (ADLX_STD_CALL *GetWaitForVerticalRefresh)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh); - ADLX_RESULT (ADLX_STD_CALL *GetFrameRateTargetControl)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl); - ADLX_RESULT (ADLX_STD_CALL *GetAntiAliasing)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing); - ADLX_RESULT (ADLX_STD_CALL *GetMorphologicalAntiAliasing)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing); - ADLX_RESULT (ADLX_STD_CALL *GetAnisotropicFiltering)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering); - ADLX_RESULT (ADLX_STD_CALL *GetTessellation)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation); - ADLX_RESULT (ADLX_STD_CALL *GetRadeonSuperResolution) (IADLX3DSettingsServices* pThis, IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution); - ADLX_RESULT (ADLX_STD_CALL *GetResetShaderCache)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache); - ADLX_RESULT (ADLX_STD_CALL *Get3DSettingsChangedHandling)(IADLX3DSettingsServices* pThis, IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling); -}IADLX3DSettingsServicesVtbl; - -struct IADLX3DSettingsServices { const IADLX3DSettingsServicesVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLX3DSettingsServices - -#endif //ADLX_I3DSETTINGS_H diff --git a/vendor/adlx/SDK/Include/IChangedEvent.h b/vendor/adlx/SDK/Include/IChangedEvent.h deleted file mode 100644 index de2e033..0000000 --- a/vendor/adlx/SDK/Include/IChangedEvent.h +++ /dev/null @@ -1,71 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_CHANGEDE_EVENT_H -#define ADLX_CHANGEDE_EVENT_H -#pragma once - -#include "ADLXDefines.h" - -#pragma region IADLXChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXChangedEvent : public IADLXInterface - { - public: - ADLX_DECLARE_IID(L"IADLXChangedEvent") - - /** - *@page DOX_IADLXChangedEvent_GetOrigin GetOrigin - *@ENG_START_DOX @brief Gets the origin of an event. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_SYNC_ORIGIN GetOrigin () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the event is triggered by a change in settings using ADLX in this application, __SYNC_ORIGIN_INTERNAL__ is returned.
- * If the event is triggered by a change in settings using ADLX in another application, __SYNC_ORIGIN_EXTERNAL__ is returned.
- * If the event has an unknown trigger, __SYNC_ORIGIN_UNKNOWN__ is returned.
- *@ENG_END_DOX - * - *@copydoc IADLXChangedEvent_REQ_TABLE - * - */ - virtual ADLX_SYNC_ORIGIN ADLX_STD_CALL GetOrigin() = 0; - }; //IADLXList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXChangedEventPtr; -} // namespace adlx -#else -ADLX_DECLARE_IID(IADLXChangedEvent, L"IADLXChangedEvent") -typedef struct IADLXChangedEvent IADLXChangedEvent; -typedef struct IADLXChangedEventVtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXChangedEvent* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXChangedEvent* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXChangedEvent* pThis); - -}IADLXChangedEventVtbl; - -struct IADLXChangedEvent -{ - const IADLXChangedEventVtbl* pVtbl; -}; - -#endif -#pragma endregion IADLXChangedEvent - -#endif //ADLX_CHANGEDE_EVENT_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/ICollections.h b/vendor/adlx/SDK/Include/ICollections.h deleted file mode 100644 index 52282d9..0000000 --- a/vendor/adlx/SDK/Include/ICollections.h +++ /dev/null @@ -1,325 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_ICOLLECTIONS_H -#define ADLX_ICOLLECTIONS_H -#pragma once - -#include "ADLXDefines.h" - -//------------------------------------------------------------------------------------------------- -//ICollections.h - Interfaces for ADLX collections - -// These interfaces are used when ADLX returns or receives many-of collections - -//IADLXList allows iterating forward in a collection of objects, similar with an stl vector -#pragma region IADLXList interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXList : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (L"IADLXInterface") - - /** - @page DOX_IADLXList_Size Size - @ENG_START_DOX - @brief Returns the number of interfaces in a list. - @ENG_END_DOX - - @syntax - @codeStart - adlx_uint Size () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - Returns the number of interfaces in the list. - @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details Returns the number of interfaces in the list.
- - Returns zero if the list is empty. - - @ENG_END_DOX - - @copydoc IADLXList_REQ_TABLE - - */ - virtual adlx_uint ADLX_STD_CALL Size () = 0; - /** - @page DOX_IADLXList_Empty Empty - @ENG_START_DOX - @brief Checks if the list is empty. - @ENG_END_DOX - - @syntax - @codeStart - adlx_bool Empty () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - If the list is empty, __true__ is returned.
- If the list is not empty, __false__ is returned.
- @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details If the list has no interfaces, then @ref DOX_IADLXList_Size will return zero, and __Empty__ will return __true__. - @ENG_END_DOX - - @copydoc IADLXList_REQ_TABLE - - */ - virtual adlx_bool ADLX_STD_CALL Empty () = 0; - - /** - @page DOX_IADLXList_Begin Begin - @ENG_START_DOX - @brief Returns the location of the first interface from a list. - @ENG_END_DOX - - @syntax - @codeStart - adlx_uint Begin () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - If the list is not empty it returns the location of the first interface in the list.
- If the list is empty the returned location is same as the location returned by @ref DOX_IADLXList_End.
- @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details The returned location is valid if it is less than the location returned by @ref DOX_IADLXList_End. - The __Begin__ is used in combination with @ref DOX_IADLXList_End for parsing the list sequentially from the beginning to the end.
- If the list is empty, __Begin__ and @ref DOX_IADLXList_End return the same location. - @ENG_END_DOX - @image html list.png height=150 - @snippetCode - @snippet ADLXSnippet.h Iterate ADLXList - - @copydoc IADLXList_REQ_TABLE - - */ - virtual adlx_uint ADLX_STD_CALL Begin () = 0; - /** - @page DOX_IADLXList_End End - @ENG_START_DOX - @brief Returns the location succeeding the last interface from a list. - @ENG_END_DOX - - @syntax - @codeStart - adlx_uint End () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - Returns the location succeeding the last interface from a list. - @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details The returned location is a logical representation of the end of the list. It does not hold any valid interface and should not be dereferenced.
- __End__ is used in combination with @ref DOX_IADLXList_Begin for parsing the list sequentially from the beginning to the end.
- If the list is empty, then @ref DOX_IADLXList_Begin and __End__ return the same location. - - @ENG_END_DOX - @image html list.png height=150 - @snippetCode - @snippet ADLXSnippet.h Iterate ADLXList - - @copydoc IADLXList_REQ_TABLE - - */ - virtual adlx_uint ADLX_STD_CALL End () = 0; - - /** - @page DOX_IADLXList_At At - @ENG_START_DOX - @brief Returns the reference counted interface from the requested location. - @ENG_END_DOX - - @syntax - @codeStart - @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXInterface** ppItem) - @codeEnd - - @params - @paramrow{1.,[in] ,location,const adlx_uint,@ENG_START_DOX The location of the returned interface. @ENG_END_DOX} - @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXInterface**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - - @retvalues - @ENG_START_DOX - If the location is within the list bounds, __ADLX_OK__ is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to @ref ADLX_RESULT for success codes and error codes. - - @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details @ref DOX_IADLXList is a collection of interfaces which runs incrementally from beginning to the end.
The returned interface must be discarded with @ref DOX_IADLXInterface_Release when no longer needed. - @ENG_END_DOX - @addinfo - @ENG_START_DOX - In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - @ENG_END_DOX - - @copydoc IADLXList_REQ_TABLE - - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXInterface** ppItem) = 0; - - /** - @page DOX_IADLXList_Clear Clear - @ENG_START_DOX - @brief Removes all the interfaces from a list. - @ENG_END_DOX - - @syntax - @codeStart - @ref ADLX_RESULT Clear () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - If all the interfaces from the list are successfully removed, __ADLX_OK__ is returned.
- If interfaces from the list are not successfully removed, an error code is returned.
- Refer to @ref ADLX_RESULT for success codes and error codes. - - @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details After this call returns successfully, @ref DOX_IADLXList_Size returns zero. - @ENG_END_DOX - - @copydoc IADLXList_REQ_TABLE - - */ - virtual ADLX_RESULT ADLX_STD_CALL Clear () = 0; - /** - @page DOX_IADLXList_Remove_Back Remove_Back - @ENG_START_DOX - @brief Removes an interface from the end of a list. - @ENG_END_DOX - - @syntax - @codeStart - @ref ADLX_RESULT Remove_Back () - @codeEnd - - @params - - N/A - - @retvalues - @ENG_START_DOX - If the interface from the end of the list is successfully removed, __ADLX_OK__ is returned.
- If the interface from the end of the list is not successfully removed, an error code is returned.
- Refer to @ref ADLX_RESULT for success codes and error codes. - - @ENG_END_DOX - - @detaileddesc - @ENG_START_DOX - @details Removes an interface from the end of the list. The list must not be empty. - @ENG_END_DOX - - @copydoc IADLXList_REQ_TABLE - - */ - virtual ADLX_RESULT ADLX_STD_CALL Remove_Back () = 0; - /** - @page DOX_IADLXList_Add_Back Add_Back - @ENG_START_DOX - @brief Adds an interface to the end of a list. - @ENG_END_DOX - - @syntax - @codeStart - @ref ADLX_RESULT Add_Back (@ref DOX_IADLXInterface* pItem) - @codeEnd - - @params - @paramrow{1.,[in] ,pItem,@ref DOX_IADLXInterface*,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - - @retvalues - @ENG_START_DOX - If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to @ref ADLX_RESULT for success codes and error codes. - - @ENG_END_DOX - - - @copydoc IADLXList_REQ_TABLE - - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXInterface* pItem) = 0; - }; //IADLXList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXListPtr; -} // namespace adlx -#else -ADLX_DECLARE_IID (IADLXList, L"IADLXList") -ADLX_DECLARE_ITEM_IID (IADLXInterface, L"IADLXInterface") -typedef struct IADLXList IADLXList; -typedef struct IADLXListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXList* pThis, IADLXInterface* pItem); -}IADLXListVtbl; - -struct IADLXList -{ - const IADLXListVtbl *pVtbl; -}; - -#endif -#pragma endregion IADLXList interface - -#endif//ADLX_ICOLLECTIONS_H diff --git a/vendor/adlx/SDK/Include/IDesktops.h b/vendor/adlx/SDK/Include/IDesktops.h deleted file mode 100644 index b718c27..0000000 --- a/vendor/adlx/SDK/Include/IDesktops.h +++ /dev/null @@ -1,918 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDESKTOPS_H -#define ADLX_IDESKTOPS_H -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IDesktops.h - Interfaces for ADLX Desktops functionality, including AMD Eyefinity - -//Desktop interface: Describe a generic desktop -#pragma region IADLXDesktop -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayList; - class ADLX_NO_VTABLE IADLXDesktop : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDesktop") - /** - *@page DOX_IADLXDesktop_Orientation Orientation - *@ENG_START_DOX @brief Gets the orientation of a desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Orientation (@ref ADLX_ORIENTATION* orientation) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,orientation,@ref ADLX_ORIENTATION* ,@ENG_START_DOX The pointer to a variable where the orientation is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the orientation is successfully returned, __ADLX_OK__ is returned.
- * If the orientation is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The desktop orientation indicates the rotation angle of the desktop.
@ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Orientation (ADLX_ORIENTATION* orientation) = 0; - /** - *@page DOX_IADLXDesktop_Size Size - *@ENG_START_DOX @brief Gets the size of a desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Size (adlx_int* width, adlx_int* height) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,width,adlx_int* ,@ENG_START_DOX The pointer to a variable where the width is returned. @ENG_END_DOX} - *@paramrow{2.,[out] ,height,adlx_int* ,@ENG_START_DOX The pointer to a variable where the height is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the width and height are successfully returned, __ADLX_OK__ is returned.
- * If the width and height are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The desktop size represents the pixel resolution of the desktop. - * @ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Size (adlx_int* width, adlx_int* height) = 0; - /** - *@page DOX_IADLXDesktop_TopLeft TopLeft - *@ENG_START_DOX @brief Get the top left position of a desktop in Windows screen coordinates. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TopLeft (@ref ADLX_Point* locationTopLeft) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,locationTopLeft,@ref ADLX_Point* ,@ENG_START_DOX The pointer to a variable where the top left position is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the top left position is successfully returned, __ADLX_OK__ is returned.
- * If the top left position is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The desktop top left position is measured in screen coordinates.
@ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TopLeft (ADLX_Point* locationTopLeft) = 0; - /** - *@page DOX_IADLXDesktop_Type Type - *@ENG_START_DOX @brief Get the type of a desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Type (@ref ADLX_DESKTOP_TYPE* desktopType) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,desktopType,@ref ADLX_DESKTOP_TYPE* ,@ENG_START_DOX The pointer to a variable where the desktop type is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the desktop type is successfully returned, __ADLX_OK__ is returned.
- * If the desktop type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The desktop type indicates if the desktop is single, duplicate or AMD Eyefinity.
@ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Type (ADLX_DESKTOP_TYPE* desktopType) = 0; - /** - *@page DOX_IADLXDesktop_GetNumberOfDisplays GetNumberOfDisplays - *@ENG_START_DOX @brief Gets the number of displays that show pixels from a desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetNumberOfDisplays (adlx_uint* numDisplays) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,numDisplays,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the number of displays is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the number of displays is successfully returned, __ADLX_OK__ is returned.
- * If the number of displays is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - * The number of displays that show pixels from a desktop depends on the desktop @ref ADLX_DESKTOP_TYPE "Type".
- * A single desktop is associated with one display.
- * A duplicate desktop is associated with two or more displays.
- * An AMD Eyefinity desktop is associated with two or more displays.
@ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfDisplays (adlx_uint* numDisplays) = 0; - /** - *@page DOX_IADLXDesktop_GetDisplays GetDisplays - *@ENG_START_DOX @brief Gets the reference counted list of displays that show pixels from a desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplays (@ref DOX_IADLXDisplayList** ppDisplays) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppDisplays,@ref DOX_IADLXDisplayList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplays__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of displays is successfully returned, __ADLX_OK__ is returned.
- * If the list of displays is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplays (IADLXDisplayList** ppDisplays) = 0; - }; //IADLXDesktop - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDesktopPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDesktop, L"IADLXDesktop") -typedef struct IADLXDesktop IADLXDesktop; -typedef struct IADLXDisplayList IADLXDisplayList; -typedef struct IADLXDesktopVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDesktop* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDesktop* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDesktop* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDesktop - ADLX_RESULT (ADLX_STD_CALL *Orientation) (IADLXDesktop* pThis, ADLX_ORIENTATION* orientation); - ADLX_RESULT (ADLX_STD_CALL *Size) (IADLXDesktop* pThis, adlx_int* width, adlx_int* height); - ADLX_RESULT (ADLX_STD_CALL *TopLeft) (IADLXDesktop* pThis, ADLX_Point* locationTopLeft); - ADLX_RESULT (ADLX_STD_CALL *Type) (IADLXDesktop* pThis, ADLX_DESKTOP_TYPE* desktopType); - ADLX_RESULT (ADLX_STD_CALL *GetNumberOfDisplays) (IADLXDesktop* pThis, adlx_uint* numDisplays); - ADLX_RESULT (ADLX_STD_CALL *GetDisplays) (IADLXDesktop* pThis, IADLXDisplayList** ppDisplays); -}IADLXDesktopVtbl; -struct IADLXDesktop { const IADLXDesktopVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDesktop - - -//AMD Eyefinity Desktop interface: describe and AMD Eyefinity desktop -#pragma region IADLXEyefinityDesktop -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplay; - class ADLX_NO_VTABLE IADLXEyefinityDesktop : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXEyefinityDesktop") - /** - *@page DOX_IADLXEyefinityDesktop_GridSize GridSize - *@ENG_START_DOX @brief Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GridSize (adlx_uint* rows, adlx_uint* cols) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,rows,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the number of rows is returned. @ENG_END_DOX} - *@paramrow{2.,[out] ,cols,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the number of cols is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the number of rows and cols are successfully returned, __ADLX_OK__ is returned.
- * If the number of rows and cols are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The grid location of an AMD Eyefinity desktop is identified by a row and a column from zero to the respective value returned from this method minus one. @ENG_END_DOX - * - *@copydoc IADLXEyefinityDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GridSize (adlx_uint* rows, adlx_uint* cols) = 0; - /** - *@page DOX_IADLXEyefinityDesktop_GetDisplay GetDisplay - *@ENG_START_DOX @brief Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplay (adlx_uint row, adlx_uint col, @ref DOX_IADLXDisplay** ppDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,row,adlx_uint ,@ENG_START_DOX The row of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{2.,[in] ,col,adlx_uint ,@ENG_START_DOX The column of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{3.,[out] ,ppDisplay,@ref DOX_IADLXDisplay** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXEyefinityDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplay (adlx_uint row, adlx_uint col, IADLXDisplay** ppDisplay) = 0; - /** - *@page DOX_IADLXEyefinityDesktop_DisplayOrientation DisplayOrientation - *@ENG_START_DOX @brief Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT DisplayOrientation (adlx_uint row, adlx_uint col, @ref ADLX_ORIENTATION* displayOrientation) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,row,adlx_uint ,@ENG_START_DOX The row of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{2.,[in] ,col,adlx_uint ,@ENG_START_DOX The column of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{3.,[out] ,displayOrientation,@ref ADLX_ORIENTATION* ,@ENG_START_DOX The pointer to a variable where the display orientation is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the display orientation is successfully returned, __ADLX_OK__ is returned.
- * If the display orientation is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The display orientation indicates the rotation angle of the display area on an AMD Eyefinity desktop. @ENG_END_DOX - * - *@copydoc IADLXEyefinityDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DisplayOrientation (adlx_uint row, adlx_uint col, ADLX_ORIENTATION* displayOrientation) = 0; - /** - *@page DOX_IADLXEyefinityDesktop_DisplaySize DisplaySize - *@ENG_START_DOX @brief Gets the size of the display area on an AMD Eyefinity desktop at a given grid location. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT DisplaySize (adlx_uint row, adlx_uint col, adlx_int* displayWidth, adlx_int* displayHeight) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,row,adlx_uint ,@ENG_START_DOX The row of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{2.,[in] ,col,adlx_uint ,@ENG_START_DOX The column of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{3.,[out] ,displayWidth,adlx_int* ,@ENG_START_DOX The pointer to a variable where the display width is returned. @ENG_END_DOX} - *@paramrow{4.,[out] ,displayHeight,adlx_int* ,@ENG_START_DOX The pointer to a variable where the display height is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the display size is successfully returned, __ADLX_OK__ is returned.
- * If the display size is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The display size represents the pixel resolution of the dispay area in an AMD Eyefinity desktop. - * @ENG_END_DOX - * - *@copydoc IADLXEyefinityDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DisplaySize (adlx_uint row, adlx_uint col, adlx_int* displayWidth, adlx_int* displayHeight) = 0; - /** - *@page DOX_IADLXEyefinityDesktop_DisplayTopLeft DisplayTopLeft - *@ENG_START_DOX @brief Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT DisplayTopLeft (adlx_uint row, adlx_uint col, @ref ADLX_Point* displayLocationTopLeft) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,row,adlx_uint ,@ENG_START_DOX The row of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{2.,[in] ,col,adlx_uint ,@ENG_START_DOX The column of the AMD Eyefinity grid location for the requested display. @ENG_END_DOX} - *@paramrow{3.,[out] ,displayLocationTopLeft,@ref ADLX_Point* ,@ENG_START_DOX The pointer to a variable where the top left position is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the top left position is successfully returned, __ADLX_OK__ is returned.
- * If the top left position is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The top left position is relative to the desktop's top left position. - * @ENG_END_DOX - * - *@copydoc IADLXEyefinityDesktop_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DisplayTopLeft (adlx_uint row, adlx_uint col, ADLX_Point* displayLocationTopLeft) = 0; - }; //IADLXEyefinityDesktop - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXEyefinityDesktopPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXEyefinityDesktop, L"IADLXEyefinityDesktop") -typedef struct IADLXEyefinityDesktop IADLXEyefinityDesktop; -typedef struct IADLXDisplay IADLXDisplay; -typedef struct IADLXDisplayList IADLXDisplayList; -typedef struct IADLXEyefinityDesktopVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXEyefinityDesktop* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXEyefinityDesktop* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXEyefinityDesktop* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXEyefinityDesktop - ADLX_RESULT (ADLX_STD_CALL *GridSize) (IADLXEyefinityDesktop* pThis, adlx_uint* rows, adlx_uint* cols); - ADLX_RESULT (ADLX_STD_CALL *GetDisplay) (IADLXEyefinityDesktop* pThis, adlx_uint row, adlx_uint col, IADLXDisplay** ppDisplay); - ADLX_RESULT (ADLX_STD_CALL *DisplayOrientation) (IADLXEyefinityDesktop* pThis, adlx_uint row, adlx_uint col, ADLX_ORIENTATION* displayOrientation); - ADLX_RESULT (ADLX_STD_CALL *DisplaySize) (IADLXEyefinityDesktop* pThis, adlx_uint row, adlx_uint col, adlx_int* displayWidth, adlx_int* displayHeight); - ADLX_RESULT (ADLX_STD_CALL *DisplayTopLeft) (IADLXEyefinityDesktop* pThis, adlx_uint row, adlx_uint col, ADLX_Point* displayLocationTopLeft); -}IADLXEyefinityDesktopVtbl; -struct IADLXEyefinityDesktop { const IADLXEyefinityDesktopVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXEyefinityDesktop - - -//Desktops list interface: List for IADLXDesktop items -#pragma region IADLXDesktopList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDesktopList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXDesktopList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXDesktop::IID ()) - /** - * @page DOX_IADLXDesktopList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXDesktop** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXDesktop** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXDesktopList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXDesktop** ppItem) = 0; - /** - *@page DOX_IADLXDesktopList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXDesktop* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXDesktop* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details @ENG_END_DOX - * - *@copydoc IADLXDesktopList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXDesktop* pItem) = 0; - }; //IADLXDisplayList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDesktopListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDesktopList, L"IADLXDesktopList") -ADLX_DECLARE_ITEM_IID (IADLXDesktop, IID_IADLXDesktop ()) - -typedef struct IADLXDesktopList IADLXDesktopList; -typedef struct IADLXDesktopListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDesktopList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDesktopList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDesktopList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXDesktopList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXDesktopList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXDesktopList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXDesktopList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXDesktopList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXDesktopList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXDesktopList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXDesktopList* pThis, IADLXInterface* pItem); - - //IADLXDesktopList - ADLX_RESULT (ADLX_STD_CALL *At_DesktopList)(IADLXDesktopList* pThis, const adlx_uint location, IADLXDesktop** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_DesktopList)(IADLXDesktopList* pThis, IADLXDesktop* pItem); - -}IADLXDesktopListVtbl; - -struct IADLXDesktopList { const IADLXDesktopListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDesktopList - -//Desktop List changed listener interface. To be implemented in application and passed in IADLXDesktopChangedHandling::AddDesktopListEventListener() -#pragma region IADLXDesktopListChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDesktopListChangedListener - { - public: - /** - *@page DOX_IADLXDesktopListChangedListener_OnDesktopListChanged OnDesktopListChanged - *@ENG_START_DOX @brief The __OnDesktopsListChanged__ is called by ADLX when the desktop list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDesktopListChanged (@ref DOX_IADLXDesktopList* pNewDesktop) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pNewDesktop,@ref DOX_IADLXDesktopList* ,@ENG_START_DOX The pointer to the new desktop list. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXDesktopChangedHandling_AddDesktopListEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new desktop list with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new desktop list with @ref DOX_IADLXInterface_Release.
@ENG_END_DOX - * - * - *@copydoc IADLXDesktopListChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDesktopListChanged (IADLXDesktopList* pNewDesktop) = 0; - }; //IADLXDesktopListChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDesktopListChangedListener IADLXDesktopListChangedListener; - -typedef struct IADLXDesktopListChangedListenerVtbl -{ - // IADLXDesktopListChangedListener interface - adlx_bool (ADLX_STD_CALL *OnDesktopListChanged)(IADLXDesktopListChangedListener* pThis, IADLXDesktopList* pNewDesktop); - -} IADLXDesktopListChangedListenerVtbl; - -struct IADLXDesktopListChangedListener { const IADLXDesktopListChangedListenerVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDesktopListChangedListener - - -#pragma region IADLXDesktopChangedHandling -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDesktopChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDesktopChangedHandling") - /** - *@page DOX_IADLXDesktopChangedHandling_AddDesktopListEventListener AddDesktopListEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the desktop list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDesktopListEventListener (@ref DOX_IADLXDesktopListChangedListener* pDesktopListChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDesktopListChangedListener,@ref DOX_IADLXDesktopListChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the desktop list change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDesktopListChangedListener_OnDesktopListChanged of the listener when the desktop list changes.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener.
@ENG_END_DOX - * - * - *@copydoc IADLXDesktopChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener) = 0; - /** - *@page DOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener RemoveDesktopListEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the desktop list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDesktopListEventListener (@ref DOX_IADLXDesktopListChangedListener* pDesktopListChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDesktopListChangedListener,@ref DOX_IADLXDesktopListChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the desktop list change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDesktopListChangedListener_OnDesktopListChanged method of the listener when the desktop list changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDesktopChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener) = 0; - - }; //IADLXDesktopChangedHandling - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDesktopChangedHandlingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDesktopChangedHandling, L"IADLXDesktopChangedHandling") -typedef struct IADLXDesktopChangedHandling IADLXDesktopChangedHandling; - -typedef struct IADLXDesktopChangedHandlingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDesktopChangedHandling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDesktopChangedHandling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDesktopChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXDesktopChangedHandling interface - ADLX_RESULT (ADLX_STD_CALL *AddDesktopListEventListener)(IADLXDesktopChangedHandling* pThis, IADLXDesktopListChangedListener* pDesktopListChangedListener); - ADLX_RESULT (ADLX_STD_CALL *RemoveDesktopListEventListener)(IADLXDesktopChangedHandling* pThis, IADLXDesktopListChangedListener* pDesktopListChangedListener); - -} IADLXDesktopChangedHandlingVtbl; - -struct IADLXDesktopChangedHandling { const IADLXDesktopChangedHandlingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDesktopChangedHandling - -//Simple AMD Eyefinity interface: allows creation and destruction of AMD Eyefinity desktops -#pragma region IADLXSimpleEyefinity -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSimpleEyefinity : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXSimpleEyefinity") - /** - *@page DOX_IADLXSimpleEyefinity_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if an AMD Eyefinity desktop can be created with all the enabled displays. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of AMD Eyefinity desktop creation is returned. The variable is __true__ if AMD Eyefinity desktop creation is supported. The variable is __false__ if AMD Eyefinity desktop creation is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state is successfully returned, __ADLX_OK__ is returned.
- * If the state is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - * AMD Eyefinity desktops can be created with ADLX using all the enabled displays connected to the AMD GPUs, except LCD panel displays. For more information about AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support". Use @ref DOX_IADLXDisplay_DisplayType to check if a display is an LCD panel.
- * All the desktops must be single desktops. Use @ref DOX_IADLXDesktop_Type to check if a desktop is a single desktop.
- * All the enabled displays must be connected to the same GPU.
- * The AMD Eyefinity desktop configuration must be supported by the AMD driver. Driver support varies depending on the GPU.
- * @ENG_END_DOX - * - *@copydoc IADLXSimpleEyefinity_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXSimpleEyefinity_Create Create - *@ENG_START_DOX @brief Creates an AMD Eyefinity desktop with all the enabled displays. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Create (@ref DOX_IADLXEyefinityDesktop** ppEyefinityDesktop) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppEyefinityDesktop,@ref DOX_IADLXEyefinityDesktop** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppEyefinityDesktop__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - * Use @ref DOX_IADLXSimpleEyefinity_IsSupported to check if an AMD Eyefinity desktop can be created.
- * Creating an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. Discarding the interface does not destroy the AMD Eyefinity desktop.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXSimpleEyefinity_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Create (IADLXEyefinityDesktop** ppEyefinityDesktop) = 0; - /** - *@page DOX_IADLXSimpleEyefinity_DestroyAll DestroyAll - *@ENG_START_DOX @brief Destroys all the AMD Eyefinity desktops. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT DestroyAll () - *@codeEnd - * - *@retvalues - *@ENG_START_DOX If all AMD Eyefinity desktops are successfully destroyed, __ADLX_OK__ is returned.
- * If all AMD Eyefinity desktops are not successfully destroyed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Destroying all AMD Eyefinity desktops can take a couple of seconds to complete. The method will block the execution thread until the operation is finished. @ENG_END_DOX - * - *@copydoc IADLXSimpleEyefinity_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DestroyAll () = 0; - /** - *@page DOX_IADLXSimpleEyefinity_Destroy Destroy - *@ENG_START_DOX @brief Destroys a specified AMD Eyefinity desktop. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Destroy (@ref DOX_IADLXEyefinityDesktop* pDesktop) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDesktop,@ref DOX_IADLXEyefinityDesktop* ,@ENG_START_DOX The pointer to the eyefinity desktop to be destroyed. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the AMD Eyefinity desktop is successfully destroyed, __ADLX_OK__ is returned.
- * If the AMD Eyefinity desktop is not successfully destroyed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Destroying an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished. @ENG_END_DOX - * - *@copydoc IADLXSimpleEyefinity_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Destroy (IADLXEyefinityDesktop* pDesktop) = 0; - }; //IADLXSimpleEyefinity - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSimpleEyefinityPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSimpleEyefinity, L"IADLXSimpleEyefinity") -typedef struct IADLXSimpleEyefinity IADLXSimpleEyefinity; -typedef struct IADLXSimpleEyefinityVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSimpleEyefinity* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSimpleEyefinity* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSimpleEyefinity* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSimpleEyefinity - ADLX_RESULT (ADLX_STD_CALL *IsSupported) (IADLXSimpleEyefinity* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *Create) (IADLXSimpleEyefinity* pThis, IADLXEyefinityDesktop** ppEyefinityDesktop); - ADLX_RESULT (ADLX_STD_CALL *DestroyAll) (IADLXSimpleEyefinity* pThis); - ADLX_RESULT (ADLX_STD_CALL *Destroy) (IADLXSimpleEyefinity* pThis, IADLXEyefinityDesktop* pDesktop); -}IADLXSimpleEyefinityVtbl; -struct IADLXSimpleEyefinity { const IADLXSimpleEyefinityVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSimpleEyefinity - -//Desktops services interface: top level interface for accessing desktop functionality: -//describe desktops (including AMD Eyefinity), register for desktop changed events and access AMD Eyefinity functionality -#pragma region IADLXDesktopServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDesktopServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDesktopServices") - /** - * @page DOX_IADLXDesktopServices_GetNumberOfDesktops GetNumberOfDesktops - * @ENG_START_DOX - * @brief Gets the number of desktops instantiated on the AMD GPUs. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetNumberOfDesktops (adlx_uint* numDesktops) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,numDesktops,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the number of desktops is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the number of desktops is successfully returned, __ADLX_OK__ is returned.
- * If the number of desktops is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details For more information about the AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support". - * @ENG_END_DOX - * - * @copydoc IADLXDesktopServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfDesktops (adlx_uint* numDesktops) = 0; - /** - * @page DOX_IADLXDesktopServices_GetDesktops GetDesktops - * @ENG_START_DOX - * @brief Gets the reference counted list of desktops instantiated on the AMD GPUs. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDesktops (@ref DOX_IADLXDesktopList** ppDesktops) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppDesktops,@ref DOX_IADLXDesktopList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDesktops__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the list of desktops is successfully returned, __ADLX_OK__ is returned.
- * If the list of desktops is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details For more information about the AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support".
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXDesktopServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDesktops (IADLXDesktopList** ppDesktops) = 0; - /** - * @page DOX_IADLXDesktopServices_GetDesktopChangedHandling GetDesktopChangedHandling - * @ENG_START_DOX - * @brief Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDesktopChangedHandling (@ref DOX_IADLXDesktopChangedHandling** ppDesktopChangedHandling) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppDesktopChangedHandling,@ref DOX_IADLXDesktopChangedHandling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDeskChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXDesktopServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDesktopChangedHandling (IADLXDesktopChangedHandling** ppDesktopChangedHandling) = 0; - /** - *@page DOX_IADLXDesktopServices_GetSimpleEyefinity GetSimpleEyefinity - *@ENG_START_DOX @brief Gets the reference counted interface to create and destroy AMD Eyefinity desktops. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSimpleEyefinity (@ref DOX_IADLXSimpleEyefinity** ppSimpleEyefinity) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppSimpleEyefinity,@ref DOX_IADLXSimpleEyefinity** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppSimpleEyefinity__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDesktopServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSimpleEyefinity (IADLXSimpleEyefinity** ppSimpleEyefinity) = 0; - }; //IADLXDesktopServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDesktopServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDesktopServices, L"IADLXDesktopServices") -typedef struct IADLXDesktopServices IADLXDesktopServices; -typedef struct IADLXDesktopServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDesktopServices* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDesktopServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDesktopServices* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDesktopServices - ADLX_RESULT (ADLX_STD_CALL *GetNumberOfDesktops) (IADLXDesktopServices* pThis, adlx_uint* pNumDesktops); - ADLX_RESULT (ADLX_STD_CALL *GetDesktops) (IADLXDesktopServices* pThis, IADLXDesktopList** ppDesktops); - ADLX_RESULT (ADLX_STD_CALL *GetDesktopChangedHandling) (IADLXDesktopServices* pThis, IADLXDesktopChangedHandling** ppDesktopChangedHandling); - ADLX_RESULT (ADLX_STD_CALL *GetSimpleEyefinity) (IADLXDesktopServices* pThis, IADLXSimpleEyefinity** ppSimpleEyefinity); -}IADLXDesktopServicesVtbl; -struct IADLXDesktopServices { const IADLXDesktopServicesVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDesktopServices - -#endif //ADLX_IDESKTOPS_H diff --git a/vendor/adlx/SDK/Include/IDisplay3DLUT.h b/vendor/adlx/SDK/Include/IDisplay3DLUT.h deleted file mode 100644 index 60178b7..0000000 --- a/vendor/adlx/SDK/Include/IDisplay3DLUT.h +++ /dev/null @@ -1,663 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAY3DLUT_H -#define ADLX_IDISPLAY3DLUT_H -#pragma once - -#include "ADLXDefines.h" -#include "ADLXStructures.h" -//------------------------------------------------------------------------------------------------- -//IDisplays3DLUT.h - Interfaces for ADLX Display 3D LUT functionality - -#pragma region IADLXDisplay3DLUT interface -#if defined (__cplusplus) - -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplay3DLUT : public IADLXInterface - { - - public: - ADLX_DECLARE_IID (L"IADLXDisplay3DLUT") - - /** - *@page DOX_IADLXDisplay3DLUT_IsSupportedSCE IsSupportedSCE - *@ENG_START_DOX @brief Checks if color enhancement is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedSCE (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color enhancement is returned. The variable is __true__ if color enhancement is supported. The variable is __false__ if color enhancement is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color enhancement is successfully returned, __ADLX_OK__ is returned.
- * If the state of color enhancement is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Some GPUs support built-in 3D LUT profiles for displays to improve and enhance game and application color vibrancy. @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCE (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsSupportedSCEVividGaming IsSupportedSCEVividGaming - *@ENG_START_DOX @brief Checks if the vivid gaming color enhancement preset is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedSCEVividGaming (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the vivid gaming preset is returned. The variable is __true__ if the vivid gaming preset is supported. The variable is __false__ if the vivid gaming preset is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the vivid gaming preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of the vivid gaming preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCEVividGaming (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEDisabled IsCurrentSCEDisabled - *@ENG_START_DOX @brief Checks if the color enhancement presets are disabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentSCEDisabled (adlx_bool* sceDisabled) - *@codeEnd - * - *@params - *@paramrow{1.,[out],sceDisabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color enhancement is returned. The variable is __true__ if the color enhancement presets are disabled. The variable is __false__ if the color enhancement presets are not disabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color enhancement is successfully returned, __ADLX_OK__ is returned.
- * If the state of color enhancement is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEDisabled (adlx_bool* sceDisabled) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEVividGaming IsCurrentSCEVividGaming - *@ENG_START_DOX @brief Checks if the vivid gaming color enhancement preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentSCEVividGaming (adlx_bool* vividGaming) - *@codeEnd - * - *@params - *@paramrow{1.,[out],vividGaming,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the vivid gaming preset is returned. The variable is __true__ if the vivid gaming preset is used. The variable is __false__ if the vivid gaming preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the vivid gaming preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of the vivid gaming preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEVividGaming (adlx_bool* vividGaming) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetSCEDisabled SetSCEDisabled - *@ENG_START_DOX @brief Disables the color enhancement presets on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSCEDisabled () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the color enhancement presets are successfully disabled, __ADLX_OK__ is returned.
- * If the color enhancement presets are not successfully disabled, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSCEDisabled () = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetSCEVividGaming SetSCEVividGaming - *@ENG_START_DOX @brief Sets the vivid gaming color enhancement preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSCEVividGaming () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the vivid gaming preset is successfully set, __ADLX_OK__ is returned.
- * If the vivid gaming preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSCEVividGaming () = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsSupportedSCEDynamicContrast IsSupportedSCEDynamicContrast - *@ENG_START_DOX @brief Checks if the Dynamic Contrast color enhancement preset is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedSCEDynamicContrast (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is __true__ if the Dynamic Contrast preset is supported. The variable is __false__ if the Dynamic Contrast preset is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the Dynamic Contrast preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCEDynamicContrast (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEDynamicContrast IsCurrentSCEDynamicContrast - *@ENG_START_DOX @brief Checks if the Dynamic Contrast color enhancement preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast) - *@codeEnd - * - *@params - *@paramrow{1.,[out],dynamicContrast,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is __true__ if the Dynamic Contrast preset is used. The variable is __false__ if the Dynamic Contrast preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the Dynamic Contrast preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetSCEDynamicContrastRange GetSCEDynamicContrastRange - *@ENG_START_DOX @brief Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSCEDynamicContrastRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - *@paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the contrast range of the Dynamic Contrast color enhancement preset is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the contrast range is successfully returned, __ADLX_OK__ is returned.
- * If the contrast range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset are read only. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. - * @ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSCEDynamicContrastRange (ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetSCEDynamicContrast GetSCEDynamicContrast - *@ENG_START_DOX @brief Gets the contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSCEDynamicContrast (adlx_int* contrast) - *@codeEnd - * - *@params - *@paramrow{1.,[out],contrast,adlx_int*,@ENG_START_DOX The pointer to a variable where the contrast of the Dynamic Contrast color enhancement preset is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the contrast is successfully returned, __ADLX_OK__ is returned.
- * If the contrast is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSCEDynamicContrast (adlx_int* contrast) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetSCEDynamicContrast SetSCEDynamicContrast - *@ENG_START_DOX @brief Sets the contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSCEDynamicContrast (adlx_int contrast) - *@codeEnd - * - *@params - *@paramrow{1.,[in],contrast,adlx_int,@ENG_START_DOX The new contrast of the Dynamic Contrast color enhancement preset. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the contrast is successfully set, __ADLX_OK__ is returned.
- * If the contrast is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSCEDynamicContrast (adlx_int contrast) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_IsSupportedUser3DLUT IsSupportedUser3DLUT - *@ENG_START_DOX @brief Checks if 3D LUT customization is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedUser3DLUT (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of 3D LUT customization is returned. The variable is __true__ if 3D LUT customization is supported. The variable is __false__ if 3D LUT customization is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of 3D LUT customization is successfully returned, __ADLX_OK__ is returned.
- * If the state of 3D LUT customization is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Some GPUs support custom 3D LUT panel calibration for eDP displays to improve and enhance game and application color vibrancy. @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedUser3DLUT (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_ClearUser3DLUT ClearUser3DLUT - *@ENG_START_DOX @brief Clears the custom 3D LUT for panel calibration on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT ClearUser3DLUT () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT is successfully cleared, __ADLX_OK__ is returned.
- * If the custom 3D LUT is not successfully cleared, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ClearUser3DLUT () = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetSDRUser3DLUT GetSDRUser3DLUT - *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for the SDR mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX} - *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX} - *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX} - *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT SetSDRUser3DLUT - *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for the SDR mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX} - *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX} - *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX} - *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex. - *@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetHDRUser3DLUT GetHDRUser3DLUT - *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for the HDR mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetHDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX} - *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX} - *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX} - *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT SetHDRUser3DLUT - *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for the HDR mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetHDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX} - *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX} - *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX} - *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex. - *@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetAllUser3DLUT GetAllUser3DLUT - *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAllUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX} - *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX} - *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX} - *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_SetAllUser3DLUT SetAllUser3DLUT - *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetAllUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX} - *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX} - *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX} - *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned.
- * If the custom 3D LUT data is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex. - *@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0; - - /** - *@page DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex GetUser3DLUTIndex - *@ENG_START_DOX @brief Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetUser3DLUTIndex (adlx_int lutSize, const @ref ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,lutSize,adlx_int,@ENG_START_DOX The size of the User 3D LUT. @ENG_END_DOX} - *@paramrow{2.,[in] ,rgbCoordinate,@ref ADLX_UINT16_RGB*,@ENG_START_DOX The co-ordinates of a user 3D LUT. @ENG_END_DOX} - *@paramrow{3.,[out] ,index,adlx_int*,@ENG_START_DOX The pointer to a variable where the index is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the index of the 3D LUT from a flat array is successfully returned, __ADLX_OK__ is returned.
- * If the index of the 3D LUT from a flat array is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - *@details The 3D LUT table must contain between 5 and 17 points. Each point is defined by a triplet of red, green, and blue values.
- * - * GetUser3DLUTIndex is useful when constructing the 3D LUT buffer to set using @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT, @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT and @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. - * - *@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
- * - * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT.
- * - * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT. - * @ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUT_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetUser3DLUTIndex (adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index) = 0; - - }; //IADLXDisplay3DLUT - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplay3DLUTPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplay3DLUT, L"IADLXDisplay3DLUT") -typedef struct IADLXDisplay3DLUT IADLXDisplay3DLUT; - -typedef struct IADLXDisplay3DLUTVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplay3DLUT* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplay3DLUT* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplay3DLUT* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplay3DLUT - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSCE)(IADLXDisplay3DLUT* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSCEVividGaming)(IADLXDisplay3DLUT* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentSCEDisabled)(IADLXDisplay3DLUT* pThis, adlx_bool* sceDisabled); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentSCEVividGaming)(IADLXDisplay3DLUT* pThis, adlx_bool* vividGaming); - - ADLX_RESULT (ADLX_STD_CALL *SetSCEDisabled)(IADLXDisplay3DLUT* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetSCEVividGaming)(IADLXDisplay3DLUT* pThis); - - ADLX_RESULT (ADLX_STD_CALL* IsSupportedSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_bool* dynamicContrast); - ADLX_RESULT (ADLX_STD_CALL* GetSCEDynamicContrastRange)(IADLXDisplay3DLUT* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL* GetSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_int* contrast); - ADLX_RESULT (ADLX_STD_CALL* SetSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_int contrast); - - ADLX_RESULT (ADLX_STD_CALL *IsSupportedUser3DLUT)(IADLXDisplay3DLUT* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *ClearUser3DLUT)(IADLXDisplay3DLUT* pThis); - ADLX_RESULT (ADLX_STD_CALL *GetSDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *SetSDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *GetHDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *SetHDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *GetAllUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *SetAllUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data); - ADLX_RESULT (ADLX_STD_CALL *GetUser3DLUTIndex)(IADLXDisplay3DLUT* pThis, adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index); -}IADLXDisplay3DLUTVtbl; - -struct IADLXDisplay3DLUT -{ - const IADLXDisplay3DLUTVtbl *pVtbl; -}; -#endif -#pragma endregion IADLXDisplay3DLUT interface - -#endif//ADLX_IDISPLAY3DLUT_H diff --git a/vendor/adlx/SDK/Include/IDisplayGamma.h b/vendor/adlx/SDK/Include/IDisplayGamma.h deleted file mode 100644 index de2c4cb..0000000 --- a/vendor/adlx/SDK/Include/IDisplayGamma.h +++ /dev/null @@ -1,683 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYGAMMA_H -#define ADLX_IDISPLAYGAMMA_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IDisplayGamma.h - Interfaces for ADLX Display Gamma functionality - -//The DisplayGamma object implements this interface -#pragma region IADLXDisplayGamma interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGamma : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayGamma") - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGammaRamp IsCurrentReGammaRamp - *@ENG_START_DOX @brief Checks if re-gamma ramp is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGammaRamp (adlx_bool* isReGammaRamp) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsReGammaRamp,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of re-gamma ramp is returned. The variable is __true__ if re-gamma ramp is used. The variable is __false__ if re-gamma ramp is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of re-gamma ramp is successfully returned, __ADLX_OK__ is returned.
- * If the state of re-gamma ramp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGammaRamp (adlx_bool* isReGammaRamp) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentDeGammaRamp IsCurrentDeGammaRamp - *@ENG_START_DOX @brief Checks if de-gamma ramp is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentDeGammaRamp (adlx_bool* isDeGammaRamp) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsDeGammaRamp,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of de-gamma ramp is returned. The variable is __true__ if de-gamma ramp is used. The variable is __false__ if de-gamma ramp is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of de-gamma ramp is successfully returned, __ADLX_OK__ is returned.
- * If the state of de-gamma ramp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentDeGammaRamp (adlx_bool* isDeGammaRamp) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentRegammaCoefficient IsCurrentRegammaCoefficient - *@ENG_START_DOX @brief Checks if re-gamma coefficient is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentRegammaCoefficient (adlx_bool* isRegammaCoeff) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsRegammaCoeff,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of re-gamma coefficient is returned. The variable is __true__ if re-gamma coefficient is used. The variable is __false__ if re-gamma coefficient is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of re-gamma coefficient is successfully returned, __ADLX_OK__ is returned.
- * If the state of re-gamma coefficient is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentRegammaCoefficient (adlx_bool* isRegammaCoeff) = 0; - - /** - *@page DOX_IADLXDisplayGamma_GetGammaRamp GetGammaRamp - *@ENG_START_DOX @brief Gets the gamma ramp LUT on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGammaRamp (@ref ADLX_GammaRamp* lut) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,lut,@ref ADLX_GammaRamp*,@ENG_START_DOX The pointer to a variable where the gamma ramp LUT is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the gamma ramp LUT is successfully returned, __ADLX_OK__ is returned.
- * If the gamma ramp LUT is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGammaRamp (ADLX_GammaRamp* lut) = 0; - - /** - *@page DOX_IADLXDisplayGamma_GetGammaCoefficient GetGammaCoefficient - *@ENG_START_DOX @brief Gets the re-gamma coefficient settings on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGammaCoefficient (@ref ADLX_RegammaCoeff* coeff) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,coeff,@ref ADLX_RegammaCoeff* ,@ENG_START_DOX The pointer to a variable where the re-gamma coefficient settings are returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the re-gamma coefficient settings are successfully returned, __ADLX_OK__ is returned.
- * If the re-gamma coefficient settings are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGammaCoefficient (ADLX_RegammaCoeff* coeff) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsSupportedReGammaSRGB IsSupportedReGammaSRGB - *@ENG_START_DOX @brief Checks if the sRGB re-gamma is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedReGammaSRGB (adlx_bool* isSupportedRegammaSRGB) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,isSupportedRegammaSRGB,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of sRGB re-gamma is returned. The variable is __true__ if sRGB re-gamma is supported. The variable is __false__ if sRGB re-gamma is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of sRGB re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of sRGB re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedReGammaSRGB (adlx_bool* isSupportedRegammaSRGB) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsSupportedReGammaBT709 IsSupportedReGammaBT709 - *@ENG_START_DOX @brief Checks if the BT709 re-gamma is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedReGammaBT709 (adlx_bool* isSupportedReGammaBT709) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsSupportedReGammaBT709,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of BT709 re-gamma is returned. The variable is __true__ if BT709 re-gamma is supported. The variable is __false__ if BT709 re-gamma is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of BT709 re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of BT709 re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedReGammaBT709 (adlx_bool* isSupportedReGammaBT709) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsSupportedReGammaPQ IsSupportedReGammaPQ - *@ENG_START_DOX @brief Checks if the PQ re-gamma is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedReGammaPQ (adlx_bool* isSupportedReGammaPQ) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsSupportedReGammaPQ,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of PQ re-gamma is returned. The variable is __true__ if PQ re-gamma is supported. The variable is __false__ if PQ re-gamma is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of PQ re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of PQ re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedReGammaPQ (adlx_bool* isSupportedReGammaPQ) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsSupportedReGammaPQ2084Interim IsSupportedReGammaPQ2084Interim - *@ENG_START_DOX @brief Checks if the PQ2084 re-gamma curve is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedReGammaPQ2084Interim (adlx_bool* isSupportedReGammaPQ2084Interim); - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsSupportedReGammaPQ2084Interim,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is __true__ if PQ2084 re-gamma curve is supported. The variable is __false__ if PQ2084 re-gamma curve is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of PQ2084 re-gamma curve is successfully returned, __ADLX_OK__ is returned.
- * If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedReGammaPQ2084Interim (adlx_bool* isSupportedReGammaPQ2084Interim) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsSupportedReGamma36 IsSupportedReGamma36 - *@ENG_START_DOX @brief Checks if the 3.6 re-gamma is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedReGamma36 (adlx_bool* isSupportedReGamma36) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsSupportedReGamma36,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is __true__ if 3.6 re-gamma is supported. The variable is __false__ if 3.6 re-gamma is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of 3.6 re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of 3.6 re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedReGamma36 (adlx_bool* isSupportedReGamma36) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGammaSRGB IsCurrentReGammaSRGB - *@ENG_START_DOX @brief Checks if the sRGB re-gamma is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGammaSRGB (adlx_bool* isCurrentReGammaSRGB) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,IsCurrentReGammaSRGB,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of sRGB re-gamma is returned. The variable is __true__ if sRGB re-gamma is used. The variable is __false__ if sRGB re-gamma is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of sRGB re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of sRGB re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGammaSRGB (adlx_bool* isCurrentReGammaSRGB) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGammaBT709 IsCurrentReGammaBT709 - *@ENG_START_DOX @brief Checks if the BT709 re-gamma is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGammaBT709 (adlx_bool* isCurrentReGammaBT709) - *@codeEnd - * - *@params - *@paramrow{1.,[out],IsCurrentReGammaBT709,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of BT709 re-gamma is returned. The variable is __true__ if BT709 re-gamma is used. The variable is __false__ if BT709 re-gamma is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of BT709 re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of BT709 re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGammaBT709 (adlx_bool* isCurrentReGammaBT709) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGammaPQ IsCurrentReGammaPQ - *@ENG_START_DOX @brief Checks if the PQ re-gamma is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGammaPQ (adlx_bool* isCurrentReGammaPQ) - *@codeEnd - * - *@params - *@paramrow{1.,[out],IsCurrentReGammaPQ,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of PQ re-gamma is returned. The variable is __true__ if PQ re-gamma is used. The variable is __false__ if PQ re-gamma is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of PQ re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of PQ re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGammaPQ (adlx_bool* isCurrentReGammaPQ) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGammaPQ2084Interim IsCurrentReGammaPQ2084Interim - *@ENG_START_DOX @brief Checks if the PQ2084 re-gamma curve is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGammaPQ2084Interim (adlx_bool* isCurrentReGammaPQ2084Interim) - *@codeEnd - * - *@params - *@paramrow{1.,[out],IsCurrentReGammaPQ2084Interim,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is __true__ if PQ2084 re-gamma curve is used. The variable is __false__ if PQ2084 re-gamma curve is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of PQ2084 re-gamma curve is successfully returned, __ADLX_OK__ is returned.
- * If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGammaPQ2084Interim (adlx_bool* isCurrentReGammaPQ2084Interim) = 0; - - /** - *@page DOX_IADLXDisplayGamma_IsCurrentReGamma36 IsCurrentReGamma36 - *@ENG_START_DOX @brief Checks if the 3.6 re-gamma is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentReGamma36 (adlx_bool* isCurrentReGamma36) - *@codeEnd - * - *@params - *@paramrow{1.,[out],IsCurrentReGamma36,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is __true__ if 3.6 re-gamma is used. The variable is __false__ if 3.6 re-gamma is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of 3.6 re-gamma is successfully returned, __ADLX_OK__ is returned.
- * If the state of 3.6 re-gamma is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentReGamma36 (adlx_bool* isCurrentReGamma36) = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaSRGB SetReGammaSRGB - *@ENG_START_DOX @brief Sets the sRGB re-gamma on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaSRGB () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the sRGB re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the sRGB re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaSRGB () = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaBT709 SetReGammaBT709 - *@ENG_START_DOX @brief Sets the BT709 re-gamma on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaBT709 () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the BT709 re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the BT709 re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaBT709 () = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaPQ SetReGammaPQ - *@ENG_START_DOX @brief Sets the PQ re-gamma on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaPQ () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the PQ re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the PQ re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaPQ () = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaPQ2084Interim SetReGammaPQ2084Interim - *@ENG_START_DOX @brief Sets the PQ2084 re-gamma curve on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaPQ2084Interim () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the PQ2084 re-gamma curve is successfully set, __ADLX_OK__ is returned.
- * If the PQ2084 re-gamma curve is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaPQ2084Interim () = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGamma36 SetReGamma36 - *@ENG_START_DOX @brief Sets the 3.6 re-gamma on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGamma36 () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the 3.6 re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the 3.6 re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGamma36 () = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaCoefficient SetReGammaCoefficient - *@ENG_START_DOX @brief Sets the re-gamma coefficient on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaCoefficient (@ref ADLX_RegammaCoeff coeff) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,coeff,@ref ADLX_RegammaCoeff ,@ENG_START_DOX The re-gamma coefficient. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the re-gamma coefficient is successfully set, __ADLX_OK__ is returned.
- * If the re-gamma coefficient is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method sets the custom coefficient on a display. - * The following is an example of a standard coefficient. @ENG_END_DOX - * coeff | sRGB | BT709 | Gamma2.2 | Gamma2.4 |P3 | - * :--- | :---: | :---: | :---: | :---: |:---: | - * CoefficientA0 | 31308 | 180000 | 0 | 0 | 0 | - * CoefficientA1 | 12920 | 4500 | 0 | 0 | 0 | - * CoefficientA2 | 55 | 99 | 0 | 0 | 0 | - * CoefficientA3 | 55 | 99 | 0 | 0 | 0 | - * Gamma | 2400 | 2200 | 2200 | 2400 | 2600 | - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaCoefficient (ADLX_RegammaCoeff coeff) = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetDeGammaRampFile SetDeGammaRamp - *@ENG_START_DOX @brief Sets the de-gamma on a display using a ramp file. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetDeGammaRamp (const char* path) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,pPath,const char* ,@ENG_START_DOX The zero-terminated string that specifies the path of the ramp file. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the de-gamma is successfully set, __ADLX_OK__ is returned.
- * If the de-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method sets the custom de-gamma on a display using a ramp file. - * The following is an example of a ramp file. @ENG_END_DOX - *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * [R] [G] [B] - * [0] 0, 0, 0 - * [1] 49836, 34885, 0 - * ... - * [254] 58260, 58782, 0 - * [255] 65533, 56634, 0 - *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetDeGammaRamp (const char* path) = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetDeGammaRampMemory SetDeGammaRamp - *@ENG_START_DOX @brief Sets the de-gamma on a display using a ramp buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetDeGammaRamp (@ref ADLX_GammaRamp gammaRamp) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,gammaRamp,@ref ADLX_GammaRamp ,@ENG_START_DOX The gamma ramp buffer. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the de-gamma is successfully set, __ADLX_OK__ is returned.
- * If the de-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetDeGammaRamp (ADLX_GammaRamp gammaRamp) = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaRampFile SetReGammaRamp - *@ENG_START_DOX @brief Sets the re-gamma on a display using a ramp file. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaRamp (const char* path) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,pPath,const char* ,@ENG_START_DOX The zero-terminated string that specifies the path of the ramp file. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method sets the custom re-gamma on a display using a ramp file. - * The following is an example of a LUT file format, each acceptable value is a number between 0 and 65535. @ENG_END_DOX - *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * [R] [G] [B] - * [0] 0, 0, 0 - * [1] 49836, 34885, 0 - * ... - * [254] 58260, 58782, 0 - * [255] 65533, 56634, 0 - *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaRamp (const char* path) = 0; - - /** - *@page DOX_IADLXDisplayGamma_SetReGammaRampMemory SetReGammaRamp - *@ENG_START_DOX @brief Sets the re-gamma on a display using a ramp buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetReGammaRamp (@ref ADLX_GammaRamp gammaRamp) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,gammaRamp,@ref ADLX_GammaRamp ,@ENG_START_DOX The gamma ramp buffer. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the re-gamma is successfully set, __ADLX_OK__ is returned.
- * If the re-gamma is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetReGammaRamp (ADLX_GammaRamp gammaRamp) = 0; - - /** - *@page DOX_IADLXDisplayGamma_ResetGammaRamp ResetGammaRamp - *@ENG_START_DOX @brief Resets the gamma ramp on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT ResetGammaRamp () - *@codeEnd - * - * @params - * N/A - * - *@retvalues - *@ENG_START_DOX If the gamma ramp is successfully reset, __ADLX_OK__ is returned.
- * If the gamma ramp is not successfully reset, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamma_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ResetGammaRamp () = 0; - }; //IADLXDisplayGamma - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayGammaPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayGamma, L"IADLXDisplayGamma") -typedef struct IADLXDisplayGamma IADLXDisplayGamma; - -typedef struct IADLXDisplayGammaVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayGamma* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayGamma* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayGamma* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayGamma - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGammaRamp)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGammaRamp); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentDeGammaRamp)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentDeGammaRamp); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentRegammaCoefficient)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentRegammaCoefficient); - ADLX_RESULT (ADLX_STD_CALL *GetGammaRamp)(IADLXDisplayGamma* pThis, ADLX_GammaRamp* lut); - ADLX_RESULT (ADLX_STD_CALL *GetGammaCoefficient)(IADLXDisplayGamma* pThis, ADLX_RegammaCoeff* coeff); - - ADLX_RESULT (ADLX_STD_CALL *IsSupportedReGammaSRGB)(IADLXDisplayGamma* pThis, adlx_bool* isSupportedReGammaSRGB); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedReGammaBT709)(IADLXDisplayGamma* pThis, adlx_bool* isSupportedReGammaBT709); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedReGammaPQ)(IADLXDisplayGamma* pThis, adlx_bool* isSupportedReGammaPQ); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedReGammaPQ2084Interim)(IADLXDisplayGamma* pThis, adlx_bool* isSupportedReGammaPQ2084Interim); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedReGamma36)(IADLXDisplayGamma* pThis, adlx_bool* isSupportedReGamma36); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGammaSRGB)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGammaSRGB); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGammaBT709)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGammaBT709); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGammaPQ)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGammaPQ); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGammaPQ2084Interim)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGammaPQ2084Interim); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentReGamma36)(IADLXDisplayGamma* pThis, adlx_bool* isCurrentReGamma36); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaSRGB)(IADLXDisplayGamma* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaBT709)(IADLXDisplayGamma* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaPQ)(IADLXDisplayGamma* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaPQ2084Interim)(IADLXDisplayGamma* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetReGamma36)(IADLXDisplayGamma* pThis); - - ADLX_RESULT (ADLX_STD_CALL *SetReGammaCoefficient)(IADLXDisplayGamma* pThis, ADLX_RegammaCoeff coeff); - ADLX_RESULT (ADLX_STD_CALL *SetDeGammaRamp_Memory)(IADLXDisplayGamma* pThis, ADLX_GammaRamp gammaRamp); - ADLX_RESULT (ADLX_STD_CALL *SetDeGammaRamp_File)(IADLXDisplayGamma* pThis, const char* path); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaRamp_Memory)(IADLXDisplayGamma* pThis, ADLX_GammaRamp gammaRamp); - ADLX_RESULT (ADLX_STD_CALL *SetReGammaRamp_File)(IADLXDisplayGamma* pThis, const char* path); - ADLX_RESULT (ADLX_STD_CALL *ResetGammaRamp)(IADLXDisplayGamma* pThis); -} IADLXDisplayGammaVtbl; - -struct IADLXDisplayGamma -{ - const IADLXDisplayGammaVtbl *pVtbl; -}; -#endif -#pragma endregion IADLXDisplayGamma interface - -#endif//ADLX_IDISPLAYGAMMA_H diff --git a/vendor/adlx/SDK/Include/IDisplayGamut.h b/vendor/adlx/SDK/Include/IDisplayGamut.h deleted file mode 100644 index 9f4c678..0000000 --- a/vendor/adlx/SDK/Include/IDisplayGamut.h +++ /dev/null @@ -1,760 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYGAMUT_H -#define ADLX_IDISPLAYGAMUT_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IDisplayGamut.h - Interfaces for ADLX Display Gamut functionality -#pragma region IADLXDisplayGamut interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGamut : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayGamut") - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCCIR709ColorSpace IsSupportedCCIR709ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CCIR709 is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCCIR709ColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR709 is returned. The variable is __true__ if the color space CCIR709 is supported. The variable is __false__ if the color space CCIR709 is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR709 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR709 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The gamut color space CCIR709, also known as Rec.709, BT.709, and ITU 709, is a standard developed by ITU-R for image encoding and signal characteristics for high-definition television. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCCIR709ColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCCIR601ColorSpace IsSupportedCCIR601ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CCIR601 is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCCIR601ColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR601 is returned. The variable is __true__ if the color space CCIR601 is supported. The variable is __false__ if the color space CCIR601 is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR601 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR601 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The color space CCIR601 is a standard, originally issued in 1982 by the CCIR, for encoding interlaced analog video signals in digital video form and is also known as Rec.601 or BT.601. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCCIR601ColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedAdobeRgbColorSpace IsSupportedAdobeRgbColorSpace - *@ENG_START_DOX @brief Checks if the standard color space Adobe RGB is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedAdobeRgbColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space Adobe RGB is returned. The variable is __true__ if the color space Adobe RGB is supported. The variable is __false__ if the color space Adobe RGB is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space Adobe RGB is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space Adobe RGB is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The standard gamut Adobe RGB (1998) color space or opRGB was developed by Adobe Systems, Inc. in 1998. The color space was designed to encompass most of the colors achievable on CMYK color printers, but by using RGB primary colors on a device such as a computer display. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedAdobeRgbColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCIERgbColorSpace IsSupportedCIERgbColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CIERgb is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCIERgbColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CIERgb is returned. The variable is __true__ if the color space CIERgb is supported. The variable is __false__ if the color space CIERgb is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CIERgb is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CIERgb is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The standard gamut CIERgb or standard RGB (red, green, blue) color space was co-operatively created by Microsoft and Hewlett-Packard (HP) in 1996 to be used on monitors, printers, and websites. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCIERgbColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCCIR2020ColorSpace IsSupportedCCIR2020ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space BT.2020 is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCCIR2020ColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR2020 is returned. The variable is __true__ if the color space CCIR2020 is supported. The variable is __false__ if the color space CCIR2020 is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR2020 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR2020 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details ITU-R Recommendation BT.2020, is commonly known by the abbreviations Rec.2020 or BT.2020. It defines various aspects of Ultra-High-Definition Television (UHDTV) with Standard Dynamic Range (SDR) and Wide Color Gamut (WCG), including picture resolutions, frame rates with progressive scan, bit depths, color primaries, RGB, and luma-chroma color representations, chroma subsampling, and opto-electronic transfer function. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCCIR2020ColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCustomColorSpace IsSupportedCustomColorSpace - *@ENG_START_DOX @brief Checks if custom color space is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCustomColorSpace (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of custom color space is returned. The variable is __true__ if custom color space is supported. The variable is __false__ if custom color space is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of custom color space is successfully returned, __ADLX_OK__ is returned.
- * If the state of custom color space is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The custom color space can be changed as required. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCustomColorSpace (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupported5000kWhitePoint IsSupported5000kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 5000k is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported5000kWhitePoint (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 5000k is returned. The variable is __true__ if the white point 5000k is supported. The variable is __false__ if the white point 5000k is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 5000k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 5000k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported5000kWhitePoint (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupported6500kWhitePoint IsSupported6500kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 6500k is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported6500kWhitePoint (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 6500k is returned. The variable is __true__ if the white point 6500k is supported. The variable is __false__ if the white point 6500k is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 6500k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 6500k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported6500kWhitePoint (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupported7500kWhitePoint IsSupported7500kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 7500k is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported7500kWhitePoint (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 7500k is returned. The variable is __true__ if the white point 7500k is supported. The variable is __false__ if the white point 7500k is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 7500k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 7500k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported7500kWhitePoint (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupported9300kWhitePoint IsSupported9300kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 9300k is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported9300kWhitePoint (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 9300k is returned. The variable is __true__ if the white point 9300k is supported. The variable is __false__ if the white point 9300k is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 9300k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 9300k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported9300kWhitePoint (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsSupportedCustomWhitePoint IsSupportedCustomWhitePoint - *@ENG_START_DOX @brief Checks if custom white point is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCustomWhitePoint (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of custom white point is returned.The variable is __true__ if custom white point is supported. The variable is __false__ if custom white point is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of custom white point is successfully returned, __ADLX_OK__ is returned.
- * If the state of custom white point is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCustomWhitePoint (adlx_bool* supported) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrent5000kWhitePoint IsCurrent5000kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 5000k is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrent5000kWhitePoint (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 5000k is returned. The variable is __true__ if white point 5000k is used. The variable is __false__ if white point 5000k is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 5000k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 5000k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrent5000kWhitePoint (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrent6500kWhitePoint IsCurrent6500kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 6500k is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrent6500kWhitePoint (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 6500k is returned.The variable is __true__ if white point 6500k is used. The variable is __false__ if white point 6500k is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 6500k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 6500k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrent6500kWhitePoint (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrent7500kWhitePoint IsCurrent7500kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 7500k is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrent7500kWhitePoint (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 7500k is returned. The variable is __true__ if white point 7500k is used. The variable is __false__ if white point 7500k is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 7500k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 7500k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrent7500kWhitePoint (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrent9300kWhitePoint IsCurrent9300kWhitePoint - *@ENG_START_DOX @brief Checks if the standard white point 9300k is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrent9300kWhitePoint (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of white point 9300k is returned. The variable is __true__ if white point 9300k is used. The variable is __false__ if white point 9300k is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of white point 9300k is successfully returned, __ADLX_OK__ is returned.
- * If the state of white point 9300k is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrent9300kWhitePoint (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCustomWhitePoint IsCurrentCustomWhitePoint - *@ENG_START_DOX @brief Checks if a custom white point is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCustomWhitePoint (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of custom white point is returned. The variable is __true__ if a custom white point is used. The variable is __false__ if a custom white point is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of custom white point is successfully returned, __ADLX_OK__ is returned.
- * If the state of custom white point is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCustomWhitePoint (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_GetWhitePoint GetWhitePoint - *@ENG_START_DOX @brief Gets the white point coordinates (x, y) of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetWhitePoint (@ref ADLX_Point* point) - *@codeEnd - * - * @params - * @paramrow{1.,[out] ,point,@ref ADLX_Point* ,@ENG_START_DOX The pointer to a variable where the white point coordinates are returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the white point coordinates are successfully returned, __ADLX_OK__ is returned.
- * If the white point coordinates are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetWhitePoint (ADLX_Point* point) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCCIR709ColorSpace IsCurrentCCIR709ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CCIR709 is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCCIR709ColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR709 is returned. The variable is __true__ if color space CCIR709 is used. The variable is __false__ if color space CCIR709 is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR709 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR709 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCCIR709ColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCCIR601ColorSpace IsCurrentCCIR601ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CCIR601 is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCCIR601ColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR601 is returned. The variable is __true__ if color space CCIR601 is used. The variable is __false__ if color space CCIR601 is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR601 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR601 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCCIR601ColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentAdobeRgbColorSpace IsCurrentAdobeRgbColorSpace - *@ENG_START_DOX @brief Checks if the standard color space Adobe RGB is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentAdobeRgbColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space Adobe RGB is returned. The variable is __true__ if color space Adobe RGB is used. The variable is __false__ if color space Adobe RGB is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space Adobe RGB is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space Adobe RGB is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentAdobeRgbColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCIERgbColorSpace IsCurrentCIERgbColorSpace - *@ENG_START_DOX @brief Checks if the standard color space sRGB is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCIERgbColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space sRGB is returned. The variable is __true__ if color space sRGB is used. The variable is __false__ if color space sRGB is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space sRGB is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space sRGB is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCIERgbColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCCIR2020ColorSpace IsCurrentCCIR2020ColorSpace - *@ENG_START_DOX @brief Checks if the standard color space CCIR2020 is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCCIR2020ColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color space CCIR709 is returned. The variable is __true__ if color space CCIR2020 is used. The variable is __false__ if color space CCIR2020 is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color space CCIR709 is successfully returned, __ADLX_OK__ is returned.
- * If the state of color space CCIR709 is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCCIR2020ColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_IsCurrentCustomColorSpace IsCurrentCustomColorSpace - *@ENG_START_DOX @brief Checks if a custom color space is used by a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentCustomColorSpace (adlx_bool* isSet) - *@codeEnd - * - *@params - * @paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of custom color space is returned. The variable is __true__ if a custom color space is used. The variable is __false__ if a custom color space is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of custom color space is successfully returned, __ADLX_OK__ is returned.
- * If the state of custom color space is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details For more information on color coordinates, refer to @ref ADLX_GamutColorSpace. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentCustomColorSpace (adlx_bool* isSet) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_GetGamutColorSpace GetGamutColorSpace - *@ENG_START_DOX @brief Gets the color space coordinates of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGamutColorSpace (@ref ADLX_GamutColorSpace* gamutColorSpace) - *@codeEnd - * - * @params - * @paramrow{1.,[out] ,gamutColorSpace,@ref ADLX_GamutColorSpace* ,@ENG_START_DOX The pointer to a variable where the gamut color space are returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color space coordinates are successfully returned, __ADLX_OK__ is returned.
- * If the color space coordinates are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The gamut color space coordinates consist of (y, x) chromaticity coordinates for the red, green, and blue channels. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGamutColorSpace (ADLX_GamutColorSpace* gamutColorSpace) const = 0; - - /** - *@page DOX_IADLXDisplayGamut_SetGamut_PW_PG SetGamut - *@ENG_START_DOX @brief Sets a predefined white point for a predefined color space on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGamut (@ref ADLX_WHITE_POINT predefinedWhitePoint, @ref ADLX_GAMUT_SPACE predefinedGamutSpace) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,predefinedWhitePoint,@ref ADLX_WHITE_POINT ,@ENG_START_DOX The predefined white point. @ENG_END_DOX} - * @paramrow{2.,[in] ,predefinedGamutSpace,@ref ADLX_GAMUT_SPACE ,@ENG_START_DOX The predefined color space. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the gamut settings are successfully set, __ADLX_OK__ is returned.
- * If the gamut settings are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details For more information on white point coordinates, Refer to @ref ADLX_Point.
- * For more information on color space coordinates, refer to @ref ADLX_GamutColorSpace. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace) = 0; - - /** - *@page DOX_IADLXDisplayGamut_SetGamut_CW_PG SetGamut - *@ENG_START_DOX @brief Sets a custom white point for a predefined color space on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGamut (@ref ADLX_RGB customWhitePoint, @ref ADLX_GAMUT_SPACE predefinedGamutSpace) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,customWhitePoint,@ref ADLX_RGB ,@ENG_START_DOX The custom white point. @ENG_END_DOX} - * @paramrow{2.,[in] ,predefinedGamutSpace,@ref ADLX_GAMUT_SPACE ,@ENG_START_DOX The predefined color space. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the gamut settings are successfully set, __ADLX_OK__ is returned.
- * If the gamut settings are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details For more information on white point coordinates, refer to @ref ADLX_Point.
- * For more information on color space coordinates, refer to @ref ADLX_GamutColorSpace. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGamut (ADLX_RGB customWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace) = 0; - - /** - *@page DOX_IADLXDisplayGamut_SetGamut_PW_CG SetGamut - *@ENG_START_DOX @brief Sets a predefined white point for a custom color space on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGamut (@ref ADLX_WHITE_POINT predefinedWhitePoint, @ref ADLX_GamutColorSpace customGamut) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,predefinedWhitePoint,@ref ADLX_WHITE_POINT ,@ENG_START_DOX The predefined white point. @ENG_END_DOX} - * @paramrow{2.,[in] ,customGamut,@ref ADLX_GamutColorSpace ,@ENG_START_DOX The custom color space. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the gamut settings are successfully set, __ADLX_OK__ is returned.
- * If the gamut settings are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details For more information on white point coordinates, refer to @ref ADLX_Point.
- * For more information on color space coordinates, refer to @ref ADLX_GamutColorSpace. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GamutColorSpace customGamut) = 0; - - /** - *@page DOX_IADLXDisplayGamut_SetGamut_CW_CG SetGamut - *@ENG_START_DOX @brief Sets a custom white point, for a custom color space on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGamut (@ref ADLX_RGB customWhitePoint, @ref ADLX_GamutColorSpace customGamut) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,customWhitePoint,@ref ADLX_RGB ,@ENG_START_DOX The custom white point. @ENG_END_DOX} - * @paramrow{2.,[in] ,customGamut,@ref ADLX_GamutColorSpace ,@ENG_START_DOX The custom color space. @ENG_END_DOX} - * - * @retvalues - *@ENG_START_DOX If the gamut settings are successfully set, __ADLX_OK__ is returned.
- * If the gamut settings are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details For more information on white point coordinates, Refer to @ref ADLX_Point.
- * For more information on color space coordinates, refer to @ref ADLX_GamutColorSpace. @ENG_END_DOX - * - *@copydoc IADLXDisplayGamut_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGamut (ADLX_RGB customWhitePoint, ADLX_GamutColorSpace customGamut) = 0; - }; //IADLXDisplayGamut - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayGamutPtr; -} -#else - -ADLX_DECLARE_IID (IADLXDisplayGamut, L"IADLXDisplayGamut") -typedef struct IADLXDisplayGamut IADLXDisplayGamut; - -typedef struct IADLXDisplayGamutVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplayGamut* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXDisplayGamut* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplayGamut* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayGamut - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCCIR709ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCCIR601ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedAdobeRgbColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCIERgbColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCCIR2020ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCustomColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL* IsSupported5000kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupported6500kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupported7500kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupported9300kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedCustomWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL* IsCurrent5000kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrent6500kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrent7500kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrent9300kWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCustomWhitePoint)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* GetWhitePoint)(IADLXDisplayGamut* pThis, ADLX_Point* point); - - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCCIR709ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCCIR601ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentAdobeRgbColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCIERgbColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCCIR2020ColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentCustomColorSpace)(IADLXDisplayGamut* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL* GetGamutColorSpace)(IADLXDisplayGamut* pThis, ADLX_GamutColorSpace* gamutColorSpace); - - ADLX_RESULT (ADLX_STD_CALL* SetGamut_CW_CG)(IADLXDisplayGamut* pThis, ADLX_RGB customWhitePoint, ADLX_GamutColorSpace customGamut); - ADLX_RESULT (ADLX_STD_CALL* SetGamut_PW_CG)(IADLXDisplayGamut* pThis, ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GamutColorSpace customGamut); - ADLX_RESULT (ADLX_STD_CALL* SetGamut_CW_PG)(IADLXDisplayGamut* pThis, ADLX_RGB customWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace); - ADLX_RESULT (ADLX_STD_CALL* SetGamut_PW_PG)(IADLXDisplayGamut* pThis, ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace); - -} IADLXDisplayGamutVtbl; - -struct IADLXDisplayGamut -{ - const IADLXDisplayGamutVtbl* pVtbl; -}; -#endif -#pragma endregion IADLXDisplayGamut interface - -#endif//ADLX_IDISPLAYGAMUT_H diff --git a/vendor/adlx/SDK/Include/IDisplaySettings.h b/vendor/adlx/SDK/Include/IDisplaySettings.h deleted file mode 100644 index 43323f6..0000000 --- a/vendor/adlx/SDK/Include/IDisplaySettings.h +++ /dev/null @@ -1,2900 +0,0 @@ -// -// Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYSETTING_H -#define ADLX_IDISPLAYSETTING_H - -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" - -#pragma region IADLXDisplayFreeSync interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayFreeSync : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayFreeSync") - /** - *@page DOX_IADLXDisplayFreeSync_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the AMD FreeSync™ is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD FreeSync is returned. The variable is __true__ if AMD FreeSync is supported. The variable is __false__ if AMD FreeSync is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD FreeSync is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD FreeSync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
- * - * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX - * - *@copydoc IADLXDisplayFreeSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayFreeSync_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if the AMD FreeSync™ is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD FreeSync is returned. The variable is __true__ if AMD FreeSync is enabled. The variable is __false__ if AMD FreeSync is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD FreeSync is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD FreeSync is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
- * - * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX - * - *@copydoc IADLXDisplayFreeSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayFreeSync_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the AMD FreeSync™ to enabled or disabled state on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD FreeSync state. Set __true__ to enable AMD FreeSync. Set __false__ to disable AMD FreeSync. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the AMD FreeSync enabled status is successfully returned, __ADLX_OK__ is returned.
- * If the AMD FreeSync enabled status is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
- * - * AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayFreeSync_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - }; - typedef IADLXInterfacePtr_T IADLXDisplayFreeSyncPtr; -} - -#else -ADLX_DECLARE_IID (IADLXDisplayFreeSync, L"IADLXDisplayFreeSync") -typedef struct IADLXDisplayFreeSync IADLXDisplayFreeSync; - -typedef struct IADLXFreeSyncVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayFreeSync* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayFreeSync* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayFreeSync* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayFreeSync - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayFreeSync* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayFreeSync* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayFreeSync* pThis, adlx_bool enabled); -} IADLXFreeSyncVtbl; - -struct IADLXDisplayFreeSync -{ - const IADLXFreeSyncVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayFreeSync interface - -#pragma region IADLXDisplayVSR interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayVSR : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayVSR") - /** - *@page DOX_IADLXDisplayVSR_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD Virtual Super Resolution is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is __true__ if Virtual Super Resolution is supported. The variable is __false__ if Virtual Super Resolution is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayVSR_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayVSR_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD Virtual Super Resolution is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is __true__ if Virtual Super Resolution is enabled. The variable is __false__ if Virtual Super Resolution is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayVSR_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayVSR_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the AMD Virtual Super Resolution to enabled or disabled on this display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Virtual Super Resolution state. Set __true__ to enable Virtual Super Resolution. Set __false__ to disable Virtual Super Resolution. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD Virtual Super Resolution is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD Virtual Super Resolution is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayVSR_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - }; - typedef IADLXInterfacePtr_T IADLXDisplayVSRPtr; -} - -#else -ADLX_DECLARE_IID (IADLXDisplayVSR, L"IADLXDisplayVSR") -typedef struct IADLXDisplayVSR IADLXDisplayVSR; - -typedef struct IADLXVSRVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayVSR* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayVSR* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayVSR* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayVSR - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayVSR* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayVSR* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayVSR* pThis, adlx_bool enabled); -} IADLXVSRVtbl; - -struct IADLXDisplayVSR -{ - const IADLXVSRVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayVSR interface - -#pragma region IADLXDisplayGPUScaling interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGPUScaling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayGPUScaling") - /** - *@page DOX_IADLXDisplayGPUScaling_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the GPU scaling is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU scaling is returned. The variable is __true__ if GPU scaling is supported. The variable is __false__ if GPU scaling is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU scaling is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU scaling is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGPUScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayGPUScaling_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if the GPU scaling is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU scaling is returned. The variable is __true__ if GPU scaling is enabled. The variable is __false__ if GPU scaling is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU scaling is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU scaling is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.
- * __Note__: @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling" is not supported when GPU scaling is disabled.
- * GPU scaling is required for @ref DOX_IADLX3DRadeonSuperResolution "Radeon™ Super Resolution". GPU scaling is automatically enabled when Radeon Super Resolution is enabled. @ENG_END_DOX - * - *@copydoc IADLXDisplayGPUScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayGPUScaling_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the GPU scaling to enabled or disabled state on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new GPU scaling state. Set __true__ to enable GPU scaling. Set __false__ to disable GPU scaling. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU scaling is successfully set, __ADLX_OK__ is returned.
- * If the state of GPU scaling is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- * GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.
- * __Note:__ @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling" is not supported when GPU scaling is disabled.
- * GPU scaling is required for @ref DOX_IADLX3DRadeonSuperResolution "Radeon™ Super Resolution". By disabling GPU scaling when Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.@ENG_END_DOX - * - *@copydoc IADLXDisplayGPUScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayGPUScalingPtr; -} - -#else -ADLX_DECLARE_IID (IADLXDisplayGPUScaling, L"IADLXDisplayGPUScaling") -typedef struct IADLXDisplayGPUScaling IADLXDisplayGPUScaling; - -typedef struct IADLXGPUScalingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayGPUScaling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayGPUScaling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayGPUScaling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // GPU Scaling - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayGPUScaling* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayGPUScaling* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayGPUScaling* pThis, adlx_bool enabled); -} IADLXGPUScalingVtbl; - -struct IADLXDisplayGPUScaling -{ - const IADLXGPUScalingVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayGPUScaling interface - -#pragma region IADLXDisplayScalingMode interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayScalingMode : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayScalingMode") - /** - *@page DOX_IADLXDisplayScalingMode_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the scaling mode is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of scaling mode is returned. The variable is __true__ if scaling mode is supported. The variable is __false__ if scaling mode is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of scaling mode is successfully returned, __ADLX_OK__ is returned.
- * If the state of scaling mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayScalingMode_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayScalingMode_GetMode GetMode - *@ENG_START_DOX @brief Gets the current scaling mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMode(@ref ADLX_SCALE_MODE* currentMode) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentMode,@ref ADLX_SCALE_MODE*,@ENG_START_DOX The pointer to a variable where the current scaling mode of a display is returned.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current scaling mode is successfully returned, __ADLX_OK__ is returned.
- * If the current scaling mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display.
- * __Note:__ On some AMD GPUs, center scaling and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Radeon Super Resolution is enabled when the scaling mode is __CENTERED__, the scaling mode is automatically set to __FULL_PANEL__.@ENG_END_DOX - * - * - *@copydoc IADLXDisplayScalingMode_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_SCALE_MODE* currentMode) = 0; - /** - *@page DOX_IADLXDisplayScalingMode_SetMode SetMode - *@ENG_START_DOX @brief Sets the scaling mode of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMode(@ref ADLX_SCALE_MODE mode) - *@codeEnd - * - *@params - * @paramrow{1.,[in],mode,@ref ADLX_SCALE_MODE,@ENG_START_DOX The new scaling mode.0@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the scaling mode is successfully set, __ADLX_OK__ is returned.
- * If the scaling mode is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX GPU scaling determines the method used to stretch and position images to fit the display.
- * __Note:__ On some AMD GPUs, center scaling and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If the scaling mode is set to __CENTERED__, Radeon Super Resolution is automatically disabled.@ENG_END_DOX - * - * - *@copydoc IADLXDisplayScalingMode_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_SCALE_MODE mode) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayScalingModePtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayScalingMode, L"IADLXDisplayScalingMode") - -typedef struct IADLXDisplayScalingMode IADLXDisplayScalingMode; -typedef struct IADLXDisplayScalingModeVtbl -{ - // IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayScalingMode* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayScalingMode* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayScalingMode* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Scaling mode - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayScalingMode* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLXDisplayScalingMode* pThis, ADLX_SCALE_MODE* currentMode); - ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLXDisplayScalingMode* pThis, ADLX_SCALE_MODE mode); -} IADLXDisplayScalingModeVtbl; - -struct IADLXDisplayScalingMode -{ - const IADLXDisplayScalingModeVtbl *pVtbl; -}; - -#endif -#pragma endregion IADLXDisplayScalingMode interface - -#pragma region IADLXDisplayIntegerScaling interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayIntegerScaling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayIntegerScaling") - /** - *@page DOX_IADLXDisplayIntegerScaling_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the Integer Display Scaling is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Integer Display Scaling is returned. The variable is __true__ if Integer Display Scaling is supported. The variable is __false__ if Integer Display Scaling is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Integer Display Scaling is successfully returned, __ADLX_OK__ is returned.
- * If the state of Integer Display Scaling is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- * __Note__: Integer Display Scaling is not supported when @ref DOX_IADLXDisplayGPUScaling "GPU scaling" is disabled. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayIntegerScaling_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if the Integer Display Scaling is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Integer Display Scaling is returned. The variable is __true__ if Integer Display Scaling is enabled. The variable is __false__ if Integer Display Scaling is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Integer Display Scaling is successfully returned, __ADLX_OK__ is returned.
- * If the state of Integer Display Scaling is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- * __Note:__ On some AMD GPUs, Integer Display Scaling and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Radeon Super Resolution is enabled, Integer Display Scaling is automatically disabled.@ENG_END_DOX - * - * - *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayIntegerScaling_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the AMD integer scaling to enabled or disabled state on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Integer Display Scaling state. Set __true__ to enable Integer Display Scaling. Set __false__ to disable Integer Display Scaling. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Integer Display Scaling is successfully set, __ADLX_OK__ is returned.
- * If the state of Integer Display Scaling is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- * __Note:__ On some AMD GPUs, Integer Display Scaling and @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution" cannot be enabled simultaneously. If Integer Display Scaling is enabled, Radeon Super Resolution is automatically disabled.@ENG_END_DOX - * - * - *@copydoc IADLXDisplayIntegerScaling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - }; - typedef IADLXInterfacePtr_T IADLXDisplayIntegerScalingPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayIntegerScaling, L"IADLXDisplayIntegerScaling") - -typedef struct IADLXDisplayIntegerScaling IADLXDisplayIntegerScaling; -typedef struct IADLXIntegerScalingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayIntegerScaling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayIntegerScaling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayIntegerScaling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Integer scaling - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayIntegerScaling* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayIntegerScaling* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayIntegerScaling* pThis, adlx_bool enabled); -} IADLXIntegerScalingVtbl; - -struct IADLXDisplayIntegerScaling -{ - const IADLXIntegerScalingVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayIntegerScaling interface - -#pragma region IADLXDisplayColorDepth interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayColorDepth : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayColorDepth") - /** - *@page DOX_IADLXDisplayColorDepth_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the color format can be configured on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color format configuration is returned. The variable is __true__ if color format configuration is supported. The variable is __false__ if color format configuration is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the color format configuration is successfully returned, __ADLX_OK__ is returned.
- * If the state of the color format configuration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_GetValue GetValue - *@ENG_START_DOX @brief Gets the current color format of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetValue(@ref ADLX_COLOR_DEPTH* currentColorDepth) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentColorDepth,@ref ADLX_COLOR_DEPTH*,@ENG_START_DOX The pointer to a variable where the color format is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current color format is successfully returned, __ADLX_OK__ is returned.
- * If the current color format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_COLOR_DEPTH* currentColorDepth) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_SetValue SetValue - *@ENG_START_DOX @brief Sets the color format on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetValue(@ref ADLX_COLOR_DEPTH colorDepth) - *@codeEnd - * - *@params - * @paramrow{1.,[in],colorDepth,@ref ADLX_COLOR_DEPTH,@ENG_START_DOX The new color format. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color format is successfully set, __ADLX_OK__ is returned.
- * If the color format is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_COLOR_DEPTH colorDepth) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedColorDepth IsSupportedColorDepth - *@ENG_START_DOX @brief Checks if a color format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedColorDepth (@ref ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[in],colorDepth,@ref ADLX_COLOR_DEPTH,@ENG_START_DOX The color format. @ENG_END_DOX} - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the color format is returned. The variable is __true__ if the color format is supported. The variable is __false__ if color format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the color format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the color format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedColorDepth (ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_6 IsSupportedBPC_6 - *@ENG_START_DOX @brief Checks if color component/pixel with 6 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_6 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 6 bits is returned. The variable is __true__ if color component/pixel with 6 bits is supported. The variable is __false__ if color component/pixel with 6 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 6 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 6 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_6 (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_8 IsSupportedBPC_8 - *@ENG_START_DOX @brief Checks if color component/pixel with 8 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_8 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 8 bits is returned. The variable is __true__ if color component/pixel with 8 bits is supported. The variable is __false__ if color component/pixel with 8 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 8 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 8 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_8 (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_10 IsSupportedBPC_10 - *@ENG_START_DOX @brief Checks if color component/pixel with 10 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_10 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 10 bits is returned. The variable is __true__ if color component/pixel with 10 bits is supported. The variable is __false__ if color component/pixel with 10 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 10 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 10 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_10 (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_12 IsSupportedBPC_12 - *@ENG_START_DOX @brief Checks if color component/pixel with 12 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_12 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 12 bits is returned. The variable is __true__ if color component/pixel with 12 bits is supported. The variable is __false__ if color component/pixel with 12 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 12 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 12 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_12 (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_14 IsSupportedBPC_14 - *@ENG_START_DOX @brief Checks if color component/pixel with 14 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_14 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 14 bits is returned. The variable is __true__ if color component/pixel with 14 bits is supported. The variable is __false__ if color component/pixel with 14 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 14 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 14 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_14 (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayColorDepth_IsSupportedBPC_16 IsSupportedBPC_16 - *@ENG_START_DOX @brief Checks if color component/pixel with 16 bits is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBPC_16 (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color component/pixel with 16 bits is returned. The variable is __true__ if color component/pixel with 16 bits is supported. The variable is __false__ if color component/pixel with 16 bits is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color component/pixel with 16 bits is successfully returned, __ADLX_OK__ is returned.
- * If the state of color component/pixel with 16 bits is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayColorDepth_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBPC_16 (adlx_bool* supported) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayColorDepthPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayColorDepth, L"IADLXDisplayColorDepth") -typedef struct IADLXDisplayColorDepth IADLXDisplayColorDepth; - -typedef struct IADLX_COLOR_DEPTHVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplayColorDepth* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXDisplayColorDepth* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplayColorDepth* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Color depth - ADLX_RESULT (ADLX_STD_CALL* IsSupported)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* GetValue)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH* currentColorDepth); - ADLX_RESULT (ADLX_STD_CALL* SetValue)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH colorDepth); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedColorDepth)(IADLXDisplayColorDepth* pThis, ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_6)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_8)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_10)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_12)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_14)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedBPC_16)(IADLXDisplayColorDepth* pThis, adlx_bool* supported); -} IADLX_COLOR_DEPTHVtbl; - -struct IADLXDisplayColorDepth -{ - const IADLX_COLOR_DEPTHVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayColorDepth interface - -#pragma region IADLXDisplayPixelFormat interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayPixelFormat : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayPixelFormat") - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the pixel format can be configured on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of pixel format configuration is returned. The variable is __true__ if pixel format configuration is supported. The variable is __false__ if pixel format configuration is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of pixel format configuration is successfully returned, __ADLX_OK__ is returned.
- * If the state of pixel format configuration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_GetValue GetValue - *@ENG_START_DOX @brief Gets the current pixel format of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetValue(@ref ADLX_PIXEL_FORMAT* pixelFormat) - *@codeEnd - * - *@params - * @paramrow{1.,[out],pixelFormat,@ref ADLX_PIXEL_FORMAT*,@ENG_START_DOX The pointer to a variable where the pixel format is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_PIXEL_FORMAT* pixelFormat) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_SetValue SetValue - *@ENG_START_DOX @brief Sets the pixel format on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetValue(@ref ADLX_PIXEL_FORMAT pixelFormat) - *@codeEnd - * - *@params - * @paramrow{1.,[in],pixelFormat,@ref ADLX_PIXEL_FORMAT,@ENG_START_DOX The new pixel format. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the pixel format is successfully set, __ADLX_OK__ is returned.
- * If the pixel format is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- * Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_PIXEL_FORMAT pixelFormat) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedPixelFormat IsSupportedPixelFormat - *@ENG_START_DOX @brief Checks if the given pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedPixelFormat (@ref ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[in],pixelFormat,@ref ADLX_PIXEL_FORMAT,@ENG_START_DOX The pixel format. @ENG_END_DOX} - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the pixel format is returned. The variable is __true__ if the pixel format is supported. The variable is __false__ if pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPixelFormat (ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supportd) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Full IsSupportedRGB444Full - *@ENG_START_DOX @brief Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedRGB444Full (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is returned. The variable is __true__ if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported. The variable is __false__ if the RGB 4:4:4 PC Standard (Full RGB) pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRGB444Full (adlx_bool* supportd) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr444 IsSupportedYCbCr444 - *@ENG_START_DOX @brief Checks if the YCbCr 4:4:4 pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedYCbCr444 (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:4:4 pixel format is returned. The variable is __true__ if the YCbCr 4:4:4 pixel format is supported. The variable is __false__ if the YCbCr 4:4:4 pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the YCbCr 4:4:4 pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the YCbCr 4:4:4 pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr444 (adlx_bool* supportd) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr422 IsSupportedYCbCr422 - *@ENG_START_DOX @brief Checks if the YCbCr 4:2:2 pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedYCbCr422 (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:2:2 pixel format is returned. The variable is __true__ if the YCbCr 4:2:2 pixel format is supported. The variable is __false__ if the YCbCr 4:2:2 pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the YCbCr 4:2:2 pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the YCbCr 4:2:2 pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr422 (adlx_bool* supportd) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Limited IsSupportedRGB444Limited - *@ENG_START_DOX @brief Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedRGB444Limited (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is returned. The variable is __true__ if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported. The variable is __false__ if the RGB 4:4:4 Studio (Limited RGB) pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRGB444Limited (adlx_bool* supportd) = 0; - /** - *@page DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr420 IsSupportedYCbCr420 - *@ENG_START_DOX @brief Checks if the YCbCr 4:2:0 pixel format is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedYCbCr420 (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the support state of the YCbCr 4:2:0 pixel format is returned. The variable is __true__ if the YCbCr 4:2:0 pixel format is supported. The variable is __false__ if the YCbCr 4:2:0 pixel format is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the support state of the YCbCr 4:2:0 pixel format is successfully returned, __ADLX_OK__ is returned.
- * If the support state of the YCbCr 4:2:0 pixel format is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayPixelFormat_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedYCbCr420 (adlx_bool* supportd) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayPixelFormatPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayPixelFormat, L"IADLXDisplayPixelFormat") -typedef struct IADLXDisplayPixelFormat IADLXDisplayPixelFormat; - -typedef struct IADLX_PIXEL_FORMATVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayPixelFormat* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayPixelFormat* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayPixelFormat* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Pixel format - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayPixelFormat* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetValue)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT* pixelFormat); - ADLX_RESULT (ADLX_STD_CALL *SetValue)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT pixelFormat); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedPixelFormat)(IADLXDisplayPixelFormat* pThis, ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supportd); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedRGB444Full)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr444)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr422)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedRGB444Limited)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedYCbCr420)(IADLXDisplayPixelFormat* pThis, adlx_bool* supportd); -} IADLX_PIXEL_FORMATVtbl; - -struct IADLXDisplayPixelFormat -{ - const IADLX_PIXEL_FORMATVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayPixelFormat interface - -#pragma region IADLXDisplayCustomColor interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayCustomColor : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayCustomColor") - /** - *@page DOX_IADLXDisplayCustomColor_IsHueSupported IsHueSupported - *@ENG_START_DOX @brief Checks if customization of hue is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsHueSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of hue is returned. The variable is __true__ if customization of hue is supported. The variable is __false__ if customization of hue is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of hue is successfully returned, __ADLX_OK__ is returned.
- * If the state of hue is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsHueSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetHueRange GetHueRange - *@ENG_START_DOX @brief Gets the maximum hue, minimum hue, and step hue of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetHueRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - *@paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the hue range of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the hue range is successfully returned, __ADLX_OK__ is returned.
- * If the hue range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetHueRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetHue GetHue - *@ENG_START_DOX @brief Gets the current hue of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetHue(adlx_int* currentHue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentHue,adlx_int*,@ENG_START_DOX The pointer to a variable where the current hue of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current hue is successfully returned, __ADLX_OK__ is returned.
- * If the current hue is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetHue (adlx_int* currentHue) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_SetHue SetHue - *@ENG_START_DOX @brief Sets the hue on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetHue(adlx_int value) - *@codeEnd - * - *@params - * @paramrow{1.,[out],hue,adlx_int,@ENG_START_DOX The new hue value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the hue is successfully set, __ADLX_OK__ is returned.
- * If the hue is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetHue (adlx_int hue) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_IsSaturationSupported IsSaturationSupported - *@ENG_START_DOX @brief Checks if customization of saturation is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSaturationSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of saturation is returned. The variable is __true__ if customization of saturation is supported. The variable is __false__ if customization of saturation is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of saturation is successfully returned, __ADLX_OK__ is returned.
- * If the state of saturation is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSaturationSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetSaturationRange GetSaturationRange - *@ENG_START_DOX @brief Gets the maximum saturation, minimum saturation, and step saturation of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSaturationRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the saturation range of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the saturation range is successfully returned, __ADLX_OK__ is returned.
- * If the saturation range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSaturationRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetSaturation GetSaturation - *@ENG_START_DOX @brief Gets the current saturation of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSaturation(adlx_int* currentSaturation) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentSaturation,adlx_int*,@ENG_START_DOX The pointer to a variable where the current saturation of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current saturation is successfully returned, __ADLX_OK__ is returned.
- * If the current saturation is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSaturation (adlx_int* currentSaturation) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_SetSaturation SetSaturation - *@ENG_START_DOX @brief Sets the saturation on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSaturation(adlx_int saturation) - *@codeEnd - * - *@params - * @paramrow{1.,[out],saturation,adlx_int,@ENG_START_DOX The new saturation value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the saturation is successfully set, __ADLX_OK__ is returned.
- * If the saturation is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSaturation (adlx_int saturation) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_IsBrightnessSupported IsBrightnessSupported - *@ENG_START_DOX @brief Checks if customization of brightness is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsBrightnessSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of brightness is returned. The variable is __true__ if customization of brightness is supported. The variable is __false__ if customization of brightness is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of brightness is successfully returned, __ADLX_OK__ is returned.
- * If the state of brightness is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsBrightnessSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetBrightnessRange GetBrightnessRange - *@ENG_START_DOX @brief Gets the maximum brightness, minimum brightness, and step brightness of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBrightnessRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the brightness range of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the brightness range is successfully returned, __ADLX_OK__ is returned.
- * If the brightness range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBrightnessRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetBrightness GetBrightness - *@ENG_START_DOX @brief Gets the current brightness of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBrightness(adlx_int* currentBrightness) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentBrightness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current brightness of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current brightness is successfully returned, __ADLX_OK__ is returned.
- * If the current brightness is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBrightness (adlx_int* currentBrightness) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_SetBrightness SetBrightness - *@ENG_START_DOX @brief Sets the brightness on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBrightness(adlx_int brightness) - *@codeEnd - * - *@params - * @paramrow{1.,[out],brightness,adlx_int,@ENG_START_DOX The new brightness value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the brightness is successfully set, __ADLX_OK__ is returned.
- * If the brightness is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBrightness (adlx_int brightness) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_IsContrastSupported IsContrastSupported - *@ENG_START_DOX @brief Checks if customization of color contrast is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsContrastSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color contrast is returned. The variable is __true__ if customization of color contrast is supported. The variable is __false__ if customization of color contrast is not supported @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color contrast is successfully returned, __ADLX_OK__ is returned.
- * If the state of color contrast is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsContrastSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetContrastRange GetContrastRange - *@ENG_START_DOX @brief Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetContrastRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the color contrast range of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color contrast range is successfully returned, __ADLX_OK__ is returned.
- * If the color contrast range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetContrastRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetContrast GetContrast - *@ENG_START_DOX @brief Gets the current color contrast of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetContrast(adlx_int* currentContrast) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentContrast,adlx_int*,@ENG_START_DOX The pointer to a variable where the current color contrast of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current color contrast is successfully returned, __ADLX_OK__ is returned.
- * If the current color contrast is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetContrast (adlx_int* currentContrast) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_SetContrast SetContrast - *@ENG_START_DOX @brief Sets the color contrast on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetContrast(adlx_int contrast) - *@codeEnd - * - *@params - * @paramrow{1.,[out],contrast,adlx_int,@ENG_START_DOX The new color contrast value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color contrast value is successfully set, __ADLX_OK__ is returned.
- * If the color contrast value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetContrast (adlx_int contrast) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_IsTemperatureSupported IsTemperatureSupported - *@ENG_START_DOX @brief Checks if customization of color temperature is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsTemperatureSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color temperature is returned. The variable is __true__ if customization of color temperature is supported. The variable is __false__ if customization of color temperature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of color temperature is successfully returned, __ADLX_OK__ is returned.
- * If the state of color temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsTemperatureSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetTemperatureRange GetTemperatureRange - *@ENG_START_DOX @brief Gets the maximum color temperature, minimum color temperature, and step color temperature of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTemperatureRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the color temperature range is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color temperature range is successfully returned, __ADLX_OK__ is returned.
- * If the color temperature range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTemperatureRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_GetTemperature GetTemperature - *@ENG_START_DOX @brief Gets the current color temperature of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTemperature(adlx_int* currentTemperature) - *@codeEnd - * - *@params - * @paramrow{1.,[out],currentTemperature,adlx_int*,@ENG_START_DOX The pointer to a variable where the current color temperature of the display is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current color temperature is successfully returned, __ADLX_OK__ is returned.
- * If the current color temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTemperature (adlx_int* currentTemperature) = 0; - /** - *@page DOX_IADLXDisplayCustomColor_SetTemperature SetTemperature - *@ENG_START_DOX @brief Sets the color temperature on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetTemperature(adlx_int value) - *@codeEnd - * - *@params - * @paramrow{1.,[out],temperature,adlx_int,@ENG_START_DOX The new color temperature value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the color temperature is successfully set, __ADLX_OK__ is returned.
- * If the color temperature is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayCustomColor_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetTemperature (adlx_int temperature) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayCustomColorPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayCustomColor, L"IADLXDisplayCustomColor") -typedef struct IADLXDisplayCustomColor IADLXDisplayCustomColor; - -typedef struct IADLXCustomColorVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayCustomColor* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayCustomColor* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayCustomColor* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Custom color - ADLX_RESULT (ADLX_STD_CALL *IsHueSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetHueRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetHue)(IADLXDisplayCustomColor* pThis, adlx_int* currentHue); - ADLX_RESULT (ADLX_STD_CALL *SetHue)(IADLXDisplayCustomColor* pThis, adlx_int hue); - - ADLX_RESULT (ADLX_STD_CALL *IsSaturationSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetSaturationRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetSaturation)(IADLXDisplayCustomColor* pThis, adlx_int* currentSaturation); - ADLX_RESULT (ADLX_STD_CALL *SetSaturation)(IADLXDisplayCustomColor* pThis, adlx_int saturation); - - ADLX_RESULT (ADLX_STD_CALL *IsBrightnessSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetBrightnessRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetBrightness)(IADLXDisplayCustomColor* pThis, adlx_int* currentBrightness); - ADLX_RESULT (ADLX_STD_CALL *SetBrightness)(IADLXDisplayCustomColor* pThis, adlx_int brightness); - - ADLX_RESULT (ADLX_STD_CALL *IsContrastSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetContrastRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetContrast)(IADLXDisplayCustomColor* pThis, adlx_int* currentContrast); - ADLX_RESULT (ADLX_STD_CALL *SetContrast)(IADLXDisplayCustomColor* pThis, adlx_int contrast); - - ADLX_RESULT (ADLX_STD_CALL *IsTemperatureSupported)(IADLXDisplayCustomColor* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetTemperatureRange)(IADLXDisplayCustomColor* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetTemperature)(IADLXDisplayCustomColor* pThis, adlx_int* currentTemperature); - ADLX_RESULT (ADLX_STD_CALL *SetTemperature)(IADLXDisplayCustomColor* pThis, adlx_int temperature); - - -} IADLXCustomColorVtbl; - -struct IADLXDisplayCustomColor -{ - const IADLXCustomColorVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayCustomColor interface - -#pragma region IADLXDisplayHDCP interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayHDCP : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayHDCP") - /** - *@page DOX_IADLXDisplayHDCP_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the HDCP can be configured on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the HDCP configuration is returned. The variable is __true__ if HDCP configuration is supported. The variable is __false__ if HDCP configuration is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDCP configuration is successfully returned, __ADLX_OK__ is returned.
- * If the state of HDCP configuration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayHDCP_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayHDCP_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if the HDCP is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDCP is returned. The variable is __true__ if HDCP is enabled. The variable is __false__ if HDCP is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDCP configuration is successfully returned, __ADLX_OK__ is returned.
- * If the state of HDCP configuration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayHDCP_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayHDCP_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the HDCP to enabled or disabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new HDCP configuration state. Set __true__ to enable HDCP. Set __false__ to disable HDCP. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDCP configuration is successfully set, __ADLX_OK__ is returned.
- * If the state of HDCP configuration is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayHDCP_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayHDCPPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayHDCP, L"IADLXDisplayHDCP") -typedef struct IADLXDisplayHDCP IADLXDisplayHDCP; - -typedef struct IADLXHDCPVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayHDCP* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayHDCP* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayHDCP* pThis, const wchar_t* interfaceId, void** ppInterface); - - // HDCP - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayHDCP* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLXDisplayHDCP* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLXDisplayHDCP* pThis, adlx_bool enabled); -} IADLXHDCPVtbl; - -struct IADLXDisplayHDCP -{ - const IADLXHDCPVtbl *pVtbl; -}; - -#endif - -#pragma endregion IADLXDisplayHDCP interface - -#pragma region IADLXDisplayResolution interface -#if defined (__cplusplus) - -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayResolution : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayResolution") - /** - *@page DOX_IADLXDisplayResolution_GetValue GetValue - *@ENG_START_DOX @brief Gets the properties of a custom display resolution. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetValue(@ref ADLX_CustomResolution* customResolution) - *@codeEnd - * - *@params - * @paramrow{1.,[out],customResolution,@ref ADLX_CustomResolution*,@ENG_START_DOX The pointer to a variable where the properties of a custom display resolution are returned.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the properties of a custom display resolution are successfully returned, __ADLX_OK__ is returned.
- * If the properties of a custom display resolution are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetValue (ADLX_CustomResolution* customResolution) = 0; - /** - *@page DOX_IADLXDisplayResolution_SetValue SetValue - *@ENG_START_DOX @brief Sets the properties of a custom display resolution. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetValue(@ref ADLX_CustomResolution customResolution) - *@codeEnd - * - *@params - * @paramrow{1.,[in],customResolution,@ref ADLX_CustomResolution,@ENG_START_DOX The properties of a custom display resolution.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the properties of a custom display resolution are successfully set, __ADLX_OK__ is returned.
- * If the properties of a custom display resolution are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetValue (ADLX_CustomResolution customResolution) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayResolutionPtr; -} - -#else - -ADLX_DECLARE_IID (IADLXDisplayResolution, L"IADLXDisplayResolution") - -typedef struct IADLXDisplayResolution IADLXDisplayResolution; - -typedef struct IADLXDisplayResolutionVtbl -{ - // IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayResolution* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayResolution* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayResolution* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXDisplayResolution - ADLX_RESULT (ADLX_STD_CALL *GetValue)(IADLXDisplayResolution* pThis, ADLX_CustomResolution* cr); - ADLX_RESULT (ADLX_STD_CALL *SetValue)(IADLXDisplayResolution* pThis, ADLX_CustomResolution cr); -} IADLXDisplayResolutionVtbl; - -struct IADLXDisplayResolution { const IADLXDisplayResolutionVtbl *pVtbl; }; - -#endif -#pragma endregion IADLXDisplayResolution interface - -#pragma region IADLXDisplayResolutionList interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayResolutionList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayResolutionList") - ADLX_DECLARE_ITEM_IID (IADLXDisplayResolution::IID ()) - /** - * @page DOX_IADLXDisplayResolutionList_At At - * @ENG_START_DOX - * @brief Returns the item at the asked location. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXDisplayResolution** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX Location index to retrieve the resolution item from the list. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXDisplayResolution** ,@ENG_START_DOX The address of a pointer variable that receives a pointer to the @ref DOX_IADLXDisplayResolution interface. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * Returns __ADLX_OK__ for success and ADLX error code @ref ADLX_RESULT for failure. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXDisplayResolutionList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXDisplayResolution** ppItem) = 0; - /** - * @page DOX_IADLXDisplayResolutionList_Add_Back Add_Back - * @ENG_START_DOX - * @brief Adds an element to the back. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXDisplayResolution* pItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pItem,@ref DOX_IADLXDisplayResolution* ,@ENG_START_DOX The address of a pointer variable that receives the @ref DOX_IADLXDisplayResolution interface. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * Returns __ADLX_OK__ for success and ADLX error code @ref ADLX_RESULT for failure. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details Adds an element to the back. - * - * You should call this method whenever you need to add the resolution item to the end of the list. - * @ENG_END_DOX - * - * - * @copydoc IADLXDisplayResolutionList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXDisplayResolution* pItem) = 0; - }; //IADLXDisplayResolutionList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayResolutionListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayResolutionList, L"IADLXDisplayResolutionList") -ADLX_DECLARE_ITEM_IID (IADLXDisplayResolution, IID_IADLXDisplayResolution ()) - -typedef struct IADLXDisplayResolutionList IADLXDisplayResolutionList; - -typedef struct IADLXDisplayResolutionListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayResolutionList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayResolutionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayResolutionList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXDisplayResolutionList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXDisplayResolutionList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXDisplayResolutionList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXDisplayResolutionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXDisplayResolutionList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXDisplayResolutionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXDisplayResolutionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXDisplayResolutionList* pThis, IADLXInterface* pItem); - - //IADLXDisplayResolutionList - ADLX_RESULT (ADLX_STD_CALL *At_DisplayResolutionList)(IADLXDisplayResolutionList* pThis, const adlx_uint location, IADLXDisplayResolution** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_DisplayResolutionList)(IADLXDisplayResolutionList* pThis, IADLXDisplayResolution* pItem); - -} IADLXDisplayResolutionListVtbl; - -struct IADLXDisplayResolutionList { const IADLXDisplayResolutionListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayResolutionList interface - -#pragma region IADLXDisplayCustomResolution interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayCustomResolution : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayCustomResolution") - /** - *@page DOX_IADLXDisplayCustomResolution_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if custom resolution is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the custom resolution support status is returned. The variable is __true__ if custom resolution is supported. The variable is __false__ if custom resolution is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom resolution status is successfully returned, __ADLX_OK__ is returned.
- * If the custom resolution status is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayCustomResolution_GetResolutionList GetResolutionList - *@ENG_START_DOX @brief Gets the reference counted list of available resolutions of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetResolutionList(@ref DOX_IADLXDisplayResolutionList** ppResolutionList) - *@codeEnd - * - *@params - * @paramrow{1.,[out],cr,@ref DOX_IADLXDisplayResolutionList*,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __ppResolutionList__ to __nullptr__.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the resolution list is successfully returned, __ADLX_OK__ is returned.
- * If the resolution list is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - *In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally.
- * - * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetResolutionList (IADLXDisplayResolutionList** ppResolutionList) = 0; - /** - *@page DOX_IADLXDisplayCustomResolution_GetCurrentAppliedResolution GetCurrentAppliedResolution - *@ENG_START_DOX @brief Gets the reference counted current resolution interface of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentAppliedResolution(@ref DOX_IADLXDisplayResolution** ppResolution) - *@codeEnd - * - *@params - * @paramrow{1.,[out],ppResolution,@ref DOX_IADLXDisplayResolution**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __ppResolution__ to __nullptr__.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current resolution is successfully returned, __ADLX_OK__ is returned.
- * If the current resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally.
- * - * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentAppliedResolution (IADLXDisplayResolution** ppResolution) = 0; - /** - *@page DOX_IADLXDisplayCustomResolution_CreateNewResolution CreateNewResolution - *@ENG_START_DOX @brief Creates a custom resolution on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT CreateNewResolution(@ref DOX_IADLXDisplayResolution* pResolution) - *@codeEnd - * - *@params - * @paramrow{1.,[out],pResolution,@ref DOX_IADLXDisplayResolution*,@ENG_START_DOX The pointer to the custom resolution interface.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom resolution is successfully created, __ADLX_OK__ is returned.
- * If the custom resolution is not successfully created, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL CreateNewResolution (IADLXDisplayResolution* pResolution) = 0; - /** - *@page DOX_IADLXDisplayCustomResolution_DeleteResolution DeleteResolution - *@ENG_START_DOX @brief Deletes a custom resolution from a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT DeleteResolution(@ref DOX_IADLXDisplayResolution* pResolution) - *@codeEnd - * - *@params - * @paramrow{1.,[out],pResolution,@ref DOX_IADLXDisplayResolution*,@ENG_START_DOX The pointer to a variable where the display resolution @ref DOX_IADLXDisplayResolution is returned.@ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the custom resolution is successfully deleted, __ADLX_OK__ is returned.
- * If the custom resolution is not successfully deleted, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- * __Note__: Displays running in duplicate or Eyefinity mode do not support custom resolutions. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayCustomResolution_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DeleteResolution (IADLXDisplayResolution* pResolution) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayCustomResolutionPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayCustomResolution, L"IADLXDisplayCustomResolution") -typedef struct IADLXDisplayCustomResolution IADLXDisplayCustomResolution; - -typedef struct IADLXDisplayCustomResolutionVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplayCustomResolution* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXDisplayCustomResolution* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplayCustomResolution* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Custom resolution - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXDisplayCustomResolution* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetResolutionList)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolutionList** ppResolutionList); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentAppliedResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution** ppResolution); - ADLX_RESULT (ADLX_STD_CALL *CreateNewResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution* pResolution); - ADLX_RESULT (ADLX_STD_CALL *DeleteResolution)(IADLXDisplayCustomResolution* pThis, IADLXDisplayResolution* pResolution); -} IADLXDisplayCustomResolutionVtbl; - -struct IADLXDisplayCustomResolution -{ - const IADLXDisplayCustomResolutionVtbl *pVtbl; -}; -#endif - -#pragma endregion IADLXDisplayCustomResolution interface - -#pragma region IADLXDisplayVariBright interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayVariBright : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayVariBright") - /** - *@page DOX_IADLXDisplayVariBright_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if Vari-Bright can be configured on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Vari-Bright is returned. The variable is __true__ if Vari-Bright is supported. The variable is __false__ if Vari-Bright is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Vari-Bright is successfully returned, __ADLX_OK__ is returned.
- * If the state of Vari-Bright is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if Vari-Bright is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Vari-Bright is returned. The variable is __true__ if Vari-Bright is enabled. The variable is __false__ if Vari-Bright is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Vari-Bright is successfully returned, __ADLX_OK__ is returned.
- * If the state of Vari-Bright is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetEnabled SetEnabled - *@ENG_START_DOX @brief Sets the Vari-Bright to enabled or disabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Vari-Bright state. Set __true__ to enable Vari-Bright. Set __false__ to disable Vari-Bright. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of Vari-Bright is successfully set, __ADLX_OK__ is returned.
- * If the state of Vari-Bright is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enabled) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsCurrentMaximizeBrightness IsCurrentMaximizeBrightness - *@ENG_START_DOX @brief Checks if the maximized brightness Vari-Bright preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness) - *@codeEnd - * - *@params - *@paramrow{1.,[out],maximizeBrightness,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the maximize brightness preset is returned. The variable is __true__ if the maximize brightness preset is used. The variable is __false__ if the maximize brightness preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of maximize brightness preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of maximize brightness preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsCurrentOptimizeBrightness IsCurrentOptimizeBrightness - *@ENG_START_DOX @brief Checks if the optimized brightness Vari-Bright preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness) - *@codeEnd - * - *@params - *@paramrow{1.,[out],optimizeBrightness,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the optimized brightness preset is returned. The variable is __true__ if the optimized brightness preset is used. The variable is __false__ if the optimized brightness preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of optimized brightness preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of optimized brightness preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsCurrentBalanced IsCurrentBalanced - *@ENG_START_DOX @brief Checks if the balanced Vari-Bright preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentBalanced (adlx_bool* balanced) - *@codeEnd - * - *@params - *@paramrow{1.,[out],balanced,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Vari-Bright preset is returned. The variable is __true__ if the balanced preset is used. The variable is __false__ if the balanced preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of balanced preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of balanced preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBalanced (adlx_bool* balanced) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsCurrentOptimizeBattery IsCurrentOptimizeBattery - *@ENG_START_DOX @brief Checks if the optimized battery Vari-Bright preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentOptimizeBattery (adlx_bool* optimizeBattery) - *@codeEnd - * - *@params - *@paramrow{1.,[out],optimizeBattery,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the optimized battery preset is returned. The variable is __true__ if the optimized battery preset is used. The variable is __false__ if the optimized battery preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of optimized battery preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of optimized battery preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOptimizeBattery (adlx_bool* optimizeBattery) = 0; - /** - *@page DOX_IADLXDisplayVariBright_IsCurrentMaximizeBattery IsCurrentMaximizeBattery - *@ENG_START_DOX @brief Checks if the maximize battery Vari-Bright preset is used on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentMaximizeBattery (adlx_bool* maximizeBattery) - *@codeEnd - * - *@params - *@paramrow{1.,[out],maximizeBattery,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the maximize battery preset is returned. The variable is __true__ if the maximize battery preset is used. The variable is __false__ if the maximize battery preset is not used. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of maximize battery preset is successfully returned, __ADLX_OK__ is returned.
- * If the state of maximize battery preset is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentMaximizeBattery (adlx_bool* maximizeBattery) = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetMaximizeBrightness SetMaximizeBrightness - *@ENG_START_DOX @brief Sets the maximize brightness Vari-Bright preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMaximizeBrightness () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the maximized brightness preset is successfully set, __ADLX_OK__ is returned.
- * If the maximized brightness preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMaximizeBrightness () = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetOptimizeBrightness SetOptimizeBrightness - *@ENG_START_DOX @brief Sets the optimize brightness Vari-Bright preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetOptimizeBrightness () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the optimize brightness preset is successfully set, __ADLX_OK__ is returned.
- * If the optimize brightness preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetOptimizeBrightness () = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetBalanced SetBalanced - *@ENG_START_DOX @brief Sets the balanced Vari-Bright preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBalanced () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the balanced preset is successfully set, __ADLX_OK__ is returned.
- * If the balanced preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBalanced () = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetOptimizeBattery SetOptimizeBattery - *@ENG_START_DOX @brief Sets the optimize battery Vari-Bright preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetOptimizeBattery () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the optimize battery preset is successfully set, __ADLX_OK__ is returned.
- * If the optimize battery preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetOptimizeBattery () = 0; - /** - *@page DOX_IADLXDisplayVariBright_SetMaximizeBattery SetMaximizeBattery - *@ENG_START_DOX @brief Sets the maximize battery Vari-Bright preset on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMaximizeBattery () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the maximize battery preset is successfully set, __ADLX_OK__ is returned.
- * If the maximize battery preset is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - * - *@ENG_START_DOX @details The maximized battery preset maximizes battery time. @ENG_END_DOX - * - *@copydoc IADLXDisplayVariBright_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMaximizeBattery () = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayVariBrightPtr; -} -#else -ADLX_DECLARE_IID (IADLXDisplayVariBright, L"IADLXDisplayVariBright") -typedef struct IADLXDisplayVariBright IADLXDisplayVariBright; - -typedef struct IADLXDisplayVariBrightVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplayVariBright* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXDisplayVariBright* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplayVariBright* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Vari-Bright interface - ADLX_RESULT (ADLX_STD_CALL* IsSupported)(IADLXDisplayVariBright* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsEnabled)(IADLXDisplayVariBright* pThis, adlx_bool* enabled); - ADLX_RESULT (ADLX_STD_CALL* SetEnabled)(IADLXDisplayVariBright* pThis, adlx_bool enabled); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentMaximizeBrightness)(IADLXDisplayVariBright* pThis, adlx_bool* maximizeBrightness); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentOptimizeBrightness)(IADLXDisplayVariBright* pThis, adlx_bool* optimizeBrightness); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentBalanced)(IADLXDisplayVariBright* pThis, adlx_bool* balanced); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentOptimizeBattery)(IADLXDisplayVariBright* pThis, adlx_bool* optimizeBattery); - ADLX_RESULT (ADLX_STD_CALL* IsCurrentMaximizeBattery)(IADLXDisplayVariBright* pThis, adlx_bool* maximizeBattery); - ADLX_RESULT (ADLX_STD_CALL* SetMaximizeBrightness)(IADLXDisplayVariBright* pThis); - ADLX_RESULT (ADLX_STD_CALL* SetOptimizeBrightness)(IADLXDisplayVariBright* pThis); - ADLX_RESULT (ADLX_STD_CALL* SetBalanced)(IADLXDisplayVariBright* pThis); - ADLX_RESULT (ADLX_STD_CALL* SetOptimizeBattery)(IADLXDisplayVariBright* pThis); - ADLX_RESULT (ADLX_STD_CALL* SetMaximizeBattery)(IADLXDisplayVariBright* pThis); -} IADLXDisplayVariBrightVtbl; - -struct IADLXDisplayVariBright -{ - const IADLXDisplayVariBrightVtbl* pVtbl; -}; -#endif - -#pragma endregion IADLXDisplayVariBright interface - -#pragma region IADLXDisplayConnectivtyExperience interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience : public IADLXInterface - { - public: - ADLX_DECLARE_IID(L"IADLXDisplayConnectivityExperience") - /** - *@page DOX_IADLXDisplayConnectivityExperience_IsSupportedHDMIQualityDetection IsSupportedHDMIQualityDetection - *@ENG_START_DOX @brief Checks if HDMI quality detection is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedHDMIQualityDetection (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDMI quality detection is returned. The variable is __true__ if HDMI quality detection is supported. The variable is __false__ if HDMI quality detection is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDMI quality detection is successfully returned, __ADLX_OK__ is returned.
- * If the state of HDMI quality detection is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedHDMIQualityDetection(adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_IsSupportedDPLink IsSupportedDPLink - *@ENG_START_DOX @brief Checks if DP link is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedDPLink (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the DP link state is returned. The variable is __true__ if DP link is supported. The variable is __false__ if DP link is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the DP link state is successfully returned, __ADLX_OK__ is returned.
- * If the DP link state is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedDPLink(adlx_bool* supported) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_IsEnabledHDMIQualityDetection IsEnabledHDMIQualityDetection - *@ENG_START_DOX @brief Checks if HDMI quality detection is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabledHDMIQualityDetection (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of HDMI quality detection is returned. The variable is __true__ if HDMI quality detection is enabled. The variable is __false__ if HDMI quality detection is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDMI quality detection is successfully returned, __ADLX_OK__ is returned.
- * If the state of HDMI quality detection is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabledHDMIQualityDetection(adlx_bool* enabled) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_SetEnabledHDMIQualityDetection SetEnabledHDMIQualityDetection - *@ENG_START_DOX @brief Sets the enabled or disabled status for HDMI quality detection on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabledHDMIQualityDetection (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new HDMI quality detection state. Set __true__ to enable HDMI quality detection. Set __false__ to disable HDMI quality detection. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of HDMI quality detection is successfully set, __ADLX_OK__ is returned.
- * If the state of HDMI quality detection is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabledHDMIQualityDetection(adlx_bool enabled) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_GetDPLinkRate GetDPLinkRate - *@ENG_START_DOX @brief Gets the Display Port (DP) link rate on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDPLinkRate(@ref ADLX_DP_LINK_RATE* linkRate) - *@codeEnd - * - *@params - * @paramrow{1.,[out],linkRate,@ref ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to a type where the current DP link rate is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the type of DP link rate is successfully returned, __ADLX_OK__ is returned.
- * If the type of DP link rate is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDPLinkRate(ADLX_DP_LINK_RATE* linkRate) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_GetNumberOfActiveLanes GetNumberOfActiveLanes - *@ENG_START_DOX @brief Gets the number of active lanes on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetNumberOfActiveLanes(adlx_uint* numActiveLanes) - *@codeEnd - * - *@params - * @paramrow{1.,[out],numActiveLanes,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current active lanes is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the number of active lanes is successfully returned, __ADLX_OK__ is returned.
- * If the number of active lanes is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfActiveLanes(adlx_uint* numActiveLanes) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_GetNumberOfTotalLanes GetNumberOfTotalLanes - *@ENG_START_DOX @brief Gets the total number of lanes on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetNumberOfTotalLanes(adlx_uint* numTotalLanes) - *@codeEnd - * - *@params - * @paramrow{1.,[out],numTotalLanes,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current total lanes is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the number of total lanes is successfully returned, __ADLX_OK__ is returned.
- * If the number of total lanes is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfTotalLanes(adlx_uint* numTotalLanes) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_GetRelativePreEmphasis GetRelativePreEmphasis - *@ENG_START_DOX @brief Gets the relative preset emphasis on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetRelativePreEmphasis(adlx_uint* relativePreEmphasis) - *@codeEnd - * - *@params - * @paramrow{1.,[out],relativePreEmphasis,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current relative preset emphasis is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the relative preset emphasis is successfully returned, __ADLX_OK__ is returned.
- * If the relative preset emphasis is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetRelativePreEmphasis(adlx_int* relativePreEmphasis) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_SetRelativePreEmphasis SetRelativePreEmphasis - *@ENG_START_DOX @brief Sets the relative preset emphasis on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetRelativePreEmphasis(adlx_uint relativePreEmphasis) - *@codeEnd - * - *@params - * @paramrow{1.,[in],relativePreEmphasis,ADLX_DP_LINK_RATE*,@ENG_START_DOX The new relative preset emphasis. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the relative preset emphasis is successfully set, __ADLX_OK__ is returned.
- * If the relative preset emphasis is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Note that relative preset emphasis allowed values range between -2 to +2. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL SetRelativePreEmphasis(adlx_int relativePreEmphasis) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_GetRelativeVoltageSwing GetRelativeVoltageSwing - *@ENG_START_DOX @brief Gets the relative voltage swing on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetRelativeVoltageSwing(adlx_uint* relativeVoltageSwing) - *@codeEnd - * - *@params - * @paramrow{1.,[out],relativeVoltageSwing,ADLX_DP_LINK_RATE*,@ENG_START_DOX The pointer to the number of current relative voltage swing is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the relative voltage swing is successfully returned, __ADLX_OK__ is returned.
- * If the relative voltage swing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetRelativeVoltageSwing(adlx_int* relativeVoltageSwing) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_SetRelativeVoltageSwing SetRelativeVoltageSwing - *@ENG_START_DOX @brief Sets the relative voltage swing on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetRelativeVoltageSwing(adlx_uint relativeVoltageSwing) - *@codeEnd - * - *@params - * @paramrow{1.,[in],relativeVoltageSwing,ADLX_DP_LINK_RATE*,@ENG_START_DOX The new relative voltage swing. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the relative voltage swing is successfully set, __ADLX_OK__ is returned.
- * If the relative voltage swing is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Note that relative voltage swing allowed values range between -2 to +2. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL SetRelativeVoltageSwing(adlx_int relativeVoltageSwing) = 0; - /** - *@page DOX_IADLXDisplayConnectivityExperience_IsEnabledLinkProtection IsEnabledLinkProtection - *@ENG_START_DOX @brief Checks if link protection is enabled on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabledLinkProtection (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of link protection is returned. The variable is __true__ if link protection is enabled. The variable is __false__ if link protection is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of link protection is successfully returned, __ADLX_OK__ is returned.
- * If the state of link protection is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayConnectivityExperience_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabledLinkProtection(adlx_bool* enabled) = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayConnectivityExperiencePtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayConnectivityExperience, L"IADLXDisplayConnectivityExperience") -typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience; - -typedef struct IADLXDisplayConnectivityExperienceVtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayConnectivityExperience* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayConnectivityExperience* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayConnectivityExperience* pThis, const wchar_t* interfaceId, void** ppInterface); - - // Display Connectivity Experience interface - ADLX_RESULT(ADLX_STD_CALL* IsSupportedHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedDPLink)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* enabled); - ADLX_RESULT(ADLX_STD_CALL* SetEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool enabled); - ADLX_RESULT(ADLX_STD_CALL* GetDPLinkRate)(IADLXDisplayConnectivityExperience* pThis, ADLX_DP_LINK_RATE* linkRate); - ADLX_RESULT(ADLX_STD_CALL* GetNumberOfActiveLanes)(IADLXDisplayConnectivityExperience* pThis, adlx_uint* numActiveLanes); - ADLX_RESULT(ADLX_STD_CALL* GetNumberOfTotalLanes)(IADLXDisplayConnectivityExperience* pThis, adlx_uint* numTotalLanes); - ADLX_RESULT(ADLX_STD_CALL* GetRelativePreEmphasis)(IADLXDisplayConnectivityExperience* pThis, adlx_int* relativePreEmphasis); - ADLX_RESULT(ADLX_STD_CALL* SetRelativePreEmphasis)(IADLXDisplayConnectivityExperience* pThis, adlx_int relativePreEmphasis); - ADLX_RESULT(ADLX_STD_CALL* GetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience* pThis, adlx_int* relativeVoltageSwing); - ADLX_RESULT(ADLX_STD_CALL* SetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience* pThis, adlx_int relativeVoltageSwing); - ADLX_RESULT(ADLX_STD_CALL* IsEnabledLinkProtection)(IADLXDisplayConnectivityExperience* pThis, adlx_bool* enabled); -} IADLXDisplayConnectivityExperienceVtbl; - -struct IADLXDisplayConnectivityExperience -{ - const IADLXDisplayConnectivityExperienceVtbl* pVtbl; -}; -#endif - -#pragma endregion IADLXDisplayConnectivtyExperience interface - -#pragma region IADLXDisplayBlanking interface - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayBlanking : public IADLXInterface - { - public: - ADLX_DECLARE_IID(L"IADLXDisplayBlanking") - - /** - *@page DOX_IADLXDisplayBlanking_IsSupported IsSupported - *@ENG_START_DOX @brief Check if display blanking is supported on a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of display blanking is returned. The variable is __true__ if display blanking is supported. The variable is __false__ if display blanking is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned.
- * If the state of display blanking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayBlanking_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXDisplayBlanking_IsCurrentBlanked IsCurrentBlanked - *@ENG_START_DOX @brief Checks if the current display is blanked. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentBlanked (adlx_bool* blanked) - *@codeEnd - * - *@params - *@paramrow{1.,[out],blanked,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the display blanking is returned. The variable is __true__ if display blanking is enabled. The variable is __false__ if display blanking is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned.
- * If the state of display blanking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayBlanking_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBlanked(adlx_bool* blanked) = 0; - - /** - *@page DOX_IADLXDisplayBlanking_IsCurrentUnblanked IsCurrentUnblanked - *@ENG_START_DOX @brief Check if the current display is unblanked. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentUnblanked (adlx_bool* unBlanked) - *@codeEnd - * - *@params - *@paramrow{1.,[out],unBlanked,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the display blanking is returned. The variable is __true__ if display blanking is not enabled. The variable is __false__ if display blanking is enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned.
- * If the state of display blanking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayBlanking_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentUnblanked(adlx_bool* unBlanked) = 0; - - /** - *@page DOX_IADLXDisplayBlanking_SetBlanked SetBlanked - *@ENG_START_DOX @brief Set the state of display blanking to "blanked". @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBlanked () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned.
- * If the state of display blanking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayBlanking_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBlanked() = 0; - - /** - *@page DOX_IADLXDisplayBlanking_SetUnblanked SetUnblanked - *@ENG_START_DOX @brief Set the state of display blanking to "unblanked". @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetUnblanked () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the state of display blanking is successfully returned, __ADLX_OK__ is returned.
- * If the state of display blanking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXDisplayBlanking_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetUnblanked() = 0; - }; - - typedef IADLXInterfacePtr_T IADLXDisplayBlankingPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayBlanking, L"IADLXDisplayBlanking") -typedef struct IADLXDisplayBlanking IADLXDisplayBlanking; - -typedef struct IADLXDisplayBlankingVtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayBlanking* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayBlanking* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayBlanking* pThis, const wchar_t* interfaceId, void** ppInterface); - - //DisplayBlanking interface - ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXDisplayBlanking* pThis, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsCurrentBlanked)(IADLXDisplayBlanking* pThis, adlx_bool* blanked); - ADLX_RESULT(ADLX_STD_CALL* IsCurrentUnblanked)(IADLXDisplayBlanking* pThis, adlx_bool* unBlanked); - ADLX_RESULT(ADLX_STD_CALL* SetBlanked)(IADLXDisplayBlanking* pThis); - ADLX_RESULT(ADLX_STD_CALL* SetUnblanked)(IADLXDisplayBlanking* pThis); -} IADLXDisplayBlankingVtbl; - -struct IADLXDisplayBlanking -{ - const IADLXDisplayBlankingVtbl* pVtbl; -}; -#endif - -#pragma endregion IADLXDisplayBlanking interface - -#endif // ADLX_IDISPLAYSETTING_H diff --git a/vendor/adlx/SDK/Include/IDisplays.h b/vendor/adlx/SDK/Include/IDisplays.h deleted file mode 100644 index 5a64a8d..0000000 --- a/vendor/adlx/SDK/Include/IDisplays.h +++ /dev/null @@ -1,2676 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYS_H -#define ADLX_IDISPLAYS_H -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" -#include "IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays.h - Interfaces for ADLX Display Information functionality - -//Display interface -#pragma region IADLXDisplay -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - class ADLX_NO_VTABLE IADLXDisplayGamut; - class ADLX_NO_VTABLE IADLXDisplayGamma; - class ADLX_NO_VTABLE IADLXDisplay3DLUT; - class ADLX_NO_VTABLE IADLXDisplayFreeSync; - class ADLX_NO_VTABLE IADLXDisplayVSR; - class ADLX_NO_VTABLE IADLXDisplayGPUScaling; - class ADLX_NO_VTABLE IADLXDisplayScalingMode; - class ADLX_NO_VTABLE IADLXDisplayIntegerScaling; - class ADLX_NO_VTABLE IADLXDisplayColorDepth; - class ADLX_NO_VTABLE IADLXDisplayPixelFormat; - class ADLX_NO_VTABLE IADLXDisplayCustomColor; - class ADLX_NO_VTABLE IADLXDisplayHDCP; - class ADLX_NO_VTABLE IADLXDisplayCustomResolution; - class ADLX_NO_VTABLE IADLXDisplayVariBright; - class ADLX_NO_VTABLE IADLXDisplay : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplay") - - /** - * @page DOX_IADLXDisplay_ManufacturerID ManufacturerID - * @ENG_START_DOX - * @brief Gets the manufacturer id of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT ManufacturerID (adlx_uint* manufacturerID) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,manufacturerID,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the manufacturer id is returned. A valid id is greater than zero. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the manufacturer id is successfully returned, __ADLX_OK__ is returned.
- * If the manufacturer id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The manufacturer id is a predetermined value programmed into the display at the time of manufacturing. A valid manufacturer id is an integer greater than zero.
- * If zero is returned this means the display manufacturer id is invalid. - * @ENG_END_DOX - * - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ManufacturerID (adlx_uint* manufacturerID) const = 0; - - /** - * @page DOX_IADLXDisplay_DisplayType DisplayType - * @ENG_START_DOX - * @brief Gets the type of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT DisplayType (@ref ADLX_DISPLAY_TYPE* displayType) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,displayType,@ref ADLX_DISPLAY_TYPE* ,@ENG_START_DOX The pointer to a variable where the display type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the type of this display is successfully returned, __ADLX_OK__ is returned.
- * If the type of this display is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The display type can be used to discover if the display is a TV, a Digital Flat Panel, or any other kind of display. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DisplayType (ADLX_DISPLAY_TYPE* displayType) const = 0; - - /** - * @page DOX_IADLXDisplay_ConnectorType ConnectorType - * @ENG_START_DOX - * @brief Gets the connector type of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT ConnectorType (@ref ADLX_DISPLAY_CONNECTOR_TYPE* connectType) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,connectType,@ref ADLX_DISPLAY_CONNECTOR_TYPE* ,@ENG_START_DOX The pointer to a variable where the connector type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the connector type is successfully returned, __ADLX_OK__ is returned.
- * If the connector type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The connector type can be used to discover if the display is connected to the GPU using HDMI, DisplayPort or any other kind of display interface. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ConnectorType (ADLX_DISPLAY_CONNECTOR_TYPE* connectType) const = 0; - - /** - * @page DOX_IADLXDisplay_Name Name - * @ENG_START_DOX - * @brief Gets the name of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT Name (const char** displayName) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,displayName,const char** ,@ENG_START_DOX The pointer to a zero-terminated string where the display name is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the name of this display is successfully returned, __ADLX_OK__ is returned.
- * If the name of this display is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The display name is a predetermined value programmed into the display at the time of manufacturing. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXDisplay interface. If the application uses the display name beyond the lifetime of the IADLXDisplay @ref DOX_IADLXDisplay interface, the application must make a copy of the display name. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Name (const char** displayName) const = 0; - - /** - * @page DOX_IADLXDisplay_EDID EDID - * @ENG_START_DOX - * @brief Gets the virtual EDID (Extended Display Identification Data) of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT EDID (const char** edid) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,edid,const char** ,@ENG_START_DOX The pointer to a zero-terminated buffer where the display EDID data is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the virtual EDID is successfully returned, __ADLX_OK__ is returned.
- * If the virtual EDID is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details EDID is a standardized metadata programmed into the display device by the manufacturer and is used for interoperability by video sources to discover the capabilities and information about the display device. VESA (Video Electronics Standards Association) defines the standard for the EDID data. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXDisplay interface. If the application uses the EDID beyond the lifetime of the IADLXDisplay @ref DOX_IADLXDisplay interface, the application must make a copy of the EDID. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL EDID (const char** edid) const = 0; - - /** - * @page DOX_IADLXDisplay_NativeResolution NativeResolution - * @ENG_START_DOX - * @brief Gets the native resolution of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT NativeResolution (adlx_int* maxHResolution, adlx_int* maxVResolution) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,maxHResolution,adlx_int* ,@ENG_START_DOX The pointer to a variable where the horizontal resolution of the display is returned. @ENG_END_DOX} - * @paramrow{2.,[out] ,maxVResolution,adlx_int* ,@ENG_START_DOX The pointer to a variable where the vertical resolution of the display is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the native resolution is successfully returned, __ADLX_OK__ is returned.
- * If the resolution is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The native resolution of the display is shown in the Windows Advanced display settings as Active signal resolution. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL NativeResolution (adlx_int* maxHResolution, adlx_int* maxVResolution) const = 0; - - /** - * @page DOX_IADLXDisplay_RefreshRate RefreshRate - * @ENG_START_DOX - * @brief Gets the refresh rate of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT RefreshRate (adlx_double* refreshRate) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,refreshRate,adlx_double* ,@ENG_START_DOX The pointer to a variable where the refresh rate of the display (in Hz) is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the refresh rate is successfully returned, __ADLX_OK__ is returned.
- * If the refresh rate is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The refresh rate returns the number of times per second the display shows a new image. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RefreshRate (adlx_double* refreshRate) const = 0; - - /** - * @page DOX_IADLXDisplay_PixelClock PixelClock - * @ENG_START_DOX - * @brief Gets the pixel clock of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT PixelClock (adlx_uint* pixelClock) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,pixelClock,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the pixel clock of the display (in KHz) is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the pixel clock is successfully returned, __ADLX_OK__ is returned.
- * If the pixel clock is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The pixel clock rate is the speed at which pixels are transmitted over a video signal such as HDMI or DVI, to fit a full frame of pixels in one refresh cycle. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL PixelClock (adlx_uint* pixelClock) const = 0; - - /** - * @page DOX_IADLXDisplay_ScanType ScanType - * @ENG_START_DOX - * @brief Gets the scan type of a display. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT ScanType (@ref ADLX_DISPLAY_SCAN_TYPE* scanType) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,scanType,@ref ADLX_DISPLAY_SCAN_TYPE* ,@ENG_START_DOX The pointer to a variable where the scan type of the display is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the scan type is successfully returned, __ADLX_OK__ is returned.
- * If the scan type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The scan type can be progressive or interlaced. - * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ScanType (ADLX_DISPLAY_SCAN_TYPE* scanType) const = 0; - - /** - *@page DOX_IADLXDisplay_GetGPU GetGPU - *@ENG_START_DOX @brief Gets the reference counted GPU interface of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPU (@ref DOX_IADLXGPU** ppGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppGPU,@ref DOX_IADLXGPU** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the reference counted GPU interface is successfully returned, __ADLX_OK__ is returned.
- * If the reference counted GPU interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPU (IADLXGPU** ppGPU) = 0; - - /** - * @page DOX_IADLXDisplay_UniqueId UniqueId - * @ENG_START_DOX@brief Gets the unique id of a Display.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT UniqueId(adlx_size* uniqueId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],uniqueId,adlx_size*,@ENG_START_DOX The pointer to a variable where the unique id of the Display is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the unique id is successfully returned, __ADLX_OK__ is returned.
- * If the unique id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXDisplay_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL UniqueId(adlx_size* uniqueId) = 0; - }; //IADLXDisplay - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplay, L"IADLXDisplay") -typedef struct IADLXDisplayGamut IADLXDisplayGamut; -typedef struct IADLXDisplayGamma IADLXDisplayGamma; -typedef struct IADLXDisplay3DLUT IADLXDisplay3DLUT; -typedef struct IADLXGPU IADLXGPU; - -typedef struct IADLXDisplay IADLXDisplay; - -typedef struct IADLXDisplayVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplay* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplay* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplay* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXDisplay - ADLX_RESULT (ADLX_STD_CALL* ManufacturerID)( IADLXDisplay* pThis, adlx_uint* manufacturerID ); - ADLX_RESULT (ADLX_STD_CALL* DisplayType)( IADLXDisplay* pThis, ADLX_DISPLAY_TYPE* displayType ); - ADLX_RESULT (ADLX_STD_CALL* ConnectorType)( IADLXDisplay* pThis, ADLX_DISPLAY_CONNECTOR_TYPE* connectType ); - ADLX_RESULT (ADLX_STD_CALL* Name)( IADLXDisplay* pThis, const char** displayName ); - ADLX_RESULT (ADLX_STD_CALL* EDID)( IADLXDisplay* pThis, const char** edid ); - ADLX_RESULT (ADLX_STD_CALL* NativeResolution)( IADLXDisplay* pThis, adlx_int* maxHResolution, adlx_int* maxVResolution ); - ADLX_RESULT (ADLX_STD_CALL* RefreshRate)( IADLXDisplay* pThis, adlx_double* refreshRate ); - ADLX_RESULT (ADLX_STD_CALL* PixelClock)( IADLXDisplay* pThis, adlx_uint* pixelClock ); - ADLX_RESULT (ADLX_STD_CALL* ScanType)( IADLXDisplay* pThis, ADLX_DISPLAY_SCAN_TYPE* scanType ); - ADLX_RESULT (ADLX_STD_CALL* GetGPU)( IADLXDisplay* pThis, IADLXGPU** ppGPU ); - ADLX_RESULT (ADLX_STD_CALL* UniqueId)( IADLXDisplay* pThis, adlx_size* uniqueId ); -}IADLXDisplayVtbl; - -struct IADLXDisplay { const IADLXDisplayVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplay - -//Display list interface -#pragma region IADLXDisplayList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXDisplay::IID ()) - - /** - * @page DOX_IADLXDisplayList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXDisplay** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXDisplay** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXDisplayList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXDisplay** ppItem) = 0; - - /** - *@page DOX_IADLXDisplayList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXDisplay* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details @ENG_END_DOX - * - *@copydoc IADLXDisplayList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXDisplay* pItem) = 0; - }; //IADLXDisplayList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayList, L"IADLXDisplayList") -ADLX_DECLARE_ITEM_IID (IADLXDisplay, IID_IADLXDisplay ()) - -typedef struct IADLXDisplayList IADLXDisplayList; - -typedef struct IADLXDisplayListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplayList* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplayList* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplayList* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXList - adlx_uint (ADLX_STD_CALL* Size)( IADLXDisplayList* pThis ); - adlx_bool (ADLX_STD_CALL* Empty)( IADLXDisplayList* pThis ); - adlx_uint (ADLX_STD_CALL* Begin)( IADLXDisplayList* pThis ); - adlx_uint (ADLX_STD_CALL* End)( IADLXDisplayList* pThis ); - ADLX_RESULT (ADLX_STD_CALL* At)( IADLXDisplayList* pThis, const adlx_uint location, IADLXInterface** ppItem ); - ADLX_RESULT (ADLX_STD_CALL* Clear)( IADLXDisplayList* pThis ); - ADLX_RESULT (ADLX_STD_CALL* Remove_Back)( IADLXDisplayList* pThis ); - ADLX_RESULT (ADLX_STD_CALL* Add_Back)( IADLXDisplayList* pThis, IADLXInterface* pItem ); - - //IADLXDisplayList - ADLX_RESULT (ADLX_STD_CALL* At_DisplayList)( IADLXDisplayList* pThis, const adlx_uint location, IADLXDisplay** ppItem ); - ADLX_RESULT (ADLX_STD_CALL* Add_Back_DisplayList)( IADLXDisplayList* pThis, IADLXDisplay* pItem ); - -}IADLXDisplayListVtbl; - -struct IADLXDisplayList { const IADLXDisplayListVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayList - -//Display List changed listener interface. To be implemented in application and passed in IADLXDisplayChangedHandling::AddDisplayListEventListener() -#pragma region IADLXDisplayListChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayListChangedListener - { - public: - /** - *@page DOX_IADLXDisplayListChangedListener_OnDisplayListChanged OnDisplayListChanged - *@ENG_START_DOX @brief The __OnDisplayListChanged__ method is called by ADLX when the display list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDisplayListChanged (@ref DOX_IADLXDisplayList* pNewDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pNewDisplay,@ref DOX_IADLXDisplayList* ,@ENG_START_DOX The pointer to the new display list. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * Once the application registers to the notifications with @ref DOX_IADLXDisplayChangedHandling_AddDisplayListEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayListEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new display list with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new display list with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayListChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDisplayListChanged (IADLXDisplayList* pNewDisplay) = 0; - }; //IADLXDisplayListChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDisplayListChangedListener IADLXDisplayListChangedListener; - -typedef struct IADLXDisplayListChangedListenerVtbl -{ - // IDisplayEventListener interface - adlx_bool (ADLX_STD_CALL* OnDisplayListChanged)( IADLXDisplayListChangedListener* pThis, IADLXDisplayList* pNewDisplay ); - -} IADLXDisplayListChangedListenerVtbl; - -struct IADLXDisplayListChangedListener { const IADLXDisplayListChangedListenerVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayListChangedListener - -//Interface with information on gamut changes on a display. ADLX passes this to application that registered for Gamut changed event in the IADLXDisplayGamutChangedListener::OnDisplayGamutChanged() -#pragma region IADLXDisplayGamutChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGamutChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayGamutChangedEvent") - - /** - *@page DOX_IADLXDisplayGamutChangedEvent_GetDisplay GetDisplay - *@ENG_START_DOX @brief Gets the reference counted display interface on which the gamut setting is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplay (@ref DOX_IADLXDisplay** ppDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppDisplay,@ref DOX_IADLXDisplay** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the display interface is successfully returned, __ADLX_OK__ is returned.
- * If the display inferface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLXDisplayGamutChangedEvent_GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. - *@ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamutChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplay (IADLXDisplay** ppDisplay) = 0; - - /** - *@page DOX_IADLXDisplayGamutChangedEvent_IsWhitePointChanged IsWhitePointChanged - *@ENG_START_DOX @brief Checks if the white point of the display gamut is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsWhitePointChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the white point is changed, __true__ is returned.
- * If the white point is not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGamutChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGamutChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsWhitePointChanged () = 0; - - /** - *@page DOX_IADLXDisplayGamutChangedEvent_IsColorSpaceChanged IsColorSpaceChanged - *@ENG_START_DOX @brief Checks if the color space of the display gamut is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsColorSpaceChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the color space is changed, __true__ is returned.
- * If the color space is not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGamutChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGamutChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsColorSpaceChanged () = 0; - }; //IADLXDisplayGamutChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayGamutChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayGamutChangedEvent, L"IADLXDisplayGamutChangedEvent") -typedef struct IADLXDisplayGamutChangedEvent IADLXDisplayGamutChangedEvent; - -typedef struct IADLXDisplayGamutChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplayGamutChangedEvent* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplayGamutChangedEvent* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplayGamutChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplayGamutChangedEvent* pThis); - - // IADLXDisplayGamutChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL* GetDisplay)( IADLXDisplayGamutChangedEvent* pThis, IADLXDisplay** ppDisplay ); - adlx_bool (ADLX_STD_CALL* IsWhitePointChanged)( IADLXDisplayGamutChangedEvent* pThis ); - adlx_bool (ADLX_STD_CALL* IsColorSpaceChanged)( IADLXDisplayGamutChangedEvent* pThis ); - -} IADLXDisplayGamutChangedEventVtbl; - -struct IADLXDisplayGamutChangedEvent { const IADLXDisplayGamutChangedEventVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayGamutChangedEvent - -//Display Gamut changed listener interface. To be implemented in application and passed in IADLXDisplayChangedHandling::AddDisplayGamutEventListener() -#pragma region IADLXDisplayGamutChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGamutChangedListener - { - public: - /** - *@page DOX_IADLXDisplayGamutChangedListener_OnDisplayGamutChanged OnDisplayGamutChanged - *@ENG_START_DOX @brief The __OnDisplayGamutChanged__ method is called by ADLX when the display gamut changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDisplayGamutChanged (@ref DOX_IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGamutChangedEvent,@ref DOX_IADLXDisplayGamutChangedEvent* ,@ENG_START_DOX The pointer to the event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * Once the application registers to the notifications with @ref DOX_IADLXDisplayChangedHandling_AddDisplayGamutEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayGamutEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamut change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamut change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGamutChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDisplayGamutChanged (IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) = 0; - }; //IADLXDisplayGamutChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDisplayGamutChangedListener IADLXDisplayGamutChangedListener; - -typedef struct IADLXDisplayGamutChangedListenerVtbl -{ - // IADLXDisplayGamutChangedListener interface - adlx_bool (ADLX_STD_CALL* OnDisplayGamutChanged)( IADLXDisplayGamutChangedListener* pThis, IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent ); - -} IADLXDisplayGamutChangedListenerVtbl; - -struct IADLXDisplayGamutChangedListener { const IADLXDisplayGamutChangedListenerVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayGamutChangedListener - -//Interface with information on gamma changes on a display. ADLX passes this to application that registered for Gamma changed event in the IADLXDisplayGammaChangedListener::OnDisplayGammaChanged() -#pragma region IADLXDisplayGammaChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGammaChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayGammaChangedEvent") - - /** - *@page DOX_IADLXDisplayGammaChangedEvent_GetDisplay GetDisplay - *@ENG_START_DOX @brief Gets the reference counted display interface on which the gamma setting is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplay (@ref DOX_IADLXDisplay** ppDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppDisplay,@ref DOX_IADLXDisplay** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the display interface is successfully returned, __ADLX_OK__ is returned.
- * If the display inferface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLXDisplayGammaChangedEvent_GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. - *@ENG_END_DOX - * - * - *@copydoc IADLXDisplayGammaChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplay (IADLXDisplay** ppDisplay) = 0; - - /** - *@page DOX_IADLXDisplayGammaChangedEvent_IsGammaRampChanged IsGammaRampChanged - *@ENG_START_DOX @brief Checks if the gamma ramp of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsGammaRampChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the gamma ramp is changed, __true__ is returned.
- * If the gamma ramp is not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGammaChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGammaChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsGammaRampChanged () = 0; - - /** - *@page DOX_IADLXDisplayGammaChangedEvent_IsGammaCoefficientChanged IsGammaCoefficientChanged - *@ENG_START_DOX @brief Checks if the gamma coefficient of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsGammaCoefficientChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the gamma coefficient is changed, __true__ is returned.
- * If the gamma coefficient is not changed, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGammaChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGammaChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsGammaCoefficientChanged () = 0; - - /** - *@page DOX_IADLXDisplayGammaChangedEvent_IsReGammaChanged IsReGammaChanged - *@ENG_START_DOX @brief Checks if the re-gamma of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsReGammaChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the re-gamma is changed, __true__ is returned.
- * If the re-gamma is not changed, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGammaChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGammaChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsReGammaChanged () = 0; - - /** - *@page DOX_IADLXDisplayGammaChangedEvent_IsDeGammaChanged IsDeGammaChanged - *@ENG_START_DOX @brief Checks if the de-gamma of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsDeGammaChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the de-gamma is changed, __true__ is returned.
- * If the de-gamma is not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplayGammaChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplayGammaChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsDeGammaChanged () = 0; - }; //IADLXDisplayGammaChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayGammaChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayGammaChangedEvent, L"IADLXDisplayGammaChangedEvent") -typedef struct IADLXDisplayGammaChangedEvent IADLXDisplayGammaChangedEvent; - -typedef struct IADLXDisplayGammaChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplayGammaChangedEvent* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplayGammaChangedEvent* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplayGammaChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplayGammaChangedEvent* pThis); - - // IADLXDisplayGammaChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL* GetDisplay)( IADLXDisplayGammaChangedEvent* pThis, IADLXDisplay** ppDisplay ); - adlx_bool (ADLX_STD_CALL* IsGammaRampChanged)( IADLXDisplayGammaChangedEvent* pThis ); - adlx_bool (ADLX_STD_CALL* IsGammaCoefficientChanged)( IADLXDisplayGammaChangedEvent* pThis ); - adlx_bool (ADLX_STD_CALL* IsReGammaChanged)( IADLXDisplayGammaChangedEvent* pThis ); - adlx_bool (ADLX_STD_CALL* IsDeGammaChanged)( IADLXDisplayGammaChangedEvent* pThis ); - -} IADLXDisplayGammaChangedEventVtbl; - -struct IADLXDisplayGammaChangedEvent { const IADLXDisplayGammaChangedEventVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayGammaChangedEvent - -//Display Gamma changed listener interface. To be implemented in application and passed in IADLXDisplayChangedHandling::AddDisplayGammaEventListener() -#pragma region IADLXDisplayGammaChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayGammaChangedListener - { - public: - /** - *@page DOX_IADLXDisplayGammaChangedListener_OnDisplayGammaChanged OnDisplayGammaChanged - *@ENG_START_DOX @brief The __OnDisplayGammaChanged__ method is called by ADLX when the display gamma changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDisplayGammaChanged (@ref DOX_IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGammaChangedEvent,@ref DOX_IADLXDisplayGammaChangedEvent* ,@ENG_START_DOX The pointer to the event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * Once the application registers to the notifications with @ref DOX_IADLXDisplayChangedHandling_AddDisplayGammaEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayGammaEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamma change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamma change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayGammaChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDisplayGammaChanged (IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) = 0; - }; //IADLXDisplayGammaChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDisplayGammaChangedListener IADLXDisplayGammaChangedListener; - -typedef struct IADLXDisplayGammaChangedListenerVtbl -{ - // IADLXDisplayGammaChangedListener interface - adlx_bool (ADLX_STD_CALL* OnDisplayGammaChanged)( IADLXDisplayGammaChangedListener* pThis, IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent ); - -} IADLXDisplayGammaChangedListenerVtbl; - -struct IADLXDisplayGammaChangedListener { const IADLXDisplayGammaChangedListenerVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayGammaChangedListener - -//Interface with information on 3D LUT changes on a display. ADLX passes this to application that registered for 3D LUT changed event in the IADLXDisplay3DLUTChangedListener::OnDisplay3DLUTChanged() -#pragma region IADLXDisplay3DLUTChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplay3DLUTChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXDisplay3DLUTChangedEvent") - - /** - *@page DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay GetDisplay - *@ENG_START_DOX @brief Gets the reference counted display interface on which the 3D LUT is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplay (@ref DOX_IADLXDisplay** ppDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,ppDisplay,@ref DOX_IADLXDisplay** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the display interface is successfully returned, __ADLX_OK__ is returned.
- * If the display inferface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. - *@ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUTChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplay (IADLXDisplay** ppDisplay) = 0; - /** - *@page DOX_IADLXDisplay3DLUTChangedEvent_IsSCEChanged IsSCEChanged - *@ENG_START_DOX @brief Checks if the color enhancement of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsSCEChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the color enhancement is changed, __true__ is returned.
- * If the color enhancement is not changed, __false__ is returned.
@ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUTChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsSCEChanged() = 0; - /** - *@page DOX_IADLXDisplay3DLUTChangedEvent_IsCustom3DLUTChanged IsCustom3DLUTChanged - *@ENG_START_DOX @brief Checks if the custom 3D LUT for panel calibration of a display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustom3DLUTChanged () - *@codeEnd - * - *@params - *N/A - * - * - *@retvalues - *@ENG_START_DOX - * If the custom 3D LUT is changed, __true__ is returned.
- * If the custom 3D LUT is not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplay3DLUTChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustom3DLUTChanged() = 0; - }; //IADLXDisplay3DLUTChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplay3DLUTChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplay3DLUTChangedEvent, L"IADLXDisplay3DLUTChangedEvent") -typedef struct IADLXDisplay3DLUTChangedEvent IADLXDisplay3DLUTChangedEvent; - -typedef struct IADLXDisplay3DLUTChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplay3DLUTChangedEvent* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplay3DLUTChangedEvent* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplay3DLUTChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplay3DLUTChangedEvent* pThis); - - // IADLXDisplay3DLUTChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL* GetDisplay)( IADLXDisplay3DLUTChangedEvent* pThis, IADLXDisplay** ppDisplay ); - adlx_bool (ADLX_STD_CALL* IsSCEChanged)( IADLXDisplay3DLUTChangedEvent* pThis ); - adlx_bool (ADLX_STD_CALL* IsCustom3DLUTChanged)( IADLXDisplay3DLUTChangedEvent* pThis ); -} IADLXDisplay3DLUTChangedEventVtbl; - -struct IADLXDisplay3DLUTChangedEvent { const IADLXDisplay3DLUTChangedEventVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplay3DLUTChangedEvent - -//Display 3D LUT changed listener interface. To be implemented in application and passed in IADLXDisplayChangedHandling::AddDisplay3DLUTEventListener() -#pragma region IADLXDisplay3DLUTChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplay3DLUTChangedListener - { - public: - /** - *@page DOX_IADLXDisplay3DLUTChangedListener_OnDisplay3DLUTChanged OnDisplay3DLUTChanged - *@ENG_START_DOX @brief The __OnDisplay3DLUTChanged__ method is called by ADLX when the display 3D LUT changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDisplay3DLUTChanged (@ref DOX_IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay3DLUTChangedEvent,@ref DOX_IADLXDisplay3DLUTChangedEvent* ,@ENG_START_DOX The pointer to the event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * Once the application registers to the notifications with @ref DOX_IADLXDisplayChangedHandling_AddDisplay3DLUTEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplay3DLUTEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D LUT change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D LUT change event with @ref DOX_IADLXInterface_Release.
@ENG_END_DOX - * - * - *@copydoc IADLXDisplay3DLUTChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged (IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) = 0; - }; //IADLXDisplay3DLUTChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDisplay3DLUTChangedListener IADLXDisplay3DLUTChangedListener; - -typedef struct IADLXDisplay3DLUTChangedListenerVtbl -{ - // IADLXDisplayGammaChangedListener interface - adlx_bool (ADLX_STD_CALL* OnDisplay3DLUTChanged)( IADLXDisplay3DLUTChangedListener* pThis, IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent ); - -} IADLXDisplay3DLUTChangedListenerVtbl; - -struct IADLXDisplay3DLUTChangedListener { const IADLXDisplay3DLUTChangedListenerVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplay3DLUTChangedListener - -#pragma region IADLXDisplaySettingsChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplay; - - class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXDisplaySettingsChangedEvent") - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_GetDisplay GetDisplay - *@ENG_START_DOX @brief Gets the reference counted display interface on which settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplay (@ref DOX_IADLXDisplay **ppDisplay) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppDisplay,@ref DOX_IADLXDisplay**, @ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the display interface is successfully returned, __ADLX_OK__ is returned.
- * If the display interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. - * @ENG_END_DOX - * - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplay (IADLXDisplay** ppDisplay) = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsFreeSyncChanged IsFreeSyncChanged - *@ENG_START_DOX @brief Checks if the AMD FreeSync™ settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsFreeSyncChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the AMD FreeSync settings are changed, __true__ is returned.
- * If the AMD FreeSync settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - * @ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsFreeSyncChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsVSRChanged IsVSRChanged - *@ENG_START_DOX @brief Checks if the AMD Virtual Super Resolution settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsVSRChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the Virtual Super Resolution settings are changed, __true__ is returned.
- * If the Virtual Super Resolution settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - * @ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsVSRChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsGPUScalingChanged IsGPUScalingChanged - *@ENG_START_DOX @brief Checks if the GPU scaling settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsGPUScalingChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the GPU scaling settings are changed, __true__ is returned.
- * If the GPU scaling settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - * @ENG_END_DOX - * - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsGPUScalingChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsScalingModeChanged IsScalingModeChanged - *@ENG_START_DOX @brief Checks if the scaling mode settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsScalingModeChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the scaling mode settings are changed, __true__ is returned.
- * If the scaling mode settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - * @ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsScalingModeChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsIntegerScalingChanged IsIntegerScalingChanged - *@ENG_START_DOX @brief Checks if the Integer Display Scaling settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsIntegerScalingChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the Integer Display Scaling settings are changed, __true__ is returned.
- * If the Integer Display Scaling settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsIntegerScalingChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsColorDepthChanged IsColorDepthChanged - *@ENG_START_DOX @brief Checks if the color format settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsColorDepthChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the color format settings are changed, __true__ is returned.
- * If the color format settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsColorDepthChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsPixelFormatChanged IsPixelFormatChanged - *@ENG_START_DOX @brief Checks if the pixel format settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsPixelFormatChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the pixel format settings are changed, __true__ is returned.
- * If the pixel format settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsPixelFormatChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsHDCPChanged IsHDCPChanged - *@ENG_START_DOX @brief Checks if the HDCP settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsHDCPChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the HDCP settings are changed, __true__ is returned.
- * If the HDCP settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsHDCPChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorHueChanged IsCustomColorHueChanged - *@ENG_START_DOX @brief Checks if the hue settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomColorHueChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the hue settings are changed, __true__ is returned.
- * If the hue settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomColorHueChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorSaturationChanged IsCustomColorSaturationChanged - *@ENG_START_DOX @brief Checks if the saturation settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomColorSaturationChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the saturation settings are changed, __true__ is returned.
- * If the saturation settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomColorSaturationChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorBrightnessChanged IsCustomColorBrightnessChanged - *@ENG_START_DOX @brief Checks if the brightness settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomColorBrightnessChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the brightness settings are changed, __true__ is returned.
- * If the brightness settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomColorBrightnessChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorTemperatureChanged IsCustomColorTemperatureChanged - *@ENG_START_DOX @brief Checks if the color temperature settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomColorTemperatureChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the color temperature settings are changed, __true__ is returned.
- * If the color temperature settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomColorTemperatureChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorContrastChanged IsCustomColorContrastChanged - *@ENG_START_DOX @brief Checks if the color contrast settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomColorContrastChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the color contrast settings are changed, __true__ is returned.
- * If the color contrast settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomColorContrastChanged () = 0; - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsCustomResolutionChanged IsCustomResolutionChanged - *@ENG_START_DOX @brief Checks if the resolution settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsCustomResolutionChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the custom resolution settings are changed, __true__ is returned.
- * If the custom resolution settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsCustomResolutionChanged () = 0; - /** - *@page DOX_IADLXDisplaySettingsChangedEvent_IsVariBrightChanged IsVariBrightChanged - *@ENG_START_DOX @brief Checks if the Vari-Bright settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsVariBrightChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the Vari-Bright settings are changed, __true__ is returned.
- * If the Vari-Bright settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsVariBrightChanged () = 0; - }; //IADLXDisplaySettingsChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplaySettingsChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplaySettingsChangedEvent, L"IADLXDisplaySettingsChangedEvent") -typedef struct IADLXDisplaySettingsChangedEvent IADLXDisplaySettingsChangedEvent; - -typedef struct IADLXDisplaySettingsChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent* pThis); - - // IADLXDisplaySettingsChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent* pThis, IADLXDisplay** ppDisplay); - adlx_bool (ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent* pThis); - -} IADLXDisplaySettingsChangedEventVtbl; - -struct IADLXDisplaySettingsChangedEvent { const IADLXDisplaySettingsChangedEventVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplaySettingsChangedEvent - -#pragma region IADLXDisplaySettingsChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplaySettingsChangedListener - { - public: - /** - *@page DOX_IADLXDisplaySettingsChangedListener_OnDisplaySettingsChanged OnDisplaySettingsChanged - *@ENG_START_DOX @brief The __OnDisplaySettingsChanged__ method is called by ADLX when the display settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnDisplaySettingsChanged (@ref DOX_IADLXDisplaySettingsChangedEvent* pDisplaySettingChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplaySettingChangedEvent,@ref DOX_IADLXDisplaySettingsChangedEvent* ,@ENG_START_DOX The pointer to the display settings change event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * Once the application registers to the notifications with @ref DOX_IADLXDisplayChangedHandling_AddDisplaySettingsEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplaySettingsEventListener. - * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the display settings change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the display settings change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXDisplaySettingsChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnDisplaySettingsChanged (IADLXDisplaySettingsChangedEvent* pDisplaySettingChangedEvent) = 0; - }; //IADLXDisplaySettingsChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXDisplaySettingsChangedListener IADLXDisplaySettingsChangedListener; - -typedef struct IADLXDisplaySettingsChangedListenerVtbl -{ - // IADLXDisplaySettingsChangedListener interface - adlx_bool (ADLX_STD_CALL* OnDisplaySettingsChanged)(IADLXDisplaySettingsChangedListener* pThis, IADLXDisplaySettingsChangedEvent* pDisplaySettingChangedEvent); - -} IADLXDisplaySettingsChangedListenerVtbl; - -struct IADLXDisplaySettingsChangedListener { const IADLXDisplaySettingsChangedListenerVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplaySettingsChangedListener - - -//Interface that allows registration to display-related events: Display List changed, Display Gamut changed, Display Gamma changed and Display 3D LUT changed -#pragma region IADLXDisplayChangedHandling -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayChangedHandling") - - /** - *@page DOX_IADLXDisplayChangedHandling_AddDisplayListEventListener AddDisplayListEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the display list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDisplayListEventListener (@ref DOX_IADLXDisplayListChangedListener* pDisplayListChangedListener); - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayListChangedListener,@ref DOX_IADLXDisplayListChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the display list change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDisplayListChangedListener_OnDisplayListChanged method of the listener when the display list changes. - * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayListEventListener. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_RemoveDisplayListEventListener RemoveDisplayListEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the display list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDisplayListEventListener (@ref DOX_IADLXDisplayListChangedListener* pDisplayListChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayListChangedListener,@ref DOX_IADLXDisplayListChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the display list change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDisplayListChangedListener_OnDisplayListChanged method of the listener when the display list changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_AddDisplayGamutEventListener AddDisplayGamutEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the display gamut changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDisplayGamutEventListener (@ref DOX_IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGamutChangedListener,@ref DOX_IADLXDisplayGamutChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the display gamut change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDisplayGamutChangedListener_OnDisplayGamutChanged method of the listener when the display gamut changes. - * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayGamutEventListener. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_RemoveDisplayGamutEventListener RemoveDisplayGamutEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the display gamut changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDisplayGamutEventListener (@ref DOX_IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGamutChangedListener,@ref DOX_IADLXDisplayGamutChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the display gamut change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDisplayGamutChangedListener_OnDisplayGamutChanged method of the listener when the display gamut changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_AddDisplayGammaEventListener AddDisplayGammaEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the display gamma changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDisplayGammaEventListener (@ref DOX_IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGammaChangedListener,@ref DOX_IADLXDisplayGammaChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the display gamma change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDisplayGammaChangedListener_OnDisplayGammaChanged method of the listener when the display gamma changes. - * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplayGammaEventListener. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_RemoveDisplayGammaEventListener RemoveDisplayGammaEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the display gamma changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDisplayGammaEventListener (@ref DOX_IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplayGammaChangedListener,@ref DOX_IADLXDisplayGammaChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the display gamma change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDisplayGammaChangedListener_OnDisplayGammaChanged method of the listener when the display gamma changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_AddDisplay3DLUTEventListener AddDisplay3DLUTEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the display 3D LUT changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDisplay3DLUTEventListener (@ref DOX_IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay3DLUTChangedListener,@ref DOX_IADLXDisplay3DLUTChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the display 3D LUT change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDisplay3DLUTChangedListener_OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. - * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplay3DLUTEventListener. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_RemoveDisplay3DLUTEventListener RemoveDisplay3DLUTEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the display 3D LUT changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDisplay3DLUTEventListener (@ref DOX_IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay3DLUTChangedListener,@ref DOX_IADLXDisplay3DLUTChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the display 3D LUT change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDisplay3DLUTChangedListener_OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) = 0; - /** - *@page DOX_IADLXDisplayChangedHandling_AddDisplaySettingsEventListener AddDisplaySettingsEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the display settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddDisplaySettingsEventListener (@ref DOX_IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in], pDisplaySettingsChangedListener,@ref DOX_IADLXDisplaySettingsChangedListener*, @ENG_START_DOX The pointer to the event listener interface to register for receiving display settings change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully registered, ADLX will call @ref DOX_IADLXDisplaySettingsChangedListener_OnDisplaySettingsChanged method of the listener when display settings change.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXDisplayChangedHandling_RemoveDisplaySettingsEventListener.
@ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) = 0; - - /** - *@page DOX_IADLXDisplayChangedHandling_RemoveDisplaySettingsEventListener RemoveDisplaySettingsEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the display settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveDisplaySettingsEventListener (@ref DOX_IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplaySettingsChangedListener,@ref DOX_IADLXDisplaySettingsChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving display settings change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX - * If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX - * After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXDisplaySettingsChangedListener_OnDisplaySettingsChanged method of the listener when display settings change. - * The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXDisplayChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) = 0; - }; //IADLXDisplayChangedHandling - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayChangedHandlingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayChangedHandling, L"IADLXDisplayChangedHandling") -typedef struct IADLXDisplayChangedHandling IADLXDisplayChangedHandling; - -typedef struct IADLXDisplayChangedHandlingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplayChangedHandling* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplayChangedHandling* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplayChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface ); - - // IADLXDisplayChangedHandling interface - ADLX_RESULT (ADLX_STD_CALL* AddDisplayListEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayListChangedListener* pDisplayListChangedListener ); - ADLX_RESULT (ADLX_STD_CALL* RemoveDisplayListEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayListChangedListener* pDisplayListChangedListener ); - - ADLX_RESULT (ADLX_STD_CALL* AddDisplayGamutEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener ); - ADLX_RESULT (ADLX_STD_CALL* RemoveDisplayGamutEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener ); - - ADLX_RESULT (ADLX_STD_CALL* AddDisplayGammaEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener ); - ADLX_RESULT (ADLX_STD_CALL* RemoveDisplayGammaEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener ); - - ADLX_RESULT (ADLX_STD_CALL* AddDisplay3DLUTEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener ); - ADLX_RESULT (ADLX_STD_CALL* RemoveDisplay3DLUTEventListener)( IADLXDisplayChangedHandling* pThis, IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener ); - - ADLX_RESULT (ADLX_STD_CALL* AddDisplaySettingsEventListener)(IADLXDisplayChangedHandling* pThis, IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener); - ADLX_RESULT (ADLX_STD_CALL* RemoveDisplaySettingsEventListener)(IADLXDisplayChangedHandling* pThis, IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener); - -} IADLXDisplayChangedHandlingVtbl; - -struct IADLXDisplayChangedHandling { const IADLXDisplayChangedHandlingVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayChangedHandling - -//Display Services interface -#pragma region IADLXDisplayServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXDisplayServices") - /** - * @page DOX_IADLXDisplayServices_GetNumberOfDisplays GetNumberOfDisplays - * @ENG_START_DOX - * @brief Gets the number of displays connected to the AMD GPUs. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetNumberOfDisplays (adlx_uint* numDisplays) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,numDisplays,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the number of displays is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the number of displays is successfully returned, __ADLX_OK__ is returned.
- * If the number of displays is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and errors codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details For more information about the AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support". - * @ENG_END_DOX - * - * @copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetNumberOfDisplays (adlx_uint* numDisplays) = 0; - - /** - * @page DOX_IADLXDisplayServices_GetDisplays GetDisplays - * @ENG_START_DOX - * @brief Gets the reference counted list of displays connected to the AMD GPUs. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDisplays (@ref DOX_IADLXDisplayList** ppDisplay) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppDisplay,@ref DOX_IADLXDisplayList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details For more information about the AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support".
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplays (IADLXDisplayList** ppDisplay) = 0; - - /** - * @page DOX_IADLXDisplayServices_Get3DLUT Get3DLUT - * @ENG_START_DOX - * @brief Gets the reference counted 3D LUT interface for a display. - * @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Get3DLUT (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplay3DLUT** ppDisp3DLUT) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppDisp3DLUT,@ref DOX_IADLXDisplay3DLUT** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisp3DLUT__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Get3DLUT (IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetGamut GetGamut - *@ENG_START_DOX @brief Gets the reference counted gamut interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGamut (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayGamut** ppDispGamut) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppDispGamut,@ref DOX_IADLXDisplayGamut** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDispGamut__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - *If the interface is successfully returned, __ADLX_OK__ is returned.
- *If the interface is not returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGamut (IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetGamma GetGamma - *@ENG_START_DOX @brief Gets the reference counted gamma interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGamma (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayGamma** ppDispGamma) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppDispGamma,@ref DOX_IADLXDisplayGamma** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDispGamma__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGamma (IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma) = 0; - - /** - * @page DOX_IADLXDisplayServices_GetDisplayChangedHandling GetDisplayChangedHandling - * @ENG_START_DOX - * @brief Gets the reference counted interface that allows registering and unregistering for notifications when display change. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDisplayChangedHandling (@ref DOX_IADLXDisplayChangedHandling** ppDisplayChangedHandling) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,ppDisplayChangedHandling,@ref DOX_IADLXDisplayChangedHandling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplayChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the display changing listener interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplayChangedHandling (IADLXDisplayChangedHandling** ppDisplayChangedHandling) = 0; - /** - *@page DOX_IADLXDisplayServices_GetFreeSync GetFreeSync - *@ENG_START_DOX @brief Gets the reference counted AMD FreeSync™ Technology interface. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFreeSync (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayFreeSync** ppFreeSync) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppFreeSync,@ref DOX_IADLXDisplayFreeSync** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppFreeSync__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFreeSync (IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetVirtualSuperResolution GetVirtualSuperResolution - *@ENG_START_DOX @brief Gets the reference counted virtual super resolution interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetVirtualSuperResolution (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayVSR** ppVSR) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppVSR,@ref DOX_IADLXDisplayVSR** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppVSR__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetVirtualSuperResolution (IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetGPUScaling GetGPUScaling - *@ENG_START_DOX @brief Gets the reference counted GPU scaling interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUScaling (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayGPUScaling** ppGPUScaling) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppGPUScaling,@ref DOX_IADLXDisplayGPUScaling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUScaling__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUScaling (IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetScalingMode GetScalingMode - *@ENG_START_DOX @brief Gets the reference counted scaling mode interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetScalingMode (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayScalingMode** ppScalingMode) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppScalingMode,@ref DOX_IADLXDisplayScalingMode**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppScalingMode__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetScalingMode (IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode) = 0; - - /** - *@page DOX_IADLXDisplayServices_GetIntegerScaling GetIntegerScaling - *@ENG_START_DOX @brief Gets the reference counted integer scaling interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetIntegerScaling (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayIntegerScaling** ppIntegerScaling) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppIntegerScaling,@ref DOX_IADLXDisplayIntegerScaling**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppIntegerScaling__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetIntegerScaling (IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling) = 0; - /** - *@page DOX_IADLXDisplayServices_GetColorDepth GetColorDepth - *@ENG_START_DOX @brief Gets the reference counted color depth interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetColorDepth (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayColorDepth** ppColorDepth) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppColorDepth,@ref DOX_IADLXDisplayColorDepth**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppColorDepth__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetColorDepth (IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth) = 0; - /** - *@page DOX_IADLXDisplayServices_GetPixelFormat GetPixelFormat - *@ENG_START_DOX @brief Gets the reference counted pixel format interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPixelFormat (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayPixelFormat** ppPixelFormat) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppPixelFormat,@ref DOX_IADLXDisplayPixelFormat**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppPixelFormat__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPixelFormat (IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat) = 0; - /** - *@page DOX_IADLXDisplayServices_GetCustomColor GetCustomColor - *@ENG_START_DOX @brief Gets the reference counted custom color interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCustomColor (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayCustomColor** ppCustomColor) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppCustomColor,@ref DOX_IADLXDisplayCustomColor**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppCustomColor__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCustomColor (IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor) = 0; - /** - *@page DOX_IADLXDisplayServices_GetHDCP GetHDCP - *@ENG_START_DOX @brief Gets the reference counted HDCP interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetHDCP (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayHDCP** ppHDCP) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppHDCP,@ref DOX_IADLXDisplayHDCP**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppHDCP__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetHDCP (IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP) = 0; - /** - *@page DOX_IADLXDisplayServices_GetCustomResolution GetCustomResolution - *@ENG_START_DOX @brief Gets the reference counted custom resolution interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCustomResolution (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayCustomResolution** ppCustomResolution) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppCustomResolution,@ref DOX_IADLXDisplayCustomResolution**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppCustomResolution__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCustomResolution (IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution) = 0; - /** - *@page DOX_IADLXDisplayServices_GetVariBright GetVariBright - *@ENG_START_DOX @brief Gets the reference counted Vari-Bright interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetVariBright (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayVariBright ** ppVariBright) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppVariBright,@ref DOX_IADLXDisplayVariBright **,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppVariBright__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetVariBright (IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright) = 0; - }; //IADLXDisplayServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXDisplayServices, L"IADLXDisplayServices") -typedef struct IADLXDisplayServices IADLXDisplayServices; - -typedef struct IADLXDisplayFreeSync IADLXDisplayFreeSync; -typedef struct IADLXDisplayVSR IADLXDisplayVSR; -typedef struct IADLXDisplayGPUScaling IADLXDisplayGPUScaling; -typedef struct IADLXDisplayScalingMode IADLXDisplayScalingMode; -typedef struct IADLXDisplayIntegerScaling IADLXDisplayIntegerScaling; -typedef struct IADLXDisplayColorDepth IADLXDisplayColorDepth; -typedef struct IADLXDisplayPixelFormat IADLXDisplayPixelFormat; -typedef struct IADLXDisplayCustomColor IADLXDisplayCustomColor; -typedef struct IADLXDisplayHDCP IADLXDisplayHDCP; -typedef struct IADLXDisplayCustomResolution IADLXDisplayCustomResolution; -typedef struct IADLXDisplayChangedHandling IADLXDisplayChangedHandling; -typedef struct IADLXDisplayVariBright IADLXDisplayVariBright; - -typedef struct IADLXDisplayServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)( IADLXDisplayServices* pThis ); - adlx_long (ADLX_STD_CALL* Release)( IADLXDisplayServices* pThis ); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)( IADLXDisplayServices* pThis, const wchar_t* interfaceId, void** ppInterface ); - - //IADLXDisplayServices - ADLX_RESULT (ADLX_STD_CALL* GetNumberOfDisplays)( IADLXDisplayServices* pThis, adlx_uint* numDisplays ); - ADLX_RESULT (ADLX_STD_CALL* GetDisplays)( IADLXDisplayServices* pThis, IADLXDisplayList** ppDisplays ); - ADLX_RESULT (ADLX_STD_CALL* Get3DLUT)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT ); - ADLX_RESULT (ADLX_STD_CALL* GetGamut)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut ); - ADLX_RESULT (ADLX_STD_CALL* GetGamma)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma ); - ADLX_RESULT (ADLX_STD_CALL* GetDisplayChangedHandling)( IADLXDisplayServices* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling ); - ADLX_RESULT (ADLX_STD_CALL* GetFreeSync)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync ); - ADLX_RESULT (ADLX_STD_CALL* GetVirtualSuperResolution)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR ); - ADLX_RESULT (ADLX_STD_CALL* GetGPUScaling)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling ); - ADLX_RESULT (ADLX_STD_CALL* GetScalingMode)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode ); - ADLX_RESULT (ADLX_STD_CALL* GetIntegerScaling)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling ); - ADLX_RESULT (ADLX_STD_CALL* GetColorDepth)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth ); - ADLX_RESULT (ADLX_STD_CALL* GetPixelFormat)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat ); - ADLX_RESULT (ADLX_STD_CALL* GetCustomColor)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor ); - ADLX_RESULT (ADLX_STD_CALL* GetHDCP)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP ); - ADLX_RESULT (ADLX_STD_CALL* GetCustomResolution)( IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution ); - ADLX_RESULT (ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright); -} IADLXDisplayServicesVtbl; - -struct IADLXDisplayServices { const IADLXDisplayServicesVtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplayServices - -#endif//ADLX_IDISPLAYS_H diff --git a/vendor/adlx/SDK/Include/IDisplays1.h b/vendor/adlx/SDK/Include/IDisplays1.h deleted file mode 100644 index adbaf4e..0000000 --- a/vendor/adlx/SDK/Include/IDisplays1.h +++ /dev/null @@ -1,191 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYS1_H -#define ADLX_IDISPLAYS1_H -#pragma once - -#include "IDisplays.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays1.h - Interfaces for ADLX Display Information functionality - -#pragma region IADLXDisplayServices1 - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience; - class ADLX_NO_VTABLE IADLXDisplayBlanking; - class ADLX_NO_VTABLE IADLXDisplayServices1 : public IADLXDisplayServices - { - public: - ADLX_DECLARE_IID(L"IADLXDisplayServices1") - - /** - *@page DOX_IADLXDisplayServices1_GetDisplayBlanking GetDisplayBlanking - *@ENG_START_DOX @brief Gets the reference counted display blanking interface of a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplayBlanking (IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayBlanking** ppDisplayBlanking) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppDisplayBlanking,@ref DOX_IADLXDisplayBlanking **,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplayBlanking__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it's no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *When using ADLX interfaces as smart pointers in C++, it isn't necessary to call @ref DOX_IADLXInterface_Release as it's called by smart pointers in the internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplayBlanking(IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking) = 0; - - }; //IADLXDisplayServices1 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayServices1Ptr; -} // namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXDisplayServices1, L"IADLXDisplayServices1") -typedef struct IADLXDisplayServices1 IADLXDisplayServices1; - -typedef struct IADLXDisplayFreeSync IADLXDisplayFreeSync; -typedef struct IADLXDisplayVSR IADLXDisplayVSR; -typedef struct IADLXDisplayGPUScaling IADLXDisplayGPUScaling; -typedef struct IADLXDisplayScalingMode IADLXDisplayScalingMode; -typedef struct IADLXDisplayIntegerScaling IADLXDisplayIntegerScaling; -typedef struct IADLXDisplayColorDepth IADLXDisplayColorDepth; -typedef struct IADLXDisplayPixelFormat IADLXDisplayPixelFormat; -typedef struct IADLXDisplayCustomColor IADLXDisplayCustomColor; -typedef struct IADLXDisplayHDCP IADLXDisplayHDCP; -typedef struct IADLXDisplayCustomResolution IADLXDisplayCustomResolution; -typedef struct IADLXDisplayChangedHandling IADLXDisplayChangedHandling; -typedef struct IADLXDisplayVariBright IADLXDisplayVariBright; -typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience; -typedef struct IADLXDisplayBlanking IADLXDisplayBlanking; - -typedef struct IADLXDisplayServices1Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayServices1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayServices1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayServices1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayServices - ADLX_RESULT(ADLX_STD_CALL* GetNumberOfDisplays)(IADLXDisplayServices1* pThis, adlx_uint* numDisplays); - ADLX_RESULT(ADLX_STD_CALL* GetDisplays)(IADLXDisplayServices1* pThis, IADLXDisplayList** ppDisplays); - ADLX_RESULT(ADLX_STD_CALL* Get3DLUT)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT); - ADLX_RESULT(ADLX_STD_CALL* GetGamut)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut); - ADLX_RESULT(ADLX_STD_CALL* GetGamma)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma); - ADLX_RESULT(ADLX_STD_CALL* GetDisplayChangedHandling)(IADLXDisplayServices1* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling); - ADLX_RESULT(ADLX_STD_CALL* GetFreeSync)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync); - ADLX_RESULT(ADLX_STD_CALL* GetVirtualSuperResolution)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR); - ADLX_RESULT(ADLX_STD_CALL* GetGPUScaling)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling); - ADLX_RESULT(ADLX_STD_CALL* GetScalingMode)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode); - ADLX_RESULT(ADLX_STD_CALL* GetIntegerScaling)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling); - ADLX_RESULT(ADLX_STD_CALL* GetColorDepth)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth); - ADLX_RESULT(ADLX_STD_CALL* GetPixelFormat)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat); - ADLX_RESULT(ADLX_STD_CALL* GetCustomColor)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor); - ADLX_RESULT(ADLX_STD_CALL* GetHDCP)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP); - ADLX_RESULT(ADLX_STD_CALL* GetCustomResolution)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution); - ADLX_RESULT(ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright); - - //IADLXDisplayServices1 - ADLX_RESULT(ADLX_STD_CALL* GetDisplayBlanking)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking); -} IADLXDisplayServices1Vtbl; - -struct IADLXDisplayServices1 { const IADLXDisplayServices1Vtbl* pVtbl; }; -#endif - -#pragma endregion IADLXDisplayServices1 - -#pragma region IADLXDisplaySettingsChangedEvent1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent1 : public IADLXDisplaySettingsChangedEvent - { - public: - ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent1") - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent1_IsDisplayBlankingChanged IsDisplayBlankingChanged - *@ENG_START_DOX @brief Checks if the display blanking of the display is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsDisplayBlankingChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the display blanking settings are changed, __true__ is returned.
- * If the display blanking settings are not changed, __false__ is returned. @ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent1_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsDisplayBlankingChanged() = 0; - }; //IADLXDisplaySettingsChangedEvent1 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplaySettingsChangedEvent1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent1, L"IADLXDisplaySettingsChangedEvent1") -typedef struct IADLXDisplaySettingsChangedEvent1 IADLXDisplaySettingsChangedEvent1; - -typedef struct IADLXDisplaySettingsChangedEvent1Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent1* pThis); - - // IADLXDisplaySettingsChangedEvent interface - ADLX_RESULT(ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent1* pThis, IADLXDisplay** ppDisplay); - adlx_bool(ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - - // IADLXDisplaySettingsChangedEvent1 interface - adlx_bool(ADLX_STD_CALL* IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent1* pThis); - -} IADLXDisplaySettingsChangedEvent1Vtbl; - -struct IADLXDisplaySettingsChangedEvent1 { const IADLXDisplaySettingsChangedEvent1Vtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplaySettingsChangedEvent1 - -#endif //ADLX_IDISPLAYS1_H diff --git a/vendor/adlx/SDK/Include/IDisplays2.h b/vendor/adlx/SDK/Include/IDisplays2.h deleted file mode 100644 index c77016b..0000000 --- a/vendor/adlx/SDK/Include/IDisplays2.h +++ /dev/null @@ -1,188 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IDISPLAYS2_H -#define ADLX_IDISPLAYS2_H -#pragma once - -#include "IDisplays1.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays2.h - Interfaces for ADLX Display Information functionality - -#pragma region IADLXDisplayServices2 - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience; - class ADLX_NO_VTABLE IADLXDisplayServices2 : public IADLXDisplayServices1 - { - public: - ADLX_DECLARE_IID(L"IADLXDisplayServices2") - - /** - *@page DOX_IADLXDisplayServices2_GetDisplayConnectivityExperience GetDisplayConnectivityExperience - *@ENG_START_DOX @brief Gets the reference counted DCE interface for a display. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetDisplayConnectivityExperience (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayConnectivityExperience ** ppDisplayConnectivityExperience) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppDisplayConnectivityExperience,@ref DOX_IADLXDisplayConnectivityExperience **,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDisplayConnectivityExperience__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXDisplayServices2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplayConnectivityExperience(IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience** ppDisplayConnectivityExperience) = 0; - }; //IADLXDisplayServices2 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplayServices2Ptr; -} // namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXDisplayServices2, L"IADLXDisplayServices2") -typedef struct IADLXDisplayServices2 IADLXDisplayServices2; - -typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience; - -typedef struct IADLXDisplayServices2Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayServices2* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayServices2* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayServices2* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXDisplayServices - ADLX_RESULT(ADLX_STD_CALL* GetNumberOfDisplays)(IADLXDisplayServices2* pThis, adlx_uint* numDisplays); - ADLX_RESULT(ADLX_STD_CALL* GetDisplays)(IADLXDisplayServices2* pThis, IADLXDisplayList** ppDisplays); - ADLX_RESULT(ADLX_STD_CALL* Get3DLUT)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT); - ADLX_RESULT(ADLX_STD_CALL* GetGamut)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut); - ADLX_RESULT(ADLX_STD_CALL* GetGamma)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma); - ADLX_RESULT(ADLX_STD_CALL* GetDisplayChangedHandling)(IADLXDisplayServices2* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling); - ADLX_RESULT(ADLX_STD_CALL* GetFreeSync)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync); - ADLX_RESULT(ADLX_STD_CALL* GetVirtualSuperResolution)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR); - ADLX_RESULT(ADLX_STD_CALL* GetGPUScaling)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling); - ADLX_RESULT(ADLX_STD_CALL* GetScalingMode)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode); - ADLX_RESULT(ADLX_STD_CALL* GetIntegerScaling)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling); - ADLX_RESULT(ADLX_STD_CALL* GetColorDepth)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth); - ADLX_RESULT(ADLX_STD_CALL* GetPixelFormat)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat); - ADLX_RESULT(ADLX_STD_CALL* GetCustomColor)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor); - ADLX_RESULT(ADLX_STD_CALL* GetHDCP)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP); - ADLX_RESULT(ADLX_STD_CALL* GetCustomResolution)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution); - ADLX_RESULT(ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright); - - //IADLXDisplayServices1 - ADLX_RESULT(ADLX_STD_CALL* GetDisplayBlanking)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking); - - //IADLXDisplayServices2 - ADLX_RESULT(ADLX_STD_CALL* GetDisplayConnectivityExperience)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience** ppDisplayConnectivityExperience); -} IADLXDisplayServices2Vtbl; - -struct IADLXDisplayServices2 { const IADLXDisplayServices2Vtbl* pVtbl; }; -#endif - -#pragma endregion IADLXDisplayServices2 - -#pragma region IADLXDisplaySettingsChangedEvent2 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent2 : public IADLXDisplaySettingsChangedEvent1 - { - public: - ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent2") - - /** - *@page DOX_IADLXDisplaySettingsChangedEvent2_IsConnectivityExperienceChanged IsConnectivityExperienceChanged - *@ENG_START_DOX @brief Checks if the DCE settings of the display are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsDisplayConnectivityExperienceChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX - * If the DCE settings are changed, __true__ is returned.
- * If the DCE settings are not changed, __false__ is returned. @ENG_END_DOX - * - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay. - *@ENG_END_DOX - * - *@copydoc IADLXDisplaySettingsChangedEvent2_REQ_TABLE - */ - virtual adlx_bool ADLX_STD_CALL IsDisplayConnectivityExperienceChanged() = 0; - }; //IADLXDisplaySettingsChangedEvent2 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXDisplaySettingsChangedEvent2Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent2, L"IADLXDisplaySettingsChangedEvent2") -typedef struct IADLXDisplaySettingsChangedEvent2 IADLXDisplaySettingsChangedEvent2; - -typedef struct IADLXDisplaySettingsChangedEvent2Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent2* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent2* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent2* pThis); - - // IADLXDisplaySettingsChangedEvent interface - ADLX_RESULT(ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent2* pThis, IADLXDisplay** ppDisplay); - adlx_bool(ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - adlx_bool(ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - - // IADLXDisplaySettingsChangedEvent1 interface - adlx_bool(ADLX_STD_CALL* IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - - // IADLXDisplaySettingsChangedEvent2 interface - adlx_bool(ADLX_STD_CALL* IsDisplayConnectivityExperienceChanged)(IADLXDisplaySettingsChangedEvent2* pThis); - - -} IADLXDisplaySettingsChangedEvent2Vtbl; - -struct IADLXDisplaySettingsChangedEvent2 { const IADLXDisplaySettingsChangedEvent2Vtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXDisplaySettingsChangedEvent2 - -#endif //ADLX_IDISPLAYS2_H diff --git a/vendor/adlx/SDK/Include/IGPUAutoTuning.h b/vendor/adlx/SDK/Include/IGPUAutoTuning.h deleted file mode 100644 index 125affe..0000000 --- a/vendor/adlx/SDK/Include/IGPUAutoTuning.h +++ /dev/null @@ -1,460 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUAUTOTUNING_H -#define ADLX_IGPUAUTOTUNING_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUAutoTuning.h - Interfaces for ADLX GPU Auto Tuning functionality - -//Interface with information on GPU Tuning changes on a GPU. ADLX passes this to application that registered for GPU Tuning changed event in the IADLXAutomaticTuningChangedListener::OnAutomaticTuningChanged() -#pragma region IADLXGPUAutoTuningCompleteEvent - -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUAutoTuningCompleteEvent : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUAutoTuningCompleteEvent") - - /** - *@page DOX_IADLXGPUAutoTuningCompleteEvent_IsUndervoltGPUCompleted IsUndervoltGPUCompleted - *@ENG_START_DOX @brief Checks if the GPU undervolting is completed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsUndervoltGPUCompleted () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the GPU undervolting is completed, __true__ is returned.
- * If the GPU undervolting is not completed, __false__ is returned.
@ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsUndervoltGPUCompleted () = 0; - - /** - *@page DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockGPUCompleted IsOverclockGPUCompleted - *@ENG_START_DOX @brief Checks if the GPU overclocking is completed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsOverclockGPUCompleted () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the GPU overclocking is completed, __true__ is returned.
- * If the GPU overclocking is not completed, __false__ is returned.
@ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsOverclockGPUCompleted () = 0; - - /** - *@page DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockVRAMCompleted IsOverclockVRAMCompleted - *@ENG_START_DOX @brief Checks if the VRAM overclocking is completed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsOverclockVRAMCompleted () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the VRAM undervolting is completed, __true__ is returned.
- * If the VRAM undervolting is not completed, __false__ is returned.
@ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsOverclockVRAMCompleted () = 0; - }; //IADLXGPUAutoTuningCompleteEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUAutoTuningCompleteEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUAutoTuningCompleteEvent, L"IADLXGPUAutoTuningCompleteEvent") -typedef struct IADLXGPUAutoTuningCompleteEvent IADLXGPUAutoTuningCompleteEvent; - -typedef struct IADLXGPUAutoTuningCompleteEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUAutoTuningCompleteEvent* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUAutoTuningCompleteEvent* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUAutoTuningCompleteEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXGPUAutoTuningCompleteEvent interface - adlx_bool (ADLX_STD_CALL *IsUndervoltGPUCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsOverclockGPUCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsOverclockVRAMCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis); -} IADLXGPUAutoTuningCompleteEventVtbl; - -struct IADLXGPUAutoTuningCompleteEvent { const IADLXGPUAutoTuningCompleteEventVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUAutoTuningCompleteEvent - -//GPU Auto Tuning complete listener interface. To be implemented in application and passed in IADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener() -#pragma region IADLXGPUAutoTuningCompleteListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUAutoTuningCompleteListener - { - public: - /** - *@page DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete OnGPUAutoTuningComplete - *@ENG_START_DOX @brief The __OnGPUAutoTuningComplete__ is called by ADLX when GPU tuning completes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnGPUAutoTuningComplete (@ref DOX_IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPUAutoTuningCompleteEvent,@ref DOX_IADLXGPUAutoTuningCompleteEvent* ,@ENG_START_DOX The pointer to a GPU tuning complete event. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXGPUAutoTuning_StartUndervoltGPU, @ref DOX_IADLXGPUAutoTuning_StartOverclockGPU, and @ref DOX_IADLXGPUAutoTuning_StartOverclockVRAM, ADLX will call this method when GPU tuning completes. - * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning complete event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning complete event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXGPUAutoTuningCompleteListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnGPUAutoTuningComplete (IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) = 0; - }; //IADLXGPUAutoTuningCompleteListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXGPUAutoTuningCompleteListener IADLXGPUAutoTuningCompleteListener; - -typedef struct IADLXGPUAutoTuningCompleteListenerVtbl -{ - // IADLXGPUAutoTuningCompleteListener interface - adlx_bool (ADLX_STD_CALL *OnGPUAutoTuningComplete)(IADLXGPUAutoTuningCompleteListener* pThis, IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent); -} IADLXGPUAutoTuningCompleteListenerVtbl; - -struct IADLXGPUAutoTuningCompleteListener { const IADLXGPUAutoTuningCompleteListenerVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUAutoTuningCompleteListener - -// Automatic Tuning -#pragma region IADLXGPUAutoTuning -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUAutoTuning : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUAutoTuning") - /** - *@page DOX_IADLXGPUAutoTuning_IsSupportedUndervoltGPU IsSupportedUndervoltGPU - *@ENG_START_DOX @brief Checks if the GPU undervolting tuning profile is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedUndervoltGPU (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU undervolting is returned. The variable is __true__ if GPU undervolting is supported. The variable is __false__ if GPU undervolting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU undervolting is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU undervolting is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedUndervoltGPU (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_IsSupportedOverclockGPU IsSupportedOverclockGPU - *@ENG_START_DOX @brief Checks if the GPU overclocking tuning profile is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedOverclockGPU (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU overclocking is returned. The variable is __true__ if GPU overclocking is supported. The variable is __false__ if GPU overclocking is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU overclocking is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU overclocking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedOverclockGPU (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_IsSupportedOverclockVRAM IsSupportedOverclockVRAM - *@ENG_START_DOX @brief Checks if the VRAM overclocking tuning profile is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedOverclockVRAM (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VRAM overclocking is returned. The variable is __true__ if VRAM overclocking is supported. The variable is __false__ if VRAM overclocking is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of VRAM overclocking is successfully returned, __ADLX_OK__ is returned.
- * If the state of VRAM overclocking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedOverclockVRAM (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU IsCurrentUndervoltGPU - *@ENG_START_DOX @brief Checks if the GPU undervolting tuning profile is currently enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isUndervoltGPU,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU undervolting is returned. The variable is __true__ if GPU undervolting is applied. The variable is __false__ if GPU undervolting is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU undervolting is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU undervolting is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU IsCurrentOverclockGPU - *@ENG_START_DOX @brief Checks if the GPU overclocking tuning profile is currently enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentOverclockGPU (adlx_bool* isOverclockGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isOverclockGPU,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU overclocking is returned. The variable is __true__ if GPU overclocking is applied. The variable is __false__ if GPU overclocking is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU overclocking is successfully returned, __ADLX_OK__ is returned.
- * If the state of GPU overclocking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOverclockGPU (adlx_bool* isOverclockGPU) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM IsCurrentOverclockVRAM - *@ENG_START_DOX @brief Checks if the VRAM overclocking tuning profile is currently enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isOverclockVRAM,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VRAM overclocking is returned. The variable is __true__ if VRAM overclocking is applied. The variable is __false__ if VRAM overclocking is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of VRAM overclocking is successfully returned, __ADLX_OK__ is returned.
- * If the state of VRAM overclocking is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_StartUndervoltGPU StartUndervoltGPU - *@ENG_START_DOX @brief Starts GPU undervolting on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT StartUndervoltGPU (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU undervolting is successfully started, __ADLX_OK__ is returned.
- * If the GPU undervolting is not successfully started, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - *The __StartUndervoltGPU__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU returns __true__. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL StartUndervoltGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_StartOverclockGPU StartOverclockGPU - *@ENG_START_DOX @brief Starts GPU overclocking on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT StartOverclockGPU (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU overclocking is successfully started, __ADLX_OK__ is returned.
- * If the GPU overclocking is not successfully started, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - * The __StartOverclockGPU__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU returns __true__. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL StartOverclockGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0; - - /** - *@page DOX_IADLXGPUAutoTuning_StartOverclockVRAM StartOverclockVRAM - *@ENG_START_DOX @brief Start VRAM overclocking on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT StartOverclockVRAM (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the VRAM overclocking is successfully started, __ADLX_OK__ is returned.
- * If the VRAM overclocking is not successfully started, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details - * The __StartOverclockVRAM__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM returns __true__. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUAutoTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL StartOverclockVRAM (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUAutoTuningPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUAutoTuning, L"IADLXGPUAutoTuning") - -typedef struct IADLXGPUAutoTuning IADLXGPUAutoTuning; - -typedef struct IADLXGPUAutoTuningVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUAutoTuning* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUAutoTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUAutoTuning* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUAutoTuning - ADLX_RESULT (ADLX_STD_CALL *IsSupportedUndervoltGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedOverclockGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedOverclockVRAM)(IADLXGPUAutoTuning* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL *IsCurrentUndervoltGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* isUndervoltGPU); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentOverclockGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* isOverclockGPU); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentOverclockVRAM)(IADLXGPUAutoTuning* pThis, adlx_bool* isOverclockVRAM); - - ADLX_RESULT (ADLX_STD_CALL *StartUndervoltGPU)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener); - ADLX_RESULT (ADLX_STD_CALL *StartOverclockGPU)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener); - ADLX_RESULT (ADLX_STD_CALL *StartOverclockVRAM)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener); - -}IADLXGPUAutoTuningVtbl; - -struct IADLXGPUAutoTuning { const IADLXGPUAutoTuningVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUAutoTuning - -#endif//ADLX_IGPUAUTOTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUManualFanTuning.h b/vendor/adlx/SDK/Include/IGPUManualFanTuning.h deleted file mode 100644 index 15acf47..0000000 --- a/vendor/adlx/SDK/Include/IGPUManualFanTuning.h +++ /dev/null @@ -1,819 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUMANUALFANTUNING_H -#define ADLX_IGPUMANUALFANTUNING_H -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualFanTuning.h - Interfaces for ADLX GPU Manual Fan Tuning functionality - -//Manual Tuning interface -#pragma region IADLXManualFanTuningState -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualFanTuningState : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualFanTuningState") - - /** - * @page DOX_IADLXManualFanTuningState_GetFanSpeed GetFanSpeed - * @ENG_START_DOX - * @brief Gets the fan speed in the manual fan tuning state. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetFanSpeed (adlx_int* value) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the fan speed (in %) is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the fan speed is successfully returned, __ADLX_OK__ is returned.
- * If the fan speed is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXManualFanTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFanSpeed (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualFanTuningState_SetFanSpeed SetFanSpeed - *@ENG_START_DOX @brief Sets the fan speed in the manual fan tuning state. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetFanSpeed (adlx_int value) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new fan speed value (in %). @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the fan speed is successfully set, __ADLX_OK__ is returned.
- * If the fan speed is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Method for applying fan speed for the fan tuning state. @ENG_END_DOX - * - *@copydoc IADLXManualFanTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetFanSpeed (adlx_int value) = 0; - - /** - * @page DOX_IADLXManualFanTuningState_GetTemperature GetTemperature - * @ENG_START_DOX - * @brief Gets the temperature in the manual fan tuning state. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetTemperature (adlx_uint* value) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the temperature (in °C) is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the temperature is successfully returned, __ADLX_OK__ is returned.
- * If the temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXManualFanTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTemperature (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualFanTuningState_SetTemperature SetTemperature - *@ENG_START_DOX @brief Sets the temperature in the manual fan tuning state. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetTemperature (adlx_int value) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new temperature value (in °C). @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the temperature is successfully set, __ADLX_OK__ is returned.
- * If the temperature is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetTemperature (adlx_int value) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualFanTuningStatePtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualFanTuningState, L"IADLXManualFanTuningState") - -typedef struct IADLXManualFanTuningState IADLXManualFanTuningState; - -typedef struct IADLXManualFanTuningStateVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuningState* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuningState* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuningState* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualFanTuningState - ADLX_RESULT (ADLX_STD_CALL *GetFanSpeed)(IADLXManualFanTuningState* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL *SetFanSpeed)(IADLXManualFanTuningState* pThis, adlx_int value); - ADLX_RESULT (ADLX_STD_CALL *GetTemperature)(IADLXManualFanTuningState* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL *SetTemperature)(IADLXManualFanTuningState* pThis, adlx_int value); -}IADLXManualFanTuningStateVtbl; - -struct IADLXManualFanTuningState { const IADLXManualFanTuningStateVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualFanTuningState - -//IADLXManualFanTuningState list interface -#pragma region IADLXManualFanTuningStateList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualFanTuningStateList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXManualFanTuningStateList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXManualFanTuningState::IID ()) - - /** - * @page DOX_IADLXManualFanTuningStateList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXManualFanTuningState** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXManualFanTuningState** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXManualFanTuningStateList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXManualFanTuningState** ppItem) = 0; - /** - *@page DOX_IADLXManualFanTuningStateList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXManualFanTuningState* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXManualFanTuningState* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuningStateList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXManualFanTuningState* pItem) = 0; - }; //IADLXManualFanTuningStateList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualFanTuningStateListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualFanTuningStateList, L"IADLXManualFanTuningStateList") -ADLX_DECLARE_ITEM_IID (IADLXManualFanTuningState, IID_IADLXManualFanTuningState ()) - -typedef struct IADLXManualFanTuningStateList IADLXManualFanTuningStateList; - -typedef struct IADLXManualFanTuningStateListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuningStateList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuningStateList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXManualFanTuningStateList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXManualFanTuningStateList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXManualFanTuningStateList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXManualFanTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXManualFanTuningStateList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXManualFanTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXManualFanTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXManualFanTuningStateList* pThis, IADLXInterface* pItem); - - //IADLXManualFanTuningStateList - ADLX_RESULT (ADLX_STD_CALL *At_ManualFanTuningStateList)(IADLXManualFanTuningStateList* pThis, const adlx_uint location, IADLXManualFanTuningState** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_ManualFanTuningStateList)(IADLXManualFanTuningStateList* pThis, IADLXManualFanTuningState* pItem); - -}IADLXManualFanTuningStateListVtbl; - -struct IADLXManualFanTuningStateList { const IADLXManualFanTuningStateListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualFanTuningStateList - -// Manual FAN Tuning -#pragma region IADLXManualFanTuning -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualFanTuning : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualFanTuning") - - /** - *@page DOX_IADLXManualFanTuning_GetFanTuningRanges GetFanTuningRanges - *@ENG_START_DOX @brief Gets the fan speed range and the temperature range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFanTuningRanges (@ref ADLX_IntRange* speedRange, @ref ADLX_IntRange* temperatureRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],speedRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the fan speed range (in %) is returned. @ENG_END_DOX} - *@paramrow{2.,[out],temperatureRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the temperature range (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the fan speed and temperature range is successfully returned, __ADLX_OK__ is returned.
- * If the fan speed and temperature range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The fan speed range and the temperature range are applicable to all GPU states on a GPU. - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFanTuningRanges (ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetFanTuningStates GetFanTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of current GPU fan tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFanTuningStates (@ref DOX_IADLXManualFanTuningStateList** ppStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppStates,@ref DOX_IADLXManualFanTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of GPU fan tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of GPU fan tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFanTuningStates (IADLXManualFanTuningStateList** ppStates) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetEmptyFanTuningStates GetEmptyFanTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of empty GPU fan tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetEmptyFanTuningStates (@ref DOX_IADLXManualFanTuningStateList** ppStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppStates,@ref DOX_IADLXManualFanTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of empty GPU fan tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of empty GPU fan tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetEmptyFanTuningStates (IADLXManualFanTuningStateList** ppStates) = 0; - - /** - *@page DOX_IADLXManualFanTuning_IsValidFanTuningStates IsValidFanTuningStates - *@ENG_START_DOX @brief Checks if each GPU fan tuning state in a list is valid on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsValidFanTuningStates (@ref DOX_IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pStates,@ref DOX_IADLXManualFanTuningStateList*,@ENG_START_DOX The pointer to the GPU fan tuning states list interface. @ENG_END_DOX} - *@paramrow{2.,[out],errorIndex,adlx_int*,@ENG_START_DOX The pointer to a variable where the invalid states index is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If __IsValidFanTuningStates__ is successfully executed, __ADLX_OK__ is returned.
- * If __IsValidFanTuningStates__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details If the __*pStates__ is valid then the method sets the __errorIndex__ to -1. @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsValidFanTuningStates (IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex) = 0; - - /** - *@page DOX_IADLXManualFanTuning_SetFanTuningStates SetFanTuningStates - *@ENG_START_DOX @brief Sets the fan tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetFanTuningStates (@ref DOX_IADLXManualFanTuningStateList* pStates) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pStates,@ref DOX_IADLXManualFanTuningStateList*,@ENG_START_DOX The pointer to the GPU states list interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU fan tuning states are successfully set, __ADLX_OK__ is returned.
- * If the GPU fan tuning states are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetFanTuningStates (IADLXManualFanTuningStateList* pStates) = 0; - - /** - *@page DOX_IADLXManualFanTuning_IsSupportedZeroRPM IsSupportedZeroRPM - *@ENG_START_DOX @brief Checks if zero RPM is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedZeroRPM (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of zero RPM feature is returned. The variable is __true__ if zero RPM feature is supported. The variable is __false__ if zero RPM feature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of zero RPM feature is successfully returned, __ADLX_OK__ is returned.
- * If the state of zero RPM feature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedZeroRPM (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetZeroRPMState GetZeroRPMState - *@ENG_START_DOX @brief Checks if zero RPM is currently activated on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetZeroRPMState (adlx_bool* isSet) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of zero RPM is returned. The variable is __true__ if zero RPM is enabled. The variable is __false__ if zero RPM is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of zero RPM is successfully returned, __ADLX_OK__ is returned.
- * If the state of zero RPM is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetZeroRPMState (adlx_bool* isSet) = 0; - - /** - *@page DOX_IADLXManualFanTuning_SetZeroRPMState SetZeroRPMState - *@ENG_START_DOX @brief Enables or disables zero RPM on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetZeroRPMState (adlx_bool set) - *@codeEnd - * - *@params - *@paramrow{1.,[in],isSet,adlx_bool,@ENG_START_DOX The new zero RPM state. Set __true__ to enable zero RPM. Set __false__ to disable zero RPM. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of zero RPM is successfully set, __ADLX_OK__ is returned.
- * If the state of zero RPM is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetZeroRPMState (adlx_bool set) = 0; - - /** - *@page DOX_IADLXManualFanTuning_IsSupportedMinAcousticLimit IsSupportedMinAcousticLimit - *@ENG_START_DOX @brief Checks if the minimum acoustic limit is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedMinAcousticLimit (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of min acoustic limit feature is returned. The variable is __true__ if min acoustic limit feature is supported. The variable is __false__ if min acoustic limit feature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of min acoustic limit feature is successfully returned, __ADLX_OK__ is returned.
- * If the state of min acoustic limit feature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support Minimum Acoustic Limit adjustments (in MHz). - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMinAcousticLimit (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetMinAcousticLimitRange GetMinAcousticLimitRange - *@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMinAcousticLimitRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the min acoustic limit range (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the min acoustic limit range is successfully returned, __ADLX_OK__ is returned.
- * If the min acoustic limit range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support Minimum Acoustic Limit adjustments (in MHz). - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMinAcousticLimitRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetMinAcousticLimit GetMinAcousticLimit - *@ENG_START_DOX @brief Gets the current minimum acoustic limit on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMinAcousticLimit (adlx_int* value) - *@codeEnd - * - *@params - *@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the min acoustic limit value (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the min acoustic limit value is successfully returned, __ADLX_OK__ is returned.
- * If the min acoustic limit value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support Minimum Acoustic Limit adjustments (in MHz). - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMinAcousticLimit (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualFanTuning_SetMinAcousticLimit SetMinAcousticLimit - *@ENG_START_DOX @brief Sets the minimum acoustic limit on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMinAcousticLimit (adlx_int value) - *@codeEnd - * - *@params - *@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new min acoustic limit (in MHz). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the min acoustic limit value is successfully set, __ADLX_OK__ is returned.
- * If the min acoustic limit value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support Minimum Acoustic Limit adjustments (in MHz). - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMinAcousticLimit (adlx_int value) = 0; - - /** - *@page DOX_IADLXManualFanTuning_IsSupportedMinFanSpeed IsSupportedMinFanSpeed - *@ENG_START_DOX @brief Checks if the minimum fan speed is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedMinFanSpeed (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of minimum fan speed feature is returned. The variable is __true__ if minimum fan speed feature is supported. The variable is __false__ if minimum fan speed feature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of minimum fan speed feature is successfully returned, __ADLX_OK__ is returned.
- * If the state of minimum fan speed feature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMinFanSpeed (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetMinFanSpeedRange GetMinFanSpeedRange - *@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMinFanSpeedRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the minimum fan speed range (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum fan speed range is successfully returned, __ADLX_OK__ is returned.
- * If the minimum fan speed range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMinFanSpeedRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetMinFanSpeed GetMinFanSpeed - *@ENG_START_DOX @brief Gets the current minimum fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMinFanSpeed (adlx_int* value) - *@codeEnd - * - *@params - *@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum fan speed value (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum fan speed value is successfully returned, __ADLX_OK__ is returned.
- * If the minimum fan speed value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support minimum fan speed adjustments (in MHz). - * @ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMinFanSpeed (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualFanTuning_SetMinFanSpeed SetMinFanSpeed - *@ENG_START_DOX @brief Sets the minimum fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMinFanSpeed (adlx_int value) - *@codeEnd - * - *@params - *@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new minimum fan speed (in RPM). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum fan speed value is successfully set, __ADLX_OK__ is returned.
- * If the minimum fan speed value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMinFanSpeed (adlx_int value) = 0; - - /** - *@page DOX_IADLXManualFanTuning_IsSupportedTargetFanSpeed IsSupportedTargetFanSpeed - *@ENG_START_DOX @brief Checks if the target fan speed is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedTargetFanSpeed (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of target fan speed feature is returned. The variable is __true__ if target fan speed feature is supported. The variable is __false__ if target fan speed feature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of target fan speed feature is successfully returned, __ADLX_OK__ is returned.
- * If the state of target fan speed feature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTargetFanSpeed (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetTargetFanSpeedRange GetTargetFanSpeedRange - *@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the target fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTargetFanSpeedRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the target fan speed range (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the target fan speed range is successfully returned, __ADLX_OK__ is returned.
- * If the target fan speed range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTargetFanSpeedRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualFanTuning_GetTargetFanSpeed GetTargetFanSpeed - *@ENG_START_DOX @brief Gets the current target fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTargetFanSpeed (adlx_int* value) - *@codeEnd - * - *@params - *@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the target fan speed value (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the target fan speed value is successfully returned, __ADLX_OK__ is returned.
- * If the target fan speed value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTargetFanSpeed (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualFanTuning_SetTargetFanSpeed SetTargetFanSpeed - *@ENG_START_DOX @brief Sets the target fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetTargetFanSpeed (adlx_int value) - *@codeEnd - * - *@params - *@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new target fan speed (in RPM). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the target fan speed value is successfully set, __ADLX_OK__ is returned.
- * If the target fan speed value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualFanTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetTargetFanSpeed (adlx_int value) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualFanTuningPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualFanTuning, L"IADLXManualFanTuning") - -typedef struct IADLXManualFanTuning IADLXManualFanTuning; - -typedef struct IADLXManualFanTuningVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuning* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuning* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualFanTuningState - ADLX_RESULT (ADLX_STD_CALL *GetFanTuningRanges)(IADLXManualFanTuning* pThis, ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange); - ADLX_RESULT (ADLX_STD_CALL *GetFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList** ppStates); - ADLX_RESULT (ADLX_STD_CALL *GetEmptyFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList** ppStates); - ADLX_RESULT (ADLX_STD_CALL *IsValidFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex); - ADLX_RESULT (ADLX_STD_CALL *SetFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList* pStates); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedZeroRPM)(IADLXManualFanTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetZeroRPMState)(IADLXManualFanTuning* pThis, adlx_bool* isSet); - ADLX_RESULT (ADLX_STD_CALL *SetZeroRPMState)(IADLXManualFanTuning* pThis, adlx_bool set); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetMinAcousticLimitRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL *SetMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_int value); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* GetMinFanSpeedRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL* GetMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL* SetMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_int value); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* GetTargetFanSpeedRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL* GetTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL* SetTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_int value); -}IADLXManualFanTuningVtbl; - -struct IADLXManualFanTuning { const IADLXManualFanTuningVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualFanTuning - -#endif//ADLX_IGPUMANUALFANTUNING_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/IGPUManualGFXTuning.h b/vendor/adlx/SDK/Include/IGPUManualGFXTuning.h deleted file mode 100644 index 66cff19..0000000 --- a/vendor/adlx/SDK/Include/IGPUManualGFXTuning.h +++ /dev/null @@ -1,489 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- -#ifndef ADLX_IGPUMANUALGFXTUNING_H -#define ADLX_IGPUMANUALGFXTUNING_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualGFXTunings.h - Interfaces for ADLX GPU Manual Graphics Tuning functionality - -// Manual Graphics Tuning -#pragma region IADLXManualGraphicsTuning1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualTuningStateList; - class ADLX_NO_VTABLE IADLXManualGraphicsTuning1 : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualGraphicsTuning1") - - /** - *@page DOX_IADLXManualGraphicsTuning1_GetGPUTuningRanges GetGPUTuningRanges - *@ENG_START_DOX @brief Gets the frequency range and the voltage range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUTuningRanges (@ref ADLX_IntRange* frequencyRange, @ref ADLX_IntRange* voltageRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],frequencyRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the GPU frequency range (in MHz) is returned. @ENG_END_DOX} - *@paramrow{2.,[out],voltageRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the GPU voltage range (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the frequency and voltage range are successfully returned, __ADLX_OK__ is returned.
- * If the frequency and voltage range are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The frequency range and the voltage range are applicable to all the GPU states on this GPU. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.
- * The GPU clock speed and the GPU voltage can be adjusted within their ranges. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning1_GetGPUTuningStates GetGPUTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of current GPU tuning states. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUTuningStates (@ref DOX_IADLXManualTuningStateList** ppGFXStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppGFXStates,@ref DOX_IADLXManualTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGFXStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of GPU tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of GPU tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * - * Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTuningStates (IADLXManualTuningStateList** ppGFXStates) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning1_GetEmptyGPUTuningStates GetEmptyGPUTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of empty GPU tuning states. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetEmptyGPUTuningStates (@ref DOX_IADLXManualTuningStateList** ppGFXStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppGFXStates,@ref DOX_IADLXManualTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGFXStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of empty GPU tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of empty GPU tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * - * The frequency and voltage in the returned states are zero. - * - * Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetEmptyGPUTuningStates (IADLXManualTuningStateList** ppGFXStates) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning1_IsValidGPUTuningStates IsValidGPUTuningStates - *@ENG_START_DOX @brief Checks if each GPU tuning state in a list is valid. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsValidGPUTuningStates (@ref DOX_IADLXManualTuningStateList* pGFXStates, adlx_int* errorIndex) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pGFXStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the GPU states list interface. @ENG_END_DOX} - *@paramrow{2.,[out],errorIndex,adlx_int*,@ENG_START_DOX The pointer to a variable where the invalid states index is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If __IsValidGPUTuningStates__ is successfully executed, __ADLX_OK__ is returned.
- * If __IsValidGPUTuningStates__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. - * @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details If the __*pGFXStates__ is valid then the method sets the __errorIndex__ to -1. @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsValidGPUTuningStates (IADLXManualTuningStateList* pGFXStates, adlx_int* errorIndex) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning1_SetGPUTuningStates SetGPUTuningStates - *@ENG_START_DOX @brief Sets the GPU tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGPUTuningStates (@ref DOX_IADLXManualTuningStateList* pGFXStates) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pGFXStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the GPU states list interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU tuning states are successfully set, __ADLX_OK__ is returned.
- * If the GPU tuning states are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGPUTuningStates (IADLXManualTuningStateList* pGFXStates) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualGraphicsTuning1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXManualGraphicsTuning1, L"IADLXManualGraphicsTuning1") -typedef struct IADLXManualTuningStateList IADLXManualTuningStateList; -typedef struct IADLXManualGraphicsTuning1 IADLXManualGraphicsTuning1; - -typedef struct IADLXManualGraphicsTuning1Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualGraphicsTuning1* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualGraphicsTuning1* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualGraphicsTuning1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualGraphicsTuning1 - ADLX_RESULT (ADLX_STD_CALL *GetGPUTuningRanges)(IADLXManualGraphicsTuning1* pThis, ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange); - ADLX_RESULT (ADLX_STD_CALL *GetGPUTuningStates)(IADLXManualGraphicsTuning1* pThis, IADLXManualTuningStateList** ppGFXStates); - ADLX_RESULT (ADLX_STD_CALL *GetEmptyGPUTuningStates)(IADLXManualGraphicsTuning1* pThis, IADLXManualTuningStateList** ppGFXStates); - ADLX_RESULT (ADLX_STD_CALL *IsValidGPUTuningStates)(IADLXManualGraphicsTuning1* pThis, IADLXManualTuningStateList* pGFXStates, adlx_int* errorIndex); - ADLX_RESULT (ADLX_STD_CALL *SetGPUTuningStates)(IADLXManualGraphicsTuning1* pThis, IADLXManualTuningStateList* pGFXStates); -}IADLXManualGraphicsTuning1Vtbl; - -struct IADLXManualGraphicsTuning1 { const IADLXManualGraphicsTuning1Vtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualGraphicsTuning1 - -// Manual Graphics Tuning -#pragma region IADLXManualGraphicsTuning2 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualGraphicsTuning2 : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualGraphicsTuning2") - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequencyRange GetGPUMinFrequencyRange - *@ENG_START_DOX @brief Gets the minimum frequency range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMinFrequencyRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the minimum frequency range (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum frequency range is successfully returned, __ADLX_OK__ is returned.
- * If the minimum frequency range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support minimum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMinFrequencyRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequency GetGPUMinFrequency - *@ENG_START_DOX @brief Gets the current minimum frequency value on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMinFrequency (adlx_int* minFreq) - *@codeEnd - * - *@params - *@paramrow{1.,[out],minFreq,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum frequency value (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum frequency value is successfully returned, __ADLX_OK__ is returned.
- * If the minimum frequency value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support minimum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMinFrequency (adlx_int* minFreq) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_SetGPUMinFrequency SetGPUMinFrequency - *@ENG_START_DOX @brief Sets the minimum frequency on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGPUMinFrequency (adlx_int minFreq) - *@codeEnd - * - *@params - *@paramrow{1.,[in],minFreq,adlx_int,@ENG_START_DOX The new minimum frequency value (in MHz). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the minimum frequency value is successfully set, __ADLX_OK__ is returned.
- * If the minimum frequency value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support minimum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGPUMinFrequency (adlx_int minFreq) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequencyRange GetGPUMaxFrequencyRange - *@ENG_START_DOX @brief Gets the maximum frequency range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMaxFrequencyRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the maximum frequency range (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the maximum frequency range is successfully returned, __ADLX_OK__ is returned.
- * If the maximum frequency range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support maximum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMaxFrequencyRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequency GetGPUMaxFrequency - *@ENG_START_DOX @brief Gets the current maximum frequency value on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMaxFrequency (adlx_int* maxFreq) - *@codeEnd - * - *@params - *@paramrow{1.,[out],maxFreq,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum frequency value (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the maximum frequency value is successfully returned, __ADLX_OK__ is returned.
- * If the maximum frequency value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support maximum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMaxFrequency (adlx_int* maxFreq) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_SetGPUMaxFrequency SetGPUMaxFrequency - *@ENG_START_DOX @brief Sets the maximum frequency on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGPUMaxFrequency (adlx_int maxFreq) - *@codeEnd - * - *@params - *@paramrow{1.,[in],maxFreq,adlx_int,@ENG_START_DOX The new maximum frequency (in MHz) value. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the maximum frequency value is successfully set, __ADLX_OK__ is returned.
- * If the maximum frequency value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support maximum GPU clock speed adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGPUMaxFrequency (adlx_int maxFreq) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUVoltageRange GetGPUVoltageRange - *@ENG_START_DOX @brief Gets the clock voltage range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUVoltageRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the clock voltage range (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the clock voltage range is successfully returned, __ADLX_OK__ is returned.
- * If the clock voltage range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support GPU voltage adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUVoltageRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_GetGPUVoltage GetGPUVoltage - *@ENG_START_DOX @brief Gets the current clock voltage value on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUVoltage (adlx_int* volt) - *@codeEnd - * - *@params - *@paramrow{1.,[out],volt,adlx_int*,@ENG_START_DOX The pointer to a variable where the GPU voltage (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the clock voltage value is successfully returned, __ADLX_OK__ is returned.
- * If the clock voltage value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support GPU voltage adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUVoltage (adlx_int* volt) = 0; - - /** - *@page DOX_IADLXManualGraphicsTuning2_SetGPUVoltage SetGPUVoltage - *@ENG_START_DOX @brief Sets the clock voltage on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetGPUVoltage (adlx_int volt) - *@codeEnd - * - *@params - *@paramrow{1.,[in],volt,adlx_int,@ENG_START_DOX The new GPU voltage (in mV). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the clock voltage value is successfully set, __ADLX_OK__ is returned.
- * If the clock voltage value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support GPU voltage adjustment within a range. - * @ENG_END_DOX - * - *@copydoc IADLXManualGraphicsTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetGPUVoltage (adlx_int volt) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualGraphicsTuning2Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualGraphicsTuning2, L"IADLXManualGraphicsTuning2") - -typedef struct IADLXManualGraphicsTuning2 IADLXManualGraphicsTuning2; - -typedef struct IADLXManualGraphicsTuning2Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualGraphicsTuning2* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualGraphicsTuning2* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualGraphicsTuning2* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualGraphicsTuning2 - ADLX_RESULT (ADLX_STD_CALL *GetGPUMinFrequencyRange)(IADLXManualGraphicsTuning2* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetGPUMinFrequency)(IADLXManualGraphicsTuning2* pThis, adlx_int* minFreq); - ADLX_RESULT (ADLX_STD_CALL *SetGPUMinFrequency)(IADLXManualGraphicsTuning2* pThis, adlx_int minFreq); - ADLX_RESULT (ADLX_STD_CALL *GetGPUMaxFrequencyRange)(IADLXManualGraphicsTuning2* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetGPUMaxFrequency)(IADLXManualGraphicsTuning2* pThis, adlx_int* maxFreq); - ADLX_RESULT (ADLX_STD_CALL *SetGPUMaxFrequency)(IADLXManualGraphicsTuning2* pThis, adlx_int maxFreq); - - ADLX_RESULT (ADLX_STD_CALL *GetGPUVoltageRange)(IADLXManualGraphicsTuning2* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetGPUVoltage)(IADLXManualGraphicsTuning2* pThis, adlx_int* volt); - ADLX_RESULT (ADLX_STD_CALL *SetGPUVoltage)(IADLXManualGraphicsTuning2* pThis, adlx_int volt); -}IADLXManualGraphicsTuning2Vtbl; -struct IADLXManualGraphicsTuning2 { const IADLXManualGraphicsTuning2Vtbl *pVtbl; }; - -#endif //__cplusplus -#pragma endregion IADLXManualGraphicsTuning2 - -#endif//ADLX_IGPUMANUALGFXTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUManualPowerTuning.h b/vendor/adlx/SDK/Include/IGPUManualPowerTuning.h deleted file mode 100644 index 43c91e6..0000000 --- a/vendor/adlx/SDK/Include/IGPUManualPowerTuning.h +++ /dev/null @@ -1,252 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUMANUALPOWERTUNING_H -#define ADLX_IGPUMANUALPOWERTUNING_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualPowerTuning.h - Interfaces for ADLX GPU Manual Power Tuning functionality -// Manual Power Tuning -#pragma region IADLXManualPowerTuning -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualPowerTuning : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualPowerTuning") - - /** - *@page DOX_IADLXManualPowerTuning_GetPowerLimitRange GetPowerLimitRange - *@ENG_START_DOX @brief Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPowerLimitRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the manual power limit range (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the power limit range is successfully returned, __ADLX_OK__ is returned.
- * If the power limit range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPowerLimitRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_GetPowerLimit GetPowerLimit - *@ENG_START_DOX @brief Gets the current power limit of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPowerLimit (adlx_int* curVal) - *@codeEnd - * - *@params - *@paramrow{1.,[out],curVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the manual power limit value (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the power limit value is successfully returned, __ADLX_OK__ is returned.
- * If the power limit value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * A higher power limit increases performance headroom. - * @ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPowerLimit (adlx_int* curVal) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_SetPowerLimit SetPowerLimit - *@ENG_START_DOX @brief Sets the power limit of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetPowerLimit (adlx_int curVal) - *@codeEnd - * - *@params - *@paramrow{1.,[in],curVal,adlx_int,@ENG_START_DOX The new power limit value (in %) . @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the power limit value is successfully set, __ADLX_OK__ is returned.
- * If the power limit value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * A higher power limit increases performance headroom. - * @ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetPowerLimit (adlx_int curVal) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_IsSupportedTDCLimit IsSupportedTDCLimit - *@ENG_START_DOX - *@brief Checks if Thermal Design Current (TDC) limit is supported on a GPU. - *@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedTDCLimit (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of TDC limit feature is returned. The variable is __true__ if TDC limit feature is supported. The variable is __false__ if TDC limit feature is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the state of TDC limit feature is successfully returned, __ADLX_OK__ is returned.
- * If the state of TDC limit feature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- *@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * A higher TDC limit increases performance headroom. - * @ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTDCLimit(adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_GetTDCLimitRange GetTDCLimitRange - *@ENG_START_DOX - *@brief Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU. - *@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTDCLimitRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the manual TDC limit range (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the TDC limit range is successfully returned, __ADLX_OK__ is returned.
- * If the TDC limit range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- *@ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTDCLimitRange(ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_GetTDCLimit GetTDCLimit - *@ENG_START_DOX - *@brief Gets the current Thermal Design Current (TDC) limit of a GPU. - *@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetTDCLimit (adlx_int* curVal) - *@codeEnd - * - *@params - *@paramrow{1.,[out],curVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the manual TDC limit value (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the TDC limit value is successfully returned, __ADLX_OK__ is returned.
- * If the TDC limit value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- *@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * A higher TDC limit increases performance headroom. - * @ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetTDCLimit(adlx_int* curVal) = 0; - - /** - *@page DOX_IADLXManualPowerTuning_SetTDCLimit SetTDCLimit - *@ENG_START_DOX - *@brief Sets the Thermal Design Current (TDC) limit of a GPU. - *@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetTDCLimit (adlx_int curVal) - *@codeEnd - * - *@params - *@paramrow{1.,[in],curVal,adlx_int,@ENG_START_DOX The new TDC limit value (in %). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the TDC limit value is successfully set, __ADLX_OK__ is returned.
- * If the TDC limit value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- *@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * A higher TDC limit increases performance headroom. - * @ENG_END_DOX - * - *@copydoc IADLXManualPowerTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetTDCLimit(adlx_int curVal) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualPowerTuningPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualPowerTuning, L"IADLXManualPowerTuning") - -typedef struct IADLXManualPowerTuning IADLXManualPowerTuning; - -typedef struct IADLXManualPowerTuningVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualPowerTuning* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualPowerTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualPowerTuning* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualPowerTuning - ADLX_RESULT (ADLX_STD_CALL *GetPowerLimitRange)(IADLXManualPowerTuning* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetPowerLimit)(IADLXManualPowerTuning* pThis, adlx_int* curVal); - ADLX_RESULT (ADLX_STD_CALL *SetPowerLimit)(IADLXManualPowerTuning* pThis, adlx_int curVal); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedTDCLimit)(IADLXManualPowerTuning* pThis,adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* GetTDCLimitRange)(IADLXManualPowerTuning* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT(ADLX_STD_CALL* GetTDCLimit)(IADLXManualPowerTuning* pThis, adlx_int* curVal); - ADLX_RESULT(ADLX_STD_CALL* SetTDCLimit)(IADLXManualPowerTuning* pThis, adlx_int curVal); -}IADLXManualPowerTuningVtbl; - -struct IADLXManualPowerTuning { const IADLXManualPowerTuningVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualPowerTuning - -#endif//ADLX_IGPUMANUALPOWERTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUManualVRAMTuning.h b/vendor/adlx/SDK/Include/IGPUManualVRAMTuning.h deleted file mode 100644 index 09eeaab..0000000 --- a/vendor/adlx/SDK/Include/IGPUManualVRAMTuning.h +++ /dev/null @@ -1,514 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- -#ifndef ADLX_IGPUMANUALVRAMTUNING_H -#define ADLX_IGPUMANUALVRAMTUNING_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualVRAMTuning.h - Interfaces for ADLX GPU manual VRAM Tuning functionality - -// Manual VRAM Tuning, common verion -#pragma region IADLXManualVRAMTuning1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualTuningStateList; - class ADLX_NO_VTABLE IADLXMemoryTimingDescriptionList; - class ADLX_NO_VTABLE IADLXManualVRAMTuning1 : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualVRAMTuning1") - - /** - *@page DOX_IADLXManualVRAMTuning1_IsSupportedMemoryTiming IsSupportedMemoryTiming - *@ENG_START_DOX @brief Checks if the memory timing is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of memory timing is returned. The variable is __true__ if memory timing is supported. The variable is __false__ if memory timing is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of memory timing is successfully returned, __ADLX_OK__ is returned.
- * If the state of memory timing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMemoryTiming (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_GetSupportedMemoryTimingDescriptionList GetSupportedMemoryTimingDescriptionList - *@ENG_START_DOX @brief Gets the reference counted list of the supported memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSupportedMemoryTimingDescriptionList (@ref DOX_IADLXMemoryTimingDescriptionList** ppDescriptionList) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppDescriptionList,@ref DOX_IADLXMemoryTimingDescriptionList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDescriptionList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of the supported memory timing description is successfully returned, __ADLX_OK__ is returned.
- * If the list of the supported memory timing description is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_GetMemoryTimingDescription GetMemoryTimingDescription - *@ENG_START_DOX @brief Gets the current memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description) - *@codeEnd - * - *@params - *@paramrow{1.,[out],description,@ref ADLX_MEMORYTIMING_DESCRIPTION*,@ENG_START_DOX The pointer to a variable where the memory timing description is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the memory timing description is successfully returned, __ADLX_OK__ is returned.
- * If the memory timing description is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. - * @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_SetMemoryTimingDescription SetMemoryTimingDescription - *@ENG_START_DOX @brief Sets the memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMemoryTimingLevel (@ref ADLX_MEMORYTIMING_DESCRIPTION description) - *@codeEnd - * - *@params - *@paramrow{1.,[in],description,@ref ADLX_MEMORYTIMING_DESCRIPTION,@ENG_START_DOX The new memory timing description. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the memory timing description is successfully set, __ADLX_OK__ is returned.
- * If the memory timing description is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. - * @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION description) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_GetVRAMTuningRanges GetVRAMTuningRanges - *@ENG_START_DOX @brief Gets the VRAM frequency range and the VRAM voltage range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetVRAMTuningRanges (@ref ADLX_IntRange* frequencyRange, @ref ADLX_IntRange* voltageRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],frequencyRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the frequency range (in MHz) is returned. @ENG_END_DOX} - *@paramrow{2.,[out],voltageRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the voltage range (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the frequency and voltage range are successfully returned, __ADLX_OK__ is returned.
- * If the frequency and voltage range are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The VRAM frequency range and the VRAM voltage range are applicable to all the VRAM states on this GPU. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetVRAMTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_GetVRAMTuningStates GetVRAMTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of current VRAM tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetVRAMTuningStates (@ref DOX_IADLXManualTuningStateList** ppVRAMStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppVRAMStates,@ref DOX_IADLXManualTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppVRAMStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of VRAM tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of VRAM tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_GetEmptyVRAMTuningStates GetEmptyVRAMTuningStates - *@ENG_START_DOX @brief Gets the reference counted list of empty VRAM tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetEmptyVRAMTuningStates (@ref DOX_IADLXManualTuningStateList** ppVRAMStates) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppVRAMStates,@ref DOX_IADLXManualTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppVRAMStates__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of empty VRAM tuning states is successfully returned, __ADLX_OK__ is returned.
- * If the list of empty VRAM tuning states is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX All the value in this list are zero. - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetEmptyVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_IsValidVRAMTuningStates IsValidVRAMTuningStates - *@ENG_START_DOX @brief Checks the validity of listed VRAM tuning states on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsValidVRAMTuningStates (@ref DOX_IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pVRAMStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the VRAM states list interface. @ENG_END_DOX} - *@paramrow{2.,[out],errorIndex,adlx_int*,@ENG_START_DOX The pointer to a variable where the invalid states index is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If __IsValidVRAMTuningStates__ is successfully executed, __ADLX_OK__ is returned.
- * If __IsValidVRAMTuningStates__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details If the __*pVRAMStates__ is valid then the method sets the __errorIndex__ to -1. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsValidVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning1_SetVRAMTuningStates SetVRAMTuningStates - *@ENG_START_DOX @brief Sets listed VRAM states to the tuning state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetVRAMTuningStates (@ref DOX_IADLXManualTuningStateList* pVRAMStates) - *@codeEnd - * - *@params - *@paramrow{1.,[in],pVRAMStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the VRAM states list interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the VRAM tuning states are successfully set, __ADLX_OK__ is returned.
- * If the VRAM tuning states are not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualVRAMTuning1Ptr; -} //namespace adlx -#else //__cplusplus - -ADLX_DECLARE_IID (IADLXManualVRAMTuning1, L"IADLXManualVRAMTuning1") -typedef struct IADLXManualVRAMTuning1 IADLXManualVRAMTuning1; -typedef struct IADLXManualTuningStateList IADLXManualTuningStateList; -typedef struct IADLXMemoryTimingDescriptionList IADLXMemoryTimingDescriptionList; -typedef struct IADLXManualVRAMTuning1Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualVRAMTuning1* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualVRAMTuning1* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualVRAMTuning1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualVRAMTuning1 - ADLX_RESULT (ADLX_STD_CALL *IsSupportedMemoryTiming)(IADLXManualVRAMTuning1* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning1* pThis, IADLXMemoryTimingDescriptionList** ppDescriptionList); - ADLX_RESULT (ADLX_STD_CALL *GetMemoryTimingDescription)(IADLXManualVRAMTuning1* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description); - ADLX_RESULT (ADLX_STD_CALL *SetMemoryTimingDescription)(IADLXManualVRAMTuning1* pThis, ADLX_MEMORYTIMING_DESCRIPTION description); - - ADLX_RESULT (ADLX_STD_CALL *GetVRAMTuningRanges)(IADLXManualVRAMTuning1* pThis, ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange); - ADLX_RESULT (ADLX_STD_CALL *GetVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList** ppVRAMStates); - ADLX_RESULT (ADLX_STD_CALL *GetEmptyVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList** ppVRAMStates); - ADLX_RESULT (ADLX_STD_CALL *IsValidVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex); - ADLX_RESULT (ADLX_STD_CALL *SetVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList* pVRAMStates); -}IADLXManualVRAMTuning1Vtbl; - -struct IADLXManualVRAMTuning1 { const IADLXManualVRAMTuning1Vtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualVRAMTuning1 - -// Manual VRAM Tuning2 for Navi2X -#pragma region IADLXManualVRAMTuning2 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualVRAMTuning2 : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualVRAMTuning2") - - /** - *@page DOX_IADLXManualVRAMTuning2_IsSupportedMemoryTiming IsSupportedMemoryTiming - *@ENG_START_DOX @brief Checks if the memory timing is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of memory timing is returned. The variable is __true__ if memory timing is supported. The variable is __false__ if memory timing is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of memory timing is successfully returned, __ADLX_OK__ is returned.
- * If the state of memory timing is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. - * @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMemoryTiming (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_GetSupportedMemoryTimingDescriptionList GetSupportedMemoryTimingDescriptionList - *@ENG_START_DOX @brief Gets the reference counted list of the supported memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSupportedMemoryTimingDescriptionList (@ref DOX_IADLXMemoryTimingDescriptionList** ppDescriptionList) - *@codeEnd - * - *@params - *@paramrow{1.,[out],ppDescriptionList,@ref DOX_IADLXMemoryTimingDescriptionList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDescriptionList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the list of the supported memory timing description is successfully returned, __ADLX_OK__ is returned.
- * If the list of the supported memory timing description is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_GetMemoryTimingDescription GetMemoryTimingDescription - *@ENG_START_DOX @brief Gets the current memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description) - *@codeEnd - * - *@params - *@paramrow{1.,[out],description,@ref ADLX_MEMORYTIMING_DESCRIPTION*,@ENG_START_DOX The pointer to a variable where the memory timing description is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the memory timing description is successfully returned, __ADLX_OK__ is returned.
- * If the memory timing description is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. - * @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_SetMemoryTimingDescription SetMemoryTimingDescription - *@ENG_START_DOX @brief Sets the memory timing description on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMemoryTimingLevel (@ref ADLX_MEMORYTIMING_DESCRIPTION description) - *@codeEnd - * - *@params - *@paramrow{1.,[in],description,@ref ADLX_MEMORYTIMING_DESCRIPTION,@ENG_START_DOX The new memory timing description. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the memory timing description is successfully set, __ADLX_OK__ is returned.
- * If the memory timing description is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. - * @ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION description) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequencyRange GetMaxVRAMFrequencyRange - *@ENG_START_DOX @brief Gets the maximum VRAM frequency range on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMaxVRAMFrequencyRange (@ref ADLX_IntRange* tuningRange) - *@codeEnd - * - *@params - *@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the max frequency range (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the max frequency range is successfully returned, __ADLX_OK__ is returned.
- * If the max frequency range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMaxVRAMFrequencyRange (ADLX_IntRange* tuningRange) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequency GetMaxVRAMFrequency - *@ENG_START_DOX @brief Gets the current maximum frequency value of a VRAM on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMaxVRAMFrequency (adlx_int* freq) - *@codeEnd - * - *@params - *@paramrow{1.,[out],freq,adlx_int*,@ENG_START_DOX The pointer to a variable where the max frequency value (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the max frequency value is successfully returned, __ADLX_OK__ is returned.
- * If the max frequency value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMaxVRAMFrequency (adlx_int* freq) = 0; - - /** - *@page DOX_IADLXManualVRAMTuning2_SetMaxVRAMFrequency SetMaxVRAMFrequency - *@ENG_START_DOX @brief Sets the maximum VRAM frequency value on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMaxVRAMFrequency (adlx_int freq) - *@codeEnd - * - *@params - *@paramrow{1.,[in],freq,adlx_int,@ENG_START_DOX The new max frequency value (in MHz). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the max frequency value is successfully set, __ADLX_OK__ is returned.
- * If the max frequency value is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualVRAMTuning2_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMaxVRAMFrequency (adlx_int freq) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualVRAMTuning2Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualVRAMTuning2, L"IADLXManualVRAMTuning2") -typedef struct IADLXManualVRAMTuning2 IADLXManualVRAMTuning2; -typedef struct IADLXManualVRAMTuning2Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualVRAMTuning2* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualVRAMTuning2* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualVRAMTuning2* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualVRAMTuning2 - ADLX_RESULT (ADLX_STD_CALL *IsSupportedMemoryTiming)(IADLXManualVRAMTuning2* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning2* pThis, IADLXMemoryTimingDescriptionList** ppDescriptionList); - ADLX_RESULT (ADLX_STD_CALL *GetMemoryTimingDescription)(IADLXManualVRAMTuning2* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description); - ADLX_RESULT (ADLX_STD_CALL *SetMemoryTimingDescription)(IADLXManualVRAMTuning2* pThis, ADLX_MEMORYTIMING_DESCRIPTION description); - - ADLX_RESULT (ADLX_STD_CALL *GetMaxVRAMFrequencyRange)(IADLXManualVRAMTuning2* pThis, ADLX_IntRange* tuningRange); - ADLX_RESULT (ADLX_STD_CALL *GetMaxVRAMFrequency)(IADLXManualVRAMTuning2* pThis, adlx_int* freq); - ADLX_RESULT (ADLX_STD_CALL *SetMaxVRAMFrequency)(IADLXManualVRAMTuning2* pThis, adlx_int freq); -}IADLXManualVRAMTuning2Vtbl; - -struct IADLXManualVRAMTuning2 { const IADLXManualVRAMTuning2Vtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualVRAMTuning2 - -#endif//ADLX_IGPUMANUALVRAMTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUPresetTuning.h b/vendor/adlx/SDK/Include/IGPUPresetTuning.h deleted file mode 100644 index 058be67..0000000 --- a/vendor/adlx/SDK/Include/IGPUPresetTuning.h +++ /dev/null @@ -1,469 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUPRESETTUNING_H -#define ADLX_IGPUPRESETTUNING_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUPresetTuning.h - Interfaces for ADLX GPU Preset Tuning functionality - -// Preset Tuning -#pragma region IADLXGPUPresetTuning -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUPresetTuning : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUPresetTuning") - - /** - *@page DOX_IADLXGPUPresetTuning_IsSupportedPowerSaver IsSupportedPowerSaver - *@ENG_START_DOX @brief Checks if the power saver tuning preset is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedPowerSaver (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of power saver is returned. The variable is __true__ if power saver is supported. The variable is __false__ if power saver is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of power saver is successfully returned, __ADLX_OK__ is returned.
- * If the state of power saver is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * @addinfo - * @ENG_START_DOX - * Use of the power saver tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPowerSaver (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsSupportedQuiet IsSupportedQuiet - *@ENG_START_DOX @brief Checks if the quiet tuning preset is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedQuiet (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of quiet is returned. The variable is __true__ if quiet is supported. The variable is __false__ if quiet is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of quiet is successfully returned, __ADLX_OK__ is returned.
- * If the state of quiet is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The quiet tuning preset enables quiet operation with lowered power and fan settings. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedQuiet (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsSupportedBalanced IsSupportedBalanced - *@ENG_START_DOX @brief Checks if the balanced tuning preset is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedBalanced (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the balanced of quiet is returned. The variable is __true__ if balanced is supported. The variable is __false__ if balanced is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of balanced is successfully returned, __ADLX_OK__ is returned.
- * If the state of balanced is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBalanced (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsSupportedTurbo IsSupportedTurbo - *@ENG_START_DOX @brief Checks if the turbo tuning preset is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedTurbo (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of turbo is returned. The variable is __true__ if turbo is supported. The variable is __false__ if turbo is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of turbo is successfully returned, __ADLX_OK__ is returned.
- * If the state of turbo is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTurbo (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsSupportedRage IsSupportedRage - *@ENG_START_DOX @brief Checks if the rage tuning preset is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedRage (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of rage is returned. The variable is __true__ if rage is supported. The variable is __false__ if rage is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of rage is successfully returned, __ADLX_OK__ is returned.
- * If the state of rage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The rage tuning preset sets a higher power limit to allow more headroom for performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRage (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsCurrentPowerSaver IsCurrentPowerSaver - *@ENG_START_DOX @brief Checks if the power saver tuning preset is used on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentPowerSaver (adlx_bool* isPowerSaver) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isPowerSaver,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of power saver is returned. The variable is __true__ if power saver is applied. The variable is __false__ if power saver is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of power saver is successfully returned, __ADLX_OK__ is returned.
- * If the state of power saver is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Use of the power saver tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentPowerSaver (adlx_bool* isPowerSaver) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsCurrentQuiet IsCurrentQuiet - *@ENG_START_DOX @brief Checks if the quiet tuning preset is used on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentQuiet (adlx_bool* isQuiet) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isQuiet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of quiet is returned. The variable is __true__ if quiet is applied. The variable is __false__ if quiet is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of quiet is successfully returned, __ADLX_OK__ is returned.
- * If the state of quiet is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The quiet tuning preset enables quiet operation with lowered power and fan settings. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentQuiet (adlx_bool* isQuiet) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsCurrentBalanced IsCurrentBalanced - *@ENG_START_DOX @brief Checks if the balanced tuning preset is used on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentBalanced (adlx_bool* isBalanced) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isBalanced,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of balanced is returned. The variable is __true__ if balanced is applied. The variable is __false__ if balanced is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of balanced is successfully returned, __ADLX_OK__ is returned.
- * If the state of balanced is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBalanced (adlx_bool* isBalance) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsCurrentTurbo IsCurrentTurbo - *@ENG_START_DOX @brief Checks if the turbo tuning preset is used on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentTurbo (adlx_bool* isTurbo) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isTurbo,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of turbo is returned. The variable is __true__ if turbo is applied. The variable is __false__ if turbo is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of turbo is successfully returned, __ADLX_OK__ is returned.
- * If the state of turbo is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentTurbo (adlx_bool* isTurbo) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_IsCurrentRage IsCurrentRage - *@ENG_START_DOX @brief Checks if the rage tuning preset is used on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsCurrentRage (adlx_bool* isRage) - *@codeEnd - * - *@params - *@paramrow{1.,[out],isRage,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of rage is returned. The variable is __true__ if rage is applied. The variable is __false__ if rage is not applied. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of rage is successfully returned, __ADLX_OK__ is returned.
- * If the state of rage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The rage tuning preset sets a higher power limit to allow more headroom for performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsCurrentRage (adlx_bool* isRage) = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_SetPowerSaver SetPowerSaver - *@ENG_START_DOX @brief Sets the power saver tuning preset on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetPowerSaver () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the power saver is successfully applied, __ADLX_OK__ is returned.
- * If the power saver is not successfully applied, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * Use of the power saver tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetPowerSaver () = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_SetQuiet SetQuiet - *@ENG_START_DOX @brief Sets the quiet tuning preset on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetQuiet () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the quiet is successfully applied, __ADLX_OK__ is returned.
- * If the quiet is not successfully applied, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The quiet tuning preset enables quiet operation with lowered power and fan settings. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetQuiet () = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_SetBalanced SetBalanced - *@ENG_START_DOX @brief Sets the balanced tuning preset on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBalanced () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the balanced is successfully applied, __ADLX_OK__ is returned.
- * If the balanced is not successfully applied, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBalanced () = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_SetTurbo SetTurbo - *@ENG_START_DOX @brief Sets the turbo tuning preset on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetTurbo () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the turbo is successfully applied, __ADLX_OK__ is returned.
- * If the turbo is not successfully applied, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetTurbo () = 0; - - /** - *@page DOX_IADLXGPUPresetTuning_SetRage SetRage - *@ENG_START_DOX @brief Sets the rage tuning preset on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetRage () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the rage is successfully applied, __ADLX_OK__ is returned.
- * If the rage is not successfully applied, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The rage tuning preset sets a higher power limit to allow more headroom for performance. - * @ENG_END_DOX - * - *@copydoc IADLXGPUPresetTuning_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetRage () = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUPresetTuningPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUPresetTuning, L"IADLXGPUPresetTuning") - -typedef struct IADLXGPUPresetTuning IADLXGPUPresetTuning; - -typedef struct IADLXGPUPresetTuningVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUPresetTuning* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUPresetTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUPresetTuning* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUPresetTuning - ADLX_RESULT (ADLX_STD_CALL *IsSupportedPowerSaver)(IADLXGPUPresetTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedQuiet)(IADLXGPUPresetTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedBalanced)(IADLXGPUPresetTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedTurbo)(IADLXGPUPresetTuning* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedRage)(IADLXGPUPresetTuning* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL *IsCurrentPowerSaver)(IADLXGPUPresetTuning* pThis, adlx_bool* isPowerSaver); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentQuiet)(IADLXGPUPresetTuning* pThis, adlx_bool* isQuiet); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentBalanced)(IADLXGPUPresetTuning* pThis, adlx_bool* isBalance); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentTurbo)(IADLXGPUPresetTuning* pThis, adlx_bool* isTurbo); - ADLX_RESULT (ADLX_STD_CALL *IsCurrentRage)(IADLXGPUPresetTuning* pThis, adlx_bool* isRage); - - ADLX_RESULT (ADLX_STD_CALL *SetPowerSaver)(IADLXGPUPresetTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetQuiet)(IADLXGPUPresetTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetBalanced)(IADLXGPUPresetTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetTurbo)(IADLXGPUPresetTuning* pThis); - ADLX_RESULT (ADLX_STD_CALL *SetRage)(IADLXGPUPresetTuning* pThis); - -}IADLXGPUPresetTuningVtbl; - -struct IADLXGPUPresetTuning { const IADLXGPUPresetTuningVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUPresetTuning - -#endif//ADLX_IGPUPRESETTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUTuning.h b/vendor/adlx/SDK/Include/IGPUTuning.h deleted file mode 100644 index 1251680..0000000 --- a/vendor/adlx/SDK/Include/IGPUTuning.h +++ /dev/null @@ -1,1239 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUTUNING_H -#define ADLX_IGPUTUNING_H -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" -#include "IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//IGPUTuning.h - Interfaces for ADLX GPU Tuning functionality - -//Manual Tuning interface -#pragma region IADLXManualTuningState -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualTuningState : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXManualTuningState") - - /** - * @page DOX_IADLXManualTuningState_GetFrequency GetFrequency - * @ENG_START_DOX - * @brief Gets the frequency in the manual tuning state on a GPU. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetFrequency (adlx_uint* value) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the frequency (in MHz) in the manual tuning state is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the frequency is successfully returned, __ADLX_OK__ is returned.
- * If the frequency is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXManualTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFrequency (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualTuningState_SetFrequency SetFrequency - *@ENG_START_DOX @brief Sets the frequency in the manual tuning state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetFrequency (adlx_int value) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new frequency (in MHz) in the manual tuning state. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the frequency is successfully set, __ADLX_OK__ is returned.
- * If the frequency is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetFrequency (adlx_int value) = 0; - - /** - * @page DOX_IADLXManualTuningState_GetVoltage GetVoltage - * @ENG_START_DOX - * @brief Gets the voltage in the manual tuning state on a GPU. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetVoltage (adlx_uint* value) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the voltage (in mV) in the manual tuning state is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the voltage is successfully returned, __ADLX_OK__ is returned.
- * If the voltage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXManualTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetVoltage (adlx_int* value) = 0; - - /** - *@page DOX_IADLXManualTuningState_SetVoltage SetVoltage - *@ENG_START_DOX @brief Sets the voltage in the manual tuning state on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetVoltage (adlx_int value) - *@codeEnd - * - * @params - * @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new voltage (in mV) in the manual tuning state. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the voltage is successfully set, __ADLX_OK__ is returned.
- * If the voltage is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXManualTuningState_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetVoltage (adlx_int value) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualTuningStatePtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualTuningState, L"IADLXManualTuningState") - -typedef struct IADLXManualTuningState IADLXManualTuningState; - -typedef struct IADLXManualTuningStateVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualTuningState* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualTuningState* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualTuningState* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXManualTuningState - ADLX_RESULT (ADLX_STD_CALL *GetFrequency)(IADLXManualTuningState* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL *SetFrequency)(IADLXManualTuningState* pThis, adlx_int value); - ADLX_RESULT (ADLX_STD_CALL *GetVoltage)(IADLXManualTuningState* pThis, adlx_int* value); - ADLX_RESULT (ADLX_STD_CALL *SetVoltage)(IADLXManualTuningState* pThis, adlx_int value); -}IADLXManualTuningStateVtbl; - -struct IADLXManualTuningState { const IADLXManualTuningStateVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualTuningState - -#pragma region IADLXMemoryTimingDescription -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXMemoryTimingDescription : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXMemoryTimingDescription") - - /** - * @page DOX_IADLXMemoryTimingDescription_GetDescription GetDescription - * @ENG_START_DOX - * @brief Gets the memory timing description. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,description,@ref ADLX_MEMORYTIMING_DESCRIPTION* ,@ENG_START_DOX The pointer to a variable where the memory timing description is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the memory timing description is successfully returned, __ADLX_OK__ is returned.
- * If the memory timing description is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXMemoryTimingDescription_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0; - }; - typedef IADLXInterfacePtr_T IADLXMemoryTimingDescriptionPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXMemoryTimingDescription, L"IADLXMemoryTimingDescription") - -typedef struct IADLXMemoryTimingDescription IADLXMemoryTimingDescription; - -typedef struct IADLXMemoryTimingDescriptionVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXMemoryTimingDescription* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXMemoryTimingDescription* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXMemoryTimingDescription* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXMemoryTimingDescription - ADLX_RESULT (ADLX_STD_CALL *GetDescription)(IADLXMemoryTimingDescription* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description); -}IADLXMemoryTimingDescriptionVtbl; - -struct IADLXMemoryTimingDescription { const IADLXMemoryTimingDescriptionVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXMemoryTimingDescription - -//IADLXManualTuningState list interface -#pragma region IADLXManualTuningStateList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXManualTuningStateList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXManualTuningStateList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXManualTuningState::IID ()) - - /** - * @page DOX_IADLXManualTuningStateList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXManualTuningState** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXManualTuningState** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXManualTuningStateList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXManualTuningState** ppItem) = 0; - - /** - *@page DOX_IADLXManualTuningStateList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXManualTuningState* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXManualTuningState* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - *@copydoc IADLXManualTuningStateList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXManualTuningState* pItem) = 0; - }; //IADLXManualTuningStateList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXManualTuningStateListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXManualTuningStateList, L"IADLXManualTuningStateList") -ADLX_DECLARE_ITEM_IID (IADLXManualTuningState, IID_IADLXManualTuningState ()) - -typedef struct IADLXManualTuningStateList IADLXManualTuningStateList; - -typedef struct IADLXManualTuningStateListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualTuningStateList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXManualTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualTuningStateList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXManualTuningStateList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXManualTuningStateList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXManualTuningStateList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXManualTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXManualTuningStateList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXManualTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXManualTuningStateList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXManualTuningStateList* pThis, IADLXInterface* pItem); - - //IADLXManualTuningStateList - ADLX_RESULT (ADLX_STD_CALL *At_ManualTuningStateList)(IADLXManualTuningStateList* pThis, const adlx_uint location, IADLXManualTuningState** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_ManualTuningStateList)(IADLXManualTuningStateList* pThis, IADLXManualTuningState* pItem); - -}IADLXManualTuningStateListVtbl; - -struct IADLXManualTuningStateList { const IADLXManualTuningStateListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXManualTuningStateList - -#pragma region IADLXMemoryTimingDescriptionList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXMemoryTimingDescriptionList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXMemoryTimingDescriptionList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXMemoryTimingDescription::IID ()) - - /** - * @page DOX_IADLXMemoryTimingDescriptionList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXMemoryTimingDescription** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXMemoryTimingDescription** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXMemoryTimingDescriptionList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXMemoryTimingDescription** ppItem) = 0; - - /** - *@page DOX_IADLXMemoryTimingDescriptionList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXMemoryTimingDescription* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXMemoryTimingDescription* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - *@copydoc IADLXMemoryTimingDescriptionList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXMemoryTimingDescription* pItem) = 0; - }; - typedef IADLXInterfacePtr_T IADLXMemoryTimingDescriptionListPtr; -} -#else //__cplusplus -ADLX_DECLARE_IID (IADLXMemoryTimingDescriptionList, L"IADLXMemoryTimingDescriptionList") -ADLX_DECLARE_ITEM_IID (IADLXMemoryTimingDescription, IID_IADLXMemoryTimingDescription ()) - -typedef struct IADLXMemoryTimingDescriptionList IADLXMemoryTimingDescriptionList; - -typedef struct IADLXMemoryTimingDescriptionListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXMemoryTimingDescriptionList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXMemoryTimingDescriptionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXMemoryTimingDescriptionList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXMemoryTimingDescriptionList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXMemoryTimingDescriptionList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXMemoryTimingDescriptionList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXMemoryTimingDescriptionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXMemoryTimingDescriptionList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXMemoryTimingDescriptionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXMemoryTimingDescriptionList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXMemoryTimingDescriptionList* pThis, IADLXInterface* pItem); - - //IADLXMemoryTimingDescriptionList - ADLX_RESULT (ADLX_STD_CALL *At_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList* pThis, const adlx_uint location, IADLXMemoryTimingDescription** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList* pThis, IADLXMemoryTimingDescription* pItem); - -}IADLXMemoryTimingDescriptionListVtbl; - -struct IADLXMemoryTimingDescriptionList { const IADLXMemoryTimingDescriptionListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXMemoryTimingDescriptionList - -#pragma region IADLXGPUTuningChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - class ADLX_NO_VTABLE IADLXGPUTuningChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXGPUTuningChangedEvent") - /** - *@page DOX_IADLXGPUTuningChangedEvent_GetGPU GetGPU - *@ENG_START_DOX @brief Gets the reference counted GPU interface on which the GPU tuning is changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPU (@ref DOX_IADLXGPU** ppGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppGPU,@ref DOX_IADLXGPU** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ @ref DOX_IADLXGPUTuningChangedEvent_GetGPU returns the reference counted GPU interface used by all the methods in this interface to check if there are any changes in GPU tuning. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPU (IADLXGPU** ppGPU) = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsAutomaticTuningChanged IsAutomaticTuningChanged - *@ENG_START_DOX @brief Checks if the automatic tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsAutomaticTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the automatic tuning settings are changed, __true__ is returned.
- * If the automatic tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsAutomaticTuningChanged () = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsPresetTuningChanged IsPresetTuningChanged - *@ENG_START_DOX @brief Checks if the preset tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsPresetTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the preset tuning settings are changed, __true__ is returned.
- * If the preset tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsPresetTuningChanged () = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsManualGPUCLKTuningChanged IsManualGPUCLKTuningChanged - *@ENG_START_DOX @brief Checks if the manual graphic clock tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsManualGPUCLKTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the manual graphic clock tuning settings are changed, __true__ is returned.
- * If the manual graphic clock tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsManualGPUCLKTuningChanged () = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsManualVRAMTuningChanged IsManualVRAMTuningChanged - *@ENG_START_DOX @brief Checks if the manual VRAM tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsManualVRAMTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the manual VRAM tuning settings are changed, __true__ is returned.
- * If the manual VRAM tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsManualVRAMTuningChanged () = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsManualFanTuningChanged IsManualFanTuningChanged - *@ENG_START_DOX @brief Checks if the manual fan tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsManualFanTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the manual fan tuning settings are changed, __true__ is returned.
- * If the manual fan tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsManualFanTuningChanged () = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent_IsManualPowerTuningChanged IsManualPowerTuningChanged - *@ENG_START_DOX @brief Checks if the manual power tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsManualPowerTuningChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If the manual power tuning settings are changed, __true__ is returned.
- * If the manual power tuning settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - *@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsManualPowerTuningChanged () = 0; - }; //IADLXGPUTuningChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUTuningChangedEventPtr; -} //namespace adlx -#else //__cplusplus -typedef struct IADLXGPU IADLXGPU; - -ADLX_DECLARE_IID (IADLXGPUTuningChangedEvent, L"IADLXGPUTuningChangedEvent") -typedef struct IADLXGPUTuningChangedEvent IADLXGPUTuningChangedEvent; - -typedef struct IADLXGPUTuningChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningChangedEvent* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningChangedEvent* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXGPUTuningChangedEvent* pThis); - - // IADLXAutomaticTuningChangedEvent interface - ADLX_RESULT (ADLX_STD_CALL *GetGPU)(IADLXGPUTuningChangedEvent* pThis, IADLXGPU** ppGPU); - - adlx_bool (ADLX_STD_CALL *IsAutomaticTuningChanged)(IADLXGPUTuningChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsPresetTuningChanged)(IADLXGPUTuningChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsManualGPUCLKTuningChanged)(IADLXGPUTuningChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsManualVRAMTuningChanged)(IADLXGPUTuningChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsManualFanTuningChanged)(IADLXGPUTuningChangedEvent* pThis); - adlx_bool (ADLX_STD_CALL *IsManualPowerTuningChanged)(IADLXGPUTuningChangedEvent* pThis); -} IADLXGPUTuningChangedEventVtbl; - -struct IADLXGPUTuningChangedEvent { const IADLXGPUTuningChangedEventVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUTuningChangedEvent - -//GPU Tuning changed listener interface. To be implemented in application and passed in IADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener() -#pragma region IADLXGPUTuningChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUTuningChangedListener - { - public: - /** - *@page DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged OnGPUTuningChanged - *@ENG_START_DOX @brief __OnGPUTuningChanged__ is called by ADLX when GPU tuning changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnGPUTuningChanged (@ref DOX_IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPUTuningChangedEvent,@ref DOX_IADLXGPUTuningChangedEvent* ,@ENG_START_DOX The pointer to a GPU tuning change event. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener. - * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnGPUTuningChanged (IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) = 0; - }; //IADLXGPUTuningChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXGPUTuningChangedListener IADLXGPUTuningChangedListener; - -typedef struct IADLXGPUTuningChangedListenerVtbl -{ - // IADLXGPUTuningChangedListener interface - adlx_bool (ADLX_STD_CALL *OnGPUTuningChanged)(IADLXGPUTuningChangedListener* pThis, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent); -} IADLXGPUTuningChangedListenerVtbl; - -struct IADLXGPUTuningChangedListener { const IADLXGPUTuningChangedListenerVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUTuningChangedListener - -//Interface that allows registration to gpu tuning-related events: -// - GPU Tuning List changed -// - Automatic Tuning changed -// - Preset Tuning changed -// - Manual Tuning changed -#pragma region IADLXGPUTuningChangedHandling -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUTuningChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUTuningChangedHandling") - /** - *@page DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener AddGPUTuningEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the GPU tuning changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddGPUTuningEventListener (@ref DOX_IADLXGPUTuningChangedListener* pGPUTuningChangedListener); - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPUTuningChangedListener,@ref DOX_IADLXGPUTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving GPU tuning change notifications. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged method of the listener when GPU tuning changes.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener) = 0; - - /** - *@page DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener RemoveGPUTuningEventListener - *@ENG_START_DOX @brief Unregisters an event listener from the GPU tuning event list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveGPUTuningEventListener (@ref DOX_IADLXGPUTuningChangedListener* pGPUTuningChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPUTuningChangedListener,@ref DOX_IADLXGPUTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving GPU tuning change notifications. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged method of the listener when GPU tuning changes. - * The application can discard the event listener instance. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener) = 0; - }; // IADLXGPUTuningChangedHandling - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUTuningChangedHandlingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUTuningChangedHandling, L"IADLXGPUTuningChangedHandling") -typedef struct IADLXGPUTuningChangedHandling IADLXGPUTuningChangedHandling; - -typedef struct IADLXGPUTuningChangedHandlingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningChangedHandling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningChangedHandling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXGPUTuningChangedHandling interface - ADLX_RESULT (ADLX_STD_CALL *AddGPUTuningEventListener)(IADLXGPUTuningChangedHandling* pThis, IADLXGPUTuningChangedListener* pGPUTuningChangedListener); - ADLX_RESULT (ADLX_STD_CALL *RemoveGPUTuningEventListener)(IADLXGPUTuningChangedHandling* pThis, IADLXGPUTuningChangedListener* pGPUTuningChangedListener); -} IADLXGPUTuningChangedHandlingVtbl; - -struct IADLXGPUTuningChangedHandling { const IADLXGPUTuningChangedHandlingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUTuningChangedHandling - - -//GPU Tuning Services interface -#pragma region IADLXGPUTuningServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUTuningServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUTuningServices") - - /** - * @page DOX_IADLXGPUTuningServices_GetGPUTuningChangedHandling GetGPUTuningChangedHandling - * @ENG_START_DOX - * @brief Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetGPUTuningChangedHandling (@ref DOX_IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppGPUTuningChangedHandling,@ref DOX_IADLXGPUTuningChangedHandling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUTuningChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTuningChangedHandling (IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsAtFactory IsAtFactory - *@ENG_START_DOX @brief Checks if the GPU tuning on a GPU is set to factory settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsAtFactory (@ref DOX_IADLXGPU* pGPU, adlx_bool* isFactory) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,isFactory,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of the GPU tuning is returned. The variable is __true__ if the GPU tuning is set to factory settings. The variable is __false__ if the GPU tuning is not set to factory settings. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of the GPU tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of the GPU tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsAtFactory (IADLXGPU* pGPU, adlx_bool* isFactory) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_ResetToFactory ResetToFactory - *@ENG_START_DOX @brief Reset the GPU tuning to factory settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT ResetToFactory (@ref DOX_IADLXGPU* pGPU) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the factory settings are successfully reset, __ADLX_OK__ is returned.
- * If the factory settings are not successfully reset, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method resets settings of Auto Tuning, Manual GPU Tuning, Manual Fan Tuning, Manual VRAM Tuning and Manual Power Tuning. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ResetToFactory (IADLXGPU* pGPU) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedAutoTuning IsSupportedAutoTuning - *@ENG_START_DOX @brief Checks if the automatic tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedAutoTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of automatic tuning is returned. The variable is __true__ if automatic tuning is supported. The variable is __false__ if automatic tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of automatic tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of automatic tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedAutoTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedPresetTuning IsSupportedPresetTuning - *@ENG_START_DOX @brief Checks if the preset tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedPresetTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of preset tuning is returned. The variable is __true__ if preset tuning is supported. The variable is __false__ if preset tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of preset tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of preset tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPresetTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedManualGFXTuning IsSupportedManualGFXTuning - *@ENG_START_DOX @brief Checks if the manual graphic tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedManualGFXTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual graphic tuning is returned. The variable is __true__ if manual graphic tuning is supported. The variable is __false__ if manual graphic tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of manual graphic tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of manual graphic tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualGFXTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedManualVRAMTuning IsSupportedManualVRAMTuning - *@ENG_START_DOX @brief Checks if the manual VRAM Tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedManualVRAMTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual VRAM tuning is returned. The variable is __true__ if manual VRAM tuning is supported. The variable is __false__ if manual VRAM tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of manual VRAM tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of manual VRAM tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualVRAMTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedManualFanTuning IsSupportedManualFanTuning - *@ENG_START_DOX @brief Checks if the manual fan tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedManualFanTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual fan tuning is returned. The variable is __true__ if manual fan tuning is supported. The variable is __false__ if manual fan tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of manual fan tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of manual fan tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualFanTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_IsSupportedManualPowerTuning IsSupportedManualPowerTuning - *@ENG_START_DOX @brief Checks if the manual power tuning is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedManualPowerTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual power tuning is returned. The variable is __true__ if manual power tuning is supported. The variable is __false__ if manual power tuning is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of manual power tuning is successfully returned, __ADLX_OK__ is returned.
- * If the state of manual power tuning is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualPowerTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetAutoTuning GetAutoTuning - *@ENG_START_DOX @brief Gets the reference counted automatic tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAutoTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppAutoTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppAutoTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppAutoTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXGPUAutoTuning interface, which is the automatic tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXGPUAutoTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.
@ENG_END_DOX - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAutoTuning (IADLXGPU* pGPU, IADLXInterface** ppAutoTuning) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetPresetTuning GetPresetTuning - *@ENG_START_DOX @brief Gets the reference counted preset tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPresetTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppPresetTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppPresetTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppPresetTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXGPUPresetTuning interface, which is the preset tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXGPUPresetTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.
@ENG_END_DOX - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPresetTuning (IADLXGPU* pGPU, IADLXInterface** ppPresetTuning) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetManualGFXTuning GetManualGFXTuning - *@ENG_START_DOX @brief Gets the reference counted manual graphics tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetManualGFXTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualGFXTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppManualGFXTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppManualGFXTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - *@detaileddesc - *@ENG_START_DOX @details Different GPUs support different manual graphics tuning functionality.
- * ADLX provides the @ref DOX_IADLXManualGraphicsTuning1 interface or the @ref DOX_IADLXManualGraphicsTuning2 interface to obtain the supported manual graphics tuning interface.
- * To get the manual graphics tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the manual graphics tuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetManualGFXTuning (IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetManualVRAMTuning GetManualVRAMTuning - *@ENG_START_DOX @brief Gets the reference counted manual VRAM tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetManualVRAMTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualVRAMTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppManualVRAMTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppManualVRAMTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - *@detaileddesc - *@ENG_START_DOX @details Different GPUs support different manual VRAM tuning functionality.
- * ADLX provides the @ref DOX_IADLXManualVRAMTuning1 interface or the @ref DOX_IADLXManualVRAMTuning2 interface to obtain the supported manual VRAM tuning interface.
- * To get the manual VRAM tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the manual VRAM tuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetManualVRAMTuning (IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetManualFanTuning GetManualFanTuning - *@ENG_START_DOX @brief Gets the reference counted manual fan tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetManualFanTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualFanTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppManualFanTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppManualFanTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - *@detaileddesc - *@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXManualFanTuning interface, which is the manual fan tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXManualFanTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetManualFanTuning (IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning) = 0; - - /** - *@page DOX_IADLXGPUTuningServices_GetManualPowerTuning GetManualPowerTuning - *@ENG_START_DOX @brief Gets the reference counted manual power tuning interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetManualPowerTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualPowerTuning) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppManualPowerTuning,@ref DOX_IADLXInterface** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppManualPowerTuning__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXManualPowerTuning interface, which is the manual power tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.
- * The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXManualPowerTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.
@ENG_END_DOX - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetManualPowerTuning (IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning) = 0; - }; //IADLXGPUTuningServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUTuningServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUTuningServices, L"IADLXGPUTuningServices") -typedef struct IADLXGPUTuningServices IADLXGPUTuningServices; - -typedef struct IADLXGPUTuningServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningServices* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningServices* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUTuningServices - ADLX_RESULT (ADLX_STD_CALL *GetGPUTuningChangedHandling)(IADLXGPUTuningServices* pThis, IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling); - ADLX_RESULT (ADLX_STD_CALL *IsAtFactory)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* isFactory); - ADLX_RESULT (ADLX_STD_CALL *ResetToFactory)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU); - - ADLX_RESULT (ADLX_STD_CALL *IsSupportedAutoTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedPresetTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualGFXTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualVRAMTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualFanTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualPowerTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL *GetAutoTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppAutoTuning); - ADLX_RESULT (ADLX_STD_CALL *GetPresetTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppPresetTuning); - ADLX_RESULT (ADLX_STD_CALL *GetManualGFXTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning); - ADLX_RESULT (ADLX_STD_CALL *GetManualVRAMTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning); - ADLX_RESULT (ADLX_STD_CALL *GetManualFanTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning); - ADLX_RESULT (ADLX_STD_CALL *GetManualPowerTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning); -}IADLXGPUTuningServicesVtbl; - -struct IADLXGPUTuningServices { const IADLXGPUTuningServicesVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUTuningServices - -#endif//ADLX_IGPUTUNING_H diff --git a/vendor/adlx/SDK/Include/IGPUTuning1.h b/vendor/adlx/SDK/Include/IGPUTuning1.h deleted file mode 100644 index 19b363b..0000000 --- a/vendor/adlx/SDK/Include/IGPUTuning1.h +++ /dev/null @@ -1,197 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IGPUTUNING1_H -#define ADLX_IGPUTUNING1_H -#pragma once - -#include "ADLXStructures.h" -#include "IGPUTuning.h" - -//------------------------------------------------------------------------------------------------- -//IGPUTuning1.h - Interfaces for ADLX GPU Tuning functionality - -#pragma region IADLXGPUTuningServices1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - class ADLX_NO_VTABLE IADLXSmartAccessMemory; - class ADLX_NO_VTABLE IADLXGPUTuningServices1 : public IADLXGPUTuningServices - { - public: - ADLX_DECLARE_IID(L"IADLXGPUTuningServices1") - - /** - *@page DOX_IADLXGPUTuningServices1_GetSmartAccessMemory GetSmartAccessMemory - *@ENG_START_DOX @brief Gets the reference counted AMD SmartAccess Memory interface for a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSmartAccessMemory (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXSmartAccessMemory** ppSmartAccessMemory) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out],ppSmartAccessMemory,@ref DOX_IADLXSmartAccessMemory**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppSmartAccessMemory__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when its no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXGPUTuningServices1_REQ_TABLE - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSmartAccessMemory(IADLXGPU* pGPU, IADLXSmartAccessMemory** ppSmartAccessMemory) = 0; - }; //IADLXGPUTuningServices1 - typedef IADLXInterfacePtr_T IADLXGPUTuningServices1Ptr; -} // namespace adlx -#else // __cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningServices1, L"IADLXGPUTuningServices1") -typedef struct IADLXSmartAccessMemory IADLXSmartAccessMemory; -typedef struct IADLXGPUTuningServices1 IADLXGPUTuningServices1; - -typedef struct IADLXGPUTuningServices1Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXGPUTuningServices1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXGPUTuningServices1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXGPUTuningServices1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUTuningServices - ADLX_RESULT(ADLX_STD_CALL* GetGPUTuningChangedHandling)(IADLXGPUTuningServices1* pThis, IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling); - ADLX_RESULT(ADLX_STD_CALL* IsAtFactory)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* isFactory); - ADLX_RESULT(ADLX_STD_CALL* ResetToFactory)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU); - - ADLX_RESULT(ADLX_STD_CALL* IsSupportedAutoTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedPresetTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedManualGFXTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedManualVRAMTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedManualFanTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsSupportedManualPowerTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, adlx_bool* supported); - - ADLX_RESULT(ADLX_STD_CALL* GetAutoTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppAutoTuning); - ADLX_RESULT(ADLX_STD_CALL* GetPresetTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppPresetTuning); - ADLX_RESULT(ADLX_STD_CALL* GetManualGFXTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning); - ADLX_RESULT(ADLX_STD_CALL* GetManualVRAMTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning); - ADLX_RESULT(ADLX_STD_CALL* GetManualFanTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning); - ADLX_RESULT(ADLX_STD_CALL* GetManualPowerTuning)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning); - - //IADLXGPUTuningServices1 - ADLX_RESULT(ADLX_STD_CALL* GetSmartAccessMemory)(IADLXGPUTuningServices1* pThis, IADLXGPU* pGPU, IADLXSmartAccessMemory** ppSmartAccessMemory); -}IADLXGPUTuningServices1Vtbl; - -struct IADLXGPUTuningServices1 { const IADLXGPUTuningServices1Vtbl* pVtbl; }; -#endif // __cplusplus -#pragma endregion IADLXGPUTuningServices1 - -#pragma region IADLXGPUTuningChangedEvent1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUTuningChangedEvent1 : public IADLXGPUTuningChangedEvent - { - public: - ADLX_DECLARE_IID(L"IADLXGPUTuningChangedEvent1") - - /** - *@page DOX_IADLXGPUTuningChangedEvent1_IsSmartAccessMemoryChanged IsSmartAccessMemoryChanged - *@ENG_START_DOX @brief Checks for changes to the AMD SmartAccess Memory settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsSmartAccessMemoryChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If AMD SmartAccess Memory settings are changed, __true__ is returned.
- * If AMD SmartAccess Memory settings are not changed, __false__ is returned.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU. - * @ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent1_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsSmartAccessMemoryChanged() = 0; - - /** - *@page DOX_IADLXGPUTuningChangedEvent1_GetSmartAccessMemoryStatus GetSmartAccessMemoryStatus - *@ENG_START_DOX @brief Gets the current AMD SmartAccess Memory status. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSmartAccessMemoryStatus (adlx_bool* pEnabled, adlx_bool* pCompleted) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pEnabled,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the current state of AMD SmartAccess Memory is returned. The variable is __true__ if AMD SmartAccess Memory is enabled. The variable is __false__ if AMD SmartAccess Memory is disabled. @ENG_END_DOX} - *@paramrow{2.,[out] ,pEnabled,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the complete state of AMD SmartAccess Memory is returned. The variable is __true__ if AMD SmartAccess Memory is completed. The variable is __false__ if AMD SmartAccess Memory is not completed. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * __Note:__ Use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU to obtain the GPU. - * @ENG_END_DOX - * - *@copydoc IADLXGPUTuningChangedEvent1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSmartAccessMemoryStatus(adlx_bool* pEnabled, adlx_bool* pCompleted) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUTuningChangedEvent1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningChangedEvent1, L"IADLXGPUTuningChangedEvent1") - -typedef struct IADLXGPUTuningChangedEvent1 IADLXGPUTuningChangedEvent1; - -typedef struct IADLXGPUTuningChangedEvent1Vtbl -{ - // IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXGPUTuningChangedEvent1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXGPUTuningChangedEvent1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXGPUTuningChangedEvent1* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXGPUTuningChangedEvent1* pThis); - - // IADLXGPUTuningChangedEvent - ADLX_RESULT(ADLX_STD_CALL* GetGPU)(IADLXGPUTuningChangedEvent1* pThis, IADLXGPU** ppGPU); - adlx_bool(ADLX_STD_CALL* IsAutomaticTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsPresetTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsManualGPUCLKTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsManualVRAMTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsManualFanTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - adlx_bool(ADLX_STD_CALL* IsManualPowerTuningChanged)(IADLXGPUTuningChangedEvent1* pThis); - - // IADLXGPUTuningChangedEvent1 - adlx_bool(ADLX_STD_CALL* IsSmartAccessMemoryChanged)(IADLXGPUTuningChangedEvent1* pThis); - ADLX_RESULT(ADLX_STD_CALL* GetSmartAccessMemoryStatus)(IADLXGPUTuningChangedEvent1* pThis, adlx_bool* pEnabled, adlx_bool* pCompleted); -} IADLXGPUTuningChangedEvent1Vtbl; - -struct IADLXGPUTuningChangedEvent1 { const IADLXGPUTuningChangedEvent1Vtbl* pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUTuningChangedEvent1 - -#endif // ADLX_IGPUTUNING1_H diff --git a/vendor/adlx/SDK/Include/II2C.h b/vendor/adlx/SDK/Include/II2C.h deleted file mode 100644 index b6ca2cb..0000000 --- a/vendor/adlx/SDK/Include/II2C.h +++ /dev/null @@ -1,198 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_II2C_H -#define ADLX_II2C_H -#pragma once - -#include "ADLXDefines.h" - -//------------------------------------------------------------------------------------------------- -//II2C.h - Interfaces for ADLX GPU I2C functionality - -//I2C setting interface -#pragma region IADLXI2C -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXI2C : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXI2C") - - /** - *@page DOX_IADLXI2C_Version Version - *@ENG_START_DOX @brief Retrieves the major and minor software version of I2C interface on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Version (adlx_int* major, adlx_int* minor) - *@codeEnd - * - *@params - * @paramrow{1.,[out],major,adlx_int*,@ENG_START_DOX A pointer to a variable where the I2C major version is returned. @ENG_END_DOX} - * @paramrow{2.,[out],minor,adlx_int*,@ENG_START_DOX A pointer to a variable where the I2C minor version is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the I2C major version and the I2C minor version are successfully returned, __ADLX_OK__ is returned.
- * If the I2C major version and the I2C minor version are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - * - *@copydoc IADLXI2C_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Version (adlx_int* major, adlx_int* minor) = 0; - - /** - *@page DOX_IADLXI2C_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if the OEM device data can be read and written through the I2C bus on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (@ref ADLX_I2C_LINE line, adlx_int address, adlx_bool* isSupported) - *@codeEnd - * - *@params - * @paramrow{1.,[in],line,@ref ADLX_I2C_LINE,@ENG_START_DOX The I2C line. @ENG_END_DOX} - * @paramrow{2.,[in],address,adlx_int,@ENG_START_DOX The 7-bit I2C slave device address which is shifted one bit to the left. @ENG_END_DOX} - * @paramrow{2.,[out],isSupported,adlx_bool*,@ENG_START_DOX A pointer to a variable where the status of the I2C bus read and write is returned. The variable is __true__ if the OEM device data can be read and written through the I2C bus. The variable is __false__ if the OEM device data cannot be read and written through the I2C bus. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the status of the I2C bus read and write is successfully returned, __ADLX_OK__ is returned.
- * If the status of the I2C bus read and write is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - * - *@copydoc IADLXI2C_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (ADLX_I2C_LINE line, adlx_int address, adlx_bool* isSupported) = 0; - - /** - *@page DOX_IADLXI2C_Read Read - *@ENG_START_DOX @brief Reads the OEM device data through the I2C bus of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Read (@ref ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - *@codeEnd - * - *@params - * @paramrow{1.,[in],line,@ref ADLX_I2C_LINE,@ENG_START_DOX The I2C line. @ENG_END_DOX} - * @paramrow{2.,[in],speed,adlx_int,@ENG_START_DOX The I2C clock speed (in KHz). @ENG_END_DOX} - * @paramrow{3.,[in],address,adlx_int,@ENG_START_DOX The 7-bit I2C slave device address which is shifted one bit to the left. @ENG_END_DOX} - * @paramrow{4.,[in],offset,adlx_int,@ENG_START_DOX The offset of the data from the address. @ENG_END_DOX} - * @paramrow{5.,[in],dataSize,adlx_int,@ENG_START_DOX The size (in bytes) of the buffer for the OEM device data. @ENG_END_DOX} - * @paramrow{6.,[in],data,adlx_byte*,@ENG_START_DOX The address to the buffer with the new OEM data. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the OEM device data is successfully returned, __ADLX_OK__ is returned.
- * If the OEM device data is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. @ENG_END_DOX - * - * - *@copydoc IADLXI2C_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Read (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) = 0; - - /** - *@page DOX_IADLXI2C_RepeatedStartRead RepeatedStartRead - *@ENG_START_DOX @brief Repeat start reads the OEM device data through the I2C bus of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RepeatedStartRead (@ref ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - *@codeEnd - * - *@params - * @paramrow{1.,[in],line,@ref ADLX_I2C_LINE,@ENG_START_DOX The I2C line. @ENG_END_DOX} - * @paramrow{2.,[in],speed,adlx_int,@ENG_START_DOX The I2C clock speed (in KHz). @ENG_END_DOX} - * @paramrow{3.,[in],address,adlx_int,@ENG_START_DOX The 7-bit I2C slave device address which is shifted one bit to the left. @ENG_END_DOX} - * @paramrow{4.,[in],offset,adlx_int,@ENG_START_DOX The offset of the data from the address. @ENG_END_DOX} - * @paramrow{5.,[in],dataSize,adlx_int,@ENG_START_DOX The size (in bytes) of the buffer for the OEM device data. @ENG_END_DOX} - * @paramrow{6.,[in],data,adlx_byte*,@ENG_START_DOX The address to the buffer with the new OEM data. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the OEM device data is successfully returned, __ADLX_OK__ is returned.
- * If the OEM device data is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. @ENG_END_DOX - * - * - *@copydoc IADLXI2C_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RepeatedStartRead (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) = 0; - - /** - *@page DOX_IADLXI2C_Write Write - *@ENG_START_DOX @brief Writes the OEM device data through the I2C bus of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Write (@ref ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - *@codeEnd - * - *@params - * @paramrow{1.,[in],line,@ref ADLX_I2C_LINE,@ENG_START_DOX The I2C line. @ENG_END_DOX} - * @paramrow{2.,[in],speed,adlx_int,@ENG_START_DOX The I2C clock speed (in KHz). @ENG_END_DOX} - * @paramrow{3.,[in],address,adlx_int,@ENG_START_DOX The 7-bit I2C slave device address which is shifted one bit to the left. @ENG_END_DOX} - * @paramrow{4.,[in],offset,adlx_int,@ENG_START_DOX The offset of the data from the address. @ENG_END_DOX} - * @paramrow{5.,[in],dataSize,adlx_int,@ENG_START_DOX The size (in bytes) of the buffer for the OEM device data. @ENG_END_DOX} - * @paramrow{6.,[in],data,adlx_byte*,@ENG_START_DOX . The address to the buffer with the new OEM data. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the OEM device data is successfully written, __ADLX_OK__ is returned.
- * If the OEM device data is not successfully written, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. @ENG_END_DOX - * - * - *@copydoc IADLXI2C_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Write (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) = 0; - - }; //IADLXI2C - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXI2CPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXI2C, L"IADLXI2C") - -typedef struct IADLXI2C IADLXI2C; - -typedef struct IADLXI2CVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXI2C* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXI2C* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXI2C* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXI2C - ADLX_RESULT(ADLX_STD_CALL *Version)(IADLXI2C* pThis, adlx_int* major, adlx_int* minor); - ADLX_RESULT(ADLX_STD_CALL *IsSupported)(IADLXI2C* pThis, ADLX_I2C_LINE line, adlx_int address, adlx_bool* isSupported); - ADLX_RESULT(ADLX_STD_CALL *Read)(IADLXI2C* pThis, ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data); - ADLX_RESULT(ADLX_STD_CALL *RepeatedStartRead)(IADLXI2C* pThis, ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data); - ADLX_RESULT(ADLX_STD_CALL *Write)(IADLXI2C* pThis, ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data); - -}IADLXI2CVtbl; - -struct IADLXI2C { const IADLXI2CVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXI2C - -#endif //ADLX_II2C_H diff --git a/vendor/adlx/SDK/Include/ILog.h b/vendor/adlx/SDK/Include/ILog.h deleted file mode 100644 index 40f2a79..0000000 --- a/vendor/adlx/SDK/Include/ILog.h +++ /dev/null @@ -1,72 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -//------------------------------------------------------------------------------------------------- -//ILog.h - Interfaces for ADLX log functionality -#ifndef ADLX_LOG_H -#define ADLX_LOG_H -#pragma once - -#include "ADLXDefines.h" - -#pragma region IADLXLog interface -#if defined (__cplusplus) - -namespace adlx -{ - class ADLX_NO_VTABLE IADLXLog - { - public: - /** - * @page DOX_IADLXLog_WriteLog WriteLog - * @ENG_START_DOX - * @brief The __WriteLog__ method is called by ADLX when a new ADLX log message is available. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT WriteLog (const wchar_t* msg) - * @codeEnd - * - * @params - * @paramrow{1.,[out], msg, const wchar_t*, @ENG_START_DOX The new log message from the internal code execution of ADLX. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * The method must return __ADLX_OK__.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details Once the application enables the ADLX logs with @ref DOX_IADLXSystem_EnableLog using __APPLICATION__ for the @ref ADLX_LOG_DESTINATION parameter, ADLX will call this method when a new log trace is generated.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the log trace, the application must copy the log message and process it asynchronously. - * @ENG_END_DOX - * - * @copydoc IADLXLog_REQ_TABLE - * - * @seealso - * @ref DOX_IADLXSystem_EnableLog - */ - virtual ADLX_RESULT ADLX_STD_CALL WriteLog (const wchar_t* msg) = 0; - }; //IADLXLog -} -#else -ADLX_DECLARE_IID (IADLXLog, L"IADLXLog"); -typedef struct IADLXLog IADLXLog; - -typedef struct IADLXLogVtbl -{ - //IADLXLog - ADLX_RESULT (ADLX_STD_CALL *WriteLog)(IADLXLog* pThis, const wchar_t* msg); -} IADLXLogVtbl; - -struct IADLXLog -{ - const IADLXLogVtbl *pVtbl; -}; - -#endif -#pragma region IADLXLog interface - -#endif //ADLX_LOG_H diff --git a/vendor/adlx/SDK/Include/IPerformanceMonitoring.h b/vendor/adlx/SDK/Include/IPerformanceMonitoring.h deleted file mode 100644 index 1d30caf..0000000 --- a/vendor/adlx/SDK/Include/IPerformanceMonitoring.h +++ /dev/null @@ -1,2520 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IPERFORMANCEMONITORING_H -#define ADLX_IPERFORMANCEMONITORING_H -#pragma once - -#include "ADLXStructures.h" -#include "ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IPerformanceMonitoring.h - Interfaces for ADLX Performance Monitoring functionality -#pragma region IADLXGPUMetricsSupport -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUMetricsSupport : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUMetricsSupport") - - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUUsage IsSupportedGPUUsage - *@ENG_START_DOX @brief Checks if the GPU usage metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUUsage (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU usage metric reporting is returned. The variable is __true__ if the GPU usage metric reporting is supported\. The variable is __false__ if the GPU usage metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU usage metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU usage metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUUsage (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUClockSpeed IsSupportedGPUClockSpeed - *@ENG_START_DOX @brief Checks if the GPU clock speed metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUClockSpeed (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU clock speed metric reporting is returned. The variable is __true__ if the GPU clock speed metric reporting is supported\. The variable is __false__ if the GPU clock speed metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU clock speed metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU clock speed metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUClockSpeed (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAMClockSpeed IsSupportedGPUVRAMClockSpeed - *@ENG_START_DOX @brief Checks if the GPU memory clock speed metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUVRAMClockSpeed (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU memory clock speed metric reporting is returned. The variable is __true__ if the GPU memory clock speed metric reporting is supported\. The variable is __false__ if the GPU memory clock speed metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU memory clock speed metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU memory clock speed metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVRAMClockSpeed (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUTemperature IsSupportedGPUTemperature - *@ENG_START_DOX @brief Checks if the GPU temperature metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUTemperature (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is __true__ if the GPU temperature metric reporting is supported\. The variable is __false__ if the GPU temperature metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU temperature metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU temperature metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUTemperature (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUHotspotTemperature IsSupportedGPUHotspotTemperature - *@ENG_START_DOX @brief Checks if the GPU hotspot temperature metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUHotspotTemperature (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is __true__ if the GPU hotspot temperature metric reporting is supported\. The variable is __false__ if the GPU hotspot temperature metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU hotspot temperature metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU hotspot temperature metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUHotspotTemperature (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUPower IsSupportedGPUPower - *@ENG_START_DOX @brief Checks if the GPU power metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUPower (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU power metric reporting is returned. The variable is __true__ if the GPU power metric reporting is supported\. The variable is __false__ if the GPU power metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU power metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU power metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUPower (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUTotalBoardPower IsSupportedGPUTotalBoardPower - *@ENG_START_DOX @brief Checks if the GPU total board power metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUTotalBoardPower (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU total board power metric reporting is returned. The variable is __true__ if the GPU total board power metric reporting is supported\. The variable is __false__ if the GPU total board power metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU total board power metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU total board power metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUTotalBoardPower(adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUFanSpeed IsSupportedGPUFanSpeed - *@ENG_START_DOX @brief Checks if the GPU fan speed metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUFanSpeed (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU fan speed metric reporting is returned. The variable is __true__ if the GPU fan speed metric reporting is supported\. The variable is __false__ if the GPU fan speed metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU fan speed metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU fan speed metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUFanSpeed (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAM IsSupportedGPUVRAM - *@ENG_START_DOX @brief Checks if the GPU VRAM usage metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUVRAM (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU VRAM usage metric reporting is returned. The variable is __true__ if the GPU VRAM usage metric reporting is supported. The variable is __false__ if the GPU VRAM usage metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU VRAM usage metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU VRAM usage metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVRAM (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVoltage IsSupportedGPUVoltage - *@ENG_START_DOX @brief Checks if the GPU voltage metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUVoltage (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU voltage metric reporting is returned. The variable is __true__ if the GPU voltage metric reporting is supported. The variable is __false__ if the GPU voltage metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU voltage metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU voltage metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVoltage (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUUsageRange GetGPUUsageRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU usage on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU usage (in %) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU usage (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU usage range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU usage range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU usage are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUClockSpeedRange GetGPUClockSpeedRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU clock speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU clock speed (in MHz) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU clock speed (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU clock speed range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU clock speed range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU clock speed are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUVRAMClockSpeedRange GetGPUVRAMClockSpeedRange - *@ENG_START_DOX @brief Gets the minimum and maximum VRAM clock speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum VRAM clock speed (in MHz) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum VRAM clock speed (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the VRAM clock speed range is successfully returned, __ADLX_OK__ is returned.
- * If the VRAM clock speed range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum VRAM clock speed are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUTemperatureRange GetGPUTemperatureRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU temperature on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU temperature (in °C) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU temperature range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU temperature range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU temperature are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUHotspotTemperatureRange GetGPUHotspotTemperatureRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU hotspot temperature on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU hotspot temperature (in °C) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU hotspot temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU hotspot temperature range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU hotspot temperature range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU hotspot temperature are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUPowerRange GetGPUPowerRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU power consumption on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU power consumption (in W) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU power consumption (in W) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU power consumption range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU power consumption range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU power consumption are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUFanSpeedRange GetGPUFanSpeedRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU fan speed on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU fan speed (in RPM) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU fan speed (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU fan speed range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU fan speed range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU fan speed are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUVRAMRange GetGPUVRAMRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU memory on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU memory (in MB) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU memory (in MB) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU memory range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU memory range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU memory are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUVoltageRange GetGPUVoltageRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU voltage on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU voltage (in mV) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU voltage (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU voltage range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU voltage range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU voltage are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUTotalBoardPowerRange GetGPUTotalBoardPowerRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU total board power consumption on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU total board power consumption (in W) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU total board power consumption (in W) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU total board power consumption range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU total board power consumption range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU total board power consumption are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_GetGPUIntakeTemperatureRange GetGPUIntakeTemperatureRange - *@ENG_START_DOX @brief Gets the minimum and maximum GPU intake temperature on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU intake temperature (in °C) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU intake temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU intake temperature range is successfully returned, __ADLX_OK__ is returned.
- * If the GPU intake temperature range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum GPU intake temperature are read only. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUIntakeTemperature IsSupportedGPUIntakeTemperature - *@ENG_START_DOX @brief Checks if the GPU intake temperature metric reporting is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedGPUIntakeTemperature (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU intake temperature metric reporting is returned. The variable is __true__ if the GPU intake temperature metric reporting is supported\. The variable is __false__ if the GPU intake temperature metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of GPU intake temperature metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of GPU intake temperature metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUIntakeTemperature (adlx_bool* supported) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUMetricsSupportPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUMetricsSupport, L"IADLXGPUMetricsSupport") - -typedef struct IADLXGPUMetricsSupport IADLXGPUMetricsSupport; - -typedef struct IADLXGPUMetricsSupportVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetricsSupport* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetricsSupport* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetricsSupport* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUMetricsSupport - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUUsage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAMClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUHotspotTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTotalBoardPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUFanSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAM)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVoltage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); - - ADLX_RESULT (ADLX_STD_CALL* GetGPUUsageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUHotspotTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUFanSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUVoltageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUTotalBoardPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* GetGPUIntakeTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUIntakeTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported); -} IADLXGPUMetricsSupportVtbl; - -struct IADLXGPUMetricsSupport { const IADLXGPUMetricsSupportVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUMetricsSupport - -#pragma region IADLXSystemMetricsSupport -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSystemMetricsSupport : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXSystemMetricsSupport") - - /** - *@page DOX_IADLXSystemMetricsSupport_IsSupportedCPUUsage IsSupportedCPUUsage - *@ENG_START_DOX @brief Checks if the CPU usage metric reporting is supported by the system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedCPUUsage (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of CPU usage metric reporting is returned. The variable is __true__ if the CPU usage metric reporting is supported\. The variable is __false__ if the CPU usage metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of CPU usage metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of CPU usage metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCPUUsage (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXSystemMetricsSupport_IsSupportedSystemRAM IsSupportedSystemRAM - *@ENG_START_DOX @brief Checks if the RAM usage metric reporting is supported by the system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedSystemRAM (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of system RAM usage metric reporting is returned. The variable is __true__ if the system RAM usage metric reporting is supported. The variable is __false__ if the system RAM usage metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of system RAM usage metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of system RAM usage metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSystemRAM (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXSystemMetricsSupport_IsSupportedSmartShift IsSupportedSmartShift - *@ENG_START_DOX @brief Checks if the SmartShift metric reporting is supported by the system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedSmartShift (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of SmartShift metric reporting is returned. The variable is __true__ if the SmartShift metric reporting is supported\. The variable is __false__ if the SmartShift metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of SmartShift metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of SmartShift metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSmartShift (adlx_bool* supported) = 0; - /** - *@page DOX_IADLXSystemMetricsSupport_GetCPUUsageRange GetCPUUsageRange - *@ENG_START_DOX @brief Gets the minimum and maximum CPU usage of a system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum CPU usage (in %) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum CPU usage (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the CPU usage range is successfully returned, __ADLX_OK__ is returned.
- * If the CPU usage range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum CPU usage are read only. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXSystemMetricsSupport_GetSystemRAMRange GetSystemRAMRange - *@ENG_START_DOX @brief Gets the minimum and maximum system RAM of a system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum system RAM (in MB) is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum system RAM (in MB) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the system RAM range is successfully returned, __ADLX_OK__ is returned.
- * If the system RAM range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum system RAM are read only. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue) = 0; - /** - *@page DOX_IADLXSystemMetricsSupport_GetSmartShiftRange GetSmartShiftRange - *@ENG_START_DOX @brief Gets the minimum and maximum SmartShift value of a system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue) - *@codeEnd - * - *@params - * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum SmartShift value is returned. @ENG_END_DOX} - * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum SmartShift value is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the SmartShift value range is successfully returned, __ADLX_OK__ is returned.
- * If the SmartShift value range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The minimum and maximum SmartShift value are read only. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsSupport_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSystemMetricsSupportPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSystemMetricsSupport, L"IADLXSystemMetricsSupport") - -typedef struct IADLXSystemMetricsSupport IADLXSystemMetricsSupport; - -typedef struct IADLXSystemMetricsSupportVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetricsSupport* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetricsSupport* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetricsSupport* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSystemMetricsSupport - ADLX_RESULT (ADLX_STD_CALL *IsSupportedCPUUsage)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSystemRAM)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSmartShift)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetCPUUsageRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL *GetSystemRAMRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL *GetSmartShiftRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue); -}IADLXSystemMetricsSupportVtbl; - -struct IADLXSystemMetricsSupport { const IADLXSystemMetricsSupportVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSystemMetricsSupport - -#pragma region IADLXGPUMetrics -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUMetrics : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUMetrics") - /** - *@page DOX_IADLXGPUMetrics_TimeStamp TimeStamp - *@ENG_START_DOX @brief Gets the timestamp of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TimeStamp (adlx_int64* ms) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned.
- * If the timestamp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUUsage GPUUsage - *@ENG_START_DOX @brief Gets the GPU usage of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUUsage (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the CPU usage (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU usage is successfully returned, __ADLX_OK__ is returned.
- * If the GPU usage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUUsage (adlx_double* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUClockSpeed GPUClockSpeed - *@ENG_START_DOX @brief Gets the GPU clock speed of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUClockSpeed (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU clock speed (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU clock speed is successfully returned, __ADLX_OK__ is returned.
- * If the GPU clock speed is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUClockSpeed (adlx_int* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUVRAMClockSpeed GPUVRAMClockSpeed - *@ENG_START_DOX @brief Gets the VRAM clock speed of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUVRAMClockSpeed (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX GPU Memory The pointer to a variable where the VRAM clock speed (in MHz) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the VRAM clock speed is successfully returned, __ADLX_OK__ is returned.
- * If the VRAM clock speed is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUVRAMClockSpeed (adlx_int* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUTemperature GPUTemperature - *@ENG_START_DOX - *@brief Gets the GPU temperature of a GPU metric sample. - *@details GPUTemperature reports the average temperature measured at the edge of the die of the GPU. This is sometimes referred to as ‘Edge Temperature’. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUTemperature (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU temperature is successfully returned, __ADLX_OK__ is returned.
- * If the GPU temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@addinfo - * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUTemperature (adlx_double* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUHotspotTemperature GPUHotspotTemperature - *@ENG_START_DOX - *@brief Gets the GPU hotspot temperature of a GPU metric sample. - *@details GPUHotspotTemperature reports the highest temperature measured on the die of the GPU from a collection of junction temperature sensors on the die. This is sometimes referred to as ‘Junction Temperature’. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUHotspotTemperature (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU hotspot temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU hotspot temperature is successfully returned, __ADLX_OK__ is returned.
- * If the GPU hotspot temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUHotspotTemperature (adlx_double* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUPower GPUPower - *@ENG_START_DOX - *@brief Gets the GPU power consumption of a GPU metric sample. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUPower (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU power consumption (in W) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU power is successfully returned, __ADLX_OK__ is returned.
- * If the GPU power is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUPower (adlx_double* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUTotalBoardPower GPUTotalBoardPower - *@ENG_START_DOX @brief Gets the GPU total board power consumption of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUTotalBoardPower (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU total board power consumption (in W) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU total board power is successfully returned, __ADLX_OK__ is returned.
- * If the GPU total board power is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@addinfo - * @ENG_START_DOX The method returns power of all components on the board including VRAM. @ENG_END_DOX - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUTotalBoardPower(adlx_double* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUFanSpeed GPUFanSpeed - *@ENG_START_DOX @brief Gets the GPU fan speed of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUFanSpeed (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU fan speed (in RPM) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU fan speed is successfully returned, __ADLX_OK__ is returned.
- * If the GPU fan speed is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUFanSpeed (adlx_int* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUVRAM GPUVRAM - *@ENG_START_DOX @brief Gets the dedicated GPU memory of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUVRAM (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the dedicated GPU memory (in MB) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the dedicated GPU memory is successfully returned, __ADLX_OK__ is returned.
- * If the dedicated GPU memory is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUVRAM (adlx_int* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUVoltage GPUVoltage - *@ENG_START_DOX @brief Gets the GPU voltage of a GPU metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUVoltage (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU voltage (in mV) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU voltage is successfully returned, __ADLX_OK__ is returned.
- * If the GPU voltage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUVoltage (adlx_int* data) = 0; - /** - *@page DOX_IADLXGPUMetrics_GPUIntakeTemperature GPUIntakeTemperature - *@ENG_START_DOX - *@brief Gets the GPU intake temperature of a GPU metric sample. - *@details GPUIntakeTemperature reports the fan intake temperature. - *@ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GPUIntakeTemperature (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU intake temperature (in °C) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the GPU intake temperature is successfully returned, __ADLX_OK__ is returned.
- * If the GPU Intake temperature is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - *@addinfo - * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GPUIntakeTemperature (adlx_double* data) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUMetricsPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUMetrics, L"IADLXGPUMetrics") - -typedef struct IADLXGPUMetrics IADLXGPUMetrics; - -typedef struct IADLXGPUMetricsVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetrics* pThis); - adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetrics* pThis); - ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetrics* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPUMetrics - ADLX_RESULT (ADLX_STD_CALL* TimeStamp)(IADLXGPUMetrics* pThis, adlx_int64* ms); - ADLX_RESULT (ADLX_STD_CALL* GPUUsage)(IADLXGPUMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL* GPUClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL* GPUVRAMClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL* GPUTemperature)(IADLXGPUMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL* GPUHotspotTemperature)(IADLXGPUMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL* GPUPower)(IADLXGPUMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL* GPUTotalBoardPower)(IADLXGPUMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL* GPUFanSpeed)(IADLXGPUMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL* GPUVRAM)(IADLXGPUMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL* GPUVoltage)(IADLXGPUMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL* GPUIntakeTemperature)(IADLXGPUMetrics* pThis, adlx_double* data); -} IADLXGPUMetricsVtbl; - -struct IADLXGPUMetrics { const IADLXGPUMetricsVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUMetrics - -#pragma region IADLXGPUMetricsList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUMetricsList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXGPUMetricsList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXGPUMetrics::IID ()) - - /** - * @page DOX_IADLXGPUMetricsList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXGPUMetrics** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXGPUMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXGPUMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXGPUMetrics** ppItem) = 0; - - /** - *@page DOX_IADLXGPUMetricsList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXGPUMetrics* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXGPUMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXGPUMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXGPUMetrics* pItem) = 0; - }; //IADLXGPUMetricsList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUMetricsListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXGPUMetricsList, L"IADLXGPUMetricsList") -ADLX_DECLARE_ITEM_IID (IADLXGPUMetrics, IID_IADLXGPUMetrics ()) - -typedef struct IADLXGPUMetricsList IADLXGPUMetricsList; - -typedef struct IADLXGPUMetricsListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUMetricsList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXGPUMetricsList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXGPUMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXGPUMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXGPUMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXGPUMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXGPUMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXGPUMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXGPUMetricsList* pThis, IADLXInterface* pItem); - - //IADLXGPUMetricsList - ADLX_RESULT (ADLX_STD_CALL *At_GPUMetricsList)(IADLXGPUMetricsList* pThis, const adlx_uint location, IADLXGPUMetrics** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_GPUMetricsList)(IADLXGPUMetricsList* pThis, IADLXGPUMetrics* pItem); - -}IADLXGPUMetricsListVtbl; - -struct IADLXGPUMetricsList { const IADLXGPUMetricsListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXGPUMetricsList - -#pragma region IADLXSystemMetrics -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSystemMetrics : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXSystemMetrics") - /** - *@page DOX_IADLXSystemMetrics_TimeStamp TimeStamp - *@ENG_START_DOX @brief Gets the timestamp of a system metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TimeStamp (adlx_int64* ms) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned.
- * If the timestamp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX - * - *@copydoc IADLXSystemMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0; - /** - *@page DOX_IADLXSystemMetrics_CPUUsage CPUUsage - *@ENG_START_DOX @brief Gets the CPU usage of a system metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT CPUUsage (adlx_double* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the CPU usage (in %) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the CPU usage is successfully returned, __ADLX_OK__ is returned.
- * If the CPU usage is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL CPUUsage (adlx_double* data) = 0; - /** - *@page DOX_IADLXSystemMetrics_SystemRAM SystemRAM - *@ENG_START_DOX @brief Gets the system RAM of a system metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SystemRAM (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the system RAM (in MB) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the system RAM is successfully returned, __ADLX_OK__ is returned.
- * If the system RAM is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SystemRAM (adlx_int* data) = 0; - /** - *@page DOX_IADLXSystemMetrics_SmartShift SmartShift - *@ENG_START_DOX @brief Gets the SmartShift value of a system metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SmartShift (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the SmartShift value is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the SmartShift value is successfully returned, __ADLX_OK__ is returned.
- * If the SmartShift value is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The value returned by SmartShift is an integer number which is within -100 to +100 range.
- * A negative value indicates that the power is shifted to the CPU.
- * A positive value indicates that the power is shifted to the GPU.
- * Considering zero as the state with no power shift, the larger the deviation from zero, the larger the power shift. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX AMD SmartShift helps boost notebook performance by dynamically shifting the power between the CPU and the GPU depending on the workload. @ENG_END_DOX - * - *@copydoc IADLXSystemMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SmartShift (adlx_int* data) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSystemMetricsPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSystemMetrics, L"IADLXSystemMetrics") - -typedef struct IADLXSystemMetrics IADLXSystemMetrics; - -typedef struct IADLXSystemMetricsVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetrics* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetrics* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetrics* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSystemMetrics - ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXSystemMetrics* pThis, adlx_int64* ms); - ADLX_RESULT (ADLX_STD_CALL *CPUUsage)(IADLXSystemMetrics* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL *SystemRAM)(IADLXSystemMetrics* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL *SmartShift)(IADLXSystemMetrics* pThis, adlx_int* data); -}IADLXSystemMetricsVtbl; - -struct IADLXSystemMetrics { const IADLXSystemMetricsVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSystemMetrics - -#pragma region IADLXSystemMetricsList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSystemMetricsList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXSystemMetricsList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXSystemMetrics::IID ()) - - /** - * @page DOX_IADLXSystemMetricsList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXSystemMetrics** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXSystemMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXSystemMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXSystemMetrics** ppItem) = 0; - - /** - *@page DOX_IADLXSystemMetricsList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXSystemMetrics* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXSystemMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXSystemMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXSystemMetrics* pItem) = 0; - }; //IADLXSystemMetricsList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSystemMetricsListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSystemMetricsList, L"IADLXSystemMetricsList") -ADLX_DECLARE_ITEM_IID (IADLXSystemMetrics, IID_IADLXSystemMetrics ()) - -typedef struct IADLXSystemMetricsList IADLXSystemMetricsList; - -typedef struct IADLXSystemMetricsListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetricsList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXSystemMetricsList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXSystemMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXSystemMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXSystemMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXSystemMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXSystemMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXSystemMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXSystemMetricsList* pThis, IADLXInterface* pItem); - - //IADLXSystemMetricsList - ADLX_RESULT (ADLX_STD_CALL *At_SystemMetricsList)(IADLXSystemMetricsList* pThis, const adlx_uint location, IADLXSystemMetrics** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_SystemMetricsList)(IADLXSystemMetricsList* pThis, IADLXSystemMetrics* pItem); - -}IADLXSystemMetricsListVtbl; - -struct IADLXSystemMetricsList { const IADLXSystemMetricsListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSystemMetricsList - -#pragma region IADLXFPS -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXFPS : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXFPS") - /** - *@page DOX_IADLXFPS_TimeStamp TimeStamp - *@ENG_START_DOX @brief Gets the timestamp of an FPS metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TimeStamp (adlx_int64* ms) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned.
- * If the timestamp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX - * - *@copydoc IADLXFPS_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0; - /** - *@page DOX_IADLXFPS_FPS FPS - *@ENG_START_DOX @brief Gets the FPS when this metric set was acquired. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT FPS (adlx_int* data) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the FPS is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the FPS is successfully returned, __ADLX_OK__ is returned.
- * If the FPS is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXFPS_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL FPS (adlx_int* data) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXFPSPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXFPS, L"IADLXFPS") - -typedef struct IADLXFPS IADLXFPS; - -typedef struct IADLXFPSVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXFPS* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXFPS* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXFPS* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXFPS - ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXFPS* pThis, adlx_int64* ms); - ADLX_RESULT (ADLX_STD_CALL *FPS)(IADLXFPS* pThis, adlx_int* data); -}IADLXFPSVtbl; - -struct IADLXFPS { const IADLXFPSVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXFPS - -#pragma region IADLXFPSList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXFPSList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXFPSList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXFPS::IID ()) - - /** - * @page DOX_IADLXFPSList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXFPS** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXFPS** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXFPSList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXFPS** ppItem) = 0; - - /** - *@page DOX_IADLXFPSList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXFPS* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXFPS* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXFPSList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXFPS* pItem) = 0; - }; //IADLXFPSList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXFPSListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXFPSList, L"IADLXFPSList") -ADLX_DECLARE_ITEM_IID (IADLXFPS, IID_IADLXFPS ()) - -typedef struct IADLXFPSList IADLXFPSList; - -typedef struct IADLXFPSListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXFPSList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXFPSList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXFPSList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXFPSList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXFPSList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXFPSList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXFPSList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXFPSList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXFPSList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXFPSList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXFPSList* pThis, IADLXInterface* pItem); - - //IADLXFPSList - ADLX_RESULT (ADLX_STD_CALL *At_FPSList)(IADLXFPSList* pThis, const adlx_uint location, IADLXFPS** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_FPSList)(IADLXFPSList* pThis, IADLXFPS* pItem); - -}IADLXFPSListVtbl; - -struct IADLXFPSList { const IADLXFPSListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXFPSList - -#pragma region IADLXAllMetrics -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU; - class ADLX_NO_VTABLE IADLXAllMetrics : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXAllMetrics") - /** - *@page DOX_IADLXAllMetrics_TimeStamp TimeStamp - *@ENG_START_DOX @brief Gets the timestamp of a metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TimeStamp (adlx_int64* ms) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned.
- * If the timestamp is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX - * - *@copydoc IADLXAllMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0; - /** - *@page DOX_IADLXAllMetrics_GetSystemMetrics GetSystemMetrics - *@ENG_START_DOX @brief Gets the reference counted system metrics interface of a metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSystemMetrics (@ref DOX_IADLXSystemMetrics** ppSystemMetrics) - *@codeEnd - * - *@params - * @paramrow{1.,[out] ,ppSystemMetrics,@ref DOX_IADLXSystemMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppSystemMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXAllMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSystemMetrics (IADLXSystemMetrics** ppSystemMetrics) = 0; - /** - *@page DOX_IADLXAllMetrics_GetFPS GetFPS - *@ENG_START_DOX @brief Gets the reference counted FPS metrics interface of a metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFPS (@ref DOX_IADLXFPS** ppFPS) - *@codeEnd - * - *@params - * @paramrow{1.,[out] ,ppFPS,@ref DOX_IADLXFPS** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppFPS__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXAllMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFPS (IADLXFPS** ppFPS) = 0; - /** - *@page DOX_IADLXAllMetrics_GetGPUMetrics GetGPUMetrics - *@ENG_START_DOX @brief Gets the reference counted GPU metrics interface of a metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetrics** ppGPUMetrics) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to a variable where IADLXGPU interface is returned. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppGPUMetrics,@ref DOX_IADLXGPUMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXAllMetrics_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppGPUMetrics) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXAllMetricsPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXAllMetrics, L"IADLXAllMetrics") - -typedef struct IADLXAllMetrics IADLXAllMetrics; - -typedef struct IADLXAllMetricsVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXAllMetrics* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXAllMetrics* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXAllMetrics* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXAllMetrics - ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXAllMetrics* pThis, adlx_int64* ms); - ADLX_RESULT (ADLX_STD_CALL *GetSystemMetrics)(IADLXAllMetrics* pThis, IADLXSystemMetrics** metrics); - ADLX_RESULT (ADLX_STD_CALL *GetFPS)(IADLXAllMetrics* pThis, IADLXFPS** metrics); - ADLX_RESULT (ADLX_STD_CALL *GetGPUMetrics)(IADLXAllMetrics* pThis, IADLXGPU* pGPU, IADLXGPUMetrics** metrics); -}IADLXAllMetricsVtbl; - -struct IADLXAllMetrics { const IADLXAllMetricsVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXAllMetrics - -#pragma region IADLXAllMetricsList -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXAllMetricsList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXAllMetricsList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXAllMetrics::IID ()) - - /** - * @page DOX_IADLXAllMetricsList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXAllMetrics** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXAllMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXAllMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXAllMetrics** ppItem) = 0; - - /** - *@page DOX_IADLXAllMetricsList_Add_Back Add_Back - *@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXAllMetrics* pItem) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pItem,@ref DOX_IADLXAllMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details @ENG_END_DOX - * - *@copydoc IADLXAllMetricsList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXAllMetrics* pItem) = 0; - }; //IADLXAllMetricsList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXAllMetricsListPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXAllMetricsList, L"IADLXAllMetricsList") -ADLX_DECLARE_ITEM_IID (IADLXAllMetrics, IID_IADLXAllMetrics ()) - -typedef struct IADLXAllMetricsList IADLXAllMetricsList; - -typedef struct IADLXAllMetricsListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXAllMetricsList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXAllMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXAllMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXAllMetricsList* pThis); - adlx_bool (ADLX_STD_CALL *Empty)(IADLXAllMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXAllMetricsList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXAllMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXAllMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXAllMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXAllMetricsList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXAllMetricsList* pThis, IADLXInterface* pItem); - - //IADLXAllMetricsList - ADLX_RESULT (ADLX_STD_CALL *At_AllMetricsList)(IADLXAllMetricsList* pThis, const adlx_uint location, IADLXAllMetrics** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_AllMetricsList)(IADLXAllMetricsList* pThis, IADLXAllMetrics* pItem); - -}IADLXAllMetricsListVtbl; - -struct IADLXAllMetricsList { const IADLXAllMetricsListVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXAllMetricsList - -#pragma region IADLXPerformanceMonitoringServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPerformanceMonitoringServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID(L"IADLXPerformanceMonitoringServices") - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange GetSamplingIntervalRange - *@ENG_START_DOX @brief Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSamplingIntervalRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sampling interval range (in millisecond) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sampling interval range is successfully returned, __ADLX_OK__ is returned.
- * If the sampling interval range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum sampling interval, minimum sampling interval, and step sampling interval are read only. @ENG_END_DOX - * - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSamplingIntervalRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_SetSamplingInterval SetSamplingInterval - *@ENG_START_DOX @brief Sets the sampling interval for the performance monitoring. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetSamplingInterval (adlx_int intervalMs) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,intervalMs,adlx_int ,@ENG_START_DOX The sampling interval (in millisecond). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sampling interval is successfully set, __ADLX_OK__ is returned.
- * If the sampling interval is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The sampling interval is the time gap between two samples. - * Obtain the sampling interval range with @ref DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange. The default sampling interval is 1000 ms. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetSamplingInterval (adlx_int askedIntervalMs) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetSamplingInterval GetSamplingInterval - *@ENG_START_DOX @brief Gets the sampling interval for performance monitoring. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSamplingInterval (adlx_int* intervalMs) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,intervalMs,adlx_int* ,@ENG_START_DOX The pointer to a variable where the sampling interval (in millisecond) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the sampling interval is successfully returned, __ADLX_OK__ is returned.
- * If the sampling interval is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The sampling interval is the time gap between two samples. - * Obtain the sampling interval range with @ref DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange. The default sampling interval is 1000 ms. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSamplingInterval (adlx_int* intervalMs) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange GetMaxPerformanceMetricsHistorySizeRange - *@ENG_START_DOX @brief Gets the maximum size, minimum size, and step size for the performance monitoring buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMaxPerformanceMetricsHistorySizeRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the buffer size range (in second) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the buffer size range is successfully returned, __ADLX_OK__ is returned.
- * If the buffer size range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The maximum buffer size, minimum buffer size, and step buffer size are read only. @ENG_END_DOX - * - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMaxPerformanceMetricsHistorySizeRange (ADLX_IntRange* range) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_SetMaxPerformanceMetricsHistorySize SetMaxPerformanceMetricsHistorySize - *@ENG_START_DOX @brief Sets the duration of the performance monitoring buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,sizeSec,adlx_int ,@ENG_START_DOX The buffer duration (in second). @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the buffer duration is successfully set, __ADLX_OK__ is returned.
- * If the buffer duration is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Obtain the buffer duration range with @ref DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange. - * The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySize GetMaxPerformanceMetricsHistorySize - *@ENG_START_DOX @brief Gets the duration of the performance monitoring buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,sizeSec,adlx_int* ,@ENG_START_DOX The pointer to a variable where the buffer duration (in second) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the buffer duration is successfully returned, __ADLX_OK__ is returned.
- * If the buffer duration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Obtain the buffer duration range with @ref DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange. - * The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_ClearPerformanceMetricsHistory ClearPerformanceMetricsHistory - *@ENG_START_DOX @brief Clears the buffer for performance monitoring. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT ClearPerformanceMetricsHistory () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the buffer of performance monitoring is successfully cleared, __ADLX_OK__ is returned.
- * If the buffer of performance monitoring is not successfully cleared, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ClearPerformanceMetricsHistory () = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetCurrentPerformanceMetricsHistorySize GetCurrentPerformanceMetricsHistorySize - *@ENG_START_DOX @brief Gets the duration of the metrics history from the performance monitoring buffer. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,sizeSec,adlx_int* ,@ENG_START_DOX The pointer to a variable where the duration (in second) is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the duration is successfully returned, __ADLX_OK__ is returned.
- * If the duration is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The buffer duration ranges between 50 s and 100 s. The default size is 100 s. - * If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_StartPerformanceMetricsTracking StartPerformanceMetricsTracking - *@ENG_START_DOX @brief Increases the count for the performance metrics tracking. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT StartPerformanceMetricsTracking () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the count is successfully increased, __ADLX_OK__ is returned.
- * If the count is not successfully increased, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the __StartPerformanceMetricsTracking__. The count is increased by one every time the tracking starts.
- * By default, the count is zero. The monitoring starts when the first call is made and the count increases by one.
- * If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL StartPerformanceMetricsTracking () = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_StopPerformanceMetricsTracking StopPerformanceMetricsTracking - *@ENG_START_DOX @brief Decreases the count for the performance metrics tracking. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT StopPerformanceMetricsTracking () - *@codeEnd - * - *@params - * N/A - * - *@retvalues - *@ENG_START_DOX If the count is successfully decreased, __ADLX_OK__ is returned.
- * If the count is not successfully decreased, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the __StopPerformanceMetricsTracking__.
- * When the __StopPerformanceMetricsTracking__ is called, the count is decreased by one. When the count reaches zero, the monitoring stops.
- * If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL StopPerformanceMetricsTracking () = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory GetAllMetricsHistory - *@ENG_START_DOX @brief Gets the reference counted list of all the metrics in a time interval. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXAllMetricsList** ppMetricsList) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{1.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{1.,[out] ,ppMetricsList,@ref DOX_IADLXAllMetricsList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history. - * - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms.
- * - * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
- * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory GetGPUMetricsHistory - *@ENG_START_DOX @brief Gets the reference counted list of GPU metrics in a time interval of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetGPUMetricsHistory (@ref DOX_IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXGPUMetricsList** ppMetricsList) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * @paramrow{2.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{3.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{4.,[out] ,ppMetricsList,@ref DOX_IADLXGPUMetricsList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history. - * - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms.
- * - * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
- * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUMetricsHistory (IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory GetSystemMetricsHistory - *@ENG_START_DOX @brief Gets the reference counted list of system metrics in a time interval. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXSystemMetricsList** ppMetricsList) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{2.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{3.,[out] ,ppMetricsList,@ref DOX_IADLXSystemMetricsList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history. - * - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms.
- * - * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
- * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetFPSHistory GetFPSHistory - *@ENG_START_DOX @brief Gets the reference counted list of FPS metrics in a time interval. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetFPSHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXFPSList** ppMetricsList) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{2.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX} - * @paramrow{3.,[out] ,ppMetricsList,@ref DOX_IADLXFPSList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsList__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history. - * - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero.
- * - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms.
- * - * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
- * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetFPSHistory (adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetCurrentAllMetrics GetCurrentAllMetrics - *@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXAllMetrics interface for the current metric set. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentAllMetrics (@ref DOX_IADLXAllMetrics** ppMetrics) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXAllMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the current interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentAllMetrics (IADLXAllMetrics** ppMetrics) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetCurrentGPUMetrics GetCurrentGPUMetrics - *@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXGPUMetrics interface for the current metric set of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetrics** ppMetrics) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppMetrics,@ref DOX_IADLXGPUMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetCurrentSystemMetrics GetCurrentSystemMetrics - *@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXSystemMetrics interface for the current metric set. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentSystemMetrics (@ref DOX_IADLXSystemMetrics** ppMetrics) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXSystemMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentSystemMetrics (IADLXSystemMetrics** ppMetrics) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetCurrentFPS GetCurrentFPS - *@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXFPS interface for the current FPS metric. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetCurrentFPS (@ref DOX_IADLXFPS** ppMetrics) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXFPS** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetrics__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetFPSHistory. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
- * __Note:__ The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode. - * @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetCurrentFPS (IADLXFPS** ppMetrics) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetSupportedGPUMetrics GetSupportedGPUMetrics - *@ENG_START_DOX @brief Gets the reference counted interface for discovering what performance metrics are supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSupportedGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetricsSupport** ppMetricsSupported) - *@codeEnd - * - *@params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppMetricsSupported,@ref DOX_IADLXGPUMetricsSupport** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsSupported__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSupportedGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported) = 0; - /** - *@page DOX_IADLXPerformanceMonitoringServices_GetSupportedSystemMetrics GetSupportedSystemMetrics - *@ENG_START_DOX @brief Gets the reference counted interface for discovering what performance metrics are supported on the system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSupportedSystemMetrics (@ref DOX_IADLXSystemMetricsSupport** ppMetricsSupported) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppMetricsSupported,@ref DOX_IADLXSystemMetricsSupport** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppMetricsSupported__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSupportedSystemMetrics (IADLXSystemMetricsSupport** ppMetricsSupported) = 0; - - }; //IADLXPerformanceMonitoringServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXPerformanceMonitoringServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXPerformanceMonitoringServices, L"IADLXPerformanceMonitoringServices") -typedef struct IADLXPerformanceMonitoringServices IADLXPerformanceMonitoringServices; - -typedef struct IADLXPerformanceMonitoringServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXPerformanceMonitoringServices* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXPerformanceMonitoringServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXPerformanceMonitoringServices* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXPerformanceMonitoringServices - ADLX_RESULT (ADLX_STD_CALL *GetSamplingIntervalRange)(IADLXPerformanceMonitoringServices* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *SetSamplingInterval)(IADLXPerformanceMonitoringServices* pThis, adlx_int intervalMs); - ADLX_RESULT (ADLX_STD_CALL *GetSamplingInterval)(IADLXPerformanceMonitoringServices* pThis, adlx_int* intervalMs); - ADLX_RESULT (ADLX_STD_CALL *GetMaxPerformanceMetricsHistorySizeRange)(IADLXPerformanceMonitoringServices* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *SetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int sizeSec); - ADLX_RESULT (ADLX_STD_CALL *GetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int* sizeSec); - ADLX_RESULT (ADLX_STD_CALL *ClearPerformanceMetricsHistory)(IADLXPerformanceMonitoringServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int* sizeSec); - ADLX_RESULT (ADLX_STD_CALL *StartPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *StopPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *GetAllMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList); - ADLX_RESULT (ADLX_STD_CALL *GetGPUMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList); - ADLX_RESULT (ADLX_STD_CALL *GetSystemMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList); - ADLX_RESULT (ADLX_STD_CALL *GetFPSHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentAllMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXAllMetrics** ppMetrics); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentGPUMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentSystemMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXSystemMetrics** ppMetrics); - ADLX_RESULT (ADLX_STD_CALL *GetCurrentFPS)(IADLXPerformanceMonitoringServices* pThis, IADLXFPS** ppMetrics); - ADLX_RESULT (ADLX_STD_CALL *GetSupportedGPUMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported); - ADLX_RESULT (ADLX_STD_CALL *GetSupportedSystemMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXSystemMetricsSupport** ppMetricsSupported); -}IADLXPerformanceMonitoringServicesVtbl; - -struct IADLXPerformanceMonitoringServices { const IADLXPerformanceMonitoringServicesVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXPerformanceMonitoringServices - -#endif//ADLX_IPERFORMANCEMONITORING_H diff --git a/vendor/adlx/SDK/Include/IPerformanceMonitoring1.h b/vendor/adlx/SDK/Include/IPerformanceMonitoring1.h deleted file mode 100644 index 77b8f91..0000000 --- a/vendor/adlx/SDK/Include/IPerformanceMonitoring1.h +++ /dev/null @@ -1,134 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_IPERFORMANCEMONITORING1_H -#define ADLX_IPERFORMANCEMONITORING1_H -#pragma once - -#include "IPerformanceMonitoring.h" - -#pragma region IADLXSystemMetricsSupport1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSystemMetricsSupport1 : public IADLXSystemMetricsSupport - { - public: - ADLX_DECLARE_IID (L"IADLXSystemMetricsSupport1") - - /** - *@page DOX_IADLXSystemMetricsSupport1_IsSupportedPowerDistribution IsSupportedPowerDistribution - *@ENG_START_DOX @brief Checks if reporting of power distribution between CPU and GPU is supported on the system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupportedPowerDistribution (adlx_bool* supported) - *@codeEnd - * - *@params - *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of reporting of power distribution is returned. The variable is __true__ if the power distribution metric reporting is supported\. The variable is __false__ if the power distribution metric reporting is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of power distribution metric reporting is successfully returned, __ADLX_OK__ is returned.
- *If the state of power distribution metric reporting is not successfully returned, an error code is returned.
- *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXSystemMetricsSupport1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPowerDistribution(adlx_bool* supported) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSystemMetricsSupport1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSystemMetricsSupport1, L"IADLXSystemMetricsSupport1") - -typedef struct IADLXSystemMetricsSupport1 IADLXSystemMetricsSupport1; -typedef struct IADLXSystemMetricsSupport1Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetricsSupport1* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetricsSupport1* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetricsSupport1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSystemMetricsSupport - ADLX_RESULT (ADLX_STD_CALL *IsSupportedCPUUsage)(IADLXSystemMetricsSupport1* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSystemRAM)(IADLXSystemMetricsSupport1* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *IsSupportedSmartShift)(IADLXSystemMetricsSupport1* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetCPUUsageRange)(IADLXSystemMetricsSupport1* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL *GetSystemRAMRange)(IADLXSystemMetricsSupport1* pThis, adlx_int* minValue, adlx_int* maxValue); - ADLX_RESULT (ADLX_STD_CALL *GetSmartShiftRange)(IADLXSystemMetricsSupport1* pThis, adlx_int* minValue, adlx_int* maxValue); - - //IADLXSystemMetricsSupport1 - ADLX_RESULT (ADLX_STD_CALL *IsSupportedPowerDistribution)(IADLXSystemMetricsSupport1* pThis, adlx_bool* supported); -}IADLXSystemMetricsSupport1Vtbl; -struct IADLXSystemMetricsSupport1 { const IADLXSystemMetricsSupport1Vtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSystemMetricsSupport1 - -#pragma region IADLXSystemMetrics1 -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSystemMetrics1 : public IADLXSystemMetrics - { - public: - ADLX_DECLARE_IID (L"IADLXSystemMetrics1") - - /** - *@page DOX_IADLXSystemMetrics1_PowerDistribution PowerDistribution - *@ENG_START_DOX @brief Gets the distribution of power between CPU and GPU of a system metric sample. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT PowerDistribution (adlx_int* apuShiftValue, adlx_int* gpuShiftValue, adlx_int* apuShiftLimit, adlx_int* gpuShiftLimit, adlx_int* totalShiftLimit) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,apuShiftValue,adlx_int* ,@ENG_START_DOX The pointer to a variable where the apu shift alue value is returned. @ENG_END_DOX} - *@paramrow{1.,[out] ,gpuShiftValue,adlx_int* ,@ENG_START_DOX The pointer to a variable where the gpu shift value is returned. @ENG_END_DOX} - *@paramrow{1.,[out] ,apuShiftLimit,adlx_int* ,@ENG_START_DOX The pointer to a variable where the apu shift limit value is returned. @ENG_END_DOX} - *@paramrow{1.,[out] ,gpuShiftLimit,adlx_int* ,@ENG_START_DOX The pointer to a variable where the gpu shift limit value is returned. @ENG_END_DOX} - *@paramrow{1.,[out] ,totalShiftLimit,adlx_int* ,@ENG_START_DOX The pointer to a variable where the total shift limit value is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the distribution of power is successfully returned, __ADLX_OK__ is returned.
- * If the distribution of power is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXSystemMetrics1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL PowerDistribution(adlx_int* apuShiftValue, adlx_int* gpuShiftValue, adlx_int* apuShiftLimit, adlx_int* gpuShiftLimit, adlx_int* totalShiftLimit) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSystemMetrics1Ptr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSystemMetrics1, L"IADLXSystemMetrics1") - -typedef struct IADLXSystemMetrics1 IADLXSystemMetrics1; -typedef struct IADLXSystemMetrics1Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetrics1* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetrics1* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetrics1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSystemMetrics - ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXSystemMetrics1* pThis, adlx_int64* ms); - ADLX_RESULT (ADLX_STD_CALL *CPUUsage)(IADLXSystemMetrics1* pThis, adlx_double* data); - ADLX_RESULT (ADLX_STD_CALL *SystemRAM)(IADLXSystemMetrics1* pThis, adlx_int* data); - ADLX_RESULT (ADLX_STD_CALL *SmartShift)(IADLXSystemMetrics1* pThis, adlx_int* data); - - //IADLXSystemMetrics1 - ADLX_RESULT (ADLX_STD_CALL *PowerDistribution)(IADLXSystemMetrics1* pThis, adlx_int* apuShiftValue, adlx_int* gpuShiftValue, adlx_int* apuShiftLimit, adlx_int* gpuShiftLimit, adlx_int* totalShiftLimit); -}IADLXSystemMetrics1Vtbl; -struct IADLXSystemMetrics1 { const IADLXSystemMetrics1Vtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSystemMetrics1 - -#endif//ADLX_IPERFORMANCEMONITORING1_H diff --git a/vendor/adlx/SDK/Include/IPowerTuning.h b/vendor/adlx/SDK/Include/IPowerTuning.h deleted file mode 100644 index 079dc6a..0000000 --- a/vendor/adlx/SDK/Include/IPowerTuning.h +++ /dev/null @@ -1,473 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_POWERTUNING_H -#define ADLX_POWERTUNING_H -#pragma once - -#include "ADLXStructures.h" -#include "IChangedEvent.h" - -#pragma region IADLXSmartShiftMax -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSmartShiftMax : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXSmartShiftMax") - - /** - *@page DOX_IADLXSmartShiftMax_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD SmartShift Max is supported. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD SmartShift Max is returned. The variable is __true__ if AMD SmartShift Max is supported. The variable is __false__ if AMD SmartShift Max is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD SmartShift Max is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD SmartShift Max is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXSmartShiftMax_GetBiasMode GetBiasMode - *@ENG_START_DOX @brief Gets the AMD SmartShift Max current bias mode. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBiasMode (@ref ADLX_SSM_BIAS_MODE* mode) - *@codeEnd - * - *@params - * @paramrow{1.,[out],mode,@ref ADLX_SSM_BIAS_MODE*,@ENG_START_DOX The pointer to a variable where the AMD SmartShift Max current bias mode is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current bias mode is successfully returned, __ADLX_OK__ is returned.
- * If the current bias mode is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance according to workload dependencies. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBiasMode(ADLX_SSM_BIAS_MODE* mode) = 0; - - /** - *@page DOX_IADLXSmartShiftMax_SetBiasMode SetBiasMode - *@ENG_START_DOX @brief Sets AMD SmartShift Max bias mode. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBiasMode (@ref ADLX_SSM_BIAS_MODE mode) - *@codeEnd - * - *@params - * @paramrow{1.,[in],mode,@ref ADLX_SSM_BIAS_MODE,@ENG_START_DOX The new AMD SmartShift Max bias mode. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the bias mode is successfully set, __ADLX_OK__ is returned.
- * If the bias mode is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBiasMode(ADLX_SSM_BIAS_MODE mode) = 0; - - /** - *@page DOX_IADLXSmartShiftMax_GetBiasRange GetBiasRange - *@ENG_START_DOX @brief Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBiasRange (@ref ADLX_IntRange* range) - *@codeEnd - * - *@params - * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the bias range of AMD SmartShift Max is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the bias range is successfully returned, __ADLX_OK__ is returned.
- * If the bias range is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBiasRange(ADLX_IntRange* range) = 0; - - /** - *@page DOX_IADLXSmartShiftMax_GetBias GetBias - *@ENG_START_DOX @brief Gets the AMD SmartShift Max current bias. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetBias (adlx_int* bias) - *@codeEnd - * - *@params - * @paramrow{1.,[out],bias,adlx_int*,@ENG_START_DOX The pointer to a variable where the AMD SmartShift Max current bias is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the current bias is successfully returned, __ADLX_OK__ is returned.
- * If the current bias is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetBias(adlx_int* bias) = 0; - - /** - *@page DOX_IADLXSmartShiftMax_SetBias SetBias - *@ENG_START_DOX @brief Sets the bias of AMD SmartShift Max. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetBias (adlx_int bias) - *@codeEnd - * - *@params - * @paramrow{1.,[in],bias,adlx_int,@ENG_START_DOX The new AMD SmartShift Max bias. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the bias is successfully set, __ADLX_OK__ is returned.
- * If the bias is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX - *AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. - *@ENG_END_DOX - * - *@copydoc IADLXSmartShiftMax_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetBias(adlx_int bias) = 0; - }; //IADLXSmartShiftMax - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSmartShiftMaxPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXSmartShiftMax, L"IADLXSmartShiftMax") -typedef struct IADLXSmartShiftMax IADLXSmartShiftMax; -typedef struct IADLXSmartShiftMaxVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSmartShiftMax* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSmartShiftMax* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSmartShiftMax* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSmartShiftMax - ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLXSmartShiftMax* pThis, adlx_bool* supported); - ADLX_RESULT (ADLX_STD_CALL *GetBiasMode)(IADLXSmartShiftMax* pThis, ADLX_SSM_BIAS_MODE* mode); - ADLX_RESULT (ADLX_STD_CALL *SetBiasMode)(IADLXSmartShiftMax* pThis, ADLX_SSM_BIAS_MODE mode); - ADLX_RESULT (ADLX_STD_CALL *GetBiasRange)(IADLXSmartShiftMax* pThis, ADLX_IntRange* range); - ADLX_RESULT (ADLX_STD_CALL *GetBias)(IADLXSmartShiftMax* pThis, adlx_int* bias); - ADLX_RESULT (ADLX_STD_CALL *SetBias)(IADLXSmartShiftMax* pThis, adlx_int bias); -}IADLXSmartShiftMaxVtbl; -struct IADLXSmartShiftMax { const IADLXSmartShiftMaxVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXSmartShiftMax - -#pragma region IADLXPowerTuningChangedEvent -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPowerTuningChangedEvent : public IADLXChangedEvent - { - public: - ADLX_DECLARE_IID (L"IADLXPowerTuningChangedEvent") - - /** - *@page DOX_IADLXPowerTuningChangedEvent_IsSmartShiftMaxChanged IsSmartShiftMaxChanged - *@ENG_START_DOX @brief Checks for changes to the AMD SmartShift Max settings. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool IsSmartShiftMaxChanged () - *@codeEnd - * - *@params - *N/A - * - *@retvalues - *@ENG_START_DOX If there are any changes to the AMD SmartShift Max settings, __true__ is returned.
- * If there are on changes to the AMD SmartShift Max settings, __false__ is returned.
@ENG_END_DOX - * - *@copydoc IADLXPowerTuningChangedEvent_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL IsSmartShiftMaxChanged () = 0; - }; //IADLXPowerTuningChangedEvent - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXPowerTuningChangedEventPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXPowerTuningChangedEvent, L"IADLXPowerTuningChangedEvent") -typedef struct IADLXPowerTuningChangedEvent IADLXPowerTuningChangedEvent; -typedef struct IADLXPowerTuningChangedEventVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXPowerTuningChangedEvent* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXPowerTuningChangedEvent* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXPowerTuningChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXChangedEvent - ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXPowerTuningChangedEvent* pThis); - - //IADLXPowerTuningChangedEvent - adlx_bool (ADLX_STD_CALL *IsSmartShiftMaxChanged)(IADLXPowerTuningChangedEvent* pThis); -}IADLXPowerTuningChangedEventVtbl; -struct IADLXPowerTuningChangedEvent { const IADLXPowerTuningChangedEventVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXPowerTuningChangedEvent - -#pragma region IADLXPowerTuningChangedListener -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPowerTuningChangedListener - { - public: - /** - *@page DOX_IADLXPowerTuningChangedListener_OnPowerTuningChanged OnPowerTuningChanged - *@ENG_START_DOX @brief __OnPowerTuningChanged__ is called by ADLX when power tuning settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnPowerTuningChanged (@ref DOX_IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pPowerTuningChangedEvent,@ref DOX_IADLXPowerTuningChangedEvent* ,@ENG_START_DOX The pointer to a power tuning settings change event. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXPowerTuningChangedHandling_AddPowerTuningEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXPowerTuningChangedHandling_RemovePowerTuningEventListener. - * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the power tuning settings change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the power tuning settings change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - *@copydoc IADLXPowerTuningChangedListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnPowerTuningChanged(IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent) = 0; - }; //IADLXPowerTuningChangedListener -} //namespace adlx -#else //__cplusplus -typedef struct IADLXPowerTuningChangedListener IADLXPowerTuningChangedListener; -typedef struct IADLXPowerTuningChangedListenerVtbl -{ - adlx_bool (ADLX_STD_CALL *OnPowerTuningChanged)(IADLXPowerTuningChangedListener* pThis, IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent); -} IADLXPowerTuningChangedListenerVtbl; -struct IADLXPowerTuningChangedListener { const IADLXPowerTuningChangedListenerVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXPowerTuningChangedListener - -#pragma region IADLXPowerTuningChangedHandling -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPowerTuningChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXPowerTuningChangedHandling") - - /** - *@page DOX_IADLXPowerTuningChangedHandling_AddPowerTuningEventListener AddPowerTuningEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications whenever power tuning settings are changed. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddPowerTuningEventListener (@ref DOX_IADLXPowerTuningChangedListener* pPowerTuningChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pPowerTuningChangedListener,@ref DOX_IADLXPowerTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving power tuning settings change notifications. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the event listener is successfully registered, ADLX calls the @ref DOX_IADLXPowerTuningChangedListener_OnPowerTuningChanged listener method whenever power tuning settings are changed.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXPowerTuningChangedHandling_RemovePowerTuningEventListener.
@ENG_END_DOX - * - *@copydoc IADLXPowerTuningChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddPowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener) = 0; - - /** - *@page DOX_IADLXPowerTuningChangedHandling_RemovePowerTuningEventListener RemovePowerTuningEventListener - *@ENG_START_DOX @brief Unregisters an event listener from the power tuning settings event list. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemovePowerTuningEventListener (@ref DOX_IADLXPowerTuningChangedListener* pPowerTuningChangedListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pPowerTuningChangedListener,@ref DOX_IADLXPowerTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving power tuning settings change notifications. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the event listener is successfully unregistered, ADLX will no longer call the @ref DOX_IADLXPowerTuningChangedListener_OnPowerTuningChanged listener method when power tuning settings are changed. - * The application can discard the event listener instance. @ENG_END_DOX - * - *@copydoc IADLXPowerTuningChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemovePowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener) = 0; - - }; //IADLXPowerTuningChangedHandling - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXPowerTuningChangedHandlingPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXPowerTuningChangedHandling, L"IADLXPowerTuningChangedHandling") -typedef struct IADLXPowerTuningChangedHandling IADLXPowerTuningChangedHandling; -typedef struct IADLXPowerTuningChangedHandlingVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXPowerTuningChangedHandling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXPowerTuningChangedHandling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXPowerTuningChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXPowerTuningChangedHandling - ADLX_RESULT (ADLX_STD_CALL *AddPowerTuningEventListener)(IADLXPowerTuningChangedHandling* pThis, IADLXPowerTuningChangedListener* pPowerTuningChangedListener); - ADLX_RESULT (ADLX_STD_CALL *RemovePowerTuningEventListener)(IADLXPowerTuningChangedHandling* pThis, IADLXPowerTuningChangedListener* pPowerTuningChangedListener); -} IADLXPowerTuningChangedHandlingVtbl; -struct IADLXPowerTuningChangedHandling { const IADLXPowerTuningChangedHandlingVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXPowerTuningChangedHandling - -#pragma region IADLXPowerTuningServices -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPowerTuningServices : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXPowerTuningServices") - - /** - *@page DOX_IADLXPowerTuningServices_GetPowerTuningChangedHandling GetPowerTuningChangedHandling - *@ENG_START_DOX @brief Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPowerTuningChangedHandling (@ref DOX_IADLXPowerTuningChangedHandling** ppPowerTuningChangedHandling) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppPowerTuningChangedHandling,@ref DOX_IADLXPowerTuningChangedHandling** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppPowerTuningChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPowerTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPowerTuningChangedHandling (IADLXPowerTuningChangedHandling** ppPowerTuningChangedHandling) = 0; - - /** - *@page DOX_IADLXPowerTuningServices_GetSmartShiftMax GetSmartShiftMax - *@ENG_START_DOX @brief Gets the reference counted AMD SmartShift Max interface. @ENG_END_DOX - *@syntax - *@codeStart - * @ref ADLX_RESULT GetSmartShiftMax (@ref DOX_IADLXSmartShiftMax** ppSmartShiftMax) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppSmartShiftMax,@ref DOX_IADLXSmartShiftMax** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppSmartShiftMax__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXPowerTuningServices_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetSmartShiftMax (IADLXSmartShiftMax** ppSmartShiftMax) = 0; - }; //IADLXPowerTuningServices - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXPowerTuningServicesPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID (IADLXPowerTuningServices, L"IADLXPowerTuningServices") -typedef struct IADLXPowerTuningServices IADLXPowerTuningServices; -typedef struct IADLXPowerTuningServicesVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXPowerTuningServices* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXPowerTuningServices* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXPowerTuningServices* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXPowerTuningServices - ADLX_RESULT (ADLX_STD_CALL *GetPowerTuningChangedHandling)(IADLXPowerTuningServices* pThis, IADLXPowerTuningChangedHandling** ppPowerTuningChangedHandling); - ADLX_RESULT (ADLX_STD_CALL *GetSmartShiftMax)(IADLXPowerTuningServices* pThis, IADLXSmartShiftMax** ppSmartShiftMax); -}IADLXPowerTuningServicesVtbl; -struct IADLXPowerTuningServices { const IADLXPowerTuningServicesVtbl *pVtbl; }; -#endif //__cplusplus -#pragma endregion IADLXPowerTuningServices - -#endif //ADLX_POWERTUNING_H diff --git a/vendor/adlx/SDK/Include/ISmartAccessMemory.h b/vendor/adlx/SDK/Include/ISmartAccessMemory.h deleted file mode 100644 index 48f0694..0000000 --- a/vendor/adlx/SDK/Include/ISmartAccessMemory.h +++ /dev/null @@ -1,126 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_ISMARTACCESSMEMORY_H -#define ADLX_ISMARTACCESSMEMORY_H -#pragma once - -#include "ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//ISmartAccessMemory.h - Interfaces for ADLX AMD SmartAccess Memory functionality - -// AMD SmartAccess Memory interface -#pragma region IADLXSmartAccessMemory -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXSmartAccessMemory : public IADLXInterface - { - public: - ADLX_DECLARE_IID(L"IADLXSmartAccessMemory") - - /** - *@page DOX_IADLXSmartAccessMemory_IsSupported IsSupported - *@ENG_START_DOX @brief Checks if AMD SmartAccess Memory is supported on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsSupported (adlx_bool* supported) - *@codeEnd - * - *@params - * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is __true__ if AMD SmartAccess Memory is supported. The variable is __false__ if AMD SmartAccess Memory is not supported. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD SmartAccess Memory is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXSmartAccessMemory_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0; - - /** - *@page DOX_IADLXSmartAccessMemory_IsEnabled IsEnabled - *@ENG_START_DOX @brief Checks if AMD SmartAccess Memory is enabled on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled) - *@codeEnd - * - *@params - * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is __true__ if AMD SmartAccess Memory is enabled. The variable is __false__ if AMD SmartAccess Memory is not enabled. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD SmartAccess Memory is successfully returned, __ADLX_OK__ is returned.
- * If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@copydoc IADLXSmartAccessMemory_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsEnabled(adlx_bool* enabled) = 0; - - /** - *@page DOX_IADLXSmartAccessMemory_SetEnabled SetEnabled - *@ENG_START_DOX @brief Enable or disable the state of AMD SmartAccess Memory on a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT SetEnabled (adlx_bool enable) - *@codeEnd - * - *@params - * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD SmartAccess Memory state. Set __true__ to enable AMD SmartAccess Memory. Set __false__ to disable AMD SmartAccess Memory. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the state of AMD SmartAccess Memory is successfully set, __ADLX_OK__ is returned.
- * If the state of AMD SmartAccess Memory is not successfully set, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The __SetEnabled__ method triggers an asynchronous operation that results in changing the maximum size of VRAM of a GPU that the CPU can address.
- * While this operation is in progress, the applications that run in the context of the GPU or make calls in the driver for the GPU will behave unexpectedly. Before making this call, - * ensure that these applications release the GPU context, such as by closing their user interfaces, and that they will not make calls into the GPU driver during this operation. - * This procedure will allow those applications to continue to function correctly during and after the operation is completed.
- * To learn when the operation is completed, register an event listener interface using @ref DOX_IADLXGPUTuningServices_GetGPUTuningChangedHandling before calling __SetEnabled__. - * ADLX will call @ref DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged into the event listener interface twice during the asynchronous execution of __SetEnabled__: - * once before the operation is started, and the second time, after the operation is completed. Use @ref DOX_IADLXGPUTuningChangedEvent1_IsSmartAccessMemoryChanged and - * @ref DOX_IADLXGPUTuningChangedEvent1_GetSmartAccessMemoryStatus to discover the state of this operation. @ENG_END_DOX - * - *@copydoc IADLXSmartAccessMemory_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SetEnabled(adlx_bool enabled) = 0; - }; - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXSmartAccessMemoryPtr; -} //namespace adlx -#else //__cplusplus -ADLX_DECLARE_IID(IADLXSmartAccessMemory, L"IADLXSmartAccessMemory") - -typedef struct IADLXSmartAccessMemory IADLXSmartAccessMemory; - -typedef struct IADLXSmartAccessMemoryVtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXSmartAccessMemory* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXSmartAccessMemory* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXSmartAccessMemory* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSmartAccessMemory - ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLXSmartAccessMemory* pThis, adlx_bool* supported); - ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLXSmartAccessMemory* pThis, adlx_bool* enabled); - ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLXSmartAccessMemory* pThis, adlx_bool enabled); -} IADLXSmartAccessMemoryVtbl; - -struct IADLXSmartAccessMemory { const IADLXSmartAccessMemoryVtbl* pVtbl; }; -#endif -#pragma endregion IADLXSmartAccessMemory - -#endif // !ADLX_ISMARTACCESSMEMORY_H diff --git a/vendor/adlx/SDK/Include/ISystem.h b/vendor/adlx/SDK/Include/ISystem.h deleted file mode 100644 index ce40dd7..0000000 --- a/vendor/adlx/SDK/Include/ISystem.h +++ /dev/null @@ -1,1557 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -//------------------------------------------------------------------------------------------------- -//ISystem.h - Interfaces for ADLX System-level functionality - -#ifndef ADLX_ISYSTEM_H -#define ADLX_ISYSTEM_H -#pragma once - -#include "ADLXDefines.h" -#include "ICollections.h" - -//Interfaces for GPU Info -#pragma region IADLXGPU interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPU") - - /** - * @page DOX_IADLXGPU_VendorId VendorId - * @ENG_START_DOX - * @brief Gets the vendor id of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT VendorId (const char** vendorId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],vendorId,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the vendor id is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the vendor id is successfully returned, __ADLX_OK__ is returned.
- * If the vendor id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. - * @ENG_END_DOX - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the vendor id beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the vendor id. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL VendorId (const char** vendorId) = 0; - /** - * @page DOX_IADLXGPU_ASICFamilyType ASICFamilyType - * @ENG_START_DOX - * @brief Gets the ASIC family type of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT ASICFamilyType (@ref ADLX_ASIC_FAMILY_TYPE* asicFamilyType) - * @codeEnd - * - * @params - * @paramrow{1.,[out],asicFamilyType,@ref ADLX_ASIC_FAMILY_TYPE*,@ENG_START_DOX The pointer to a variable where the ASIC family type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the ASIC family type is successfully returned, __ADLX_OK__ is returned.
- * If the ASIC family type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ASICFamilyType (ADLX_ASIC_FAMILY_TYPE* asicFamilyType) const = 0; - /** - * @page DOX_IADLXGPU_Type Type - * @ENG_START_DOX - * @brief Gets the type of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT Type (@ref ADLX_GPU_TYPE* gpuType) - * @codeEnd - * - * @params - * @paramrow{1.,[out],gpuType,@ref ADLX_GPU_TYPE*,@ENG_START_DOX The pointer to a variable where the GPU type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the GPU type is successfully returned, __ADLX_OK__ is returned.
- * If the GPU type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The GPU type can be categorized into Integrated, Discrete, and Unknown. - * @ENG_END_DOX - * - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Type (ADLX_GPU_TYPE* gpuType) const = 0; - /** - * @page DOX_IADLXGPU_IsExternal IsExternal - * @ENG_START_DOX - * @brief Checks if a GPU is an external or internal GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT IsExternal (adlx_bool* isExternal) - * @codeEnd - * - * @params - * @paramrow{1.,[out],isExternal,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the GPU is returned. The variable is __true__ if the GPU is external. The variable is __false__ if the GPU is internal. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If __IsExternal__ is successfully executed, __ADLX_OK__ is returned.
- * If __IsExternal__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL IsExternal (adlx_bool* isExternal) const = 0; - /** - * @page DOX_IADLXGPU_Name Name - * @ENG_START_DOX - * @brief Gets the name of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT Name (const char** name) - * @codeEnd - * - * @params - * @paramrow{1.,[out],name,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the name of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the name is successfully returned, __ADLX_OK__ is returned.
- * If the name is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within a lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the name beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the name.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Name (const char** name) const = 0; - /** - * @page DOX_IADLXGPU_DriverPath DriverPath - * @ENG_START_DOX - * @brief Gets the driver registry path of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT DriverPath (const char** driverPath) - * @codeEnd - * - * @params - * @paramrow{1.,[out],driverPath,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the driver registry path of a GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the driver path is successfully returned, __ADLX_OK__ is returned.
- * If the driver path is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within a lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the driver path beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the driver path.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DriverPath (const char** driverPath) const = 0; - /** - * @page DOX_IADLXGPU_PNPString PNPString - * @ENG_START_DOX - * @brief Gets the PNP string of a GPU. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT PNPString (const char** pnpString) - * @codeEnd - * - * @params - * @paramrow{1.,[out],pnpString,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the PNP string of a GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the PNP string is successfully returned, __ADLX_OK__ is returned.
- * If the PNP string is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within a lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the PNP string beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the PNP string.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL PNPString (const char** pnpString) const = 0; - /** - * @page DOX_IADLXGPU_HasDesktops HasDesktops - * @ENG_START_DOX - * @brief Checks if a GPU drives any desktops. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT HasDesktops (adlx_bool* hasDesktops) - * @codeEnd - * - * @params - * @paramrow{1.,[out],hasDesktops,adlx_bool*,@ENG_START_DOX The pointer to a variable to check if a GPU drives any desktops is returned. The variable is __true__ if the GPU drives desktops. The variable is __false__ if the GPU does not drive any desktop. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If __HasDesktops__ is successfully executed, __ADLX_OK__ is returned.
- * If __HasDesktops__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL HasDesktops (adlx_bool* hasDesktops) const = 0; - /** - *@page DOX_IADLXGPU_TotalVRAM TotalVRAM - *@ENG_START_DOX @brief Gets the total VRAM size of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TotalVRAM (adlx_uint* vramMB) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,vramMB,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the total VRAM size is returned. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the total VRAM size is successfully returned, __ADLX_OK__ is returned.
- * If the total VRAM size is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The total VRAM size is in MB. @ENG_END_DOX - * - *@copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TotalVRAM (adlx_uint* vramMB) = 0; - /** - * @page DOX_IADLXGPU_VRAMType VRAMType - * @ENG_START_DOX@brief Gets the VRAM type of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT VRAMType(const char** type) - * @codeEnd - * - * @params - * @paramrow{1.,[out],type,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the VRAM type of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the VRAM type is successfully returned, __ADLX_OK__ is returned.
- * If the VRAM type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the VRAM type beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the VRAM type. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL VRAMType(const char** type) = 0; - /** - * @page DOX_IADLXGPU_BIOSInfo BIOSInfo - * @ENG_START_DOX@brief Gets the BIOS info of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT BIOSInfo(const char** partNumber, const char** version, const char** date) - * @codeEnd - * - * @params - * @paramrow{1.,[out],partNumber,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the BIOS part number of the GPU is returned. @ENG_END_DOX} - * @paramrow{2.,[out],version,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the BIOS version of the GPU is returned. @ENG_END_DOX} - * @paramrow{3.,[out],date,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the BIOS date of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the BIOS part number, BIOS version and BIOS date are successfully returned, __ADLX_OK__ is returned.
- * If the BIOS part number, BIOS version and BIOS date are not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffers are valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the BIOS part number, BIOS version and BIOS date beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the BIOS part number, BIOS version and BIOS date. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL BIOSInfo(const char** partNumber, const char** version, const char** date) = 0; - /** - * @page DOX_IADLXGPU_DeviceId DeviceId - * @ENG_START_DOX@brief Gets the device id of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT DeviceId(const char** deviceId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],deviceId,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the device id of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the device id is successfully returned, __ADLX_OK__ is returned.
- * If the device id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The device id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the device id beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the device id. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL DeviceId(const char** deviceId) = 0; - /** - * @page DOX_IADLXGPU_RevisionId RevisionId - * @ENG_START_DOX@brief Gets the revision id of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT RevisionId(const char** revisionId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],revisionId,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the revision id of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the revision id is successfully returned, __ADLX_OK__ is returned.
- * If the revision id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the revision id beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the revision id. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RevisionId(const char** revisionId) = 0; - /** - * @page DOX_IADLXGPU_SubSystemId SubSystemId - * @ENG_START_DOX@brief Gets the subsystem id of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT SubSystemId(const char** subSystemId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],subSystemId,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the subsystem id of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the subsystem id is successfully returned, __ADLX_OK__ is returned.
- * If the subsystem id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the subsystem id beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the subsystem id. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SubSystemId(const char** subSystemId) = 0; - /** - * @page DOX_IADLXGPU_SubSystemVendorId SubSystemVendorId - * @ENG_START_DOX@brief Gets the subsystem vendor id of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT SubSystemVendorId(const char** subSystemVendorId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],subSystemVendorId,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the subsystem vendor id of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the subsystem vendor id is successfully returned, __ADLX_OK__ is returned.
- * If the subsystem vendor id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The subsystem vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within the lifetime of the @ref DOX_IADLXGPU interface.
- * If the application uses the subsystem vendor id beyond the lifetime of the @ref DOX_IADLXGPU interface, the application must make a copy of the subsystem vendor id. - * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL SubSystemVendorId(const char** subSystemVendorId) = 0; - /** - * @page DOX_IADLXGPU_UniqueId UniqueId - * @ENG_START_DOX@brief Gets the unique id of a GPU.@ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT UniqueId(adlx_int* uniqueId) - * @codeEnd - * - * @params - * @paramrow{1.,[out],uniqueId,adlx_int*,@ENG_START_DOX The pointer to a variable where the unique id of the GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the unique id is successfully returned, __ADLX_OK__ is returned.
- * If the unique id is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL UniqueId(adlx_int* uniqueId) = 0; - }; //IADLXGPU - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUPtr; -} //namespace adlx -#else -ADLX_DECLARE_IID (IADLXGPU, L"IADLXGPU"); -typedef struct IADLXGPU IADLXGPU; - -typedef struct IADLXGPUVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPU* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPU* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPU* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXGPU - ADLX_RESULT (ADLX_STD_CALL *VendorId)(IADLXGPU* pThis, const char** vendorId); - ADLX_RESULT (ADLX_STD_CALL *ASICFamilyType)(IADLXGPU* pThis, ADLX_ASIC_FAMILY_TYPE* asicFamilyType); - ADLX_RESULT (ADLX_STD_CALL *Type)(IADLXGPU* pThis, ADLX_GPU_TYPE* gpuType); - ADLX_RESULT (ADLX_STD_CALL *IsExternal)(IADLXGPU* pThis, adlx_bool* isExternal); - ADLX_RESULT (ADLX_STD_CALL *Name)(IADLXGPU* pThis, const char** gpuName); - ADLX_RESULT (ADLX_STD_CALL *DriverPath)(IADLXGPU* pThis, const char** driverPath); - ADLX_RESULT (ADLX_STD_CALL *PNPString)(IADLXGPU* pThis, const char** pnpString); - ADLX_RESULT (ADLX_STD_CALL *HasDesktops)(IADLXGPU* pThis, adlx_bool* hasDesktops); - ADLX_RESULT (ADLX_STD_CALL *TotalVRAM)(IADLXGPU* pThis, adlx_uint* vramMB); - ADLX_RESULT (ADLX_STD_CALL *VRAMType)(IADLXGPU* pThis, const char** type); - ADLX_RESULT (ADLX_STD_CALL *BIOSInfo)(IADLXGPU* pThis, const char** partNumber, const char** version, const char** date); - ADLX_RESULT (ADLX_STD_CALL *DeviceId)(IADLXGPU* pThis, const char** deviceId); - ADLX_RESULT (ADLX_STD_CALL *RevisionId)(IADLXGPU* pThis, const char** revisionId); - ADLX_RESULT (ADLX_STD_CALL *SubSystemId)(IADLXGPU* pThis, const char** subSystemId); - ADLX_RESULT (ADLX_STD_CALL *SubSystemVendorId)(IADLXGPU* pThis, const char** subSystemVendorId); - ADLX_RESULT (ADLX_STD_CALL *UniqueId)(IADLXGPU* pThis, adlx_int* uniqueId); -} IADLXGPUVtbl; - -struct IADLXGPU -{ - const IADLXGPUVtbl *pVtbl; -}; -#endif -#pragma endregion IADLXGPU interface - -#pragma region IADLXGPUList interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUList : public IADLXList - { - public: - ADLX_DECLARE_IID (L"IADLXGPUList") - //Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface - ADLX_DECLARE_ITEM_IID (IADLXGPU::IID ()) - - /** - * @page DOX_IADLXGPUList_At At - * @ENG_START_DOX - * @brief Returns the reference counted interface at the requested location. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXGPU** ppItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXGPU** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the location is within the list bounds, __ADLX_OK__ is returned.
- * If the location is not within the list bounds, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - * @copydoc IADLXGPUList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXGPU** ppItem) = 0; - /** - * @page DOX_IADLXGPUList_Add_Back Add_Back - * @ENG_START_DOX - * @brief Adds an interface to the end of a list. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT Add_Back (@ref DOX_IADLXGPU* pItem) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pItem,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.
- * If the interface is not added to the end of the list, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details - * @ENG_END_DOX - * - * - * @copydoc IADLXGPUList_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXGPU* pItem) = 0; - }; //IADLXGPUList - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPUListPtr; -} //namespace adlx -#else -ADLX_DECLARE_IID (IADLXGPUList, L"IADLXGPUList") -ADLX_DECLARE_ITEM_IID (IADLXGPU, IID_IADLXGPU ()) - -typedef struct IADLXGPUList IADLXGPUList; - -typedef struct IADLXGPUListVtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUList* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUList* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUList* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXList - adlx_uint (ADLX_STD_CALL *Size)(IADLXGPUList* pThis); - adlx_uint8 (ADLX_STD_CALL *Empty)(IADLXGPUList* pThis); - adlx_uint (ADLX_STD_CALL *Begin)(IADLXGPUList* pThis); - adlx_uint (ADLX_STD_CALL *End)(IADLXGPUList* pThis); - ADLX_RESULT (ADLX_STD_CALL *At)(IADLXGPUList* pThis, const adlx_uint location, IADLXInterface** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXGPUList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXGPUList* pThis); - ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXGPUList* pThis, IADLXInterface* pItem); - - //IADLXGPUList - ADLX_RESULT (ADLX_STD_CALL *At_GPUList)(IADLXGPUList* pThis, const adlx_uint location, IADLXGPU** ppItem); - ADLX_RESULT (ADLX_STD_CALL *Add_Back_GPUList)(IADLXGPUList* pThis, IADLXGPU* pItem); - -} IADLXGPUListVtbl; - -struct IADLXGPUList -{ - const IADLXGPUListVtbl *pVtbl; -}; - -#endif -#pragma endregion IADLXGPUList interface - -#pragma region IADLXGPUsChangedHandling interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPUsEventListener - { - public: - /** - *@page DOX_IADLXGPUsEventListener_OnGPUListChanged OnGPUListChanged - *@ENG_START_DOX @brief The __OnGPUListChanged__ is called by ADLX when the GPU list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * adlx_bool OnGPUListChanged (@ref DOX_IADLXGPUList* pNewGPUs) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,pNewGPUs,@ref DOX_IADLXGPUList* ,@ENG_START_DOX The pointer to the new GPU list. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.
- * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXGPUsChangedHandling_AddGPUsListEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXGPUsChangedHandling_RemoveGPUsListEventListener.
- * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new GPU list with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new GPU list with @ref DOX_IADLXInterface_Release. @ENG_END_DOX - * - * - *@copydoc IADLXGPUsEventListener_REQ_TABLE - * - */ - virtual adlx_bool ADLX_STD_CALL OnGPUListChanged (IADLXGPUList* pNewGPUs) = 0; - }; - - class ADLX_NO_VTABLE IADLXGPUsChangedHandling : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXGPUsChangedHandling") - /** - *@page DOX_IADLXGPUsChangedHandling_AddGPUsListEventListener AddGPUsListEventListener - *@ENG_START_DOX @brief Registers an event listener for notifications when the GPU list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT AddGPUsListEventListener (@ref DOX_IADLXGPUsEventListener* pListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pListener,@ref DOX_IADLXGPUsEventListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving the GPU list change notifications. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.
- * If the event listener is not successfully registered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLXGPUsEventListener_OnGPUListChanged of the listener when the GPU list changes.
- * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXGPUsChangedHandling_RemoveGPUsListEventListener.
@ENG_END_DOX - * - * - *@copydoc IADLXGPUsChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AddGPUsListEventListener(IADLXGPUsEventListener* pListener) = 0; - /** - *@page DOX_IADLXGPUsChangedHandling_RemoveGPUsListEventListener RemoveGPUsListEventListener - *@ENG_START_DOX @brief Unregisters an event listener from notifications when the GPU list changes. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT RemoveGPUsListEventListener (@ref DOX_IADLXGPUsEventListener* pListener) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pListener,@ref DOX_IADLXGPUsEventListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving the GPU list change notifications. @ENG_END_DOX} - * - * - *@retvalues - *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.
- * If the event listener is not successfully unregistered, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXGPUsEventListener_OnGPUListChanged method of the listener when the GPU list changes. The application can discard the event listener instance. @ENG_END_DOX - * - * - *@copydoc IADLXGPUsChangedHandling_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL RemoveGPUsListEventListener(IADLXGPUsEventListener* pListener) = 0; - }; - - //------------------------------------------------------------------------------------ - typedef IADLXInterfacePtr_T IADLXGPUsChangedHandlingPtr; -} -#else -ADLX_DECLARE_IID (IADLXGPUsChangedHandling, L"IADLXGPUsChangedHandling") -typedef struct IADLXGPUsEventListener IADLXGPUsEventListener; - -typedef struct IADLXGPUsEventListenerVtbl -{ - // IADLXGPUsEventListener interface - adlx_bool (ADLX_STD_CALL *OnGPUListChanged)(IADLXGPUsEventListener* pThis, IADLXGPUList* pNewGPUs); -} IADLXGPUsEventListenerVtbl; - -struct IADLXGPUsEventListener -{ - const IADLXGPUsEventListenerVtbl *pVtbl; -}; - -typedef struct IADLXGPUsChangedHandling IADLXGPUsChangedHandling; - -typedef struct IADLXGPUsChangedHandlingVtbl -{ - // IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUsChangedHandling* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXGPUsChangedHandling* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUsChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface); - - // IADLXGPUsChangedHandling - ADLX_RESULT (ADLX_STD_CALL *AddGPUsListEventListener)(IADLXGPUsChangedHandling* pThis, IADLXGPUsEventListener* pListener); - ADLX_RESULT (ADLX_STD_CALL *RemoveGPUsListEventListener)(IADLXGPUsChangedHandling* pThis, IADLXGPUsEventListener* pListener); - -} IADLXGPUsChangedHandlingVtbl; - -struct IADLXGPUsChangedHandling -{ - const IADLXGPUsChangedHandlingVtbl *pVtbl; -}; - -#endif -#pragma endregion IADLXGPUsChangedHandling interface - -//IADLXSystem is a singleton interface, should not be deleted -#pragma region IADLXSystem interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXDesktopServices; - class ADLX_NO_VTABLE IADLXDisplayServices; - class ADLX_NO_VTABLE IADLXLog; - class ADLX_NO_VTABLE IADLX3DSettingsServices; - class ADLX_NO_VTABLE IADLXGPUTuningServices; - class ADLX_NO_VTABLE IADLXPerformanceMonitoringServices; - class ADLX_NO_VTABLE IADLXI2C; - - class ADLX_NO_VTABLE IADLXSystem - { - public: - /** - * @page DOX_IADLXSystem_HybridGraphicsType HybridGraphicsType - * @ENG_START_DOX - * @brief Gets the hybrid graphics type of the system. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT HybridGraphicsType (@ref ADLX_HG_TYPE* hgType) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,hgType,@ref ADLX_HG_TYPE* ,@ENG_START_DOX The pointer to a variable where the hybrid graphics type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the hybrid graphics type is successfully returned, __ADLX_OK__ is returned.
- * If the hybrid graphics type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The hybrid graphics type can be used to discover if the system is a hybrid graphics platform. - * Hybrid graphics platforms share cross-adapter resources between a discrete GPU and an integrated GPU. Applications can run on either GPU depending on their needs. The operating system and the AMD display driver together determine which GPU an application should run on. - * - * On an AMD hybrid graphics platform, the integrated GPU can be an AMD integrated GPU or a non-AMD integrated GPU. - * - * @ENG_END_DOX - * - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL HybridGraphicsType (ADLX_HG_TYPE* hgType) = 0; - /** - * @page DOX_IADLXSystem_GetGPUs GetGPUs - * @ENG_START_DOX - * @brief Gets the reference counted list of AMD GPUs. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT GetGPUs (@ref DOX_IADLXGPUList** ppGPUs) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppGPUs,@ref DOX_IADLXGPUList** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUs__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details For more information about the AMD GPUs, refer to @ref @adlx_gpu_support "ADLX GPU Support".
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUs (IADLXGPUList** ppGPUs) = 0; - /** - * @page DOX_IADLXSystem_QueryInterface QueryInterface - * @ENG_START_DOX - * @brief Gets reference counted extension interfaces to @ref DOX_IADLXSystem. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT QueryInterface (const wchar_t* interfaceId, void** ppInterface) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,interfaceId,const wchar_t*,@ENG_START_DOX The identifier of the interface being requested. @ENG_END_DOX} - * @paramrow{2.,[out],ppInterface,void**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppInterface__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL QueryInterface (const wchar_t* interfaceId, void** ppInterface) = 0; - /** - * @page DOX_IADLXSystem_GetDisplaysServices GetDisplaysServices - * @ENG_START_DOX - * @brief Gets the reference counted main interface to the @ref DOX_IADLXDisplayServices "Display" domain. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDisplaysServices (@ref DOX_IADLXDisplayServices** ppDispServices) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppDispServices,@ref DOX_IADLXDisplayServices**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDispServices__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDisplaysServices(IADLXDisplayServices** ppDispServices) = 0; - /** - * @page DOX_IADLXSystem_GetDesktopsServices GetDesktopsServices - * @ENG_START_DOX - * @brief Gets the reference counted main interface to the @ref DOX_IADLXDesktopServices "Desktop" domain. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetDesktopsServices (@ref DOX_IADLXDesktopServices** ppDeskServices) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppDeskServices,@ref DOX_IADLXDesktopServices**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppDeskServices__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetDesktopsServices(IADLXDesktopServices** ppDeskServices) = 0; - - /** - * @page DOX_IADLXSystem_GetGPUsChangedHandling GetGPUsChangedHandling - * @ENG_START_DOX - * @brief Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetGPUsChangedHandling (@ref DOX_IADLXGPUsChangedHandling** ppGPUsChangedHandling) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppGPUsChangedHandling,@ref DOX_IADLXGPUsChangedHandling**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUsChangedHandling__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUsChangedHandling (IADLXGPUsChangedHandling** ppGPUsChangedHandling) = 0; - /** - * @page DOX_IADLXSystem_EnableLog EnableLog - * @ENG_START_DOX - * @brief Enables logging in ADLX. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT EnableLog (@ref ADLX_LOG_DESTINATION mode, @ref ADLX_LOG_SEVERITY severity, @ref DOX_IADLXLog* pLogger, const wchar_t* fileName) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,mode,@ref ADLX_LOG_DESTINATION,@ENG_START_DOX The log destination. @ENG_END_DOX} - * @paramrow{2.,[in] ,severity,@ref ADLX_LOG_SEVERITY,@ENG_START_DOX The logging severity. @ENG_END_DOX} - * @paramrow{3.,[in] ,pLogger,@ref DOX_IADLXLog*,@ENG_START_DOX The pointer to the log interface to receive log messages from ADLX. @ENG_END_DOX} - * @paramrow{4.,[in] ,fileName,const wchar_t*,@ENG_START_DOX The zero-terminated string that specifies the path of the log file. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If __EnableLog__ is successfully executed, __ADLX_OK__ is returned.
- * If __EnableLog__ is not successfully executed, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details By default, ADLX logging is disabled. - * Use __EnableLog__ to configure log destination and severity. - * - * - To configure the log destination into a file, specify the __mode__ parameter as __LOCALFILE__ and provide the file path in the __filename__ parameter. The __pLogger__ parameter must be __nullptr__.
- * - To configure the log destination into the output window of the debugger, specify the __mode__ parameter as __DBGVIEW__. The __filename__ and __pLogger__ parameters must be __nullptr__.
- * - To configure the log destination to be sent as a string into the application, specify the __mode__ parameter as __APPLICATION__. Implement the @ref DOX_IADLXLog interface in the application and pass a pointer to an instance of that interface into the __pLogger__ parameter. The log instance must exist until ADLX is terminated. The __filename__ parameter must be __nullptr__.
- * - To obtain the error messages in the ADLX execution code, specify the __severity__ parameter as __LERROR__.
- * - To obtain the error and warning messages in the ADLX execution code, specify the __severity__ parameter as __LWARNING__.
- * - To obtain error, warning, and debug tracing messages in the ADLX execution code, specify the __severity__ parameter as __LDEBUG__. - * @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL EnableLog (ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName) = 0; - - /** - * @page DOX_IADLXSystem_Get3DSettingsServices Get3DSettingsServices - * @ENG_START_DOX - * @brief Gets the reference counted main interface to the @ref DOX_IADLX3DSettingsServices "3D Graphics" domain. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT Get3DSettingsServices (@ref DOX_IADLX3DSettingsServices** pp3DSettingsServices) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,pp3DSettingsServices,@ref DOX_IADLX3DSettingsServices**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*pp3DSettingsServices__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL Get3DSettingsServices (IADLX3DSettingsServices** pp3DSettingsServices) = 0; - - /** - * @page DOX_IADLXSystem_GetGPUTuningServices GetGPUTuningServices - * @ENG_START_DOX - * @brief Gets the reference counted main interface to the @ref DOX_IADLXGPUTuningServices "GPU Tuning" domain. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetGPUTuningServices (@ref DOX_IADLXGPUTuningServices** ppGPUTuningServices) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppGPUTuningServices,@ref DOX_IADLXGPUTuningServices**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPUTuningServices__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - *@addinfo - *@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetGPUTuningServices (IADLXGPUTuningServices** ppGPUTuningServices) = 0; - - /** - *@page DOX_IADLXSystem_GetPerformanceMonitoringServices GetPerformanceMonitoringServices - *@ENG_START_DOX @brief Gets the reference counted main interface to the @ref DOX_IADLXPerformanceMonitoringServices "Performance Monitoring" domain. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetPerformanceMonitoringServices (@ref DOX_IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ppPerformanceMonitoringServices,@ref DOX_IADLXPerformanceMonitoringServices** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppPerformanceMonitoringServices__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. - * @ENG_END_DOX - * - *@copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPerformanceMonitoringServices (IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices) = 0; - - /** - *@page DOX_IADLXSystem_TotalSystemRAM TotalSystemRAM - *@ENG_START_DOX @brief Gets the size of the total RAM on this system. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT TotalSystemRAM (adlx_uint* ramMB) - *@codeEnd - * - *@params - *@paramrow{1.,[out] ,ramMB,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the total system RAM size is returned\, in MB. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL TotalSystemRAM (adlx_uint* ramMB) = 0; - - /** - *@page DOX_IADLXSystem_GetI2C GetI2C - *@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXI2C "I2C" interface of a GPU. @ENG_END_DOX - * - *@syntax - *@codeStart - * @ref ADLX_RESULT GetI2C (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXI2C** ppI2C) - *@codeEnd - * - *@params - *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - *@paramrow{2.,[out] ,ppI2C,@ref DOX_IADLXI2C** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppI2C__ to __nullptr__. @ENG_END_DOX} - * - *@retvalues - *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX - * - *@detaileddesc - *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - *@copydoc IADLXSystem_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetI2C (IADLXGPU* pGPU, IADLXI2C** ppI2C) = 0; - - }; //IADLXSystem -} //namespace adlx -#else - -typedef struct IADLXDesktopServices IADLXDesktopServices; -typedef struct IADLXDisplayServices IADLXDisplayServices; -typedef struct IADLXLog IADLXLog; -typedef struct IADLX3DSettingsServices IADLX3DSettingsServices; -typedef struct IADLXSystem IADLXSystem; -typedef struct IADLXGPUTuningServices IADLXGPUTuningServices; -typedef struct IADLXPerformanceMonitoringServices IADLXPerformanceMonitoringServices; -typedef struct IADLXI2C IADLXI2C; - -typedef struct IADLXSystemVtbl -{ - // IADLXSystem interface - ADLX_RESULT (ADLX_STD_CALL *GetHybridGraphicsType)(IADLXSystem* pThis, ADLX_HG_TYPE* hgType); - ADLX_RESULT (ADLX_STD_CALL *GetGPUs)(IADLXSystem* pThis, IADLXGPUList** ppGPUs); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystem* pThis, const wchar_t* interfaceId, void** ppInterface); - ADLX_RESULT (ADLX_STD_CALL *GetDisplaysServices)(IADLXSystem* pThis, IADLXDisplayServices** ppDispServices); - ADLX_RESULT (ADLX_STD_CALL *GetDesktopsServices)(IADLXSystem* pThis, IADLXDesktopServices** ppDeskServices); - ADLX_RESULT (ADLX_STD_CALL *GetGPUsChangedHandling)(IADLXSystem* pThis, IADLXGPUsChangedHandling** ppGPUsChangedHandling); - ADLX_RESULT (ADLX_STD_CALL *EnableLog)(IADLXSystem* pThis, ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName); - ADLX_RESULT (ADLX_STD_CALL *Get3DSettingsServices)(IADLXSystem* pThis, IADLX3DSettingsServices** pp3DSettingsServices); - ADLX_RESULT (ADLX_STD_CALL *GetGPUTuningServices)(IADLXSystem* pThis, IADLXGPUTuningServices** ppGPUTuningServices); - ADLX_RESULT (ADLX_STD_CALL *GetPerformanceMonitoringServices)(IADLXSystem* pThis, IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices); - ADLX_RESULT (ADLX_STD_CALL *TotalSystemRAM)(IADLXSystem* pThis, adlx_uint* ramMB); - ADLX_RESULT (ADLX_STD_CALL *GetI2C)(IADLXSystem* pThis, IADLXGPU* pGPU, IADLXI2C** ppI2C); -} IADLXSystemVtbl; - -struct IADLXSystem -{ - const IADLXSystemVtbl *pVtbl; -}; -#endif -#pragma endregion IADLXSystem interface - -//IADLMapping is a singleton interface, should not be deleted -#pragma region IADLMapping interface -#if defined (__cplusplus) -namespace adlx -{ - //Interface used to interface between ADL and ADLX. This is useful in applications that use both ADL and ADLX, - //where ADLX was initialized with the instance of ADL that is initialized by the application. - //In such case the application might need to use both ADL and ADLX on the same GPU or display. - //This interface provides conversion both ways between ADL and ADLX GPU and display identity - class ADLX_NO_VTABLE IADLXDisplay; - class ADLX_NO_VTABLE IADLXDesktop; - - class ADLX_NO_VTABLE IADLMapping - { - public: - /** - * @page DOX_IADLMapping_GetADLXGPUFromBdf GetADLXGPUFromBdf - * @ENG_START_DOX - * @brief Gets the reference counted @ref DOX_IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT GetADLXGPUFromBdf (adlx_int bus, adlx_int device, adlx_int function, @ref DOX_IADLXGPU** ppGPU) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,bus,adlx_int,@ENG_START_DOX The unique PCIE bus number of the requested GPU. @ENG_END_DOX} - * @paramrow{2.,[in] ,device,adlx_int,@ENG_START_DOX The device number of the requested GPU. @ENG_END_DOX} - * @paramrow{3.,[in] ,function,adlx_int,@ENG_START_DOX The function number of the requested GPU. @ENG_END_DOX} - * @paramrow{4.,[out],ppGPU,@ref DOX_IADLXGPU**,@ENG_START_DOX The address of the pointer to the returned interface. If the GPU was not found\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXGPU is successfully returned, __ADLX_OK__ is returned.
- * If the @ref DOX_IADLXGPU is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __GetADLXGPUFromBdf__ is used when an ADLX method must be called for a GPU obtained from ADL where an __AdapterInfo__ structure is available.
- * The PCI bus number, device number, and function number parameters correspond to ADL __AdapterInfo.iBusNumber__, __AdapterInfo.iDeviceNumber__, and __AdapterInfo.iFunctionNumber__ for that GPU.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetADLXGPUFromBdf (adlx_int bus, adlx_int device, adlx_int function, IADLXGPU** ppGPU) = 0; - /** - * @page DOX_IADLMapping_GetADLXGPUFromAdlAdapterIndex GetADLXGPUFromAdlAdapterIndex - * @ENG_START_DOX - * @brief Gets the reference counted @ref DOX_IADLXGPU interface corresponding to the GPU with the specified ADL adapter index. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT GetADLXGPUFromAdlAdapterIndex (adlx_int adlAdapterIndex, @ref DOX_IADLXGPU** ppGPU) - * @codeEnd - * - * @params - * @paramrow{1.,[in],adlAdapterIndex,adlx_int,@ENG_START_DOX The ADL adapter index for the requested GPU. @ENG_END_DOX} - * @paramrow{2.,[out],ppGPU,@ref DOX_IADLXGPU**,@ENG_START_DOX The address of the pointer to the returned interface. If the GPU was not found\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXGPU is successfully returned, __ADLX_OK__ is returned.
- * If the @ref DOX_IADLXGPU is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __GetADLXGPUFromAdlAdapterIndex__ is used when an ADLX method must be called for a GPU obtained from ADL for which an ADL adapter index is available.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetADLXGPUFromAdlAdapterIndex (adlx_int adlAdapterIndex, IADLXGPU** ppGPU) = 0; - /** - * @page DOX_IADLMapping_BdfFromADLXGPU BdfFromADLXGPU - * @ENG_START_DOX - * @brief Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified @ref DOX_IADLXGPU interface. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT BdfFromADLXGPU (@ref DOX_IADLXGPU* ppGPU, adlx_int* bus, adlx_int* device, adlx_int* function) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,bus,adlx_int* ,@ENG_START_DOX The pointer to a variable where the unique PCIE bus number of the requested GPU is returned. @ENG_END_DOX} - * @paramrow{3.,[out] ,device,adlx_int* ,@ENG_START_DOX The pointer to a variable where the device number of the requested GPU is returned. @ENG_END_DOX} - * @paramrow{4.,[out] ,function,adlx_int* ,@ENG_START_DOX The pointer to a variable where function number of the requested GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If bus, device, function are returned correctly, __ADLX_OK__ is returned.
- * If bus, device, function are not returned correctly, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __BdfFromADLXGPU__ is used when an ADL function must be called for a GPU obtained from ADLX, and the GPU's PCI bus, device, and function are required for that ADL function. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL BdfFromADLXGPU (IADLXGPU* pGPU, adlx_int* bus, adlx_int* device, adlx_int* function) = 0; - /** - * @page DOX_IADLMapping_AdlAdapterIndexFromADLXGPU AdlAdapterIndexFromADLXGPU - * @ENG_START_DOX - * @brief Gets the ADL Adapter index corresponding to the GPU with the specified @ref DOX_IADLXGPU interface. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT AdlAdapterIndexFromADLXGPU (@ref DOX_IADLXGPU* ppGPU, adlx_int* adlAdapterIndex) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,adlAdapterIndex,adlx_int* ,@ENG_START_DOX The pointer to a variable where ADL adapter index of the requested GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the ADL adapter index is successfully returned, __ADLX_OK__ is returned.
- * If the ADL Adapter index is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __AdlAdapterIndexFromADLXGPU__ is used when an ADL function must be called for a GPU obtained from ADLX, and the ADL adapter index is required for that ADL function. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL AdlAdapterIndexFromADLXGPU (IADLXGPU* pGPU, adlx_int* adlAdapterIndex) = 0; - /** - * @page DOX_IADLMapping_GetADLXDisplayFromADLIds GetADLXDisplayFromADLIds - * @ENG_START_DOX - * @brief Gets the reference counted @ref DOX_IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT GetADLXDisplayFromADLIds (adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, @ref DOX_IADLXDisplay** ppDisplay) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,adapterIndex,adlx_int ,@ENG_START_DOX The ADL adapter index of the GPU where the requested display is connected. @ENG_END_DOX} - * @paramrow{2.,[in] ,displayIndex,adlx_int ,@ENG_START_DOX The ADL logical display index of the requested display. @ENG_END_DOX} - * @paramrow{3.,[in] ,bus,adlx_int ,@ENG_START_DOX The unique PCIE bus number of the GPU where the requested display is connected. @ENG_END_DOX} - * @paramrow{4.,[in] ,device,adlx_int ,@ENG_START_DOX The device number of the GPU where the requested display is connected. @ENG_END_DOX} - * @paramrow{5.,[in] ,function,adlx_int ,@ENG_START_DOX The device number of the GPU where the requested display is connected. @ENG_END_DOX} - * @paramrow{6.,[out] ,ppDisplay,@ref DOX_IADLXDisplay**,@ENG_START_DOX The address of the pointer to the returned interface. If the display was not found\, the method sets the dereferenced address __*ppDisplay__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXDisplay interface is successfully returned, __ADLX_OK__ is returned.
- * If the @ref DOX_IADLXDisplay interface is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __GetADLXDisplayFromADLIds__ is used when an ADLX method must be called for a display obtained from ADL. The ADL adapter index corresponds to the GPU to which the display is connected.
- * The display index corresponds to the __ADLDisplayID.iDisplayLogicalIndex__ field for the display.
- * The PCI bus number, device number, and function number parameters correspond to ADL __AdapterInfo.iBusNumber__, __AdapterInfo.iDeviceNumber__, and __AdapterInfo.iFunctionNumber__ for the GPU where that display is connected.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetADLXDisplayFromADLIds (adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, IADLXDisplay** ppDisplay) = 0; - /** - * @page DOX_IADLMapping_ADLIdsFromADLXDisplay ADLIdsFromADLXDisplay - * @ENG_START_DOX - * @brief Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified @ref DOX_IADLXDisplay interface. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT ADLIdsFromADLXDisplay (@ref DOX_IADLXDisplay* pDisplay, adlx_int* adapterIndex, adlx_int* displayIndex, adlx_int* bus, adlx_int* device, adlx_int* function) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pDisplay, @ref DOX_IADLXDisplay* ,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,adapterIndex, adlx_int* ,@ENG_START_DOX The pointer to a variable where the ADL adapter index of the GPU that drives the requested display is returned. @ENG_END_DOX} - * @paramrow{3.,[out] ,displayIndex, adlx_int* ,@ENG_START_DOX The pointer to a variable where the ADL logical display index of the GPU that drives the requested display is returned. @ENG_END_DOX} - * @paramrow{4.,[out] ,bus,adlx_int*,@ENG_START_DOX The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested display is returned. @ENG_END_DOX} - * @paramrow{5.,[out] ,device,adlx_int*,@ENG_START_DOX The pointer to a variable where the device number of the GPU that drives the requested display is returned. @ENG_END_DOX} - * @paramrow{6.,[out] ,function,adlx_int*,@ENG_START_DOX The pointer to a variable where the function number of the GPU that drives the requested display is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXDisplay interface is successfully returned, __ADLX_OK__ is returned.
- * If the @ref DOX_IADLXDisplay interface is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __ADLIdsFromADLXDisplay__ is used when an ADL function must be called for a display obtained from ADLX, or for the GPU where the display is connected. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ADLIdsFromADLXDisplay (IADLXDisplay* pDisplay, adlx_int* adapterIndex, adlx_int* displayIndex, adlx_int* bus, adlx_int* device, adlx_int* function) = 0; - /** - * @page DOX_IADLMapping_GetADLXDesktopFromADLIds GetADLXDesktopFromADLIds - * @ENG_START_DOX - * @brief Gets the reference counted @ref DOX_IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT GetADLXDesktopFromADLIds (adlx_int adapterIndex, adlx_int VidPnSource, adlx_int bus, adlx_int device, adlx_int function, @ref DOX_IADLXDesktop** ppDesktop) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,adapterIndex,adlx_int ,@ENG_START_DOX The ADL adapter index of the GPU where the requested desktop is instantiated. @ENG_END_DOX} - * @paramrow{2.,[in] ,VidPnSourceID,adlx_int ,@ENG_START_DOX The zero-based identification number of the video present source in a path of a video present network (VidPN) topology of the requested desktop. @ENG_END_DOX} - * @paramrow{3.,[in] ,bus,adlx_int ,@ENG_START_DOX The unique PCIE bus number of the GPU where the requested desktop is instantiated. @ENG_END_DOX} - * @paramrow{4.,[in] ,device,adlx_int ,@ENG_START_DOX The device number of the GPU where the requested desktop is instantiated. @ENG_END_DOX} - * @paramrow{5.,[in] ,function,adlx_int ,@ENG_START_DOX The function number of the GPU where the requested desktop is instantiated. @ENG_END_DOX} - * @paramrow{6.,[out] ,ppDesktop,@ref DOX_IADLXDesktop**,@ENG_START_DOX The address of the pointer to the returned interface. If the desktop was not found\, the method sets the dereferenced address __*ppDesktop__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXDesktop interface is successfully returned, __ADLX_OK__ is returned.
- * If the arguments are incorrect __ADLX_INVALID_ARGS__ s returned.
- * If @ref DOX_IADLXDesktop interface is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes. - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __GetADLXDesktopFromADLIds__ is used when and ADLX method must be called from a desktop obtained from ADL. The adapter index corresponds to the GPU where the desktop is instantiated.
- * The PCI bus number, device number, and function number parameters correspond to ADL __AdapterInfo.iBusNumber__, __AdapterInfo.iDeviceNumber__, and __AdapterInfo.iFunctionNumber__ of the GPU where that desktop is instantiated.
- * The VidPnSource ID is obtained from __D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME.VidPnSourceId__ field for this desktop.
- * The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * In C++ when using a smart pointer for the returned interface there is no need to call @ref DOX_IADLXInterface_Release because the smart pointer calls it internally. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetADLXDesktopFromADLIds (adlx_int adapterIndex, adlx_int VidPnSourceId, adlx_int bus, adlx_int device, adlx_int function, IADLXDesktop** ppDesktop) = 0; - /** - * @page DOX_IADLMapping_ADLIdsFromADLXDesktop ADLIdsFromADLXDesktop - * @ENG_START_DOX - * @brief Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified @ref DOX_IADLXDesktop interface. - * @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT ADLIdsFromADLXDesktop (@ref DOX_IADLXDesktop* pDesktop, adlx_int* adapterIndex, adlx_int* VidPnSourceId, adlx_int* bus, adlx_int* device, adlx_int* function) - * @codeEnd - * - * @params - * @paramrow{1.,[in] ,pDesktop, @ref DOX_IADLXDesktop* ,@ENG_START_DOX The pointer to the desktop interface. @ENG_END_DOX} - * @paramrow{2.,[out] ,adapterIndex, adlx_int* ,@ENG_START_DOX The pointer to a variable where the ADL adapter index of the GPU that drives the requested desktop is returned. @ENG_END_DOX} - * @paramrow{3.,[out] ,VidPnSourceId, adlx_int* ,@ENG_START_DOX The pointer to a variable where the zero-based identification number of the video present network (VidPN) topology of the requested desktop is returned. @ENG_END_DOX} - * @paramrow{4.,[out] ,bus,adlx_int*,@ENG_START_DOX The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested desktop is returned. @ENG_END_DOX} - * @paramrow{5.,[out] ,device,adlx_int*,@ENG_START_DOX The pointer to a variable where the device number of the GPU that drives the requested desktop is returned. @ENG_END_DOX} - * @paramrow{6.,[out] ,function,adlx_int*,@ENG_START_DOX The pointer to a variable where the function number of the GPU that drives the requested desktop is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the @ref DOX_IADLXDesktop interface is successfully returned, __ADLX_OK__ is returned.
- * If the @ref DOX_IADLXDesktop interface is not returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes - * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details __ADLIdsFromADLXDesktop__ is used when an ADL function must be called for a desktop obtained from ADLX, or for the GPU that drives the desktop. - * @ENG_END_DOX - * - * @copydoc IADLMapping_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ADLIdsFromADLXDesktop (IADLXDesktop* pDesktop, adlx_int* adapterIndex, adlx_int* VidPnSourceId, adlx_int* bus, adlx_int* device, adlx_int* function) = 0; - }; // IADLMapping -} //namespace adlx -#else -typedef struct IADLXDisplay IADLXDisplay; -typedef struct IADLXDesktop IADLXDesktop; -typedef struct IADLMapping IADLMapping; - -typedef struct IADLMappingVtbl -{ - //Gets the IADLXGPU object corresponding to a GPU with given bus, device and function number - ADLX_RESULT (ADLX_STD_CALL *GetADLXGPUFromBdf) (IADLMapping* pThis, adlx_int bus, adlx_int device, adlx_int function, IADLXGPU** ppGPU); - //Gets the IADLXGPU object corresponding to a GPU with given ADL adapter index - ADLX_RESULT (ADLX_STD_CALL *GetADLXGPUFromAdlAdapterIndex) (IADLMapping* pThis, adlx_int adlAdapterIndex, IADLXGPU** ppGPU); - //Gets the bus, device and function number corresponding to the given IADLXGPU - ADLX_RESULT (ADLX_STD_CALL *BdfFromADLXGPU) (IADLMapping* pThis, IADLXGPU* pGPU, adlx_int* bus, adlx_int* device, adlx_int* function); - //Gets the ADL Adapter index corresponding to the given IADLXGPU - ADLX_RESULT (ADLX_STD_CALL *AdlAdapterIndexFromADLXGPU) (IADLMapping* pThis, IADLXGPU* pGPU, adlx_int* adlAdapterIndex); - //Gets the display object corresponding to the give ADL ids - ADLX_RESULT (ADLX_STD_CALL *GetADLXDisplayFromADLIds) (IADLMapping* pThis, adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, IADLXDisplay** ppDisplay); - //Gets ADL ids corresponding to the display object - ADLX_RESULT (ADLX_STD_CALL *ADLIdsFromADLXDisplay) (IADLMapping* pThis, IADLXDisplay* pDisplay, adlx_int* adapterIndex, adlx_int* displayIndex, adlx_int* bus, adlx_int* device, adlx_int* function); - //Gets the desktop object corresponding to the give ADL ids - ADLX_RESULT (ADLX_STD_CALL *GetADLXDesktopFromADLIds) (IADLMapping* pThis, adlx_int adapterIndex, adlx_int VidPnSourceId, adlx_int bus, adlx_int device, adlx_int function, IADLXDesktop** ppDesktop); - //Gets ADL ids corresponding to the desktop object - ADLX_RESULT (ADLX_STD_CALL *ADLIdsFromADLXDesktop) (IADLMapping* pThis, IADLXDesktop* pDesktop, adlx_int* adapterIndex, adlx_int* VidPnSourceId, adlx_int* bus, adlx_int* device, adlx_int* function); - -} IADLMappingVtbl; - -struct IADLMapping -{ - const IADLMappingVtbl *pVtbl; -}; -#endif -#pragma endregion IADLMapping interface - -#endif //ADLX_ISYSTEM_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Include/ISystem1.h b/vendor/adlx/SDK/Include/ISystem1.h deleted file mode 100644 index 744eb57..0000000 --- a/vendor/adlx/SDK/Include/ISystem1.h +++ /dev/null @@ -1,237 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef ADLX_ISYSTEM1_H -#define ADLX_ISYSTEM1_H -#pragma once - -#include "ISystem.h" - -// Interfaces for GPU1 Info -#pragma region IADLXGPU1 interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXGPU1 : public IADLXGPU - { - public: - ADLX_DECLARE_IID(L"IADLXGPU1") - - /** - * @page DOX_IADLXGPU1_PCIBusType PCIBusType - * @ENG_START_DOX @brief Gets the PCI bus type of a GPU. @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT PCIBusType (@ref ADLX_PCI_BUS_TYPE* busType) - * @codeEnd - * - * @params - * @paramrow{1.,[out],busType,@ref ADLX_PCI_BUS_TYPE*,@ENG_START_DOX The pointer to a variable where the GPU PCI bus type is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the GPU PCI bus type is successfully returned, __ADLX_OK__ is returned.
- * If the GPU PCI bus type is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL PCIBusType(ADLX_PCI_BUS_TYPE* busType) const = 0; - - /** - * @page DOX_IADLXGPU1_PCIBusLaneWidth PCIBusLaneWidth - * @ENG_START_DOX @brief Gets the PCI bus lane width of a GPU. @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT PCIBusLaneWidth (adlx_uint* laneWidth) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,laneWidth,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the PCI bus lane width is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX If the PCI bus lane width is successfully returned, __ADLX_OK__ is returned.
- * If the PCI bus lane width is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
@ENG_END_DOX - * - * @copydoc IADLXGPU1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL PCIBusLaneWidth(adlx_uint* laneWidth) const = 0; - - /** - * @page DOX_IADLXGPU1_MultiGPUMode MultiGPUMode - * @ENG_START_DOX @brief Gets the AMD MGPU mode of a GPU. @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT MultiGPUMode (@ref ADLX_MGPU_MODE* mode) - * @codeEnd - * - * @params - * @paramrow{1.,[out],mode,ADLX_MGPU_MODE*,@ENG_START_DOX The pointer to a variable where the AMD MGPU mode is returned. The variable is __MGPU_NONE__ if the GPU is not part of an AMD MGPU configuration. The variable is __MGPU_PRIMARY__ if the GPU is the primary GPU in an AMD MGPU configuration. The variable is __MGPU_SECONDARY__ if the GPU is the secondary GPU in an AMD MGPU configuration. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If __MultiGPUMode__ is successfully returned, __ADLX_OK__ is returned.
- * If __MultiGPUMode__ is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * AMD MGPU technology harnesses the power of two or more discrete graphics cards working in parallel to dramatically improve performance in games and applications.
- * On systems with AMD MGPU enabled the video output is delivered through the primary GPU and the workload is allocated to all supported GPUs in the setup.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL MultiGPUMode(ADLX_MGPU_MODE* mode) = 0; - - /** - * @page DOX_IADLXGPU1_ProductName ProductName - * @ENG_START_DOX @brief Gets the product name of a GPU. @ENG_END_DOX - * @syntax - * @codeStart - * @ref ADLX_RESULT ProductName (const char** productName) - * @codeEnd - * - * @params - * @paramrow{1.,[out],productName,const char**,@ENG_START_DOX The pointer to a zero-terminated string where the productName string of a GPU is returned. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the productName string is successfully returned, __ADLX_OK__ is returned.
- * If the productName string is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX - * The returned memory buffer is valid within a lifetime of the @ref DOX_IADLXGPU1 interface.
- * If the application uses the productName string beyond the lifetime of the @ref DOX_IADLXGPU1 interface, the application must make a copy of the productName string.
- * @ENG_END_DOX - * - * @copydoc IADLXGPU1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL ProductName(const char** productName) const = 0; - }; //IADLXGPU1 - //---------------------------------------------------------------------------------------------- - typedef IADLXInterfacePtr_T IADLXGPU1Ptr; -} //namespace adlx -#else -ADLX_DECLARE_IID(IADLXGPU1, L"IADLXGPU1"); -typedef struct IADLXGPU1 IADLXGPU1; - -typedef struct IADLXGPU1Vtbl -{ - //IADLXInterface - adlx_long(ADLX_STD_CALL* Acquire)(IADLXGPU1* pThis); - adlx_long(ADLX_STD_CALL* Release)(IADLXGPU1* pThis); - ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXGPU1* pThis, const wchar_t* interfaceId, void** ppInterface); - //IADLXGPU - ADLX_RESULT(ADLX_STD_CALL* VendorId)(IADLXGPU1* pThis, const char** vendorId); - ADLX_RESULT(ADLX_STD_CALL* ASICFamilyType)(IADLXGPU1* pThis, ADLX_ASIC_FAMILY_TYPE* asicFamilyType); - ADLX_RESULT(ADLX_STD_CALL* Type)(IADLXGPU1* pThis, ADLX_GPU_TYPE* gpuType); - ADLX_RESULT(ADLX_STD_CALL* IsExternal)(IADLXGPU1* pThis, adlx_bool* isExternal); - ADLX_RESULT(ADLX_STD_CALL* Name)(IADLXGPU1* pThis, const char** gpuName); - ADLX_RESULT(ADLX_STD_CALL* DriverPath)(IADLXGPU1* pThis, const char** driverPath); - ADLX_RESULT(ADLX_STD_CALL* PNPString)(IADLXGPU1* pThis, const char** pnpString); - ADLX_RESULT(ADLX_STD_CALL* HasDesktops)(IADLXGPU1* pThis, adlx_bool* hasDesktops); - ADLX_RESULT(ADLX_STD_CALL* TotalVRAM)(IADLXGPU1* pThis, adlx_uint* vramMB); - ADLX_RESULT(ADLX_STD_CALL* VRAMType)(IADLXGPU1* pThis, const char** type); - ADLX_RESULT(ADLX_STD_CALL* BIOSInfo)(IADLXGPU1* pThis, const char** partNumber, const char** version, const char** date); - ADLX_RESULT(ADLX_STD_CALL* DeviceId)(IADLXGPU1* pThis, const char** deviceId); - ADLX_RESULT(ADLX_STD_CALL* RevisionId)(IADLXGPU1* pThis, const char** revisionId); - ADLX_RESULT(ADLX_STD_CALL* SubSystemId)(IADLXGPU1* pThis, const char** subSystemId); - ADLX_RESULT(ADLX_STD_CALL* SubSystemVendorId)(IADLXGPU1* pThis, const char** subSystemVendorId); - ADLX_RESULT(ADLX_STD_CALL* UniqueId)(IADLXGPU1* pThis, adlx_int* uniqueId); - //IADLXGPU1 - ADLX_RESULT(ADLX_STD_CALL* PCIBusType)(IADLXGPU1* pThis, ADLX_PCI_BUS_TYPE* busType); - ADLX_RESULT(ADLX_STD_CALL* PCIBusLaneWidth)(IADLXGPU1* pThis, adlx_uint* laneWidth); - ADLX_RESULT(ADLX_STD_CALL* MultiGPUMode)(IADLXGPU1* pThis, ADLX_MGPU_MODE* mode); - ADLX_RESULT(ADLX_STD_CALL* ProductName)(IADLXGPU1* pThis, const char** productName); -} IADLXGPU1Vtbl; - -struct IADLXGPU1 -{ - const IADLXGPU1Vtbl* pVtbl; -}; -#endif -#pragma endregion IADLXGPU1 interface - - -#pragma region IADLXSystem1 interface -#if defined (__cplusplus) -namespace adlx -{ - class ADLX_NO_VTABLE IADLXPowerTuningServices; - - class ADLX_NO_VTABLE IADLXSystem1 : public IADLXInterface - { - public: - ADLX_DECLARE_IID (L"IADLXSystem1") - - /** - * @page DOX_IADLXSystem1_GetPowerTuningServices GetPowerTuningServices - * @ENG_START_DOX - * @brief Gets the reference counted main interface to the @ref DOX_IADLXPowerTuningServices "Power Tuning" domain. - * @ENG_END_DOX - * - * @syntax - * @codeStart - * @ref ADLX_RESULT GetPowerTuningServices (@ref DOX_IADLXPowerTuningServices** ppPowerTuningServices) - * @codeEnd - * - * @params - * @paramrow{1.,[out] ,ppPowerTuningServices,@ref DOX_IADLXPowerTuningServices**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppPowerTuningServices__ to __nullptr__. @ENG_END_DOX} - * - * @retvalues - * @ENG_START_DOX - * If the interface is successfully returned, __ADLX_OK__ is returned.
- * If the interface is not successfully returned, an error code is returned.
- * Refer to @ref ADLX_RESULT for success codes and error codes.
- * @ENG_END_DOX - * - * @detaileddesc - * @ENG_START_DOX - * @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. - * @ENG_END_DOX - * - * @addinfo - * @ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX - * - * @copydoc IADLXSystem1_REQ_TABLE - * - */ - virtual ADLX_RESULT ADLX_STD_CALL GetPowerTuningServices(IADLXPowerTuningServices** ppPowerTuningServices) = 0; - }; //IADLXSystem1 - typedef IADLXInterfacePtr_T IADLXSystem1Ptr; -} //namespace adlx -#else -ADLX_DECLARE_IID (IADLXSystem1, L"IADLXSystem1") - -typedef struct IADLXPowerTuningServices IADLXPowerTuningServices; -typedef struct IADLXSystem1 IADLXSystem1; -typedef struct IADLXSystem1Vtbl -{ - //IADLXInterface - adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystem1* pThis); - adlx_long (ADLX_STD_CALL *Release)(IADLXSystem1* pThis); - ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystem1* pThis, const wchar_t* interfaceId, void** ppInterface); - - //IADLXSystem1 - ADLX_RESULT (ADLX_STD_CALL *GetPowerTuningServices)(IADLXSystem1* pThis, IADLXPowerTuningServices** ppPowerTuningServices); -} IADLXSystem1Vtbl; - -struct IADLXSystem1 { const IADLXSystem1Vtbl*pVtbl; }; -#endif -#pragma endregion IADLXSystem1 interface - -#endif //ADLX_ISYSTEM1_H \ No newline at end of file diff --git a/vendor/adlx/SDK/Platform/Windows/WinAPIs.c b/vendor/adlx/SDK/Platform/Windows/WinAPIs.c deleted file mode 100644 index 7bbe1c5..0000000 --- a/vendor/adlx/SDK/Platform/Windows/WinAPIs.c +++ /dev/null @@ -1,64 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- -//This abstracts Win32 APIs in ADLX ones so we insulate from platform -#include "../../Include/ADLXDefines.h" - -#if defined(_WIN32) // Microsoft compiler - #include -#else -#error define your copiler -#endif -static volatile uint64_t v = 0; - -//---------------------------------------------------------------------------------------- -// threading -//---------------------------------------------------------------------------------------- -adlx_long ADLX_CDECL_CALL adlx_atomic_inc (adlx_long* X) -{ -#if defined(_WIN32) // Microsoft compiler - return InterlockedIncrement((long*)X); -#endif -} - -//---------------------------------------------------------------------------------------- -adlx_long ADLX_CDECL_CALL adlx_atomic_dec (adlx_long* X) -{ -#if defined(_WIN32) // Microsoft compiler - return InterlockedDecrement((long*)X); -#endif - -} - -//---------------------------------------------------------------------------------------- -adlx_handle ADLX_CDECL_CALL adlx_load_library (const TCHAR* filename) -{ -#if defined(METRO_APP) - return LoadPackagedLibrary (filename, 0); -#elif defined(_WIN32) // Microsoft compiler - return LoadLibraryEx(filename, NULL, LOAD_LIBRARY_SEARCH_USER_DIRS | - LOAD_LIBRARY_SEARCH_APPLICATION_DIR | - LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | - LOAD_LIBRARY_SEARCH_SYSTEM32); -#endif -} - -//---------------------------------------------------------------------------------------- -int ADLX_CDECL_CALL adlx_free_library (adlx_handle module) -{ -#if defined(_WIN32) // Microsoft compiler - return FreeLibrary((HMODULE)module) == TRUE; -#endif -} - -//---------------------------------------------------------------------------------------- -void* ADLX_CDECL_CALL adlx_get_proc_address (adlx_handle module, const char* procName) -{ -#if defined(_WIN32) // Microsoft compiler - return (void*)GetProcAddress((HMODULE)module, procName); -#endif -} - - -//#endif //_WIN32 \ No newline at end of file diff --git a/vendor/adlx/SDK/Platform/Windows/WinAPIs.cpp b/vendor/adlx/SDK/Platform/Windows/WinAPIs.cpp deleted file mode 100644 index cbbd290..0000000 --- a/vendor/adlx/SDK/Platform/Windows/WinAPIs.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- -//This abstracts Win32 APIs in ADLX ones so we insulate from platform -#include "../../Include/ADLXDefines.h" -#include - -#if defined(_WIN32) // Microsoft compiler -#include -#else -#error define your copiler -#endif -static volatile uint64_t v = 0; - -//---------------------------------------------------------------------------------------- -// threading -//---------------------------------------------------------------------------------------- -adlx_long ADLX_CDECL_CALL adlx_atomic_inc (adlx_long* X) -{ -#if defined(_WIN32) // Microsoft compiler - return InterlockedIncrement ((long*)X); -#endif -} - -//---------------------------------------------------------------------------------------- -adlx_long ADLX_CDECL_CALL adlx_atomic_dec (adlx_long* X) -{ -#if defined(_WIN32) // Microsoft compiler - return InterlockedDecrement ((long*)X); -#endif -} - -//---------------------------------------------------------------------------------------- -adlx_handle ADLX_CDECL_CALL adlx_load_library (const TCHAR* filename) -{ -#if defined(METRO_APP) - return LoadPackagedLibrary (filename, 0); -#elif defined(_WIN32) // Microsoft compiler - return ::LoadLibraryEx (filename, nullptr, LOAD_LIBRARY_SEARCH_USER_DIRS | - LOAD_LIBRARY_SEARCH_APPLICATION_DIR | - LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | - LOAD_LIBRARY_SEARCH_SYSTEM32); -#endif -} - -//---------------------------------------------------------------------------------------- -int ADLX_CDECL_CALL adlx_free_library (adlx_handle module) -{ -#if defined(_WIN32) // Microsoft compiler - return ::FreeLibrary ((HMODULE)module) == TRUE; -#endif -} - -//---------------------------------------------------------------------------------------- -void* ADLX_CDECL_CALL adlx_get_proc_address (adlx_handle module, const char* procName) -{ -#if defined(_WIN32) // Microsoft compiler - return (void*)::GetProcAddress ((HMODULE)module, procName); -#endif -} - -//#endif //_WIN32 \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/ADLX_SDK.html b/vendor/adlx/SDKDoc/ADLX_SDK.html deleted file mode 100644 index 08431d0..0000000 --- a/vendor/adlx/SDKDoc/ADLX_SDK.html +++ /dev/null @@ -1,8 +0,0 @@ - -Redirect ADLX SDK - - diff --git a/vendor/adlx/SDKDoc/html/_a_d_l_x_defines_8h.html b/vendor/adlx/SDKDoc/html/_a_d_l_x_defines_8h.html deleted file mode 100644 index df0f2ca..0000000 --- a/vendor/adlx/SDKDoc/html/_a_d_l_x_defines_8h.html +++ /dev/null @@ -1,499 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLXDefines.h File Reference - - - - - - - - - - - - - - - -

-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ADLXDefines.h File Reference
-
-
-
#include <Windows.h>
-#include <stdio.h>
-#include <stdint.h>
-#include "ADLXVersion.h"
-
- - - - - - - -

-Macros

#define ADLX_SUCCEEDED(x)   (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x))
 
#define ADLX_FAILED(x)   (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x))
 
#define MAX_USER_3DLUT_NUM_POINTS   17
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Enumerations

enum  ADLX_RESULT {
-  ADLX_OK = 0 -, ADLX_ALREADY_ENABLED -, ADLX_ALREADY_INITIALIZED -, ADLX_FAIL -,
-  ADLX_INVALID_ARGS -, ADLX_BAD_VER -, ADLX_UNKNOWN_INTERFACE -, ADLX_TERMINATED -,
-  ADLX_ADL_INIT_ERROR -, ADLX_NOT_FOUND -, ADLX_INVALID_OBJECT -, ADLX_ORPHAN_OBJECTS -,
-  ADLX_NOT_SUPPORTED -, ADLX_PENDING_OPERATION -, ADLX_GPU_INACTIVE -
- }
 Indicates the result returned from an ADLX function or from an ADLX method. More...
 
enum  ADLX_HG_TYPE { NONE = 0 -, AMD -, OTHER - }
 Indicates the type of Hybrid Graphic. More...
 
enum  ADLX_ASIC_FAMILY_TYPE {
-  ASIC_UNDEFINED = 0 -, ASIC_RADEON -, ASIC_FIREPRO -, ASIC_FIREMV -,
-  ASIC_FIRESTREAM -, ASIC_FUSION -, ASIC_EMBEDDED -
- }
 Indicates the ASIC family type. More...
 
enum  ADLX_PCI_BUS_TYPE {
-  UNDEFINED = 0 -, PCI -, AGP -, PCIE -,
-  PCIE_2_0 -, PCIE_3_0 -, PCIE_4_0 -
- }
 Indicates the PCI bus type. More...
 
enum  ADLX_DP_LINK_RATE {
-  DP_LINK_RATE_UNKNOWN = 0 -, DP_LINK_RATE_RBR -, DP_LINK_RATE_2_16GBPS -, DP_LINK_RATE_2_43GBPS -,
-  DP_LINK_RATE_HBR -, DP_LINK_RATE_4_32GBPS -, DP_LINK_RATE_HBR2 -, DP_LINK_RATE_HBR3 -,
-  DP_LINK_RATE_UHBR10 -, DP_LINK_RATE_UHBR13D5 -, DP_LINK_RATE_UHBR20 -
- }
 Indicates the DP link rate. More...
 
enum  ADLX_GPU_TYPE { GPUTYPE_UNDEFINED = 0 -, GPUTYPE_INTEGRATED -, GPUTYPE_DISCRETE - }
 Indicates the GPU type. More...
 
enum  ADLX_DISPLAY_CONNECTOR_TYPE {
-  DISPLAY_CONTYPE_UNKNOWN = 0 -, DISPLAY_CONTYPE_VGA -, DISPLAY_CONTYPE_DVI_D -, DISPLAY_CONTYPE_DVI_I -,
-  DISPLAY_CONTYPE_CVDONGLE_NTSC -, DISPLAY_CONTYPE_CVDONGLE_JPN -, DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN -, DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC -,
-  DISPLAY_CONTYPE_PROPRIETARY -, DISPLAY_CONTYPE_HDMI_TYPE_A -, DISPLAY_CONTYPE_HDMI_TYPE_B -, DISPLAY_CONTYPE_SVIDEO -,
-  DISPLAY_CONTYPE_COMPOSITE -, DISPLAY_CONTYPE_RCA_3COMPONENT -, DISPLAY_CONTYPE_DISPLAYPORT -, DISPLAY_CONTYPE_EDP -,
-  DISPLAY_CONTYPE_WIRELESSDISPLAY -, DISPLAY_CONTYPE_USB_TYPE_C -
- }
 Indicates the display connector type. More...
 
enum  ADLX_DISPLAY_TYPE {
-  DISPLAY_TYPE_UNKOWN = 0 -, DISPLAY_TYPE_MONITOR -, DISPLAY_TYPE_TELEVISION -, DISPLAY_TYPE_LCD_PANEL -,
-  DISPLAY_TYPE_DIGITAL_FLAT_PANEL -, DISPLAY_TYPE_COMPONENT_VIDEO -, DISPLAY_TYPE_PROJECTOR -
- }
 Indicates the display type. More...
 
enum  ADLX_DISPLAY_SCAN_TYPE { PROGRESSIVE = 0 -, INTERLACED - }
 Indicates the display scan type. More...
 
enum  ADLX_DISPLAY_TIMING_POLARITY { POSITIVE = 0 -, NEGATIVE - }
 Display timing polarity. More...
 
enum  ADLX_DISPLAY_TIMING_LIMITATION {
-  PIXEL_CLOCK_MAX = 650000 -, PIXEL_CLOCK_MIN = 0 -, REFRESH_RATE_MAX = 200 -, REFRESH_RATE_MIN = 1 -,
-  RESOLUTION_MAX = 9999 -, RESOLUTION_MIN = 1 -
- }
 Display timing limitation. More...
 
enum  ADLX_GAMUT_SPACE {
-  GAMUT_SPACE_CCIR_709 = 0 -, GAMUT_SPACE_CCIR_601 -, GAMUT_SPACE_ADOBE_RGB -, GAMUT_SPACE_CIE_RGB -,
-  GAMUT_SPACE_CCIR_2020 -, GAMUT_SPACE_CUSTOM -
- }
 Indicates the predefined gamut space. More...
 
enum  ADLX_WHITE_POINT {
-  WHITE_POINT_5000K = 0 -, WHITE_POINT_6500K -, WHITE_POINT_7500K -, WHITE_POINT_9300K -,
-  WHITE_POINT_CUSTOM -
- }
 Indicates the standardized white point setting. More...
 
enum  ADLX_GAMMA_TYPE {
-  UNKNOW = 0 -, DEGAMMA_RAMP -, REGAMMA_RAMP -, DEGAMMA_COEFFICIENTS -,
-  REGAMMA_COEFFICIENTS -
- }
 Indicates the gamma type. More...
 
enum  ADLX_ORIENTATION { ORIENTATION_LANDSCAPE = 0 -, ORIENTATION_PORTRAIT = 90 -, ORIENTATION_LANDSCAPE_FLIPPED = 180 -, ORIENTATION_PORTRAIT_FLIPPED = 270 - }
 Indicates the orientation. More...
 
enum  ADLX_DESKTOP_TYPE { DESKTOP_SINGLE = 0 -, DESKTOP_DUPLCATE = 1 -, DESKTOP_EYEFINITY = 2 - }
 Types of desktops in respect to display composition. More...
 
enum  ADLX_LOG_SEVERITY { LDEBUG = 0 -, LWARNING -, LERROR - }
 Indicates the severity level for ADLX logs. More...
 
enum  ADLX_LOG_DESTINATION { LOCALFILE = 0 -, DBGVIEW -, APPLICATION - }
 Indicates the location of the log traces that are generated from the internal code execution of ADLX. More...
 
enum  ADLX_SCALE_MODE { PRESERVE_ASPECT_RATIO = 0 -, FULL_PANEL -, CENTERED - }
 Indicates the methods to stretch and position the image to fit on the display. More...
 
enum  ADLX_COLOR_DEPTH {
- }
 Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel. More...
 
enum  ADLX_PIXEL_FORMAT {
-  FORMAT_UNKNOWN = 0 -, RGB_444_FULL -, YCBCR_444 -, YCBCR_422 -,
-  RGB_444_LIMITED -, YCBCR_420 -
- }
 Indicates the pixel format to encode images for the display. More...
 
enum  ADLX_TIMING_STANDARD {
-  CVT = 0 -, CVT_RB -, GTF -, DMT -,
-  MANUAL -
- }
 Timing standard for custom resolution. More...
 
enum  ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE { WFVR_ALWAYS_OFF = 0 -, WFVR_OFF_UNLESS_APP_SPECIFIES -, WFVR_ON_UNLESS_APP_SPECIFIES -, WFVR_ALWAYS_ON - }
 Indicates the modes of VSync settings. More...
 
enum  ADLX_ANTI_ALIASING_MODE { AA_MODE_USE_APP_SETTINGS = 0 -, AA_MODE_ENHANCE_APP_SETTINGS -, AA_MODE_OVERRIDE_APP_SETTINGS - }
 Indicates the anti-aliasing mode. More...
 
enum  ADLX_ANTI_ALIASING_LEVEL {
-  AA_LEVEL_INVALID = 0 -, AA_LEVEL_2X = 2 -, AA_LEVEL_2XEQ = 3 -, AA_LEVEL_4X = 4 -,
-  AA_LEVEL_4XEQ = 5 -, AA_LEVEL_8X = 8 -, AA_LEVEL_8XEQ = 9 -
- }
 Indicates the anti-aliasing level. More...
 
enum  ADLX_ANTI_ALIASING_METHOD { AA_METHOD_MULTISAMPLING = 0 -, AA_METHOD_ADAPTIVE_MULTISAMPLING -, AA_METHOD_SUPERSAMPLING - }
 Indicates the anti-aliasing method. More...
 
enum  ADLX_ANISOTROPIC_FILTERING_LEVEL {
-  AF_LEVEL_INVALID = 0 -, AF_LEVEL_X2 = 2 -, AF_LEVEL_X4 = 4 -, AF_LEVEL_X8 = 8 -,
-  AF_LEVEL_X16 = 16 -
- }
 Indicates the Anisotropic Filtering level. More...
 
enum  ADLX_TESSELLATION_MODE { T_MODE_AMD_OPTIMIZED = 0 -, T_MODE_USE_APP_SETTINGS -, T_MODE_OVERRIDE_APP_SETTINGS - }
 Indicates the tessellation setting on a GPU. More...
 
enum  ADLX_TESSELLATION_LEVEL {
-  T_LEVEL_OFF = 1 -, T_LEVEL_2X = 2 -, T_LEVEL_4X = 4 -, T_LEVEL_6X = 6 -,
-  T_LEVEL_8X = 8 -, T_LEVEL_16X = 16 -, T_LEVEL_32X = 32 -, T_LEVEL_64X = 64 -
- }
 Indicates the tessellation level on a GPU. More...
 
enum  ADLX_MEMORYTIMING_DESCRIPTION {
-  MEMORYTIMING_DEFAULT = 0 -, MEMORYTIMING_FAST_TIMING -, MEMORYTIMING_FAST_TIMING_LEVEL_2 -, MEMORYTIMING_AUTOMATIC -,
-  MEMORYTIMING_MEMORYTIMING_LEVEL_1 -, MEMORYTIMING_MEMORYTIMING_LEVEL_2 -
- }
 Indicates the priority of the log entry. More...
 
enum  ADLX_I2C_LINE {
-  I2C_LINE_OEM = 1 -, I2C_LINE_OD_CONTROL -, I2C_LINE_OEM2 -, I2C_LINE_OEM3 -,
-  I2C_LINE_OEM4 -, I2C_LINE_OEM5 -, I2C_LINE_OEM6 -
- }
 Indicates the I2C line options. More...
 
enum  ADLX_SYNC_ORIGIN { SYNC_ORIGIN_UNKNOWN = 1 -, SYNC_ORIGIN_INTERNAL -, SYNC_ORIGIN_EXTERNAL - }
 Indicates the origin of an event. More...
 
enum  ADLX_3DLUT_TRANSFER_FUNCTION { TF_SRGB = 1 -, TF_PQ -, TF_G22 - }
 Indicates the User 3D LUT transfer function. More...
 
enum  ADLX_3DLUT_COLORSPACE { CS_SRGB = 1 -, CS_BT2020 -, CS_DCIP3 -, CS_NATIVE - }
 Indicates the custom 3D LUT color space. More...
 
enum  ADLX_SSM_BIAS_MODE { SSM_BIAS_AUTO = 0 -, SSM_BIAS_MANUAL - }
 AMD SmartShift Max bias mode. More...
 
enum  ADLX_ANTILAG_STATE { ANTILAG = 0 -, ANTILAGNEXT - }
 Indicates the state of Anti Lag. More...
 
enum  ADLX_MGPU_MODE { MGPU_NONE = 0 -, MGPU_PRIMARY -, MGPU_SECONDARY - }
 Indicates the AMD MGPU mode. More...
 
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_a_d_l_x_structures_8h.html b/vendor/adlx/SDKDoc/html/_a_d_l_x_structures_8h.html deleted file mode 100644 index 111ddc5..0000000 --- a/vendor/adlx/SDKDoc/html/_a_d_l_x_structures_8h.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLXStructures.h File Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXStructures.h File Reference
-
-
-
#include "ADLXDefines.h"
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.html deleted file mode 100644 index 0161258..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLMapping - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLMapping
-
-
-

The IADLXMapping interface allows conversion of data between ADL and ADLX.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

In an application that uses both ADL and ADLX, ADLX is initialized with the ADL context corresponding to the ADL already in use in the application. When this application must make both ADL and ADLX calls related to a GPU, display or desktop, the IADLXMapping interface provides the required data conversions. This interface is returned from the ADLX initialization with the ADL context from the application.
- For more information, refer to Using ADLX in an ADL application.

-

Methods

- - - - - - - - - - - - - - - - - - - -
Method Description
ADLIdsFromADLXDesktop Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified IADLXDesktop interface.
ADLIdsFromADLXDisplay Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified IADLXDisplay interface.
AdlAdapterIndexFromADLXGPU Gets the ADL Adapter index corresponding to the GPU with the specified IADLXGPU interface.
BdfFromADLXGPU Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified IADLXGPU interface.
GetADLXDesktopFromADLIds Gets the reference counted IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number.
GetADLXDisplayFromADLIds Gets the reference counted IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number.
GetADLXGPUFromAdlAdapterIndex Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified ADL adapter index.
GetADLXGPUFromBdf Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number.
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the WorkWithADL C++ sample.
- For a C application, refer to the WorkWithADL C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.js deleted file mode 100644 index cc30dd4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping.js +++ /dev/null @@ -1,11 +0,0 @@ -var _d_o_x__i_a_d_l_mapping = -[ - [ "ADLIdsFromADLXDesktop", "_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html", null ], - [ "ADLIdsFromADLXDisplay", "_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html", null ], - [ "AdlAdapterIndexFromADLXGPU", "_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html", null ], - [ "BdfFromADLXGPU", "_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html", null ], - [ "GetADLXDesktopFromADLIds", "_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html", null ], - [ "GetADLXDisplayFromADLIds", "_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html", null ], - [ "GetADLXGPUFromAdlAdapterIndex", "_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html", null ], - [ "GetADLXGPUFromBdf", "_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html deleted file mode 100644 index ed2409a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLIdsFromADLXDesktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLIdsFromADLXDesktop
-
-
-

Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified IADLXDesktop interface.

-

Syntax

-
- ADLX_RESULT    ADLIdsFromADLXDesktop (IADLXDesktop* pDesktop, adlx_int* adapterIndex, adlx_int* VidPnSourceId, adlx_int* bus, adlx_int* device, adlx_int* function)
- 

Parameters

-
-
-
- - -
1.[in] pDesktopIADLXDesktop* The pointer to the desktop interface.
-
-
-
-
-
- - -
2.[out] adapterIndexadlx_int* The pointer to a variable where the ADL adapter index of the GPU that drives the requested desktop is returned.
-
-
-
-
-
- - -
3.[out] VidPnSourceIdadlx_int* The pointer to a variable where the zero-based identification number of the video present network (VidPN) topology of the requested desktop is returned.
-
-
-
-
-
- - -
4.[out] busadlx_int*The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested desktop is returned.
-
-
-
-
-
- - -
5.[out] deviceadlx_int*The pointer to a variable where the device number of the GPU that drives the requested desktop is returned.
-
-
-
-
-
- - -
6.[out] functionadlx_int*The pointer to a variable where the function number of the GPU that drives the requested desktop is returned.
-
-
-

Return Value

-

If the IADLXDesktop interface is successfully returned, ADLX_OK is returned.
- If the IADLXDesktop interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes

-

Remarks

-

ADLIdsFromADLXDesktop is used when an ADL function must be called for a desktop obtained from ADLX, or for the GPU that drives the desktop.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html deleted file mode 100644 index baa9ce3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLIdsFromADLXDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLIdsFromADLXDisplay
-
-
-

Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified IADLXDisplay interface.

-

Syntax

-
- ADLX_RESULT    ADLIdsFromADLXDisplay (IADLXDisplay* pDisplay, adlx_int* adapterIndex, adlx_int* displayIndex, adlx_int* bus, adlx_int* device, adlx_int* function)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] adapterIndexadlx_int* The pointer to a variable where the ADL adapter index of the GPU that drives the requested display is returned.
-
-
-
-
-
- - -
3.[out] displayIndexadlx_int* The pointer to a variable where the ADL logical display index of the GPU that drives the requested display is returned.
-
-
-
-
-
- - -
4.[out] busadlx_int*The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested display is returned.
-
-
-
-
-
- - -
5.[out] deviceadlx_int*The pointer to a variable where the device number of the GPU that drives the requested display is returned.
-
-
-
-
-
- - -
6.[out] functionadlx_int*The pointer to a variable where the function number of the GPU that drives the requested display is returned.
-
-
-

Return Value

-

If the IADLXDisplay interface is successfully returned, ADLX_OK is returned.
- If the IADLXDisplay interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

ADLIdsFromADLXDisplay is used when an ADL function must be called for a display obtained from ADLX, or for the GPU where the display is connected.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html deleted file mode 100644 index 957fdb6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AdlAdapterIndexFromADLXGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AdlAdapterIndexFromADLXGPU
-
-
-

Gets the ADL Adapter index corresponding to the GPU with the specified IADLXGPU interface.

-

Syntax

-
- ADLX_RESULT    AdlAdapterIndexFromADLXGPU (IADLXGPU* ppGPU, adlx_int* adlAdapterIndex)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] adlAdapterIndexadlx_int* The pointer to a variable where ADL adapter index of the requested GPU is returned.
-
-
-

Return Value

-

If the ADL adapter index is successfully returned, ADLX_OK is returned.
- If the ADL Adapter index is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

AdlAdapterIndexFromADLXGPU is used when an ADL function must be called for a GPU obtained from ADLX, and the ADL adapter index is required for that ADL function.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html deleted file mode 100644 index 15bab07..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: BdfFromADLXGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
BdfFromADLXGPU
-
-
-

Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified IADLXGPU interface.

-

Syntax

-
- ADLX_RESULT    BdfFromADLXGPU (IADLXGPU* ppGPU, adlx_int* bus, adlx_int* device, adlx_int* function)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] busadlx_int* The pointer to a variable where the unique PCIE bus number of the requested GPU is returned.
-
-
-
-
-
- - -
3.[out] deviceadlx_int* The pointer to a variable where the device number of the requested GPU is returned.
-
-
-
-
-
- - -
4.[out] functionadlx_int* The pointer to a variable where function number of the requested GPU is returned.
-
-
-

Return Value

-

If bus, device, function are returned correctly, ADLX_OK is returned.
- If bus, device, function are not returned correctly, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

BdfFromADLXGPU is used when an ADL function must be called for a GPU obtained from ADLX, and the GPU's PCI bus, device, and function are required for that ADL function.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html deleted file mode 100644 index 6a92f84..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetADLXDesktopFromADLIds - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetADLXDesktopFromADLIds
-
-
-

Gets the reference counted IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number.

-

Syntax

-
- ADLX_RESULT    GetADLXDesktopFromADLIds (adlx_int adapterIndex, adlx_int VidPnSource, adlx_int bus, adlx_int device, adlx_int function, IADLXDesktop** ppDesktop)
- 

Parameters

-
-
-
- - -
1.[in] adapterIndexadlx_int The ADL adapter index of the GPU where the requested desktop is instantiated.
-
-
-
-
-
- - -
2.[in] VidPnSourceIDadlx_int The zero-based identification number of the video present source in a path of a video present network (VidPN) topology of the requested desktop.
-
-
-
-
-
- - -
3.[in] busadlx_int The unique PCIE bus number of the GPU where the requested desktop is instantiated.
-
-
-
-
-
- - -
4.[in] deviceadlx_int The device number of the GPU where the requested desktop is instantiated.
-
-
-
-
-
- - -
5.[in] functionadlx_int The function number of the GPU where the requested desktop is instantiated.
-
-
-
-
-
- - -
6.[out] ppDesktopIADLXDesktop**The address of the pointer to the returned interface. If the desktop was not found, the method sets the dereferenced address *ppDesktop to nullptr.
-
-
-

Return Value

-

If the IADLXDesktop interface is successfully returned, ADLX_OK is returned.
- If the arguments are incorrect ADLX_INVALID_ARGS s returned.
- If IADLXDesktop interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

GetADLXDesktopFromADLIds is used when and ADLX method must be called from a desktop obtained from ADL. The adapter index corresponds to the GPU where the desktop is instantiated.
- The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber of the GPU where that desktop is instantiated.
- The VidPnSource ID is obtained from D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME.VidPnSourceId field for this desktop.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html deleted file mode 100644 index b9a8ebe..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetADLXDisplayFromADLIds - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetADLXDisplayFromADLIds
-
-
-

Gets the reference counted IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number.

-

Syntax

-
- ADLX_RESULT    GetADLXDisplayFromADLIds (adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, IADLXDisplay** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[in] adapterIndexadlx_int The ADL adapter index of the GPU where the requested display is connected.
-
-
-
-
-
- - -
2.[in] displayIndexadlx_int The ADL logical display index of the requested display.
-
-
-
-
-
- - -
3.[in] busadlx_int The unique PCIE bus number of the GPU where the requested display is connected.
-
-
-
-
-
- - -
4.[in] deviceadlx_int The device number of the GPU where the requested display is connected.
-
-
-
-
-
- - -
5.[in] functionadlx_int The device number of the GPU where the requested display is connected.
-
-
-
-
-
- - -
6.[out] ppDisplayIADLXDisplay**The address of the pointer to the returned interface. If the display was not found, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the IADLXDisplay interface is successfully returned, ADLX_OK is returned.
- If the IADLXDisplay interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

GetADLXDisplayFromADLIds is used when an ADLX method must be called for a display obtained from ADL. The ADL adapter index corresponds to the GPU to which the display is connected.
- The display index corresponds to the ADLDisplayID.iDisplayLogicalIndex field for the display.
- The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber for the GPU where that display is connected.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html deleted file mode 100644 index 1b83e95..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetADLXGPUFromAdlAdapterIndex - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetADLXGPUFromAdlAdapterIndex
-
-
-

Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified ADL adapter index.

-

Syntax

-
- ADLX_RESULT    GetADLXGPUFromAdlAdapterIndex (adlx_int adlAdapterIndex, IADLXGPU** ppGPU)
- 

Parameters

-
-
-
- - -
1.[in]adlAdapterIndexadlx_intThe ADL adapter index for the requested GPU.
-
-
-
-
-
- - -
2.[out]ppGPUIADLXGPU**The address of the pointer to the returned interface. If the GPU was not found, the method sets the dereferenced address *ppGPU to nullptr.
-
-
-

Return Value

-

If the IADLXGPU is successfully returned, ADLX_OK is returned.
- If the IADLXGPU is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes

-

Remarks

-

GetADLXGPUFromAdlAdapterIndex is used when an ADLX method must be called for a GPU obtained from ADL for which an ADL adapter index is available.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html deleted file mode 100644 index 065255f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetADLXGPUFromBdf - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetADLXGPUFromBdf
-
-
-

Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number.

-

Syntax

-
- ADLX_RESULT    GetADLXGPUFromBdf (adlx_int bus, adlx_int device, adlx_int function, IADLXGPU** ppGPU)
- 

Parameters

-
-
-
- - -
1.[in] busadlx_intThe unique PCIE bus number of the requested GPU.
-
-
-
-
-
- - -
2.[in] deviceadlx_intThe device number of the requested GPU.
-
-
-
-
-
- - -
3.[in] functionadlx_intThe function number of the requested GPU.
-
-
-
-
-
- - -
4.[out]ppGPUIADLXGPU**The address of the pointer to the returned interface. If the GPU was not found, the method sets the dereferenced address *ppGPU to nullptr.
-
-
-

Return Value

-

If the IADLXGPU is successfully returned, ADLX_OK is returned.
- If the IADLXGPU is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

GetADLXGPUFromBdf is used when an ADLX method must be called for a GPU obtained from ADL where an AdapterInfo structure is available.
- The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber for that GPU.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html deleted file mode 100644 index 4fec18b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DAnisotropicFiltering - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DAnisotropicFiltering
-
-
-

The IADLX3DAnisotropicFiltering interface configures the anisotropic filtering settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DAnisotropicFiltering
Smart Pointer Interface Name:IADLX3DAnisotropicFilteringPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Methods

- - - - - - - - - - - - - -
Method Description
GetLevel Gets the current anisotropic filtering level on a GPU.
IsEnabled Checks if anisotropic filtering is enabled on a GPU.
IsSupported Checks if anisotropic filtering is supported on a GPU.
SetEnabled Sets anisotropic filtering to an enabled or disabled state on a GPU.
SetLevel Sets the anisotropic filtering level of a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the AnisotropicFiltering C++ sample.
- For a C application, refer to the AnisotropicFiltering C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.js deleted file mode 100644 index 96697b4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_anisotropic_filtering = -[ - [ "GetLevel", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html", null ], - [ "SetLevel", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html deleted file mode 100644 index cc27fbb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetLevel
-
-
-

Gets the current anisotropic filtering level on a GPU.

-

Syntax

-
- ADLX_RESULT    GetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel)
- 

Parameters

-
-
-
- - -
1.[out]currentLevelADLX_ANISOTROPIC_FILTERING_LEVEL*The pointer to a variable where the current anisotropic filtering level is returned.
-
-
-

Return Value

-

If the current anisotropic filtering level is successfully returned, ADLX_OK is returned.
- If the current anisotropic filtering level is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html deleted file mode 100644 index 2af97aa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if anisotropic filtering is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of anisotropic filtering is returned. The variable is true if anisotropic filtering is enabled. The variable is false if anisotropic filtering is not enabled.
-
-
-

Return Value

-

If the state of anisotropic filtering is successfully returned, ADLX_OK is returned.
- If the state of anisotropic filtering is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html deleted file mode 100644 index d3a4aeb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if anisotropic filtering is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of anisotropic filtering is returned. The variable is true if anisotropic filtering is supported. The variable is false if anisotropic filtering is not supported.
-
-
-

Return Value

-

If the state of anisotropic filtering is successfully returned, ADLX_OK is returned.
- If the state of anisotropic filtering is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html deleted file mode 100644 index 6d6d675..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets anisotropic filtering to an enabled or disabled state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new anisotropic filtering state. Set true to enable anisotropic filtering. Set false to disable anisotropic filtering.
-
-
-

Return Value

-

If the state of anisotropic filtering is successfully set, ADLX_OK is returned.
- If the state of anisotropic filtering is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html deleted file mode 100644 index 7a7b555..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetLevel
-
-
-

Sets the anisotropic filtering level of a GPU.

-

Syntax

-
- ADLX_RESULT    SetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL level)
- 

Parameters

-
-
-
- - -
1.[in]levelADLX_ANISOTROPIC_FILTERING_LEVELThe new anisotropic filtering level.
-
-
-

Return Value

-

If the anisotropic filtering level is successfully set, ADLX_OK is returned.
- If the anisotropic filtering level is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.
- Only affects DirectX® 9 applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.html deleted file mode 100644 index 64e671f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DAntiAliasing
-
-
-

The IADLX3DAntiAliasing interface configures the anti-aliasing settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DAntiAliasing
Smart Pointer Interface Name:IADLX3DAntiAliasingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Methods

- - - - - - - - - - - - - - - - - -
Method Description
GetLevel Gets the current anti-aliasing level of a GPU.
GetMethod Gets the current anti-aliasing method of a GPU.
GetMode Gets the current anti-aliasing mode of a GPU.
IsSupported Checks if anti-aliasing is supported on a GPU.
SetLevel Sets the anti-aliasing level on a GPU.
SetMethod Sets the anti-aliasing method on a GPU.
SetMode Sets the anti-aliasing mode on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the AntiAliasing C++ sample.
- For a C application, refer to the AntiAliasing C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.js deleted file mode 100644 index fe5a268..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing.js +++ /dev/null @@ -1,10 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_anti_aliasing = -[ - [ "GetLevel", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html", null ], - [ "GetMethod", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html", null ], - [ "GetMode", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html", null ], - [ "SetLevel", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html", null ], - [ "SetMethod", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html", null ], - [ "SetMode", "_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html deleted file mode 100644 index 2b1c31e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetLevel
-
-
-

Gets the current anti-aliasing level of a GPU.

-

Syntax

-
- ADLX_RESULT    GetLevel (ADLX_ANTI_ALIASING_LEVEL* currentLevel)
- 

Parameters

-
-
-
- - -
1.[out]currentLevelADLX_ANTI_ALIASING_LEVEL*The pointer to a variable where the current anti-aliasing level is returned.
-
-
-

Return Value

-

If the current anti-aliasing level is successfully returned, ADLX_OK is returned.
- If the current anti-aliasing level is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html deleted file mode 100644 index 7d34839..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMethod - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMethod
-
-
-

Gets the current anti-aliasing method of a GPU.

-

Syntax

-
- ADLX_RESULT    GetMethod (ADLX_ANTI_ALIASING_METHOD* currentMethod)
- 

Parameters

-
-
-
- - -
1.[out]currentMethodADLX_ANTI_ALIASING_METHOD*The pointer to a variable where the current anti-aliasing method is returned.
-
-
-

Return Value

-

If the current anti-aliasing method is successfully returned, ADLX_OK is returned.
- If the current anti-aliasing method is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html deleted file mode 100644 index 3e3710c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMode
-
-
-

Gets the current anti-aliasing mode of a GPU.

-

Syntax

-
- ADLX_RESULT    GetMode (ADLX_ANTI_ALIASING_MODE* currentMode)
- 

Parameters

-
-
-
- - -
1.[out]currentModeADLX_ANTI_ALIASING_MODE*The pointer to a variable where the current anti-aliasing mode is returned.
-
-
-

Return Value

-

If the current anti-aliasing mode is successfully returned, ADLX_OK is returned.
- If the current anti-aliasing mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html deleted file mode 100644 index d013547..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if anti-aliasing is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of anti-aliasing is returned. The variable is true if anti-aliasing is supported. The variable is false if anti-aliasing is not supported.
-
-
-

Return Value

-

If the state of anti-aliasing is successfully returned, ADLX_OK is returned.
- If the state of anti-aliasing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html deleted file mode 100644 index c80b734..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetLevel
-
-
-

Sets the anti-aliasing level on a GPU.

-

Syntax

-
- ADLX_RESULT    SetLevel (ADLX_ANTI_ALIASING_LEVEL level)
- 

Parameters

-
-
-
- - -
1.[in]levelADLX_ANTI_ALIASING_LEVELThe new anti-aliasing level.
-
-
-

Return Value

-

If the anti-aliasing level is successfully set, ADLX_OK is returned.
- If the anti-aliasing level is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html deleted file mode 100644 index bc3a419..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMethod - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMethod
-
-
-

Sets the anti-aliasing method on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMethod (ADLX_ANTI_ALIASING_METHOD method)
- 

Parameters

-
-
-
- - -
1.[in]methodADLX_ANTI_ALIASING_METHODThe new anti-aliasing method.
-
-
-

Return Value

-

If the anti-aliasing method is successfully set, ADLX_OK is returned.
- If the anti-aliasing method is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html deleted file mode 100644 index c0173ae..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMode
-
-
-

Sets the anti-aliasing mode on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMode (ADLX_ANTI_ALIASING_MODE mode)
- 

Parameters

-
-
-
- - -
1.[in]modeADLX_ANTI_ALIASING_MODEThe new anti-aliasing mode.
-
-
-

Return Value

-

If the anti-aliasing mode is successfully set, ADLX_OK is returned.
- If the anti-aliasing mode is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.

-

Note: Set the mode to AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS to concurrently enable other anti-aliasing methods, such as morphological anti-aliasing.
- For more information, refer to IADLX3DMorphologicalAntiAliasing.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.html deleted file mode 100644 index a8c926f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DAntiLag - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DAntiLag
-
-
-

The IADLX3DAntiLag interface configures the AMD Radeon™ Anti-Lag settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DAntiLag
Smart Pointer Interface Name:IADLX3DAntiLagPtr
Inherits:IADLXInterface
Inherited By:IADLX3DAntiLag1
-

AMD Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
-

-

Dependent Interfaces

-

When AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled.
- Note: If the disabled setting is later re-enabled, its previous configuration will be restored.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if AMD Radeon™ Anti-Lag is enabled on a GPU.
IsSupported Checks if AMD Radeon™ Anti-Lag is supported on a GPU.
SetEnabled Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the AntiLag C++ sample.
- For a C application, refer to the AntiLag C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.js deleted file mode 100644 index 625c603..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_anti_lag = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.html deleted file mode 100644 index cc51766..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DAntiLag1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DAntiLag1
-
-
-

IADLX3DAntiLag1 (AMD Radeon™ Anti-Lag Next) is an extension to IADLX3DAntiLag, and provides an interface to configure the Anti-Lag level of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DAntiLag1
Smart Pointer Interface Name:IADLX3DAntiLag1Ptr
Inherits:IADLX3DAntiLag
Inherited By:N/A
-

Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience. The IADLX3DAntiLag1 interface is obtained from the IADLX3DAntiLag interface using QueryInterface.
-

-

Dependent Interfaces

-

When AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled.
- Note: If the disabled setting is later re-enabled, its previous configuration will be restored.

-

Methods

- - - - - - - -
Method Description
GetLevel Gets the AMD Radeon™ Anti-Lag level on a GPU.
SetLevel Sets the AMD Radeon™ Anti-Lag level on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings1.h"
Minimum version1.1
-

Example

-

To use this interface in a C++ application, refer to the AntiLag C++ sample.
- For a C application, refer to the AntiLag C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.js deleted file mode 100644 index 0317319..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_anti_lag1 = -[ - [ "GetLevel", "_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html", null ], - [ "SetLevel", "_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html deleted file mode 100644 index fb64441..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetLevel
-
-
-

Gets the AMD Radeon™ Anti-Lag level on a GPU.

-

Syntax

-
- ADLX_RESULT    GetLevel(ADLX_ANTILAG_STATE* level)
- 

Parameters

-
-
-
- - -
1.[out]levelADLX_ANTILAG_STATEThe pointer to a variable where the Radeon Anti-Lag level is returned.
-
-
-

Return Value

-

If the Radeon Anti-Lag level is successfully returned, ADLX_OK is returned.
- If the Radeon Anti-Lag level is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings1.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html deleted file mode 100644 index 231225f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetLevel
-
-
-

Sets the AMD Radeon™ Anti-Lag level on a GPU.

-

Syntax

-
- ADLX_RESULT    SetLevel (ADLX_ANTILAG_STATE level)
- 

Parameters

-
-
-
- - -
1.[in]levelADLX_ANTILAG_STATEThe new Radeon Anti-Lag level.
-
-
-

Return Value

-

If the Radeon Anti-Lag level is successfully set, ADLX_OK is returned.
- If the Radeon Anti-Lag level is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience.

-

Requirements

- - - - - -
Headerinclude "I3DSettings1.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html deleted file mode 100644 index f11b5e4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Radeon™ Anti-Lag is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is true if Radeon Anti-Lag is enabled. The variable is false if Radeon Anti-Lag is not enabled.
-
-
-

Return Value

-

If the state of Radeon Anti-Lag is successfully returned, ADLX_OK is returned.
- If the state of Radeon Anti-Lag is returned is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- Note: AMD Radeon Chill, and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Anti-Lag is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html deleted file mode 100644 index 2352743..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Radeon™ Anti-Lag is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is true if Radeon Anti-Lag is supported. The variable is false if Radeon Anti-Lag is not supported.
-
-
-

Return Value

-

If the state of Radeon Anti-Lag is successfully returned, ADLX_OK is returned.
- If the state of Radeon Anti-Lag is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html deleted file mode 100644 index 13bfe64..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new Radeon Anti-Lag state. Set true to enable Radeon Anti-Lag. Set false to disable Radeon Anti-Lag.
-
-
-

Return Value

-

If the state of Radeon Anti-Lag is successfully set, ADLX_OK is returned.
- If the state of Radeon Anti-Lag is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
- Note: AMD Radeon Chill, and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled. However, the configuration of the disabled feature is preserved.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.html deleted file mode 100644 index d7b58bb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DBoost - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DBoost
-
-
-

The IADLX3DBoost interface configures AMD Radeon™ Boost of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DBoost
Smart Pointer Interface Name:IADLX3DBoostPtr
Inherits:IADLXInterface
Inherited By:N/A
-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
-

-

Dependent Interfaces

-

When AMD Radeon Boost is enabled, AMD Radeon Chill is automatically disabled.
- Note: If the disabled setting is later re-enabled, its previous configuration will be restored.

-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetResolution Gets the current minimum resolution of AMD Radeon™ Boost on a GPU.
GetResolutionRange Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU.
IsEnabled Checks if AMD Radeon™ Boost is enabled on a GPU.
IsSupported Checks if AMD Radeon™ Boost is supported on a GPU.
SetEnabled Sets AMD Radeon™ Boost to enabled or disabled on a GPU.
SetResolution Sets the minimum resolution of AMD Radeon™ Boost on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Boost C++ sample.
- For a C application, refer to the Boost C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.js deleted file mode 100644 index e94a81f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_boost = -[ - [ "GetResolution", "_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html", null ], - [ "GetResolutionRange", "_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_boost__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html", null ], - [ "SetResolution", "_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html deleted file mode 100644 index 5395d2c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetResolution
-
-
-

Gets the current minimum resolution of AMD Radeon™ Boost on a GPU.

-

Syntax

-
- ADLX_RESULT    GetResolution (adlx_int* currentMinRes)
- 

Parameters

-
-
-
- - -
1.[out]currentMinResadlx_int*The pointer to a variable where the current minimum resolution (in %) of AMD Radeon Boost is returned.
-
-
-

Return Value

-

If the current minimum resolution is successfully returned, ADLX_OK is returned.
- If the current minimum resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- Only works in supported games.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html deleted file mode 100644 index cdde81e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetResolutionRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetResolutionRange
-
-
-

Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU.

-

Syntax

-
- ADLX_RESULT    GetResolutionRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the resolution range of AMD Radeon Boost is returned.
-
-
-

Return Value

-

If the resolution range is successfully returned, ADLX_OK is returned.
- If the resolution range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum resolution, minimum resolution, and step resolution of AMD Radeon Boost are read only.

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- Only works in supported games.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html deleted file mode 100644 index 536c016..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Radeon™ Boost is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is true if AMD Radeon Boost is enabled. The variable is false if AMD Radeon Boost is not enabled.
-
-
-

Return Value

-

If the state of AMD Radeon Boost is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Boost is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
- Note: AMD Radeon Chill, AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Boost is automatically disabled.
- On some AMD GPUs, AMD Radeon Boost and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Boost is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_supported.html deleted file mode 100644 index 0150760..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__is_supported.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Radeon™ Boost is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is true if AMD Radeon Boost is supported. The variable is false if AMD Radeon Boost is not supported.
-
-
-

Return Value

-

If the state of AMD Radeon Boost is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Boost is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.
- Only works in supported games.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html deleted file mode 100644 index 354be1d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets AMD Radeon™ Boost to enabled or disabled on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Radeon Boost state. Set true to enable AMD Radeon Boost. Set false to disable AMD Radeon Boost.
-
-
-

Return Value

-

If the state of AMD Radeon Boost is successfully set, ADLX_OK is returned.
- If the state of AMD Radeon Boost is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
- Note: AMD Radeon Chill, AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Boost is enabled, AMD Radeon Chill are automatically disabled. However, the configuration of the disabled feature is preserved.
- On some AMD GPUs, AMD Radeon Boost and Radeon Super Resolution cannot be enabled simultaneously. If AMD Radeon Boost is enabled, Radeon Super Resolution is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html deleted file mode 100644 index 1179324..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetResolution
-
-
-

Sets the minimum resolution of AMD Radeon™ Boost on a GPU.

-

Syntax

-
- ADLX_RESULT    SetResolution (adlx_int minRes)
- 

Parameters

-
-
-
- - -
1.[in]minResadlx_intThe new minimum resolution (in %) of AMD Radeon Boost.
-
-
-

Return Value

-

If the minimum resolution is successfully set, ADLX_OK is returned.
- If the minimum resolution is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.html deleted file mode 100644 index f13f57b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DChill - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DChill
-
-
-

The IADLX3DChill interface configures the AMD Radeon™ Chill settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DChill
Smart Pointer Interface Name:IADLX3DChillPtr
Inherits:IADLXInterface
Inherited By:N/A
-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
-

-

Dependent Interfaces

-

When AMD Radeon Chill is enabled, AMD Radeon Boost, AMD Radeon Anti-Lag, AMD Radeon™ Anti-Lag Next, and Radeon Super Resolution are automatically disabled.
- Note: If the disabled setting is later re-enabled, its previous configuration settings will be restored.

-

Methods

- - - - - - - - - - - - - - - - - - - -
Method Description
GetFPSRange Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU.
GetMaxFPS Gets the AMD Radeon™ Chill current maximum FPS on a GPU.
GetMinFPS Gets the AMD Radeon™ Chill current minimum FPS on a GPU.
IsEnabled Checks if AMD Radeon™ Chill is enabled on a GPU.
IsSupported Checks if AMD Radeon™ Chill is supported on a GPU.
SetEnabled Sets the activation status of AMD Radeon™ Chill on a GPU.
SetMaxFPS Sets the AMD Radeon™ Chill maximum FPS on a GPU.
SetMinFPS Sets the AMD Radeon™ Chill minimum FPS on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Chill C++ sample.
- For a C application, refer to the Chill C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.js deleted file mode 100644 index babb27d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill.js +++ /dev/null @@ -1,11 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_chill = -[ - [ "GetFPSRange", "_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html", null ], - [ "GetMaxFPS", "_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html", null ], - [ "GetMinFPS", "_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_chill__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html", null ], - [ "SetMaxFPS", "_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html", null ], - [ "SetMinFPS", "_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html deleted file mode 100644 index 8601b2b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFPSRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFPSRange
-
-
-

Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFPSRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the FPS range of AMD Radeon Chill is returned.
-
-
-

Return Value

-

If the FPS range is successfully returned, ADLX_OK is returned.
- If the FPS range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum FPS, minimum FPS, and step FPS values are read only.

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

The maximum FPS determines the target frame rate during periods of intense action.

-

The minimum FPS determines the target frame rate when in-game interaction is minimal.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html deleted file mode 100644 index ca90d6d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMaxFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMaxFPS
-
-
-

Gets the AMD Radeon™ Chill current maximum FPS on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMaxFPS (adlx_int* currentMaxFPS)
- 

Parameters

-
-
-
- - -
1.[out]currentMaxFPSadlx_int*The pointer to a variable where the current maximum FPS value of AMD Radeon Chill is returned.
-
-
-

Return Value

-

If the current maximum FPS is successfully returned, ADLX_OK is returned.
- If the current maximum FPS is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

The maximum FPS determines the target frame rate during periods of intense action.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html deleted file mode 100644 index caf1395..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMinFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMinFPS
-
-
-

Gets the AMD Radeon™ Chill current minimum FPS on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMinFPS (adlx_int* currentMinFPS)
- 

Parameters

-
-
-
- - -
1.[out]currentMinFPSadlx_int*The pointer to a variable where the current minimum FPS value of AMD Radeon Chill is returned.
-
-
-

Return Value

-

If the current minimum FPS is successfully returned, ADLX_OK is returned.
- If the current minimum FPS is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

The minimum FPS determines the target frame rate when in-game interaction is minimal.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html deleted file mode 100644 index ac1d7eb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Radeon™ Chill is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is true if AMD Radeon Chill is enabled. The variable is false if AMD Radeon Chill is not enabled.
-
-
-

Return Value

-

If the state of AMD Radeon Chill is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Chill is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
- AMD Radeon Chill cannot be enabled simultaneously with AMD Radeon Boost, AMD Radeon Anti-Lag, and AMD Radeon Anti-Lag Next.
- On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with Radeon Super Resolution.
- When a mutually exclusive feature is enabled, AMD Radeon Chill is automatically disabled.
- Note: If AMD Radeon Chill is later re-enabled, its previous configuration settings will be restored.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_supported.html deleted file mode 100644 index 9fd4e51..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Radeon™ Chill is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is true if AMD Radeon Chill is supported. The variable is false if AMD Radeon Chill is not supported.
-
-
-

Return Value

-

If the state of AMD Radeon Chill is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Chill is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html deleted file mode 100644 index 7076d1a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the activation status of AMD Radeon™ Chill on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Radeon Chill state. Set true to enable AMD Radeon Chill. Set false to disable AMD Radeon Chill.
-
-
-

Return Value

-

If the state of AMD Radeon Chill is successfully set, ADLX_OK is returned.
- If the state of AMD Radeon Chill is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
- AMD Radeon Chill cannot be enabled simultaneously with AMD Radeon Boost, AMD Radeon Anti-Lag, and AMD Radeon Anti-Lag Next.
- On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with Radeon Super Resolution.
- When AMD Radeon Chill is enabled, the mutually exclusive features are automatically disabled.
- Note: If the disabled feature is later re-enabled, its previous configuration settings will be restored.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html deleted file mode 100644 index 43a30c8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMaxFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMaxFPS
-
-
-

Sets the AMD Radeon™ Chill maximum FPS on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMaxFPS (adlx_int maxFPS)
- 

Parameters

-
-
-
- - -
1.[in]maxFPSadlx_intThe new maximum FPS value of AMD Radeon Chill.
-
-
-

Return Value

-

If the maximum FPS is successfully set, ADLX_OK is returned.
- If the maximum FPS is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

The maximum FPS determines the target frame rate during periods of intense action.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html deleted file mode 100644 index 818eca9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMinFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMinFPS
-
-
-

Sets the AMD Radeon™ Chill minimum FPS on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMinFPS (adlx_int minFPS)
- 

Parameters

-
-
-
- - -
1.[in]minFPSadlx_intThe new minimum FPS value of AMD Radeon Chill.
-
-
-

Return Value

-

If the minimum FPS is successfully set, ADLX_OK is returned.
- If the minimum FPS is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.

-

The minimum FPS determines the target frame rate when in-game interaction is minimal.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.html deleted file mode 100644 index 68dfce7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DEnhancedSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DEnhancedSync
-
-
-

The IADLX3DEnhancedSync interface configures the AMD Radeon™ Enhanced Sync settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DEnhancedSync
Smart Pointer Interface Name:IADLX3DEnhancedSyncPtr
Inherits:IADLXInterface
Inherited By:N/A
-

AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- Does not limit the frame rate at the display’s refresh rate.
-

-

Dependent Interfaces

-

Note: AMD Radeon Enhanced Sync configuration is dependent on the state of VSync.
- If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled.
- If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU.
IsSupported Checks if AMD Radeon™ Enhanced Sync is supported on a GPU.
SetEnabled Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the EnhancedSync C++ sample.
- For a C application, refer to the EnhancedSync C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.js deleted file mode 100644 index d2dcb50..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_enhanced_sync = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html deleted file mode 100644 index 4e4045f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is true if AMD Radeon Enhanced Sync is enabled. The variable is false if AMD Radeon Enhanced Sync is not enabled.
-
-
-

Return Value

-

If the state of AMD Radeon Enhanced Sync is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- Does not limit the frame rate at the display’s refresh rate.
- Note: AMD Radeon Enhanced Sync configuration is dependent on the state of VSync.
- If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled.
- If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html deleted file mode 100644 index 45abf0a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Radeon™ Enhanced Sync is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is true if AMD Radeon Enhanced Sync is supported. The variable is false if AMD Radeon Enhanced Sync is not supported.
-
-
-

Return Value

-

If the state of AMD Radeon Enhanced Sync is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- Does not limit the frame rate at the display’s refresh rate.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html deleted file mode 100644 index 0baf144..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Radeon Enhanced Sync state. Set true to enable AMD Radeon Enhanced Sync. Set false to disable AMD Radeon Enhanced Sync.
-
-
-

Return Value

-

If the state of AMD Radeon Enhanced Sync is successfully set, ADLX_OK is returned.
- If the state of AMD Radeon Enhanced Sync is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.
- Does not limit the frame rate at the display’s refresh rate.
- Note: AMD Radeon Enhanced Sync configuration affects the state of VSync.
- If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html deleted file mode 100644 index 85023b6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DFrameRateTargetControl - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DFrameRateTargetControl
-
-
-

The IADLX3DFrameRateTargetControl interface configures AMD Frame Rate Target Control of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DFrameRateTargetControl
Smart Pointer Interface Name:IADLX3DFrameRateTargetControlPtr
Inherits:IADLXInterface
Inherited By:N/A
-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetFPS Gets the current FPS of AMD Frame Rate Target Control on a GPU.
GetFPSRange Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU.
IsEnabled Checks if AMD Frame Rate Target Control is enabled on a GPU.
IsSupported Checks if AMD Frame Rate Target Control is supported on a GPU.
SetEnabled Sets AMD Frame Rate Target Control to enabled or disabled on a GPU.
SetFPS Sets the maximum FPS of AMD Frame Rate Target Control on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the FRTC C++ sample.
- For a C application, refer to the FRTC C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.js deleted file mode 100644 index 9ad23f8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_frame_rate_target_control = -[ - [ "GetFPS", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html", null ], - [ "GetFPSRange", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html", null ], - [ "SetFPS", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html deleted file mode 100644 index 82952e5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFPS
-
-
-

Gets the current FPS of AMD Frame Rate Target Control on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFPS (adlx_int* currentFPS)
- 

Parameters

-
-
-
- - -
1.[out]currentFPSadlx_int*The pointer to a variable where the current FPS value of AMD Frame Rate Target Control is returned.
-
-
-

Return Value

-

If the current FPS is successfully returned, ADLX_OK is returned.
- If the current FPS is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html deleted file mode 100644 index c4ca46c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFPSRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFPSRange
-
-
-

Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFPSRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the FPS range of AMD Frame Rate Target Control is returned.
-
-
-

Return Value

-

If the FPS range is successfully returned, ADLX_OK is returned.
- If the FPS range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control are read only.

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html deleted file mode 100644 index 0319706..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Frame Rate Target Control is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is true if AMD Frame Rate Target Control is enabled. The variable is false if AMD Frame Rate Target Control is not enabled.
-
-
-

Return Value

-

If the state of AMD Frame Rate Target Control is successfully returned, ADLX_OK is returned.
- If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html deleted file mode 100644 index 8b25212..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Frame Rate Target Control is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is true if AMD Frame Rate Target Control is supported. The variable is false if AMD Frame Rate Target Control is not supported.
-
-
-

Return Value

-

If the state of AMD Frame Rate Target Control is successfully returned, ADLX_OK is returned.
- If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html deleted file mode 100644 index eb7f80b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets AMD Frame Rate Target Control to enabled or disabled on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Frame Rate Target Control state. Set true to enable AMD Frame Rate Target Control. Set false to disable AMD Frame Rate Target Control.
-
-
-

Return Value

-

If the state of AMD Frame Rate Target Control is successfully set, ADLX_OK is returned.
- If the state of AMD Frame Rate Target Control is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html deleted file mode 100644 index 8577377..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetFPS
-
-
-

Sets the maximum FPS of AMD Frame Rate Target Control on a GPU.

-

Syntax

-
- ADLX_RESULT    SetFPS (adlx_int maxFPS)
- 

Parameters

-
-
-
- - -
1.[in]maxFPSadlx_intThe new maximum FPS value of AMD Frame Rate Target Control.
-
-
-

Return Value

-

If the maximum FPS is successfully set, ADLX_OK is returned.
- If the maximum FPS is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.
- Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.html deleted file mode 100644 index 869c87a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DImageSharpening - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DImageSharpening
-
-
-

The IADLX3DImageSharpening interface configures the AMD Radeon™ Image Sharpening settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DImageSharpening
Smart Pointer Interface Name:IADLX3DImageSharpeningPtr
Inherits:IADLXInterface
Inherited By:N/A
-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.

-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetSharpness Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU.
GetSharpnessRange Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU.
IsEnabled Checks if AMD Radeon™ Image Sharpening is enabled on a GPU.
IsSupported Checks if AMD Radeon™ Image Sharpening is supported on a GPU.
SetEnabled Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU.
SetSharpness Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ImageSharpening C++ sample.
- For a C application, refer to the ImageSharpening C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.js deleted file mode 100644 index bd0b348..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_image_sharpening = -[ - [ "GetSharpness", "_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html", null ], - [ "GetSharpnessRange", "_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html", null ], - [ "SetSharpness", "_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html deleted file mode 100644 index 32571b2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSharpness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSharpness
-
-
-

Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU.

-

Syntax

-
- ADLX_RESULT    GetSharpness (adlx_int* currentSharpness)
- 

Parameters

-
-
-
- - -
1.[out]currentSharpnessadlx_int*The pointer to a variable where the current sharpness (in %) is returned.
-
-
-

Return Value

-

If the current sharpness is successfully returned, ADLX_OK is returned.
- If the current sharpness is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html deleted file mode 100644 index 02ede3d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSharpnessRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSharpnessRange
-
-
-

Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU.

-

Syntax

-
- ADLX_RESULT    GetSharpnessRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the sharpness range is returned.
-
-
-

Return Value

-

If the sharpness range is successfully returned, ADLX_OK is returned.
- If the sharpness range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum sharpness, minimum sharpness, and step sharpness of AMD Radeon Image Sharpening are read only.

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html deleted file mode 100644 index 0638a1b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Radeon™ Image Sharpening is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is true if AMD Radeon Image Sharpening is enabled. The variable is false if AMD Radeon Image Sharpening is not enabled.
-
-
-

Return Value

-

If the state of AMD Radeon Image Sharpening is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
- Note: On some AMD GPUs, AMD Radeon Image Sharpening and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Image Sharpening is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html deleted file mode 100644 index af726b1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Radeon™ Image Sharpening is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is true if AMD Radeon Image Sharpening is supported. The variable is false if AMD Radeon Image Sharpening is not supported.
-
-
-

Return Value

-

If the state of AMD Radeon Image Sharpening is successfully returned, ADLX_OK is returned.
- If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html deleted file mode 100644 index 26ee452..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Radeon Image Sharpening state. Set true to enable AMD Radeon Image Sharpening. Set false to disable AMD Radeon Image Sharpening.
-
-
-

Return Value

-

If the state of AMD Radeon Image Sharpening is successfully set, ADLX_OK is returned.
- If the state of AMD Radeon Image Sharpening is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
- Note: On some AMD GPUs, AMD Radeon Image Sharpening and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Image Sharpening is enabled, AMD Radeon Super Resolution is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html deleted file mode 100644 index ce4868b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSharpness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSharpness
-
-
-

Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU.

-

Syntax

-
- ADLX_RESULT    SetSharpness (adlx_int sharpness)
- 

Parameters

-
-
-
- - -
1.[in]sharpnessadlx_intThe new sharpness (in %).
-
-
-

Return Value

-

If the sharpness is successfully set, ADLX_OK is returned.
- If the sharpness is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html deleted file mode 100644 index 18d51fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DMorphologicalAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DMorphologicalAntiAliasing
-
-
-

The IADLX3DMorphologicalAntiAliasing interface configures the morphological anti-aliasing settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DMorphologicalAntiAliasing
Smart Pointer Interface Name:IADLX3DMorphologicalAntiAliasingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- The applications must run exclusively in full-screen mode.
- Not applicable to DirectX® 12 and Vulkan® applications.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if morphological anti-aliasing is enabled on a GPU.
IsSupported Checks if morphological anti-aliasing is supported on a GPU.
SetEnabled Sets morphological anti-aliasing to enabled or disabled state on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the MorphologicAntiAliasing C++ sample.
- For a C application, refer to the MorphologicAntiAliasing C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.js deleted file mode 100644 index 116be8f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html deleted file mode 100644 index f9bb334..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if morphological anti-aliasing is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is true if morphological anti-aliasing is enabled. The variable is false if morphological anti-aliasing is not enabled.
-
-
-

Return Value

-

If the state of morphological anti-aliasing is successfully returned, ADLX_OK is returned.
- If the state of morphological anti-aliasing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- The applications must run exclusively in full-screen mode.
- Not applicable to DirectX® 12 and Vulkan® applications.

-

Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html deleted file mode 100644 index 118ee99..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if morphological anti-aliasing is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is true if morphological anti-aliasing is supported. The variable is false if morphological anti-aliasing is not supported.
-
-
-

Return Value

-

If the state of morphological anti-aliasing is successfully returned, ADLX_OK is returned.
- If the state of morphological anti-aliasing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- The applications must run exclusively in full-screen mode.
- Not applicable to DirectX® 12 and Vulkan® applications.

-

Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html deleted file mode 100644 index ea7795f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets morphological anti-aliasing to enabled or disabled state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new morphological anti-aliasing state. Set true to enable morphological anti-aliasing. Set false to disable morphological anti-aliasing.
-
-
-

Return Value

-

If the state of morphological anti-aliasing is successfully set, ADLX_OK is returned.
- If the state of morphological anti-aliasing is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.
- The applications must run exclusively in full-screen mode.
- Not applicable to DirectX® 12 and Vulkan® applications.

-

Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html deleted file mode 100644 index 6da1a7f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DRadeonSuperResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DRadeonSuperResolution
-
-
-

The IADLX3DRadeonSuperResolution interface configures the Radeon™ Super Resolution settings on all the compatible AMD GPUs.

- - - - - - - - - -
InterfaceId:IADLX3DRadeonSuperResolution
Smart Pointer Interface Name:IADLX3DRadeonSuperResolutionPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Radeon Super Resolution is an upscaling feature for faster frame rates on any game that runs exclusively in full-screen mode.
-

-

This feature is inactive until the in-game resolution is set lower than the monitor's native resolution. Radeon Super Resolution automatically detects the resolution change, upscales to the native monitor resolution and delivers extra performance.
-
- Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.

-

On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.
-

-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetSharpness Gets the Radeon™ Super Resolution current sharpness.
GetSharpnessRange Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness.
IsEnabled Checks if Radeon™ Super Resolution is enabled.
IsSupported Checks if Radeon™ Super Resolution is supported.
SetEnabled Sets the activation status of Radeon™ Super Resolution.
SetSharpness Sets the Radeon™ Super Resolution sharpness.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the RSR C++ sample.
- For a C application, refer to the RSR C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.js deleted file mode 100644 index c96779a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_radeon_super_resolution = -[ - [ "GetSharpness", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html", null ], - [ "GetSharpnessRange", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html", null ], - [ "SetSharpness", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html deleted file mode 100644 index a90a3ef..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSharpness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSharpness
-
-
-

Gets the Radeon™ Super Resolution current sharpness.

-

Syntax

-
- ADLX_RESULT    GetSharpness (adlx_int* currentSharpness)
- 

Parameters

-
-
-
- - -
1.[out]currentSharpnessadlx_int*The pointer to a variable where the current sharpness of Radeon Super Resolution is returned.
-
-
-

Return Value

-

If the current sharpness is successfully returned, ADLX_OK is returned.
- If the current sharpness is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html deleted file mode 100644 index 4287c10..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSharpnessRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSharpnessRange
-
-
-

Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness.

-

Syntax

-
- ADLX_RESULT    GetSharpnessRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the sharpness range of Radeon Super Resolution is returned.
-
-
-

Return Value

-

If the sharpness range is successfully returned, ADLX_OK is returned.
- If the sharpness range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum sharpness, minimum sharpness, and step sharpness values are read only.

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html deleted file mode 100644 index 4e170f8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if Radeon™ Super Resolution is enabled.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is true if Radeon Super Resolution is enabled. The variable is false if Radeon Super Resolution is not enabled.
-
-
-

Return Value

-

If the state of Radeon Super Resolution is successfully returned, ADLX_OK is returned.
- If the state of Radeon Super Resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.
-

-

Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.

-

On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html deleted file mode 100644 index cbf4d9c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if Radeon™ Super Resolution is supported.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is true if Radeon Super Resolution is supported. The variable is false if Radeon Super Resolution is not supported.
-
-
-

Return Value

-

If the state of Radeon Super Resolution is successfully returned, ADLX_OK is returned.
- If the state of Radeon Super Resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html deleted file mode 100644 index 5254c01..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the activation status of Radeon™ Super Resolution.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new Radeon Super Resolution state. Set true to enable Radeon Super Resolution. Set false to disable Radeon Super Resolution.
-
-
-

Return Value

-

If the state of Radeon Super Resolution is successfully set, ADLX_OK is returned.
- If the state of Radeon Super Resolution is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.
-

-

Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.

-

On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html deleted file mode 100644 index ff2c91b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSharpness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSharpness
-
-
-

Sets the Radeon™ Super Resolution sharpness.

-

Syntax

-
- ADLX_RESULT    SetSharpness (adlx_int sharpness)
- 

Parameters

-
-
-
- - -
1.[in]sharpnessadlx_intThe new sharpness of Radeon Super Resolution.
-
-
-

Return Value

-

If the sharpness is successfully set, ADLX_OK is returned.
- If the sharpness is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Radeon Super Resolution is an upscaling feature for faster game frame rates.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html deleted file mode 100644 index 7b9cd8d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DResetShaderCache
-
-
-

The IADLX3DResetShaderCache interface configures reset shader cache on a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DResetShaderCache
Smart Pointer Interface Name:IADLX3DResetShaderCachePtr
Inherits:IADLXInterface
Inherited By:N/A
-

The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache.

-

Methods

- - - - - - - -
Method Description
IsSupported Checks if resetting the shader cache of a GPU is supported.
ResetShaderCache Resets the content in a disk-based shader cache on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ResetShaderCache C++ sample.
- For a C application, refer to the ResetShaderCache C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.js deleted file mode 100644 index 58df7a2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_reset_shader_cache = -[ - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html", null ], - [ "ResetShaderCache", "_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html deleted file mode 100644 index cfadfef..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if resetting the shader cache of a GPU is supported.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of shader cache reset is returned. The variable is true if shader cache reset is supported. The variable is false if shader cache reset is not supported.
-
-
-

Return Value

-

If the state of shader cache reset is successfully returned, ADLX_OK is returned.
- If the state of shader cache reset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html deleted file mode 100644 index a3d80ba..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ResetShaderCache
-
-
-

Resets the content in a disk-based shader cache on a GPU.

-

Syntax

-
- ADLX_RESULT    ResetShaderCache ()
- 

Parameters

-

N/A

-

Return Value

-

If the shader cache is successfully reset, ADLX_OK is returned.
- If the shader cache is not successfully reset, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears the contents of the disk-based shader cache.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.html deleted file mode 100644 index 04afb0c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DSettingsChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DSettingsChangedEvent
-
-
-

The IADLX3DSettingsChangedEvent interface provides methods to check for changes to the 3D Graphics settings.

- - - - - - - - - -
InterfaceId:IADLX3DSettingsChangedEvent
Smart Pointer Interface Name:IADLX3DSettingsChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:NA
-

Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings.

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetGPU Gets the reference-counted GPU interface on which 3D Graphics settings are changed.
IsAnisotropicFilteringChanged Checks for changes to the Anisotropic Filtering settings.
IsAntiAliasingChanged Checks for changes to the Anti-Aliasing settings.
IsAntiLagChanged Checks for changes to the AMD Radeon™ Anti-Lag settings.
IsBoostChanged Checks for changes to the AMD Radeon™ Boost settings.
IsChillChanged Checks for changes to the AMD Radeon™ Chill settings.
IsEnhancedSyncChanged Checks for changes to the AMD Radeon™ Enhanced Sync settings.
IsFrameRateTargetControlChanged Checks for changes to the AMD Frame Rate Target Control settings.
IsImageSharpeningChanged Checks for changes to the AMD Radeon Image Sharpening settings.
IsMorphologicalAntiAliasingChanged Checks for changes to the Morphological Anti-Aliasing settings.
IsRadeonSuperResolutionChanged Checks for changes to the Radeon™ Super Resolution settings.
IsResetShaderCache Checks if shader cache is reset.
IsTessellationModeChanged Checks for changes to the Tessellation settings.
IsWaitForVerticalRefreshChanged Checks for changes to the Wait for Vertical Refresh settings.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample.
- For a C application, refer to the Sync3DReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.js deleted file mode 100644 index a34f9b0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event.js +++ /dev/null @@ -1,17 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_settings_changed_event = -[ - [ "GetGPU", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html", null ], - [ "IsAnisotropicFilteringChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html", null ], - [ "IsAntiAliasingChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html", null ], - [ "IsAntiLagChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html", null ], - [ "IsBoostChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html", null ], - [ "IsChillChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html", null ], - [ "IsEnhancedSyncChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html", null ], - [ "IsFrameRateTargetControlChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html", null ], - [ "IsImageSharpeningChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html", null ], - [ "IsMorphologicalAntiAliasingChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html", null ], - [ "IsRadeonSuperResolutionChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html", null ], - [ "IsResetShaderCache", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html", null ], - [ "IsTessellationModeChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html", null ], - [ "IsWaitForVerticalRefreshChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html deleted file mode 100644 index 89eafc2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPU
-
-
-

Gets the reference-counted GPU interface on which 3D Graphics settings are changed.

-

Syntax

-
- ADLX_RESULT    GetGPU (IADLXGPU **ppGPU)
- 

Parameters

-
-
-
- - -
1.[out] ppGPUIADLXGPU** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr.
-
-
-

Return Value

-

If the GPU interface is successfully returned, ADLX_OK is returned.
- If the GPU interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html deleted file mode 100644 index 6616bf5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsAnisotropicFilteringChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsAnisotropicFilteringChanged
-
-
-

Checks for changes to the Anisotropic Filtering settings.

-

Syntax

-
- adlx_bool    IsAnisotropicFilteringChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Anisotropic Filtering settings, true is returned.
- If there are on changes to the Anisotropic Filtering settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html deleted file mode 100644 index b1b7cf3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsAntiAliasingChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsAntiAliasingChanged
-
-
-

Checks for changes to the Anti-Aliasing settings.

-

Syntax

-
- adlx_bool    IsAntiAliasingChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Anti-Aliasing settings, true is returned.
- If there are on changes to the Anti-Aliasing settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html deleted file mode 100644 index a77c9f0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsAntiLagChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsAntiLagChanged
-
-
-

Checks for changes to the AMD Radeon™ Anti-Lag settings.

-

Syntax

-
- adlx_bool    IsAntiLagChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Radeon Anti-Lag settings, true is returned.
- If there are on changes to the Radeon Anti-Lag settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html deleted file mode 100644 index f3a0a80..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsBoostChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsBoostChanged
-
-
-

Checks for changes to the AMD Radeon™ Boost settings.

-

Syntax

-
- adlx_bool    IsBoostChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the AMD Radeon Boost settings, true is returned.
- If there are on changes to the AMD Radeon Boost settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html deleted file mode 100644 index 7ee9675..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsChillChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsChillChanged
-
-
-

Checks for changes to the AMD Radeon™ Chill settings.

-

Syntax

-
- adlx_bool    IsChillChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the AMD Radeon Chill settings, true is returned.
- If there are on changes to the AMD Radeon Chill settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html deleted file mode 100644 index 9c86d5e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnhancedSyncChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnhancedSyncChanged
-
-
-

Checks for changes to the AMD Radeon™ Enhanced Sync settings.

-

Syntax

-
- adlx_bool    IsEnhancedSyncChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the AMD Radeon Enhanced Sync settings, true is returned.
- If there are on changes to the AMD Radeon Enhanced Sync settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html deleted file mode 100644 index bdd537e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsFrameRateTargetControlChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsFrameRateTargetControlChanged
-
-
-

Checks for changes to the AMD Frame Rate Target Control settings.

-

Syntax

-
- adlx_bool    IsFrameRateTargetControlChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the AMD Frame Rate Target Control settings, true is returned.
- If there are on changes to the AMD Frame Rate Target Control settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html deleted file mode 100644 index ef041b3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsImageSharpeningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsImageSharpeningChanged
-
-
-

Checks for changes to the AMD Radeon Image Sharpening settings.

-

Syntax

-
- adlx_bool    IsImageSharpeningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Radeon Image Sharpening settings, true is returned.
- If there are on changes to the Radeon Image Sharpening settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html deleted file mode 100644 index dfbad0d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsMorphologicalAntiAliasingChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsMorphologicalAntiAliasingChanged
-
-
-

Checks for changes to the Morphological Anti-Aliasing settings.

-

Syntax

-
- adlx_bool    IsMorphologicalAntiAliasingChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Morphological Anti-Aliasing settings, true is returned.
- If there are on changes to the Morphological Anti-Aliasing settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html deleted file mode 100644 index a35604d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsRadeonSuperResolutionChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsRadeonSuperResolutionChanged
-
-
-

Checks for changes to the Radeon™ Super Resolution settings.

-

Syntax

-
- adlx_bool    IsRadeonSuperResolutionChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Radeon Super Resolution settings, true is returned.
- If there are no changes to the Radeon Super Resolution settings, false is returned.
-

-

Additional Info

-

Note: Radeon Super Resolution settings are global for all the supported GPUs. For this event notification, GetGPU returns nullpr.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html deleted file mode 100644 index 35adce2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsResetShaderCache
-
-
-

Checks if shader cache is reset.

-

Syntax

-
- adlx_bool    IsResetShaderCache ()
- 

Parameters

-

N/A

-

Return Value

-

If shader cache settings is reset, true is returned.
- If shader cache settings is not reset, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html deleted file mode 100644 index a9c8469..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsTessellationModeChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsTessellationModeChanged
-
-
-

Checks for changes to the Tessellation settings.

-

Syntax

-
- adlx_bool    IsTessellationModeChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Tessellation settings, true is returned.
- If there are no changes to the Tessellation settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html deleted file mode 100644 index 9c691e4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsWaitForVerticalRefreshChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsWaitForVerticalRefreshChanged
-
-
-

Checks for changes to the Wait for Vertical Refresh settings.

-

Syntax

-
- adlx_bool    IsWaitForVerticalRefreshChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the Wait for Vertical Refresh settings, true is returned.
- If there are on changes to the Wait for Vertical Refresh settings, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html deleted file mode 100644 index ee9f43d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DSettingsChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DSettingsChangedHandling
-
-
-

The IADLX3DSettingsChangedHandling interface allows registering and unregistering for notifications when 3D Graphics settings change.

- - - - - - - - - -
InterfaceId:IADLX3DSettingsChangedHandling
Smart Pointer Interface Name:IADLX3DSettingsChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add3DSettingsEventListener Registers an event listener for notifications when 3D Graphics settings change.
Remove3DSettingsEventListener Unregisters an event listener from 3D Graphics settings event list.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample.
- For a C application, refer to the Sync3DReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.js deleted file mode 100644 index 42efd91..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_settings_changed_handling = -[ - [ "Add3DSettingsEventListener", "_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html", null ], - [ "Remove3DSettingsEventListener", "_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html deleted file mode 100644 index 15576e4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add3DSettingsEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add3DSettingsEventListener
-
-
-

Registers an event listener for notifications when 3D Graphics settings change.

-

Syntax

-
- ADLX_RESULT    Add3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] p3DSettingsChangedListenerIADLX3DSettingsChangedListener* The pointer to the event listener interface to register for receiving 3D Graphics settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call On3DSettingsChanged method of the listener when 3D Graphics settings change.
- The event listener instance must exist until the application unregisters the event listener with Remove3DSettingsEventListener.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html deleted file mode 100644 index ae13b06..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Remove3DSettingsEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Remove3DSettingsEventListener
-
-
-

Unregisters an event listener from 3D Graphics settings event list.

-

Syntax

-
- ADLX_RESULT    Remove3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] p3DSettingsChangedListenerIADLX3DSettingsChangedListener* The pointer to the event listener interface to unregister from receiving 3D Graphics settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call On3DSettingsChanged method of the listener when 3D Graphics settings change. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html deleted file mode 100644 index df419e3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DSettingsChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DSettingsChangedListener
-
-
-

The IADLX3DSettingsChangedListener interface is implemented in the application to receive an event from ADLX when 3D Graphics settings change.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLX3DSettingsChangedListener interface must be passed to Add3DSettingsEventListener to register for notifications when 3D Graphics settings change.
- For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
On3DSettingsChanged On3DSettingsChanged is called by ADLX when 3D Graphics settings change.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample.
- For a C application, refer to the Sync3DReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.js deleted file mode 100644 index 0181f98..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_settings_changed_listener = -[ - [ "On3DSettingsChanged", "_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html deleted file mode 100644 index 6203a5b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: On3DSettingsChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
On3DSettingsChanged
-
-
-

On3DSettingsChanged is called by ADLX when 3D Graphics settings change.

-

Syntax

-
- adlx_bool    On3DSettingsChanged (IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] p3DSettingsChangedEventIADLX3DSettingsChangedEvent* The pointer to a 3D Graphics settings change event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with Add3DSettingsEventListener, ADLX will call this method until the application unregisters from the notifications with Remove3DSettingsEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D Graphics settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D Graphics settings change event with Release.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.html deleted file mode 100644 index 6322f88..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DSettingsServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DSettingsServices
-
-
-

The IADLX3DSettingsServices interface is the main interface for the 3D Graphics domain. It provides access to interfaces that control specific 3D Graphics settings features, such as AMD Radeon™ Anti-Lag, AMD Radeon™ Chill, AMD Radeon™ Boost, and AMD Radeon Image Sharpening.

- - - - - - - - - -
InterfaceId:IADLX3DSettingsServices
Smart Pointer Interface Name:IADLX3DSettingsServicesPtr
Inherits:IADLXInterface
Inherited By:NA
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
Get3DSettingsChangedHandling Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change.
GetAnisotropicFiltering Gets the reference-counted Anisotropic Filtering interface of a GPU.
GetAntiAliasing Gets the reference-counted Anti-Aliasing interface of a GPU.
GetAntiLag Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU.
GetBoost Gets the reference-counted AMD Radeon™ Boost interface of a GPU.
GetChill Gets the reference-counted AMD Radeon™ Chill interface of a GPU.
GetEnhancedSync Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU.
GetFrameRateTargetControl Gets the reference-counted AMD Frame Rate Target Control interface of a GPU.
GetImageSharpening Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU.
GetMorphologicalAntiAliasing Gets the reference-counted Morphological Anti-Aliasing interface of a GPU.
GetRadeonSuperResolution Gets the reference-counted Radeon™ Super Resolution interface.
GetResetShaderCache Gets the reference-counted Reset Shader Cache interface of a GPU.
GetTessellation Gets the reference-counted Tessellation interface of a GPU.
GetWaitForVerticalRefresh Gets the reference-counted Wait for Vertical Refresh interface of a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Boost C++ sample.
- For a C application, refer to the Boost C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.js deleted file mode 100644 index 58d9872..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services.js +++ /dev/null @@ -1,17 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_settings_services = -[ - [ "Get3DSettingsChangedHandling", "_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html", null ], - [ "GetAnisotropicFiltering", "_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html", null ], - [ "GetAntiAliasing", "_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html", null ], - [ "GetAntiLag", "_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html", null ], - [ "GetBoost", "_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html", null ], - [ "GetChill", "_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html", null ], - [ "GetEnhancedSync", "_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html", null ], - [ "GetFrameRateTargetControl", "_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html", null ], - [ "GetImageSharpening", "_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html", null ], - [ "GetMorphologicalAntiAliasing", "_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html", null ], - [ "GetRadeonSuperResolution", "_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html", null ], - [ "GetResetShaderCache", "_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html", null ], - [ "GetTessellation", "_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html", null ], - [ "GetWaitForVerticalRefresh", "_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html deleted file mode 100644 index d2f26c0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Get3DSettingsChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Get3DSettingsChangedHandling
-
-
-

Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change.

-

Syntax

-
- ADLX_RESULT    Get3DSettingsChangedHandling (IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling)
- 

Parameters

-
-
-
- - -
1.[out] pp3DSettingsChangedHandlingIADLX3DSettingsChangedHandling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DSettingsChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html deleted file mode 100644 index 51905ee..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAnisotropicFiltering - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAnisotropicFiltering
-
-
-

Gets the reference-counted Anisotropic Filtering interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetAnisotropicFiltering (IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DAnisotropicFilteringIADLX3DAnisotropicFiltering** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DAnisotropicFiltering to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html deleted file mode 100644 index dbdf4e2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAntiAliasing
-
-
-

Gets the reference-counted Anti-Aliasing interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetAntiAliasing (IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DAntiAliasingIADLX3DAntiAliasing** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DAntiAliasing to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html deleted file mode 100644 index be5b54d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAntiLag - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAntiLag
-
-
-

Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetAntiLag (IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DAntiLagIADLX3DAntiLag** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DAntiLag to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html deleted file mode 100644 index 266e752..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBoost - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBoost
-
-
-

Gets the reference-counted AMD Radeon™ Boost interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetBoost (IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DBoostIADLX3DBoost** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DBoost to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html deleted file mode 100644 index 1afc50c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetChill - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetChill
-
-
-

Gets the reference-counted AMD Radeon™ Chill interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetChill (IADLXGPU* pGPU, IADLX3DChill** pp3DChill)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DChillIADLX3DChill** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DChill to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html deleted file mode 100644 index 415d8c9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetEnhancedSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetEnhancedSync
-
-
-

Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetEnhancedSync (IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DEnhancedSyncIADLX3DEnhancedSync** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DEnhancedSync to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html deleted file mode 100644 index c3d5b2a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFrameRateTargetControl - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFrameRateTargetControl
-
-
-

Gets the reference-counted AMD Frame Rate Target Control interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetFrameRateTargetControl (IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DFrameRateTargetControlIADLX3DFrameRateTargetControl** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DFrameRateTargetControl to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html deleted file mode 100644 index 1272276..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetImageSharpening - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetImageSharpening
-
-
-

Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetImageSharpening (IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DImageSharpeningIADLX3DImageSharpening** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DImageSharpening to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html deleted file mode 100644 index 06abaeb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMorphologicalAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMorphologicalAntiAliasing
-
-
-

Gets the reference-counted Morphological Anti-Aliasing interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetMorphologicalAntiAliasing (IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DMorphologicalAntiAliasingIADLX3DMorphologicalAntiAliasing** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DMorphologicalAntiAliasing to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html deleted file mode 100644 index ebd447c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetRadeonSuperResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetRadeonSuperResolution
-
-
-

Gets the reference-counted Radeon™ Super Resolution interface.

-

Syntax

-
- ADLX_RESULT    GetRadeonSuperResolution (IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution)
- 

Parameters

-
-
-
- - -
1.[out] pp3DRadeonSuperResolutionIADLX3DRadeonSuperResolution** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DRadeonSuperResolution to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html deleted file mode 100644 index 8fb541e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetResetShaderCache
-
-
-

Gets the reference-counted Reset Shader Cache interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetResetShaderCache (IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DResetShaderCacheIADLX3DResetShaderCache** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DResetShaderCache to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html deleted file mode 100644 index 2e26c0a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTessellation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTessellation
-
-
-

Gets the reference-counted Tessellation interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetTessellation (IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DTessellationIADLX3DTessellation** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DTessellation to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html deleted file mode 100644 index fd03c7b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetWaitForVerticalRefresh - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetWaitForVerticalRefresh
-
-
-

Gets the reference-counted Wait for Vertical Refresh interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetWaitForVerticalRefresh (IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] pp3DWaitForVerticalRefreshIADLX3DWaitForVerticalRefresh** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DWaitForVerticalRefresh to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.html deleted file mode 100644 index 7daacfe..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DTessellation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DTessellation
-
-
-

The IADLX3DTessellation interface configures the tessellation settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DTessellation
Smart Pointer Interface Name:IADLX3DTessellationPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Methods

- - - - - - - - - - - - - -
Method Description
GetLevel Gets the current tessellation level on a GPU.
GetMode Gets the current tessellation mode on a GPU.
IsSupported Checks if tessellation is supported on a GPU.
SetLevel Sets the tessellation level on a GPU.
SetMode Sets the tessellation mode on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Tessellation C++ sample.
- For a C application, refer to the Tessellation C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.js deleted file mode 100644 index d54fc5c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_tessellation = -[ - [ "GetLevel", "_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html", null ], - [ "GetMode", "_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html", null ], - [ "SetLevel", "_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html", null ], - [ "SetMode", "_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html deleted file mode 100644 index b7efb8e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetLevel
-
-
-

Gets the current tessellation level on a GPU.

-

Syntax

-
- ADLX_RESULT    GetLevel (ADLX_TESSELLATION_LEVEL* currentLevel)
- 

Parameters

-
-
-
- - -
1.[out]currentLevelADLX_TESSELLATION_LEVEL*The pointer to a variable where the current tessellation level is returned.
-
-
-

Return Value

-

If the current tessellation level is successfully returned, ADLX_OK is returned.
- If the current tessellation level is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html deleted file mode 100644 index eeeb7d1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMode
-
-
-

Gets the current tessellation mode on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMode (ADLX_TESSELLATION_MODE* currentMode)
- 

Parameters

-
-
-
- - -
1.[out]currentModeADLX_TESSELLATION_MODE*The pointer to a variable where the current tessellation mode is returned.
-
-
-

Return Value

-

If the current tessellation mode is successfully returned, ADLX_OK is returned.
- If the current tessellation mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html deleted file mode 100644 index 9a3ce9d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if tessellation is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of tessellation is returned. The variable is true if tessellation is supported. The variable is false if tessellation is not supported.
-
-
-

Return Value

-

If the state of tessellation is successfully returned, ADLX_OK is returned.
- If the state of tessellation is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html deleted file mode 100644 index d57fd71..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetLevel - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetLevel
-
-
-

Sets the tessellation level on a GPU.

-

Syntax

-
- ADLX_RESULT    SetLevel (ADLX_TESSELLATION_LEVEL level)
- 

Parameters

-
-
-
- - -
1.[in]levelADLX_TESSELLATION_LEVELThe new tessellation level.
-
-
-

Return Value

-

If the tessellation level is successfully set, ADLX_OK is returned.
- If the tessellation level is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html deleted file mode 100644 index b849ce4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMode
-
-
-

Sets the tessellation mode on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMode (ADLX_TESSELLATION_MODE mode)
- 

Parameters

-
-
-
- - -
1.[in]modeADLX_TESSELLATION_MODEThe new tessellation mode.
-
-
-

Return Value

-

If the tesssellation mode is successfully set, ADLX_OK is returned.
- If the tessellation mode is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html deleted file mode 100644 index c0099af..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLX3DWaitForVerticalRefresh - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLX3DWaitForVerticalRefresh
-
-
-

The IADLX3DWaitForVerticalRefresh interface configures the vertical refresh (VSync) settings of a GPU.

- - - - - - - - - -
InterfaceId:IADLX3DWaitForVerticalRefresh
Smart Pointer Interface Name:IADLX3DWaitForVerticalRefreshPtr
Inherits:IADLXInterface
Inherited By:N/A
-

VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- Limits the frame rate at the display’s refresh rate.
-

-

Dependent Interfaces

-

Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.
- If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled.

-

Methods

- - - - - - - - - - - -
Method Description
GetMode Gets the current VSync mode on a GPU.
IsEnabled Checks if VSync is enabled on a GPU.
IsSupported Checks if VSync is supported on a GPU.
SetMode Sets the VSync mode on a GPU.
-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the WaitForVerticalRefresh C++ sample.
- For a C application, refer to the WaitForVerticalRefresh C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.js deleted file mode 100644 index 58e6ecc..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh = -[ - [ "GetMode", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html", null ], - [ "SetMode", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html deleted file mode 100644 index e627aa8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMode
-
-
-

Gets the current VSync mode on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode)
- 

Parameters

-
-
-
- - -
1.[out]currentModeADLX_WAIT_FOR_VERTICAL_REFRESH_MODE*The pointer to a variable where the current VSync mode is returned.
-
-
-

Return Value

-

If the current VSync mode is successfully returned, ADLX_OK is returned.
- If the current VSync mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- Limits the frame rate at the display’s refresh rate.
- Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.
- If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html deleted file mode 100644 index c8c90cf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if VSync is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of VSync is returned. The variable is true if VSync is enabled. The variable is false if VSync is not enabled.
-
-
-

Return Value

-

If the state of VSync is successfully returned, ADLX_OK is returned.
- If the state of VSync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- Limits the frame rate at the display’s refresh rate.
- Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.
- If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.
- If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html deleted file mode 100644 index 90dba1b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if VSync is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of VSync is returned. The variable is true if VSync is supported. The variable is false if VSync is not supported.
-
-
-

Return Value

-

If the state of VSync is successfully returned, ADLX_OK is returned.
- If the state of VSync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- Limits the frame rate at the display’s refresh rate.
-

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html deleted file mode 100644 index 3857f7b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMode
-
-
-

Sets the VSync mode on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode)
- 

Parameters

-
-
-
- - -
1.[in]modeADLX_WAIT_FOR_VERTICAL_REFRESH_MODEThe new VSync mode.
-
-
-

Return Value

-

If the VSync mode is successfully set, ADLX_OK is returned.
- If the VSync mode is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.
- Limits the frame rate at the display’s refresh rate.
- Note: VSync configuration affects the state of AMD Radeon™ Enhanced Sync.
- If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled.
- If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled.

-

Requirements

- - - - - -
Headerinclude "I3DSettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.html deleted file mode 100644 index 0d7803f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXAllMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXAllMetrics
-
-
-

The IADLXALLMetrics interface provides methods to access the GPU metrics, system metrics and FPS of a metric sample.

- - - - - - - - - -
InterfaceId:IADLXAllMetrics
Smart Pointer Interface Name:IADLXAllMetricsPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - -
Method Description
GetFPS Gets the reference counted FPS metrics interface of a metric sample.
GetGPUMetrics Gets the reference counted GPU metrics interface of a metric sample.
GetSystemMetrics Gets the reference counted system metrics interface of a metric sample.
TimeStamp Gets the timestamp of a metric sample.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfAllMetrics C++ sample.
- For a C application, refer to the PerfAllMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.js deleted file mode 100644 index 9217162..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_all_metrics = -[ - [ "GetFPS", "_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html", null ], - [ "GetGPUMetrics", "_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html", null ], - [ "GetSystemMetrics", "_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html", null ], - [ "TimeStamp", "_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html deleted file mode 100644 index ee019fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFPS
-
-
-

Gets the reference counted FPS metrics interface of a metric sample.

-

Syntax

-
- ADLX_RESULT    GetFPS (IADLXFPS** ppFPS)
- 

Parameters

-
-
-
- - -
1.[out] ppFPSIADLXFPS** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppFPS to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html deleted file mode 100644 index 6891673..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMetrics
-
-
-

Gets the reference counted GPU metrics interface of a metric sample.

-

Syntax

-
- ADLX_RESULT    GetGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppGPUMetrics)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to a variable where IADLXGPU interface is returned.
-
-
-
-
-
- - -
2.[out] ppGPUMetricsIADLXGPUMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html deleted file mode 100644 index 4794984..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSystemMetrics
-
-
-

Gets the reference counted system metrics interface of a metric sample.

-

Syntax

-
- ADLX_RESULT    GetSystemMetrics (IADLXSystemMetrics** ppSystemMetrics)
- 

Parameters

-
-
-
- - -
1.[out] ppSystemMetricsIADLXSystemMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSystemMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html deleted file mode 100644 index 9362513..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TimeStamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TimeStamp
-
-
-

Gets the timestamp of a metric sample.

-

Syntax

-
- ADLX_RESULT    TimeStamp (adlx_int64* ms)
- 

Parameters

-
-
-
- - -
1.[out] msadlx_int64* The pointer to a variable where the timestamp (in ms) is returned.
-
-
-

Return Value

-

If the timestamp is successfully returned, ADLX_OK is returned.
- If the timestamp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.html deleted file mode 100644 index a8f1b2c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXAllMetricsList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXAllMetricsList
-
-
-

The IADLXAllMetricsList is an interface for a collection of IADLXAllMetrics interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXAllMetricsList
Smart Pointer Interface Name:IADLXAllMetricsListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfAllMetrics C++ sample.
- For a C application, refer to the PerfAllMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.js deleted file mode 100644 index 74efff8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_all_metrics_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_all_metrics_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html deleted file mode 100644 index ac03a6a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXAllMetrics* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXAllMetrics* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__at.html deleted file mode 100644 index 8b7e4f1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_all_metrics_list__at.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXAllMetrics** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXAllMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.html deleted file mode 100644 index 1c23f68..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXChangedEvent
-
-
-

The IADLXChangedEvent interface provides methods to check for changes to the settings monitored by this application using ADLX.

- - - - - - - - - -
InterfaceId:IADLXChangedEvent
Smart Pointer Interface Name:IADLXChangedEventPtr
Inherits:IADLXInterface
Inherited By:IADLX3DSettingsChangedEvent IADLXDisplayGamutChangedEvent IADLXDisplayGammaChangedEvent IADLXDisplay3DLUTChangedEvent IADLXDisplaySettingsChangedEvent IADLXGPUTuningChangedEvent IADLXPowerTuningChangedEvent
-

Methods

- - - - - -
Method Description
GetOrigin Gets the origin of an event.
-

Requirements

- - - - - -
Headerinclude "IADLXChangedEvent.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.js deleted file mode 100644 index a5e2b86..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_changed_event = -[ - [ "GetOrigin", "_d_o_x__i_a_d_l_x_changed_event__get_origin.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event__get_origin.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event__get_origin.html deleted file mode 100644 index 3a34756..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_changed_event__get_origin.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetOrigin - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetOrigin
-
-
-

Gets the origin of an event.

-

Syntax

-
- ADLX_SYNC_ORIGIN    GetOrigin ()
- 

Parameters

-

N/A

-

Return Value

-

If the event is triggered by a change in settings using ADLX in this application, SYNC_ORIGIN_INTERNAL is returned.
- If the event is triggered by a change in settings using ADLX in another application, SYNC_ORIGIN_EXTERNAL is returned.
- If the event has an unknown trigger, SYNC_ORIGIN_UNKNOWN is returned.
-

-

Requirements

- - - - - -
Headerinclude "IADLXChangedEvent.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.html deleted file mode 100644 index 6311844..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDesktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDesktop
-
-
-

The IADLXDesktop interface provides properties of a desktop, such as size, location, and displays associated with it.

- - - - - - - - - -
InterfaceId:IADLXDesktop
Smart Pointer Interface Name:IADLXDesktopPtr
Inherits:IADLXInterface
Inherited By:N/A
-

To get the IADLXDesktop, an application should get a list of desktops first via IADLXDesktopServices interface.

-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetDisplays Gets the reference counted list of displays that show pixels from a desktop.
GetNumberOfDisplays Gets the number of displays that show pixels from a desktop.
Orientation Gets the orientation of a desktop.
Size Gets the size of a desktop.
TopLeft Get the top left position of a desktop in Windows screen coordinates.
Type Get the type of a desktop.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample.
- For a C application, refer to the DesktopsEvent C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.js deleted file mode 100644 index 33d5242..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x_desktop = -[ - [ "GetDisplays", "_d_o_x__i_a_d_l_x_desktop__get_displays.html", null ], - [ "GetNumberOfDisplays", "_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html", null ], - [ "Orientation", "_d_o_x__i_a_d_l_x_desktop__orientation.html", null ], - [ "Size", "_d_o_x__i_a_d_l_x_desktop__size.html", null ], - [ "TopLeft", "_d_o_x__i_a_d_l_x_desktop__top_left.html", null ], - [ "Type", "_d_o_x__i_a_d_l_x_desktop__type.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_displays.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_displays.html deleted file mode 100644 index 35c50cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_displays.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplays - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplays
-
-
-

Gets the reference counted list of displays that show pixels from a desktop.

-

Syntax

-
- ADLX_RESULT    GetDisplays (IADLXDisplayList** ppDisplays)
- 

Parameters

-
-
-
- - -
1.[out] ppDisplaysIADLXDisplayList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplays to nullptr.
-
-
-

Return Value

-

If the list of displays is successfully returned, ADLX_OK is returned.
- If the list of displays is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html deleted file mode 100644 index bfc61bd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetNumberOfDisplays - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetNumberOfDisplays
-
-
-

Gets the number of displays that show pixels from a desktop.

-

Syntax

-
- ADLX_RESULT    GetNumberOfDisplays (adlx_uint* numDisplays)
- 

Parameters

-
-
-
- - -
1.[out] numDisplaysadlx_uint* The pointer to a variable where the number of displays is returned.
-
-
-

Return Value

-

If the number of displays is successfully returned, ADLX_OK is returned.
- If the number of displays is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The number of displays that show pixels from a desktop depends on the desktop Type.
- A single desktop is associated with one display.
- A duplicate desktop is associated with two or more displays.
- An AMD Eyefinity desktop is associated with two or more displays.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__orientation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__orientation.html deleted file mode 100644 index af12f37..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__orientation.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Orientation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Orientation
-
-
-

Gets the orientation of a desktop.

-

Syntax

-
- ADLX_RESULT    Orientation (ADLX_ORIENTATION* orientation)
- 

Parameters

-
-
-
- - -
1.[out] orientationADLX_ORIENTATION* The pointer to a variable where the orientation is returned.
-
-
-

Return Value

-

If the orientation is successfully returned, ADLX_OK is returned.
- If the orientation is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The desktop orientation indicates the rotation angle of the desktop.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__size.html deleted file mode 100644 index 212449f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__size.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Size - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Size
-
-
-

Gets the size of a desktop.

-

Syntax

-
- ADLX_RESULT    Size (adlx_int* width, adlx_int* height)
- 

Parameters

-
-
-
- - -
1.[out] widthadlx_int* The pointer to a variable where the width is returned.
-
-
-
-
-
- - -
2.[out] heightadlx_int* The pointer to a variable where the height is returned.
-
-
-

Return Value

-

If the width and height are successfully returned, ADLX_OK is returned.
- If the width and height are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The desktop size represents the pixel resolution of the desktop.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__top_left.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__top_left.html deleted file mode 100644 index b395296..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__top_left.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TopLeft - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TopLeft
-
-
-

Get the top left position of a desktop in Windows screen coordinates.

-

Syntax

-
- ADLX_RESULT    TopLeft (ADLX_Point* locationTopLeft)
- 

Parameters

-
-
-
- - -
1.[out] locationTopLeftADLX_Point* The pointer to a variable where the top left position is returned.
-
-
-

Return Value

-

If the top left position is successfully returned, ADLX_OK is returned.
- If the top left position is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The desktop top left position is measured in screen coordinates.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__type.html deleted file mode 100644 index 85ae289..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop__type.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Type - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Type
-
-
-

Get the type of a desktop.

-

Syntax

-
- ADLX_RESULT    Type (ADLX_DESKTOP_TYPE* desktopType)
- 

Parameters

-
-
-
- - -
1.[out] desktopTypeADLX_DESKTOP_TYPE* The pointer to a variable where the desktop type is returned.
-
-
-

Return Value

-

If the desktop type is successfully returned, ADLX_OK is returned.
- If the desktop type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The desktop type indicates if the desktop is single, duplicate or AMD Eyefinity.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.html deleted file mode 100644 index 02733a8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDesktopChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDesktopChangedHandling
-
-
-

The IADLXDesktopChangedHandling interface allows registering and unregistering for notifications when the desktop list changes.

- - - - - - - - - -
InterfaceId:IADLXDesktopChangedHandling
Smart Pointer Interface Name:IADLXDesktopChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
AddDesktopListEventListener Registers an event listener for notifications when the desktop list changes.
RemoveDesktopListEventListener Unregisters an event listener from notifications when the desktop list changes.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample.
- For a C application, refer to the DesktopsEvent C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.js deleted file mode 100644 index 5cbaa1f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_desktop_changed_handling = -[ - [ "AddDesktopListEventListener", "_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html", null ], - [ "RemoveDesktopListEventListener", "_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html deleted file mode 100644 index ccb5c84..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDesktopListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDesktopListEventListener
-
-
-

Registers an event listener for notifications when the desktop list changes.

-

Syntax

-
- ADLX_RESULT    AddDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDesktopListChangedListenerIADLXDesktopListChangedListener* The pointer to the event listener interface to register for receiving the desktop list change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDesktopListChanged of the listener when the desktop list changes.
- The event listener instance must exist until the application unregisters the event listener with RemoveDesktopListEventListener.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html deleted file mode 100644 index 50b5e63..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDesktopListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDesktopListEventListener
-
-
-

Unregisters an event listener from notifications when the desktop list changes.

-

Syntax

-
- ADLX_RESULT    RemoveDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDesktopListChangedListenerIADLXDesktopListChangedListener* The pointer to the event listener interface to unregister from receiving the desktop list change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDesktopListChanged method of the listener when the desktop list changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.html deleted file mode 100644 index 2d3e1aa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDesktopList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDesktopList
-
-
-

The IADLXDesktopList is an interface for a collection of IADLXDesktop interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXDesktopList
Smart Pointer Interface Name:IADLXDesktopListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample.
- For a C application, refer to the Eyefinity C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.js deleted file mode 100644 index 539fc0a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_desktop_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_desktop_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_desktop_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__add__back.html deleted file mode 100644 index 95e6ddb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__add__back.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXDesktop* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXDesktop* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__at.html deleted file mode 100644 index b38f6e4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXDesktop** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXDesktop** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html deleted file mode 100644 index d5a7c7f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDesktopListChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDesktopListChangedListener
-
-
-

The IADLXDesktopListChangedListener interface is implemented in the application to receive a new list of desktops from ADLX when the desktop list changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDesktopListChangedListener interface must be passed to AddDesktopListEventListener to register for notifications when the desktop list changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.

-

Methods

- - - - - -
Method Description
OnDesktopListChanged The OnDesktopsListChanged is called by ADLX when the desktop list changes.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample.
- For a C application, refer to the DesktopsEvent C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.js deleted file mode 100644 index a2509c2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_desktop_list_changed_listener = -[ - [ "OnDesktopListChanged", "_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html deleted file mode 100644 index 24efbab..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDesktopListChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDesktopListChanged
-
-
-

The OnDesktopsListChanged is called by ADLX when the desktop list changes.

-

Syntax

-
- adlx_bool    OnDesktopListChanged (IADLXDesktopList* pNewDesktop)
- 

Parameters

-
-
-
- - -
1.[out] pNewDesktopIADLXDesktopList* The pointer to the new desktop list.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDesktopListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDesktopListEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new desktop list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new desktop list with Release.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.html deleted file mode 100644 index dccc24e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDesktopServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDesktopServices
-
-
-

The IADLXDesktopServices is the main interface for the Desktop domain and provides control to desktop specific functionality.

- - - - - - - - - -
InterfaceId:IADLXDesktopServices
Smart Pointer Interface Name:IADLXDesktopServicesPtr
Inherits:IADLXInterface
Inherited By:N/A
-

The IADLXDesktopServices interface provides:
- – the list of desktops instantiated on the AMD GPUs.
- – the interface for registering and unregistering for notifications when the desktops are changed.
- – the interface for creating and destroying AMD Eyefinity desktops.
-

-

Methods

- - - - - - - - - - - -
Method Description
GetDesktopChangedHandling Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change.
GetDesktops Gets the reference counted list of desktops instantiated on the AMD GPUs.
GetNumberOfDesktops Gets the number of desktops instantiated on the AMD GPUs.
GetSimpleEyefinity Gets the reference counted interface to create and destroy AMD Eyefinity desktops.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample.
- For a C application, refer to the Eyefinity C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.js deleted file mode 100644 index 22f84db..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_desktop_services = -[ - [ "GetDesktopChangedHandling", "_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html", null ], - [ "GetDesktops", "_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html", null ], - [ "GetNumberOfDesktops", "_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html", null ], - [ "GetSimpleEyefinity", "_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html deleted file mode 100644 index d7de010..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDesktopChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDesktopChangedHandling
-
-
-

Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change.

-

Syntax

-
-  ADLX_RESULT   GetDesktopChangedHandling (IADLXDesktopChangedHandling** ppDesktopChangedHandling)
-  

Parameters

-
-
-
- - -
1.[out] ppDesktopChangedHandlingIADLXDesktopChangedHandling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDeskChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html deleted file mode 100644 index 4a904a7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDesktops - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDesktops
-
-
-

Gets the reference counted list of desktops instantiated on the AMD GPUs.

-

Syntax

-
- ADLX_RESULT    GetDesktops (IADLXDesktopList** ppDesktops)
- 

Parameters

-
-
-
- - -
1.[out] ppDesktopsIADLXDesktopList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDesktops to nullptr.
-
-
-

Return Value

-

If the list of desktops is successfully returned, ADLX_OK is returned.
- If the list of desktops is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

For more information about the AMD GPUs, refer to ADLX GPU Support.
- The returned interface must be discarded with Release when it is no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html deleted file mode 100644 index 1e98ca9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetNumberOfDesktops - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetNumberOfDesktops
-
-
-

Gets the number of desktops instantiated on the AMD GPUs.

-

Syntax

-
- ADLX_RESULT    GetNumberOfDesktops (adlx_uint* numDesktops)
- 

Parameters

-
-
-
- - -
1.[out] numDesktopsadlx_uint* The pointer to a variable where the number of desktops is returned.
-
-
-

Return Value

-

If the number of desktops is successfully returned, ADLX_OK is returned.
- If the number of desktops is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

For more information about the AMD GPUs, refer to ADLX GPU Support.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html deleted file mode 100644 index 9beb5b6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSimpleEyefinity - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSimpleEyefinity
-
-
-

Gets the reference counted interface to create and destroy AMD Eyefinity desktops.

-

Syntax

-
-  ADLX_RESULT   GetSimpleEyefinity (IADLXSimpleEyefinity** ppSimpleEyefinity)
-  

Parameters

-
-
-
- - -
1.[out] ppSimpleEyefinityIADLXSimpleEyefinity** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSimpleEyefinity to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.html deleted file mode 100644 index 0eaa8f4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplay
-
-
-

The IADLXDisplay interface provides basic information about a display.

- - - - - - - - - -
InterfaceId:IADLXDisplay
Smart Pointer Interface Name:IADLXDisplayPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
ConnectorType Gets the connector type of a display.
DisplayType Gets the type of a display.
EDID Gets the virtual EDID (Extended Display Identification Data) of a display.
GetGPU Gets the reference counted GPU interface of a display.
ManufacturerID Gets the manufacturer id of a display.
Name Gets the name of a display.
NativeResolution Gets the native resolution of a display.
PixelClock Gets the pixel clock of a display.
RefreshRate Gets the refresh rate of a display.
ScanType Gets the scan type of a display.
UniqueId Gets the unique id of a Display.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.js deleted file mode 100644 index edf5f15..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display.js +++ /dev/null @@ -1,14 +0,0 @@ -var _d_o_x__i_a_d_l_x_display = -[ - [ "ConnectorType", "_d_o_x__i_a_d_l_x_display__connector_type.html", null ], - [ "DisplayType", "_d_o_x__i_a_d_l_x_display__display_type.html", null ], - [ "EDID", "_d_o_x__i_a_d_l_x_display__e_d_i_d.html", null ], - [ "GetGPU", "_d_o_x__i_a_d_l_x_display__get_g_p_u.html", null ], - [ "ManufacturerID", "_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html", null ], - [ "Name", "_d_o_x__i_a_d_l_x_display__name.html", null ], - [ "NativeResolution", "_d_o_x__i_a_d_l_x_display__native_resolution.html", null ], - [ "PixelClock", "_d_o_x__i_a_d_l_x_display__pixel_clock.html", null ], - [ "RefreshRate", "_d_o_x__i_a_d_l_x_display__refresh_rate.html", null ], - [ "ScanType", "_d_o_x__i_a_d_l_x_display__scan_type.html", null ], - [ "UniqueId", "_d_o_x__i_a_d_l_x_display__unique_id.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.html deleted file mode 100644 index 469f9fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplay3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplay3DLUT
-
-
-

The IADLXDisplay3DLUT interface is the access point to control 3DLUT settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplay3DLUT
Smart Pointer Interface Name:IADLXDisplay3DLUTPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
ClearUser3DLUT Clears the custom 3D LUT for panel calibration on a display.
GetAllUser3DLUT Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display.
GetHDRUser3DLUT Gets the custom 3D LUT data suitable for the HDR mode of a display.
GetSCEDynamicContrast Gets the contrast of the Dynamic Contrast color enhancement preset on a display.
GetSCEDynamicContrastRange Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display.
GetSDRUser3DLUT Gets the custom 3D LUT data suitable for the SDR mode of a display.
GetUser3DLUTIndex Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values.
IsCurrentSCEDisabled Checks if the color enhancement presets are disabled on a display.
IsCurrentSCEDynamicContrast Checks if the Dynamic Contrast color enhancement preset is used on a display.
IsCurrentSCEVividGaming Checks if the vivid gaming color enhancement preset is used on a display.
IsSupportedSCE Checks if color enhancement is supported on a display.
IsSupportedSCEDynamicContrast Checks if the Dynamic Contrast color enhancement preset is supported on a display.
IsSupportedSCEVividGaming Checks if the vivid gaming color enhancement preset is supported on a display.
IsSupportedUser3DLUT Checks if 3D LUT customization is supported on a display.
SetAllUser3DLUT Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display.
SetHDRUser3DLUT Sets the custom 3D LUT data suitable for the HDR mode of a display.
SetSCEDisabled Disables the color enhancement presets on a display.
SetSCEDynamicContrast Sets the contrast of the Dynamic Contrast color enhancement preset on a display.
SetSCEVividGaming Sets the vivid gaming color enhancement preset on a display.
SetSDRUser3DLUT Sets the custom 3D LUT data suitable for the SDR mode of a display.
-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Display3DLUT C++ sample.
- For a C application, refer to the Display3DLUT C sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.js deleted file mode 100644 index 25ea5ae..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t.js +++ /dev/null @@ -1,23 +0,0 @@ -var _d_o_x__i_a_d_l_x_display3_d_l_u_t = -[ - [ "ClearUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html", null ], - [ "GetAllUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html", null ], - [ "GetHDRUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html", null ], - [ "GetSCEDynamicContrast", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html", null ], - [ "GetSCEDynamicContrastRange", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html", null ], - [ "GetSDRUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html", null ], - [ "GetUser3DLUTIndex", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html", null ], - [ "IsCurrentSCEDisabled", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html", null ], - [ "IsCurrentSCEDynamicContrast", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html", null ], - [ "IsCurrentSCEVividGaming", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html", null ], - [ "IsSupportedSCE", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html", null ], - [ "IsSupportedSCEDynamicContrast", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html", null ], - [ "IsSupportedSCEVividGaming", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html", null ], - [ "IsSupportedUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html", null ], - [ "SetAllUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html", null ], - [ "SetHDRUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html", null ], - [ "SetSCEDisabled", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html", null ], - [ "SetSCEDynamicContrast", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html", null ], - [ "SetSCEVividGaming", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html", null ], - [ "SetSDRUser3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html deleted file mode 100644 index a27294d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ClearUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ClearUser3DLUT
-
-
-

Clears the custom 3D LUT for panel calibration on a display.

-

Syntax

-
- ADLX_RESULT    ClearUser3DLUT ()
- 

Parameters

-

N/A

-

Return Value

-

If the custom 3D LUT is successfully cleared, ADLX_OK is returned.
- If the custom 3D LUT is not successfully cleared, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html deleted file mode 100644 index 87ecf46..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAllUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAllUser3DLUT
-
-
-

Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display.

-

Syntax

-
- ADLX_RESULT    GetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[out] transferFunctionADLX_3DLUT_TRANSFER_FUNCTION*The pointer to a variable where the transfer function is returned.
-
-
-
-
-
- - -
2.[out] colorSpaceADLX_3DLUT_COLORSPACE*The pointer to a variable where the color space is returned.
-
-
-
-
-
- - -
3.[out] pointsNumberadlx_int*The pointer to a variable where the size of the custom 3D LUT buffer is returned.
-
-
-
-
-
- - -
4.[out] dataADLX_3DLUT_Data*The pointer to a variable where the custom 3D LUT buffer is returned.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully returned, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html deleted file mode 100644 index f9f47dc..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetHDRUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetHDRUser3DLUT
-
-
-

Gets the custom 3D LUT data suitable for the HDR mode of a display.

-

Syntax

-
- ADLX_RESULT    GetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[out] transferFunctionADLX_3DLUT_TRANSFER_FUNCTION*The pointer to a variable where the transfer function is returned.
-
-
-
-
-
- - -
2.[out] colorSpaceADLX_3DLUT_COLORSPACE*The pointer to a variable where the color space is returned.
-
-
-
-
-
- - -
3.[out] pointsNumberadlx_int*The pointer to a variable where the size of the custom 3D LUT buffer is returned.
-
-
-
-
-
- - -
4.[out] dataADLX_3DLUT_Data*The pointer to a variable where the custom 3D LUT buffer is returned.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully returned, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html deleted file mode 100644 index 8a774b0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSCEDynamicContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSCEDynamicContrast
-
-
-

Gets the contrast of the Dynamic Contrast color enhancement preset on a display.

-

Syntax

-
- ADLX_RESULT    GetSCEDynamicContrast (adlx_int* contrast)
- 

Parameters

-
-
-
- - -
1.[out]contrastadlx_int*The pointer to a variable where the contrast of the Dynamic Contrast color enhancement preset is returned.
-
-
-

Return Value

-

If the contrast is successfully returned, ADLX_OK is returned.
- If the contrast is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html deleted file mode 100644 index 9ff7875..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSCEDynamicContrastRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSCEDynamicContrastRange
-
-
-

Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display.

-

Syntax

-
- ADLX_RESULT    GetSCEDynamicContrastRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the contrast range of the Dynamic Contrast color enhancement preset is returned.
-
-
-

Return Value

-

If the contrast range is successfully returned, ADLX_OK is returned.
- If the contrast range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset are read only.

-

Additional Info

-

The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html deleted file mode 100644 index 3422ee2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSDRUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSDRUser3DLUT
-
-
-

Gets the custom 3D LUT data suitable for the SDR mode of a display.

-

Syntax

-
- ADLX_RESULT    GetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[out] transferFunctionADLX_3DLUT_TRANSFER_FUNCTION*The pointer to a variable where the transfer function is returned.
-
-
-
-
-
- - -
2.[out] colorSpaceADLX_3DLUT_COLORSPACE*The pointer to a variable where the color space is returned.
-
-
-
-
-
- - -
3.[out] pointsNumberadlx_int*The pointer to a variable where the size of the custom 3D LUT buffer is returned.
-
-
-
-
-
- - -
4.[out] dataADLX_3DLUT_Data*The pointer to a variable where the custom 3D LUT buffer is returned.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully returned, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html deleted file mode 100644 index 8fefa66..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetUser3DLUTIndex - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetUser3DLUTIndex
-
-
-

Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values.

-

Syntax

-
- ADLX_RESULT    GetUser3DLUTIndex (adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index)
- 

Parameters

-
-
-
- - -
1.[in] lutSizeadlx_intThe size of the User 3D LUT.
-
-
-
-
-
- - -
2.[in] rgbCoordinateADLX_UINT16_RGB*The co-ordinates of a user 3D LUT.
-
-
-
-
-
- - -
3.[out] indexadlx_int*The pointer to a variable where the index is returned.
-
-
-

Return Value

-

If the index of the 3D LUT from a flat array is successfully returned, ADLX_OK is returned.
- If the index of the 3D LUT from a flat array is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The 3D LUT table must contain between 5 and 17 points. Each point is defined by a triplet of red, green, and blue values.
-

-

GetUser3DLUTIndex is useful when constructing the 3D LUT buffer to set using SetHDRUser3DLUT, SetSDRUser3DLUT and SetAllUser3DLUT.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html deleted file mode 100644 index 3696cc1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentSCEDisabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentSCEDisabled
-
-
-

Checks if the color enhancement presets are disabled on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentSCEDisabled (adlx_bool* sceDisabled)
- 

Parameters

-
-
-
- - -
1.[out]sceDisabledadlx_bool*The pointer to a variable where the state of color enhancement is returned. The variable is true if the color enhancement presets are disabled. The variable is false if the color enhancement presets are not disabled.
-
-
-

Return Value

-

If the state of color enhancement is successfully returned, ADLX_OK is returned.
- If the state of color enhancement is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html deleted file mode 100644 index b9e2789..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentSCEDynamicContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentSCEDynamicContrast
-
-
-

Checks if the Dynamic Contrast color enhancement preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast)
- 

Parameters

-
-
-
- - -
1.[out]dynamicContrastadlx_bool*The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is true if the Dynamic Contrast preset is used. The variable is false if the Dynamic Contrast preset is not used.
-
-
-

Return Value

-

If the state of the Dynamic Contrast preset is successfully returned, ADLX_OK is returned.
- If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html deleted file mode 100644 index a9c4bba..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentSCEVividGaming - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentSCEVividGaming
-
-
-

Checks if the vivid gaming color enhancement preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentSCEVividGaming (adlx_bool* vividGaming)
- 

Parameters

-
-
-
- - -
1.[out]vividGamingadlx_bool*The pointer to a variable where the state of the vivid gaming preset is returned. The variable is true if the vivid gaming preset is used. The variable is false if the vivid gaming preset is not used.
-
-
-

Return Value

-

If the state of the vivid gaming preset is successfully returned, ADLX_OK is returned.
- If the state of the vivid gaming preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The vivid gaming preset enhances color saturation and vibrance.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html deleted file mode 100644 index 9ed3b07..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedSCE - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedSCE
-
-
-

Checks if color enhancement is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedSCE (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color enhancement is returned. The variable is true if color enhancement is supported. The variable is false if color enhancement is not supported.
-
-
-

Return Value

-

If the state of color enhancement is successfully returned, ADLX_OK is returned.
- If the state of color enhancement is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Some GPUs support built-in 3D LUT profiles for displays to improve and enhance game and application color vibrancy.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html deleted file mode 100644 index f3b86f2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedSCEDynamicContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedSCEDynamicContrast
-
-
-

Checks if the Dynamic Contrast color enhancement preset is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedSCEDynamicContrast (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is true if the Dynamic Contrast preset is supported. The variable is false if the Dynamic Contrast preset is not supported.
-
-
-

Return Value

-

If the state of the Dynamic Contrast preset is successfully returned, ADLX_OK is returned.
- If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html deleted file mode 100644 index 9e62966..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedSCEVividGaming - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedSCEVividGaming
-
-
-

Checks if the vivid gaming color enhancement preset is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedSCEVividGaming (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of the vivid gaming preset is returned. The variable is true if the vivid gaming preset is supported. The variable is false if the vivid gaming preset is not supported.
-
-
-

Return Value

-

If the state of the vivid gaming preset is successfully returned, ADLX_OK is returned.
- If the state of the vivid gaming preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The vivid gaming preset enhances color saturation and vibrance.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html deleted file mode 100644 index c6c6337..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedUser3DLUT
-
-
-

Checks if 3D LUT customization is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedUser3DLUT (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of 3D LUT customization is returned. The variable is true if 3D LUT customization is supported. The variable is false if 3D LUT customization is not supported.
-
-
-

Return Value

-

If the state of 3D LUT customization is successfully returned, ADLX_OK is returned.
- If the state of 3D LUT customization is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Some GPUs support custom 3D LUT panel calibration for eDP displays to improve and enhance game and application color vibrancy.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html deleted file mode 100644 index 75917cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetAllUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetAllUser3DLUT
-
-
-

Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display.

-

Syntax

-
- ADLX_RESULT    SetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[in] transferFunctionADLX_3DLUT_TRANSFER_FUNCTIONThe transfer function.
-
-
-
-
-
- - -
2.[in] colorSpaceADLX_3DLUT_COLORSPACEThe color space.
-
-
-
-
-
- - -
3.[in] pointsNumberadlx_intThe size of the custom 3D LUT data.
-
-
-
-
-
- - -
4.[in] dataADLX_3DLUT_Data*The custom 3D LUT buffer.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully set, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

To fill in the custom 3D LUT buffer use GetUser3DLUTIndex.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html deleted file mode 100644 index bf45c37..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetHDRUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetHDRUser3DLUT
-
-
-

Sets the custom 3D LUT data suitable for the HDR mode of a display.

-

Syntax

-
- ADLX_RESULT    SetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[in] transferFunctionADLX_3DLUT_TRANSFER_FUNCTIONThe transfer function.
-
-
-
-
-
- - -
2.[in] colorSpaceADLX_3DLUT_COLORSPACEThe color space.
-
-
-
-
-
- - -
3.[in] pointsNumberadlx_intThe size of the custom 3D LUT data.
-
-
-
-
-
- - -
4.[in] dataADLX_3DLUT_Data*The custom 3D LUT buffer.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully set, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

To fill in the custom 3D LUT buffer use GetUser3DLUTIndex.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html deleted file mode 100644 index a43104f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSCEDisabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSCEDisabled
-
-
-

Disables the color enhancement presets on a display.

-

Syntax

-
- ADLX_RESULT    SetSCEDisabled ()
- 

Parameters

-

N/A

-

Return Value

-

If the color enhancement presets are successfully disabled, ADLX_OK is returned.
- If the color enhancement presets are not successfully disabled, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html deleted file mode 100644 index e8b48b7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSCEDynamicContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSCEDynamicContrast
-
-
-

Sets the contrast of the Dynamic Contrast color enhancement preset on a display.

-

Syntax

-
- ADLX_RESULT    SetSCEDynamicContrast (adlx_int contrast)
- 

Parameters

-
-
-
- - -
1.[in]contrastadlx_intThe new contrast of the Dynamic Contrast color enhancement preset.
-
-
-

Return Value

-

If the contrast is successfully set, ADLX_OK is returned.
- If the contrast is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html deleted file mode 100644 index c431c8d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSCEVividGaming - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSCEVividGaming
-
-
-

Sets the vivid gaming color enhancement preset on a display.

-

Syntax

-
- ADLX_RESULT    SetSCEVividGaming ()
- 

Parameters

-

N/A

-

Return Value

-

If the vivid gaming preset is successfully set, ADLX_OK is returned.
- If the vivid gaming preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The vivid gaming preset enhances color saturation and vibrance.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html deleted file mode 100644 index 6c2303b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSDRUser3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSDRUser3DLUT
-
-
-

Sets the custom 3D LUT data suitable for the SDR mode of a display.

-

Syntax

-
- ADLX_RESULT    SetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data)
- 

Parameters

-
-
-
- - -
1.[in] transferFunctionADLX_3DLUT_TRANSFER_FUNCTIONThe transfer function.
-
-
-
-
-
- - -
2.[in] colorSpaceADLX_3DLUT_COLORSPACEThe color space.
-
-
-
-
-
- - -
3.[in] pointsNumberadlx_intThe size of the custom 3D LUT data.
-
-
-
-
-
- - -
4.[in] dataADLX_3DLUT_Data*The custom 3D LUT buffer.
-
-
-

Return Value

-

If the custom 3D LUT data is successfully set, ADLX_OK is returned.
- If the custom 3D LUT data is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

To fill in the custom 3D LUT buffer use GetUser3DLUTIndex.

-

Additional Info

-

Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.
-

-

Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT.
-

-

Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT.

-

Requirements

- - - - - -
Headerinclude "IDisplay3DLUT.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html deleted file mode 100644 index c4832d6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplay3DLUTChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplay3DLUTChangedEvent
-
-
-

The IADLXDisplay3DLUTChangedEvent interface gets a display interface on which the 3D LUT is changed.

- - - - - - - - - -
InterfaceId:IADLXDisplay3DLUTChangedEvent
Smart Pointer Interface Name:IADLXDisplay3DLUTChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:N/A
-

Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Methods

- - - - - - - - - -
Method Description
GetDisplay Gets the reference counted display interface on which the 3D LUT is changed.
IsCustom3DLUTChanged Checks if the custom 3D LUT for panel calibration of a display is changed.
IsSCEChanged Checks if the color enhancement of a display is changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.js deleted file mode 100644 index 5ce4f99..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event = -[ - [ "GetDisplay", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html", null ], - [ "IsCustom3DLUTChanged", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html", null ], - [ "IsSCEChanged", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html deleted file mode 100644 index 1be88f9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplay
-
-
-

Gets the reference counted display interface on which the 3D LUT is changed.

-

Syntax

-
- ADLX_RESULT    GetDisplay (IADLXDisplay** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[in] ppDisplayIADLXDisplay** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the display interface is successfully returned, ADLX_OK is returned.
- If the display inferface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html deleted file mode 100644 index 0236425..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustom3DLUTChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustom3DLUTChanged
-
-
-

Checks if the custom 3D LUT for panel calibration of a display is changed.

-

Syntax

-
- adlx_bool    IsCustom3DLUTChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the custom 3D LUT is changed, true is returned.
- If the custom 3D LUT is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html deleted file mode 100644 index a55d5e3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSCEChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSCEChanged
-
-
-

Checks if the color enhancement of a display is changed.

-

Syntax

-
- adlx_bool    IsSCEChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the color enhancement is changed, true is returned.
- If the color enhancement is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html deleted file mode 100644 index 25fe6d5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplay3DLUTChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplay3DLUTChangedListener
-
-
-

The IADLXDisplay3DLUTChangedListener interface is implemented in the application to receive an event from ADLX when the display 3D LUT changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDisplay3DLUTChangedListener interface must be passed to AddDisplay3DLUTEventListener to register for notifications when the display 3D LUT changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnDisplay3DLUTChanged The OnDisplay3DLUTChanged method is called by ADLX when the display 3D LUT changes.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample.
- For a C application, refer to the DisplayEvents C sample.
- For a C# application, refer to the DisplayEvents C# sample.
- For a Java application, refer to the DisplayEvents Java sample.
- For a Python application, refer to the DisplayEvents Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.js deleted file mode 100644 index b596a04..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener = -[ - [ "OnDisplay3DLUTChanged", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html deleted file mode 100644 index b7405b7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDisplay3DLUTChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDisplay3DLUTChanged
-
-
-

The OnDisplay3DLUTChanged method is called by ADLX when the display 3D LUT changes.

-

Syntax

-
- adlx_bool    OnDisplay3DLUTChanged (IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] pDisplay3DLUTChangedEventIADLXDisplay3DLUTChangedEvent* The pointer to the event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDisplay3DLUTEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplay3DLUTEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D LUT change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D LUT change event with Release.
-

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__connector_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__connector_type.html deleted file mode 100644 index 3aaac9f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__connector_type.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ConnectorType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ConnectorType
-
-
-

Gets the connector type of a display.

-

Syntax

-
- ADLX_RESULT    ConnectorType (ADLX_DISPLAY_CONNECTOR_TYPE* connectType)
- 

Parameters

-
-
-
- - -
1.[out] connectTypeADLX_DISPLAY_CONNECTOR_TYPE* The pointer to a variable where the connector type is returned.
-
-
-

Return Value

-

If the connector type is successfully returned, ADLX_OK is returned.
- If the connector type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The connector type can be used to discover if the display is connected to the GPU using HDMI, DisplayPort or any other kind of display interface.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__display_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__display_type.html deleted file mode 100644 index fc3111b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__display_type.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayType
-
-
-

Gets the type of a display.

-

Syntax

-
- ADLX_RESULT    DisplayType (ADLX_DISPLAY_TYPE* displayType)
- 

Parameters

-
-
-
- - -
1.[out] displayTypeADLX_DISPLAY_TYPE* The pointer to a variable where the display type is returned.
-
-
-

Return Value

-

If the type of this display is successfully returned, ADLX_OK is returned.
- If the type of this display is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The display type can be used to discover if the display is a TV, a Digital Flat Panel, or any other kind of display.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__e_d_i_d.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__e_d_i_d.html deleted file mode 100644 index 2ee843f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__e_d_i_d.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: EDID - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
EDID
-
-
-

Gets the virtual EDID (Extended Display Identification Data) of a display.

-

Syntax

-
- ADLX_RESULT    EDID (const char** edid)
- 

Parameters

-
-
-
- - -
1.[out] edidconst char** The pointer to a zero-terminated buffer where the display EDID data is returned.
-
-
-

Return Value

-

If the virtual EDID is successfully returned, ADLX_OK is returned.
- If the virtual EDID is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

EDID is a standardized metadata programmed into the display device by the manufacturer and is used for interoperability by video sources to discover the capabilities and information about the display device. VESA (Video Electronics Standards Association) defines the standard for the EDID data.

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXDisplay interface. If the application uses the EDID beyond the lifetime of the IADLXDisplay IADLXDisplay interface, the application must make a copy of the EDID.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__get_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__get_g_p_u.html deleted file mode 100644 index ae29eaa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__get_g_p_u.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPU
-
-
-

Gets the reference counted GPU interface of a display.

-

Syntax

-
- ADLX_RESULT    GetGPU (IADLXGPU** ppGPU)
- 

Parameters

-
-
-
- - -
1.[out] ppGPUIADLXGPU** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr.
-
-
-

Return Value

-

If the reference counted GPU interface is successfully returned, ADLX_OK is returned.
- If the reference counted GPU interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html deleted file mode 100644 index a9e74f4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManufacturerID - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManufacturerID
-
-
-

Gets the manufacturer id of a display.

-

Syntax

-
- ADLX_RESULT    ManufacturerID (adlx_uint* manufacturerID)
- 

Parameters

-
-
-
- - -
1.[out] manufacturerIDadlx_uint* The pointer to a variable where the manufacturer id is returned. A valid id is greater than zero.
-
-
-

Return Value

-

If the manufacturer id is successfully returned, ADLX_OK is returned.
- If the manufacturer id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The manufacturer id is a predetermined value programmed into the display at the time of manufacturing. A valid manufacturer id is an integer greater than zero.
- If zero is returned this means the display manufacturer id is invalid.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__name.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__name.html deleted file mode 100644 index f0b0220..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__name.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Name - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Name
-
-
-

Gets the name of a display.

-

Syntax

-
- ADLX_RESULT    Name (const char** displayName)
- 

Parameters

-
-
-
- - -
1.[out] displayNameconst char** The pointer to a zero-terminated string where the display name is returned.
-
-
-

Return Value

-

If the name of this display is successfully returned, ADLX_OK is returned.
- If the name of this display is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The display name is a predetermined value programmed into the display at the time of manufacturing.

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXDisplay interface. If the application uses the display name beyond the lifetime of the IADLXDisplay IADLXDisplay interface, the application must make a copy of the display name.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__native_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__native_resolution.html deleted file mode 100644 index 10866f9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__native_resolution.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: NativeResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
NativeResolution
-
-
-

Gets the native resolution of a display.

-

Syntax

-
- ADLX_RESULT    NativeResolution (adlx_int* maxHResolution, adlx_int* maxVResolution)
- 

Parameters

-
-
-
- - -
1.[out] maxHResolutionadlx_int* The pointer to a variable where the horizontal resolution of the display is returned.
-
-
-
-
-
- - -
2.[out] maxVResolutionadlx_int* The pointer to a variable where the vertical resolution of the display is returned.
-
-
-

Return Value

-

If the native resolution is successfully returned, ADLX_OK is returned.
- If the resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The native resolution of the display is shown in the Windows Advanced display settings as Active signal resolution.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__pixel_clock.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__pixel_clock.html deleted file mode 100644 index 22feac4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__pixel_clock.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PixelClock - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PixelClock
-
-
-

Gets the pixel clock of a display.

-

Syntax

-
- ADLX_RESULT    PixelClock (adlx_uint* pixelClock)
- 

Parameters

-
-
-
- - -
1.[out] pixelClockadlx_uint* The pointer to a variable where the pixel clock of the display (in KHz) is returned.
-
-
-

Return Value

-

If the pixel clock is successfully returned, ADLX_OK is returned.
- If the pixel clock is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The pixel clock rate is the speed at which pixels are transmitted over a video signal such as HDMI or DVI, to fit a full frame of pixels in one refresh cycle.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__refresh_rate.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__refresh_rate.html deleted file mode 100644 index 7f1b719..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__refresh_rate.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RefreshRate - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RefreshRate
-
-
-

Gets the refresh rate of a display.

-

Syntax

-
- ADLX_RESULT    RefreshRate (adlx_double* refreshRate)
- 

Parameters

-
-
-
- - -
1.[out] refreshRateadlx_double* The pointer to a variable where the refresh rate of the display (in Hz) is returned.
-
-
-

Return Value

-

If the refresh rate is successfully returned, ADLX_OK is returned.
- If the refresh rate is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The refresh rate returns the number of times per second the display shows a new image.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__scan_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__scan_type.html deleted file mode 100644 index a498dfa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__scan_type.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ScanType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ScanType
-
-
-

Gets the scan type of a display.

-

Syntax

-
- ADLX_RESULT    ScanType (ADLX_DISPLAY_SCAN_TYPE* scanType)
- 

Parameters

-
-
-
- - -
1.[out] scanTypeADLX_DISPLAY_SCAN_TYPE* The pointer to a variable where the scan type of the display is returned.
-
-
-

Return Value

-

If the scan type is successfully returned, ADLX_OK is returned.
- If the scan type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The scan type can be progressive or interlaced.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__unique_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__unique_id.html deleted file mode 100644 index e91a2f7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display__unique_id.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: UniqueId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UniqueId
-
-
-

Gets the unique id of a Display.

-

Syntax

-
- ADLX_RESULT    UniqueId(adlx_size* uniqueId)
- 

Parameters

-
-
-
- - -
1.[out]uniqueIdadlx_size*The pointer to a variable where the unique id of the Display is returned.
-
-
-

Return Value

-

If the unique id is successfully returned, ADLX_OK is returned.
- If the unique id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.html deleted file mode 100644 index f49c38d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayBlanking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayBlanking
-
-
-

The IADLXDisplayBlanking interface configures the display blanking settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayBlanking
Smart Pointer Interface Name:IADLXDisplayBlankingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - -
Method Description
IsCurrentBlanked Checks if the current display is blanked.
IsCurrentUnblanked Check if the current display is unblanked.
IsSupported Check if display blanking is supported on a display.
SetBlanked Set the state of display blanking to "blanked".
SetUnblanked Set the state of display blanking to "unblanked".
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-

Example

-

To use this interface in a C++ application, refer to the DisplayBlanking C++ sample.
- For a C application, refer to the DisplayBlanking C sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.js deleted file mode 100644 index 161b8cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_blanking = -[ - [ "IsCurrentBlanked", "_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html", null ], - [ "IsCurrentUnblanked", "_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_blanking__is_supported.html", null ], - [ "SetBlanked", "_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html", null ], - [ "SetUnblanked", "_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html deleted file mode 100644 index 73b963b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentBlanked - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentBlanked
-
-
-

Checks if the current display is blanked.

-

Syntax

-
- ADLX_RESULT    IsCurrentBlanked (adlx_bool* blanked)
- 

Parameters

-
-
-
- - -
1.[out]blankedadlx_bool*The pointer to a variable where the state of the display blanking is returned. The variable is true if display blanking is enabled. The variable is false if display blanking is not enabled.
-
-
-

Return Value

-

If the state of display blanking is successfully returned, ADLX_OK is returned.
- If the state of display blanking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html deleted file mode 100644 index afe69ea..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentUnblanked - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentUnblanked
-
-
-

Check if the current display is unblanked.

-

Syntax

-
- ADLX_RESULT    IsCurrentUnblanked (adlx_bool* unBlanked)
- 

Parameters

-
-
-
- - -
1.[out]unBlankedadlx_bool*The pointer to a variable where the state of the display blanking is returned. The variable is true if display blanking is not enabled. The variable is false if display blanking is enabled.
-
-
-

Return Value

-

If the state of display blanking is successfully returned, ADLX_OK is returned.
- If the state of display blanking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_supported.html deleted file mode 100644 index aa72500..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__is_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Check if display blanking is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of display blanking is returned. The variable is true if display blanking is supported. The variable is false if display blanking is not supported.
-
-
-

Return Value

-

If the state of display blanking is successfully returned, ADLX_OK is returned.
- If the state of display blanking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html deleted file mode 100644 index aa9e588..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBlanked - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBlanked
-
-
-

Set the state of display blanking to "blanked".

-

Syntax

-
- ADLX_RESULT    SetBlanked ()
- 

Parameters

-

N/A

-

Return Value

-

If the state of display blanking is successfully returned, ADLX_OK is returned.
- If the state of display blanking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html deleted file mode 100644 index b19292b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetUnblanked - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetUnblanked
-
-
-

Set the state of display blanking to "unblanked".

-

Syntax

-
- ADLX_RESULT    SetUnblanked ()
- 

Parameters

-

N/A

-

Return Value

-

If the state of display blanking is successfully returned, ADLX_OK is returned.
- If the state of display blanking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.html deleted file mode 100644 index 4e45763..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayChangedHandling
-
-
-

The IADLXDisplayChangedHandling interface allows registering and unregistering for notifications when the display settings change.

- - - - - - - - - -
InterfaceId:IADLXDisplayChangedHandling
Smart Pointer Interface Name:IADLXDisplayChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - -
Method Description
AddDisplay3DLUTEventListener Registers an event listener for notifications when the display 3D LUT changes.
AddDisplayGammaEventListener Registers an event listener for notifications when the display gamma changes.
AddDisplayGamutEventListener Registers an event listener for notifications when the display gamut changes.
AddDisplayListEventListener Registers an event listener for notifications when the display list changes.
AddDisplaySettingsEventListener Registers an event listener for notifications when the display settings change.
RemoveDisplay3DLUTEventListener Unregisters an event listener from notifications when the display 3D LUT changes.
RemoveDisplayGammaEventListener Unregisters an event listener from notifications when the display gamma changes.
RemoveDisplayGamutEventListener Unregisters an event listener from notifications when the display gamut changes.
RemoveDisplayListEventListener Unregisters an event listener from notifications when the display list changes.
RemoveDisplaySettingsEventListener Unregisters an event listener from notifications when the display settings change.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample.
- For a C application, refer to the DisplayEvents C sample.
- For a C# application, refer to the DisplayEvents C# sample.
- For a Java application, refer to the DisplayEvents Java sample.
- For a Python application, refer to the DisplayEvents Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.js deleted file mode 100644 index a491c56..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling.js +++ /dev/null @@ -1,13 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_changed_handling = -[ - [ "AddDisplay3DLUTEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html", null ], - [ "AddDisplayGammaEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html", null ], - [ "AddDisplayGamutEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html", null ], - [ "AddDisplayListEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html", null ], - [ "AddDisplaySettingsEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html", null ], - [ "RemoveDisplay3DLUTEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html", null ], - [ "RemoveDisplayGammaEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html", null ], - [ "RemoveDisplayGamutEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html", null ], - [ "RemoveDisplayListEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html", null ], - [ "RemoveDisplaySettingsEventListener", "_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html deleted file mode 100644 index 3f39262..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDisplay3DLUTEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDisplay3DLUTEventListener
-
-
-

Registers an event listener for notifications when the display 3D LUT changes.

-

Syntax

-
- ADLX_RESULT    AddDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplay3DLUTChangedListenerIADLXDisplay3DLUTChangedListener* The pointer to the event listener interface to register for receiving the display 3D LUT change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplay3DLUTEventListener.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html deleted file mode 100644 index cba0a28..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDisplayGammaEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDisplayGammaEventListener
-
-
-

Registers an event listener for notifications when the display gamma changes.

-

Syntax

-
- ADLX_RESULT    AddDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGammaChangedListenerIADLXDisplayGammaChangedListener* The pointer to the event listener interface to register for receiving the display gamma change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDisplayGammaChanged method of the listener when the display gamma changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayGammaEventListener.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html deleted file mode 100644 index ddec170..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDisplayGamutEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDisplayGamutEventListener
-
-
-

Registers an event listener for notifications when the display gamut changes.

-

Syntax

-
- ADLX_RESULT    AddDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGamutChangedListenerIADLXDisplayGamutChangedListener* The pointer to the event listener interface to register for receiving the display gamut change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDisplayGamutChanged method of the listener when the display gamut changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayGamutEventListener.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html deleted file mode 100644 index 8ec790e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDisplayListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDisplayListEventListener
-
-
-

Registers an event listener for notifications when the display list changes.

-

Syntax

-
- ADLX_RESULT    AddDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener);
- 

Parameters

-
-
-
- - -
1.[in] pDisplayListChangedListenerIADLXDisplayListChangedListener* The pointer to the event listener interface to register for receiving the display list change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDisplayListChanged method of the listener when the display list changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayListEventListener.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html deleted file mode 100644 index 3c18240..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddDisplaySettingsEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddDisplaySettingsEventListener
-
-
-

Registers an event listener for notifications when the display settings change.

-

Syntax

-
- ADLX_RESULT    AddDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener)
- 

Parameters

-
-
-
- - -
1.[in]pDisplaySettingsChangedListenerIADLXDisplaySettingsChangedListener*The pointer to the event listener interface to register for receiving display settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnDisplaySettingsChanged method of the listener when display settings change.
- The event listener instance must exist until the application unregisters the event listener with RemoveDisplaySettingsEventListener.
-

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html deleted file mode 100644 index 3c474e8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDisplay3DLUTEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDisplay3DLUTEventListener
-
-
-

Unregisters an event listener from notifications when the display 3D LUT changes.

-

Syntax

-
- ADLX_RESULT    RemoveDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplay3DLUTChangedListenerIADLXDisplay3DLUTChangedListener* The pointer to the event listener interface to unregister from receiving the display 3D LUT change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html deleted file mode 100644 index 44d6e9a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDisplayGammaEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDisplayGammaEventListener
-
-
-

Unregisters an event listener from notifications when the display gamma changes.

-

Syntax

-
- ADLX_RESULT    RemoveDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGammaChangedListenerIADLXDisplayGammaChangedListener* The pointer to the event listener interface to unregister from receiving the display gamma change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDisplayGammaChanged method of the listener when the display gamma changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html deleted file mode 100644 index 7dec781..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDisplayGamutEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDisplayGamutEventListener
-
-
-

Unregisters an event listener from notifications when the display gamut changes.

-

Syntax

-
- ADLX_RESULT    RemoveDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGamutChangedListenerIADLXDisplayGamutChangedListener* The pointer to the event listener interface to unregister from receiving the display gamut change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDisplayGamutChanged method of the listener when the display gamut changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html deleted file mode 100644 index c467e63..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDisplayListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDisplayListEventListener
-
-
-

Unregisters an event listener from notifications when the display list changes.

-

Syntax

-
- ADLX_RESULT    RemoveDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayListChangedListenerIADLXDisplayListChangedListener* The pointer to the event listener interface to unregister from receiving the display list change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDisplayListChanged method of the listener when the display list changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html deleted file mode 100644 index 6425648..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveDisplaySettingsEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveDisplaySettingsEventListener
-
-
-

Unregisters an event listener from notifications when the display settings change.

-

Syntax

-
- ADLX_RESULT    RemoveDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pDisplaySettingsChangedListenerIADLXDisplaySettingsChangedListener* The pointer to the event listener interface to unregister from receiving display settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnDisplaySettingsChanged method of the listener when display settings change. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.html deleted file mode 100644 index 9c63dbb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayColorDepth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayColorDepth
-
-
-

The IADLXDisplayColorDepth interface configures color format settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayColorDepth
Smart Pointer Interface Name:IADLXDisplayColorDepthPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetValue Gets the current color format of a display.
IsSupported Checks if the color format can be configured on a display.
IsSupportedBPC_10 Checks if color component/pixel with 10 bits is supported on a display.
IsSupportedBPC_12 Checks if color component/pixel with 12 bits is supported on a display.
IsSupportedBPC_14 Checks if color component/pixel with 14 bits is supported on a display.
IsSupportedBPC_16 Checks if color component/pixel with 16 bits is supported on a display.
IsSupportedBPC_6 Checks if color component/pixel with 6 bits is supported on a display.
IsSupportedBPC_8 Checks if color component/pixel with 8 bits is supported on a display.
IsSupportedColorDepth Checks if a color format is supported on a display.
SetValue Sets the color format on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayColorDepth C++ sample.
- For a C application, refer to the DisplayColorDepth C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.js deleted file mode 100644 index 9a962cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth.js +++ /dev/null @@ -1,13 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_color_depth = -[ - [ "GetValue", "_d_o_x__i_a_d_l_x_display_color_depth__get_value.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html", null ], - [ "IsSupportedBPC_10", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html", null ], - [ "IsSupportedBPC_12", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html", null ], - [ "IsSupportedBPC_14", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html", null ], - [ "IsSupportedBPC_16", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html", null ], - [ "IsSupportedBPC_6", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html", null ], - [ "IsSupportedBPC_8", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html", null ], - [ "IsSupportedColorDepth", "_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html", null ], - [ "SetValue", "_d_o_x__i_a_d_l_x_display_color_depth__set_value.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__get_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__get_value.html deleted file mode 100644 index 22aff1e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__get_value.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetValue
-
-
-

Gets the current color format of a display.

-

Syntax

-
- ADLX_RESULT    GetValue(ADLX_COLOR_DEPTH* currentColorDepth)
- 

Parameters

-
-
-
- - -
1.[out]currentColorDepthADLX_COLOR_DEPTH*The pointer to a variable where the color format is returned.
-
-
-

Return Value

-

If the current color format is successfully returned, ADLX_OK is returned.
- If the current color format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html deleted file mode 100644 index 24ed0e5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the color format can be configured on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color format configuration is returned. The variable is true if color format configuration is supported. The variable is false if color format configuration is not supported.
-
-
-

Return Value

-

If the state of the color format configuration is successfully returned, ADLX_OK is returned.
- If the state of the color format configuration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html deleted file mode 100644 index bd0e034..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_10 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_10
-
-
-

Checks if color component/pixel with 10 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_10 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 10 bits is returned. The variable is true if color component/pixel with 10 bits is supported. The variable is false if color component/pixel with 10 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 10 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 10 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html deleted file mode 100644 index 544196e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_12 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_12
-
-
-

Checks if color component/pixel with 12 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_12 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 12 bits is returned. The variable is true if color component/pixel with 12 bits is supported. The variable is false if color component/pixel with 12 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 12 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 12 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html deleted file mode 100644 index 9b5bb95..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_14 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_14
-
-
-

Checks if color component/pixel with 14 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_14 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 14 bits is returned. The variable is true if color component/pixel with 14 bits is supported. The variable is false if color component/pixel with 14 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 14 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 14 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html deleted file mode 100644 index 7577aba..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_16 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_16
-
-
-

Checks if color component/pixel with 16 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_16 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 16 bits is returned. The variable is true if color component/pixel with 16 bits is supported. The variable is false if color component/pixel with 16 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 16 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 16 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html deleted file mode 100644 index 33d3186..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_6 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_6
-
-
-

Checks if color component/pixel with 6 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_6 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 6 bits is returned. The variable is true if color component/pixel with 6 bits is supported. The variable is false if color component/pixel with 6 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 6 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 6 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html deleted file mode 100644 index a9df6e2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBPC_8 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBPC_8
-
-
-

Checks if color component/pixel with 8 bits is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedBPC_8 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool*The pointer to a variable where the state of color component/pixel with 8 bits is returned. The variable is true if color component/pixel with 8 bits is supported. The variable is false if color component/pixel with 8 bits is not supported.
-
-
-

Return Value

-

If the state of color component/pixel with 8 bits is successfully returned, ADLX_OK is returned.
- If the state of color component/pixel with 8 bits is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html deleted file mode 100644 index c9ceca1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedColorDepth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedColorDepth
-
-
-

Checks if a color format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedColorDepth (ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in]colorDepthADLX_COLOR_DEPTHThe color format.
-
-
-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the color format is returned. The variable is true if the color format is supported. The variable is false if color format is not supported.
-
-
-

Return Value

-

If the support state of the color format is successfully returned, ADLX_OK is returned.
- If the support state of the color format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__set_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__set_value.html deleted file mode 100644 index 8a216cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_color_depth__set_value.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetValue
-
-
-

Sets the color format on a display.

-

Syntax

-
- ADLX_RESULT    SetValue(ADLX_COLOR_DEPTH colorDepth)
- 

Parameters

-
-
-
- - -
1.[in]colorDepthADLX_COLOR_DEPTHThe new color format.
-
-
-

Return Value

-

If the color format is successfully set, ADLX_OK is returned.
- If the color format is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.html deleted file mode 100644 index d7553ae..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayConnectivityExperience - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayConnectivityExperience
-
-
-

The IADLXDisplayConnectivityExperience interface enables configuration of Display Connectivity Experience (DCE) settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayConnectivityExperience
Smart Pointer Interface Name:IADLXDisplayConnectivityExperiencePtr
Inherits:IADLXInterface
Inherited By:N/A
-

DCE is a suite of display features that enhance display robustness with respect to signal quality between the GPU and display.
-

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetDPLinkRate Gets the Display Port (DP) link rate on a display.
GetNumberOfActiveLanes Gets the number of active lanes on a display.
GetNumberOfTotalLanes Gets the total number of lanes on a display.
GetRelativePreEmphasis Gets the relative preset emphasis on a display.
GetRelativeVoltageSwing Gets the relative voltage swing on a display.
IsEnabledHDMIQualityDetection Checks if HDMI quality detection is enabled on a display.
IsEnabledLinkProtection Checks if link protection is enabled on a display.
IsSupportedDPLink Checks if DP link is supported on a display.
IsSupportedHDMIQualityDetection Checks if HDMI quality detection is supported on a display.
SetEnabledHDMIQualityDetection Sets the enabled or disabled status for HDMI quality detection on a display.
SetRelativePreEmphasis Sets the relative preset emphasis on a display.
SetRelativeVoltageSwing Sets the relative voltage swing on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayConnectivityExperience C++ sample.
- For a C application, refer to the DisplayConnectivityExperience C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.js deleted file mode 100644 index ec1e384..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience.js +++ /dev/null @@ -1,15 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_connectivity_experience = -[ - [ "GetDPLinkRate", "_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html", null ], - [ "GetNumberOfActiveLanes", "_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html", null ], - [ "GetNumberOfTotalLanes", "_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html", null ], - [ "GetRelativePreEmphasis", "_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html", null ], - [ "GetRelativeVoltageSwing", "_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html", null ], - [ "IsEnabledHDMIQualityDetection", "_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html", null ], - [ "IsEnabledLinkProtection", "_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html", null ], - [ "IsSupportedDPLink", "_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html", null ], - [ "IsSupportedHDMIQualityDetection", "_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html", null ], - [ "SetEnabledHDMIQualityDetection", "_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html", null ], - [ "SetRelativePreEmphasis", "_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html", null ], - [ "SetRelativeVoltageSwing", "_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html deleted file mode 100644 index ba08537..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDPLinkRate - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDPLinkRate
-
-
-

Gets the Display Port (DP) link rate on a display.

-

Syntax

-
- ADLX_RESULT    GetDPLinkRate(ADLX_DP_LINK_RATE* linkRate)
- 

Parameters

-
-
-
- - -
1.[out]linkRateADLX_DP_LINK_RATE*The pointer to a type where the current DP link rate is returned.
-
-
-

Return Value

-

If the type of DP link rate is successfully returned, ADLX_OK is returned.
- If the type of DP link rate is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html deleted file mode 100644 index a454317..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetNumberOfActiveLanes - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetNumberOfActiveLanes
-
-
-

Gets the number of active lanes on a display.

-

Syntax

-
- ADLX_RESULT    GetNumberOfActiveLanes(adlx_uint* numActiveLanes)
- 

Parameters

-
-
-
- - -
1.[out]numActiveLanesADLX_DP_LINK_RATE*The pointer to the number of current active lanes is returned.
-
-
-

Return Value

-

If the number of active lanes is successfully returned, ADLX_OK is returned.
- If the number of active lanes is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html deleted file mode 100644 index 6c0abd2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetNumberOfTotalLanes - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetNumberOfTotalLanes
-
-
-

Gets the total number of lanes on a display.

-

Syntax

-
- ADLX_RESULT    GetNumberOfTotalLanes(adlx_uint* numTotalLanes)
- 

Parameters

-
-
-
- - -
1.[out]numTotalLanesADLX_DP_LINK_RATE*The pointer to the number of current total lanes is returned.
-
-
-

Return Value

-

If the number of total lanes is successfully returned, ADLX_OK is returned.
- If the number of total lanes is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html deleted file mode 100644 index 32b9fb5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetRelativePreEmphasis - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetRelativePreEmphasis
-
-
-

Gets the relative preset emphasis on a display.

-

Syntax

-
- ADLX_RESULT    GetRelativePreEmphasis(adlx_uint* relativePreEmphasis)
- 

Parameters

-
-
-
- - -
1.[out]relativePreEmphasisADLX_DP_LINK_RATE*The pointer to the number of current relative preset emphasis is returned.
-
-
-

Return Value

-

If the relative preset emphasis is successfully returned, ADLX_OK is returned.
- If the relative preset emphasis is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html deleted file mode 100644 index e9bf65b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetRelativeVoltageSwing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetRelativeVoltageSwing
-
-
-

Gets the relative voltage swing on a display.

-

Syntax

-
- ADLX_RESULT    GetRelativeVoltageSwing(adlx_uint* relativeVoltageSwing)
- 

Parameters

-
-
-
- - -
1.[out]relativeVoltageSwingADLX_DP_LINK_RATE*The pointer to the number of current relative voltage swing is returned.
-
-
-

Return Value

-

If the relative voltage swing is successfully returned, ADLX_OK is returned.
- If the relative voltage swing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html deleted file mode 100644 index 8eaa272..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabledHDMIQualityDetection - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabledHDMIQualityDetection
-
-
-

Checks if HDMI quality detection is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabledHDMIQualityDetection (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of HDMI quality detection is returned. The variable is true if HDMI quality detection is enabled. The variable is false if HDMI quality detection is not enabled.
-
-
-

Return Value

-

If the state of HDMI quality detection is successfully returned, ADLX_OK is returned.
- If the state of HDMI quality detection is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html deleted file mode 100644 index 9cab1c2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabledLinkProtection - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabledLinkProtection
-
-
-

Checks if link protection is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabledLinkProtection (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of link protection is returned. The variable is true if link protection is enabled. The variable is false if link protection is not enabled.
-
-
-

Return Value

-

If the state of link protection is successfully returned, ADLX_OK is returned.
- If the state of link protection is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html deleted file mode 100644 index 27a0642..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedDPLink - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedDPLink
-
-
-

Checks if DP link is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedDPLink (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the DP link state is returned. The variable is true if DP link is supported. The variable is false if DP link is not supported.
-
-
-

Return Value

-

If the DP link state is successfully returned, ADLX_OK is returned.
- If the DP link state is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html deleted file mode 100644 index 29f76f6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedHDMIQualityDetection - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedHDMIQualityDetection
-
-
-

Checks if HDMI quality detection is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedHDMIQualityDetection (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of HDMI quality detection is returned. The variable is true if HDMI quality detection is supported. The variable is false if HDMI quality detection is not supported.
-
-
-

Return Value

-

If the state of HDMI quality detection is successfully returned, ADLX_OK is returned.
- If the state of HDMI quality detection is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html deleted file mode 100644 index a2369c8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabledHDMIQualityDetection - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabledHDMIQualityDetection
-
-
-

Sets the enabled or disabled status for HDMI quality detection on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabledHDMIQualityDetection (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new HDMI quality detection state. Set true to enable HDMI quality detection. Set false to disable HDMI quality detection.
-
-
-

Return Value

-

If the state of HDMI quality detection is successfully set, ADLX_OK is returned.
- If the state of HDMI quality detection is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html deleted file mode 100644 index 2420539..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetRelativePreEmphasis - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetRelativePreEmphasis
-
-
-

Sets the relative preset emphasis on a display.

-

Syntax

-
- ADLX_RESULT    SetRelativePreEmphasis(adlx_uint relativePreEmphasis)
- 

Parameters

-
-
-
- - -
1.[in]relativePreEmphasisADLX_DP_LINK_RATE*The new relative preset emphasis.
-
-
-

Return Value

-

If the relative preset emphasis is successfully set, ADLX_OK is returned.
- If the relative preset emphasis is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Note that relative preset emphasis allowed values range between -2 to +2.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html deleted file mode 100644 index 7aab8ad..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetRelativeVoltageSwing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetRelativeVoltageSwing
-
-
-

Sets the relative voltage swing on a display.

-

Syntax

-
- ADLX_RESULT    SetRelativeVoltageSwing(adlx_uint relativeVoltageSwing)
- 

Parameters

-
-
-
- - -
1.[in]relativeVoltageSwingADLX_DP_LINK_RATE*The new relative voltage swing.
-
-
-

Return Value

-

If the relative voltage swing is successfully set, ADLX_OK is returned.
- If the relative voltage swing is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Note that relative voltage swing allowed values range between -2 to +2.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.html deleted file mode 100644 index 6959e24..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayCustomColor - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayCustomColor
-
-
-

The IADLXDisplayCustomColor interface configures custom color settings of a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayCustomColor
Smart Pointer Interface Name:IADLXDisplayCustomColorPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetBrightness Gets the current brightness of a display.
GetBrightnessRange Gets the maximum brightness, minimum brightness, and step brightness of a display.
GetContrast Gets the current color contrast of a display.
GetContrastRange Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display.
GetHue Gets the current hue of a display.
GetHueRange Gets the maximum hue, minimum hue, and step hue of a display.
GetSaturation Gets the current saturation of a display.
GetSaturationRange Gets the maximum saturation, minimum saturation, and step saturation of a display.
GetTemperature Gets the current color temperature of a display.
GetTemperatureRange Gets the maximum color temperature, minimum color temperature, and step color temperature of a display.
IsBrightnessSupported Checks if customization of brightness is supported on a display.
IsContrastSupported Checks if customization of color contrast is supported on a display.
IsHueSupported Checks if customization of hue is supported on a display.
IsSaturationSupported Checks if customization of saturation is supported on a display.
IsTemperatureSupported Checks if customization of color temperature is supported on a display.
SetBrightness Sets the brightness on a display.
SetContrast Sets the color contrast on a display.
SetHue Sets the hue on a display.
SetSaturation Sets the saturation on a display.
SetTemperature Sets the color temperature on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayCustomColor C++ sample.
- For a C application, refer to the DisplayCustomColor C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.js deleted file mode 100644 index aca4f4f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color.js +++ /dev/null @@ -1,23 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_custom_color = -[ - [ "GetBrightness", "_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html", null ], - [ "GetBrightnessRange", "_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html", null ], - [ "GetContrast", "_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html", null ], - [ "GetContrastRange", "_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html", null ], - [ "GetHue", "_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html", null ], - [ "GetHueRange", "_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html", null ], - [ "GetSaturation", "_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html", null ], - [ "GetSaturationRange", "_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html", null ], - [ "GetTemperature", "_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html", null ], - [ "GetTemperatureRange", "_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html", null ], - [ "IsBrightnessSupported", "_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html", null ], - [ "IsContrastSupported", "_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html", null ], - [ "IsHueSupported", "_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html", null ], - [ "IsSaturationSupported", "_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html", null ], - [ "IsTemperatureSupported", "_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html", null ], - [ "SetBrightness", "_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html", null ], - [ "SetContrast", "_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html", null ], - [ "SetHue", "_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html", null ], - [ "SetSaturation", "_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html", null ], - [ "SetTemperature", "_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html deleted file mode 100644 index d6882e7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBrightness
-
-
-

Gets the current brightness of a display.

-

Syntax

-
- ADLX_RESULT    GetBrightness(adlx_int* currentBrightness)
- 

Parameters

-
-
-
- - -
1.[out]currentBrightnessadlx_int*The pointer to a variable where the current brightness of the display is returned.
-
-
-

Return Value

-

If the current brightness is successfully returned, ADLX_OK is returned.
- If the current brightness is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html deleted file mode 100644 index 676cb16..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBrightnessRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBrightnessRange
-
-
-

Gets the maximum brightness, minimum brightness, and step brightness of a display.

-

Syntax

-
- ADLX_RESULT    GetBrightnessRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the brightness range of the display is returned.
-
-
-

Return Value

-

If the brightness range is successfully returned, ADLX_OK is returned.
- If the brightness range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html deleted file mode 100644 index 1a961ae..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetContrast
-
-
-

Gets the current color contrast of a display.

-

Syntax

-
- ADLX_RESULT    GetContrast(adlx_int* currentContrast)
- 

Parameters

-
-
-
- - -
1.[out]currentContrastadlx_int*The pointer to a variable where the current color contrast of the display is returned.
-
-
-

Return Value

-

If the current color contrast is successfully returned, ADLX_OK is returned.
- If the current color contrast is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html deleted file mode 100644 index 78818a5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetContrastRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetContrastRange
-
-
-

Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display.

-

Syntax

-
- ADLX_RESULT    GetContrastRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the color contrast range of the display is returned.
-
-
-

Return Value

-

If the color contrast range is successfully returned, ADLX_OK is returned.
- If the color contrast range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html deleted file mode 100644 index b95d16d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetHue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetHue
-
-
-

Gets the current hue of a display.

-

Syntax

-
- ADLX_RESULT    GetHue(adlx_int* currentHue)
- 

Parameters

-
-
-
- - -
1.[out]currentHueadlx_int*The pointer to a variable where the current hue of the display is returned.
-
-
-

Return Value

-

If the current hue is successfully returned, ADLX_OK is returned.
- If the current hue is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html deleted file mode 100644 index ae879da..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetHueRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetHueRange
-
-
-

Gets the maximum hue, minimum hue, and step hue of a display.

-

Syntax

-
- ADLX_RESULT    GetHueRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the hue range of the display is returned.
-
-
-

Return Value

-

If the hue range is successfully returned, ADLX_OK is returned.
- If the hue range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html deleted file mode 100644 index 4454c35..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSaturation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSaturation
-
-
-

Gets the current saturation of a display.

-

Syntax

-
- ADLX_RESULT    GetSaturation(adlx_int* currentSaturation)
- 

Parameters

-
-
-
- - -
1.[out]currentSaturationadlx_int*The pointer to a variable where the current saturation of the display is returned.
-
-
-

Return Value

-

If the current saturation is successfully returned, ADLX_OK is returned.
- If the current saturation is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html deleted file mode 100644 index 81faa90..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSaturationRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSaturationRange
-
-
-

Gets the maximum saturation, minimum saturation, and step saturation of a display.

-

Syntax

-
- ADLX_RESULT    GetSaturationRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the saturation range of the display is returned.
-
-
-

Return Value

-

If the saturation range is successfully returned, ADLX_OK is returned.
- If the saturation range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html deleted file mode 100644 index 3387827..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTemperature
-
-
-

Gets the current color temperature of a display.

-

Syntax

-
- ADLX_RESULT    GetTemperature(adlx_int* currentTemperature)
- 

Parameters

-
-
-
- - -
1.[out]currentTemperatureadlx_int*The pointer to a variable where the current color temperature of the display is returned.
-
-
-

Return Value

-

If the current color temperature is successfully returned, ADLX_OK is returned.
- If the current color temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html deleted file mode 100644 index 5aedd85..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTemperatureRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTemperatureRange
-
-
-

Gets the maximum color temperature, minimum color temperature, and step color temperature of a display.

-

Syntax

-
- ADLX_RESULT    GetTemperatureRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the color temperature range is returned.
-
-
-

Return Value

-

If the color temperature range is successfully returned, ADLX_OK is returned.
- If the color temperature range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html deleted file mode 100644 index e899d8b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsBrightnessSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsBrightnessSupported
-
-
-

Checks if customization of brightness is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsBrightnessSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of brightness is returned. The variable is true if customization of brightness is supported. The variable is false if customization of brightness is not supported.
-
-
-

Return Value

-

If the state of brightness is successfully returned, ADLX_OK is returned.
- If the state of brightness is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html deleted file mode 100644 index 362e110..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsContrastSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsContrastSupported
-
-
-

Checks if customization of color contrast is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsContrastSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color contrast is returned. The variable is true if customization of color contrast is supported. The variable is false if customization of color contrast is not supported
-
-
-

Return Value

-

If the state of color contrast is successfully returned, ADLX_OK is returned.
- If the state of color contrast is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html deleted file mode 100644 index c494766..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsHueSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsHueSupported
-
-
-

Checks if customization of hue is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsHueSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of hue is returned. The variable is true if customization of hue is supported. The variable is false if customization of hue is not supported.
-
-
-

Return Value

-

If the state of hue is successfully returned, ADLX_OK is returned.
- If the state of hue is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html deleted file mode 100644 index 762f671..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSaturationSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSaturationSupported
-
-
-

Checks if customization of saturation is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSaturationSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of saturation is returned. The variable is true if customization of saturation is supported. The variable is false if customization of saturation is not supported.
-
-
-

Return Value

-

If the state of saturation is successfully returned, ADLX_OK is returned.
- If the state of saturation is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html deleted file mode 100644 index b0ee3e8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsTemperatureSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsTemperatureSupported
-
-
-

Checks if customization of color temperature is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsTemperatureSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color temperature is returned. The variable is true if customization of color temperature is supported. The variable is false if customization of color temperature is not supported.
-
-
-

Return Value

-

If the state of color temperature is successfully returned, ADLX_OK is returned.
- If the state of color temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html deleted file mode 100644 index e6ba667..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBrightness
-
-
-

Sets the brightness on a display.

-

Syntax

-
- ADLX_RESULT    SetBrightness(adlx_int brightness)
- 

Parameters

-
-
-
- - -
1.[out]brightnessadlx_intThe new brightness value.
-
-
-

Return Value

-

If the brightness is successfully set, ADLX_OK is returned.
- If the brightness is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html deleted file mode 100644 index 53487ee..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetContrast - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetContrast
-
-
-

Sets the color contrast on a display.

-

Syntax

-
- ADLX_RESULT    SetContrast(adlx_int contrast)
- 

Parameters

-
-
-
- - -
1.[out]contrastadlx_intThe new color contrast value.
-
-
-

Return Value

-

If the color contrast value is successfully set, ADLX_OK is returned.
- If the color contrast value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html deleted file mode 100644 index 197b0bb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetHue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetHue
-
-
-

Sets the hue on a display.

-

Syntax

-
- ADLX_RESULT    SetHue(adlx_int value)
- 

Parameters

-
-
-
- - -
1.[out]hueadlx_intThe new hue value.
-
-
-

Return Value

-

If the hue is successfully set, ADLX_OK is returned.
- If the hue is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html deleted file mode 100644 index 4390e29..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSaturation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSaturation
-
-
-

Sets the saturation on a display.

-

Syntax

-
- ADLX_RESULT    SetSaturation(adlx_int saturation)
- 

Parameters

-
-
-
- - -
1.[out]saturationadlx_intThe new saturation value.
-
-
-

Return Value

-

If the saturation is successfully set, ADLX_OK is returned.
- If the saturation is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html deleted file mode 100644 index fc0f914..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetTemperature
-
-
-

Sets the color temperature on a display.

-

Syntax

-
- ADLX_RESULT    SetTemperature(adlx_int value)
- 

Parameters

-
-
-
- - -
1.[out]temperatureadlx_intThe new color temperature value.
-
-
-

Return Value

-

If the color temperature is successfully set, ADLX_OK is returned.
- If the color temperature is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.html deleted file mode 100644 index fe53ed0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayCustomResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayCustomResolution
-
-
-

The IADLXDisplayCustomResolution interface provides methods to discover, create, and delete custom resolutions on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayCustomResolution
Smart Pointer Interface Name:IADLXDisplayCustomResolutionPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Methods

- - - - - - - - - - - - - -
Method Description
CreateNewResolution Creates a custom resolution on a display.
DeleteResolution Deletes a custom resolution from a display.
GetCurrentAppliedResolution Gets the reference counted current resolution interface of a display.
GetResolutionList Gets the reference counted list of available resolutions of a display.
IsSupported Checks if custom resolution is supported on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample.
- For a C application, refer to the DisplayCustomResolution C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.js deleted file mode 100644 index 3dfa92b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_custom_resolution = -[ - [ "CreateNewResolution", "_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html", null ], - [ "DeleteResolution", "_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html", null ], - [ "GetCurrentAppliedResolution", "_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html", null ], - [ "GetResolutionList", "_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html deleted file mode 100644 index 24b3376..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: CreateNewResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
CreateNewResolution
-
-
-

Creates a custom resolution on a display.

-

Syntax

-
- ADLX_RESULT    CreateNewResolution(IADLXDisplayResolution* pResolution)
- 

Parameters

-
-
-
- - -
1.[out]pResolutionIADLXDisplayResolution*The pointer to the custom resolution interface.
-
-
-

Return Value

-

If the custom resolution is successfully created, ADLX_OK is returned.
- If the custom resolution is not successfully created, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html deleted file mode 100644 index 446b206..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DeleteResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DeleteResolution
-
-
-

Deletes a custom resolution from a display.

-

Syntax

-
- ADLX_RESULT    DeleteResolution(IADLXDisplayResolution* pResolution)
- 

Parameters

-
-
-
- - -
1.[out]pResolutionIADLXDisplayResolution*The pointer to a variable where the display resolution IADLXDisplayResolution is returned.
-
-
-

Return Value

-

If the custom resolution is successfully deleted, ADLX_OK is returned.
- If the custom resolution is not successfully deleted, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html deleted file mode 100644 index a8a08b4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentAppliedResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentAppliedResolution
-
-
-

Gets the reference counted current resolution interface of a display.

-

Syntax

-
- ADLX_RESULT    GetCurrentAppliedResolution(IADLXDisplayResolution** ppResolution)
- 

Parameters

-
-
-
- - -
1.[out]ppResolutionIADLXDisplayResolution**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address ppResolution to nullptr.
-
-
-

Return Value

-

If the current resolution is successfully returned, ADLX_OK is returned.
- If the current resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.
-

-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html deleted file mode 100644 index 0483367..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetResolutionList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetResolutionList
-
-
-

Gets the reference counted list of available resolutions of a display.

-

Syntax

-
- ADLX_RESULT    GetResolutionList(IADLXDisplayResolutionList** ppResolutionList)
- 

Parameters

-
-
-
- - -
1.[out]crIADLXDisplayResolutionList*The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address ppResolutionList to nullptr.
-
-
-

Return Value

-

If the resolution list is successfully returned, ADLX_OK is returned.
- If the resolution list is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.
-

-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html deleted file mode 100644 index fa4e222..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if custom resolution is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the custom resolution support status is returned. The variable is true if custom resolution is supported. The variable is false if custom resolution is not supported.
-
-
-

Return Value

-

If the custom resolution status is successfully returned, ADLX_OK is returned.
- If the custom resolution status is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use.
- Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.html deleted file mode 100644 index 6ac5cda..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayFreeSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayFreeSync
-
-
-

The IADLXDisplayFreeSync interface configures AMD FreeSync™ on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayFreeSync
Smart Pointer Interface Name:IADLXDisplayFreeSyncPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if the AMD FreeSync™ is enabled on a GPU.
IsSupported Checks if the AMD FreeSync™ is supported on a display.
SetEnabled Sets the AMD FreeSync™ to enabled or disabled state on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayFreeSync C++ sample.
- For a C application, refer to the DisplayFreeSync C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.js deleted file mode 100644 index 0bd3a49..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_free_sync = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html deleted file mode 100644 index a2fbc84..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if the AMD FreeSync™ is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD FreeSync is returned. The variable is true if AMD FreeSync is enabled. The variable is false if AMD FreeSync is not enabled.
-
-
-

Return Value

-

If the state of AMD FreeSync is successfully returned, ADLX_OK is returned.
- If the state of AMD FreeSync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
-

-

AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html deleted file mode 100644 index 0608542..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the AMD FreeSync™ is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD FreeSync is returned. The variable is true if AMD FreeSync is supported. The variable is false if AMD FreeSync is not supported.
-
-
-

Return Value

-

If the state of AMD FreeSync is successfully returned, ADLX_OK is returned.
- If the state of AMD FreeSync is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
-

-

AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html deleted file mode 100644 index a2c02ac..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the AMD FreeSync™ to enabled or disabled state on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD FreeSync state. Set true to enable AMD FreeSync. Set false to disable AMD FreeSync.
-
-
-

Return Value

-

If the AMD FreeSync enabled status is successfully returned, ADLX_OK is returned.
- If the AMD FreeSync enabled status is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate.
-

-

AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html deleted file mode 100644 index fcad18a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGPUScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGPUScaling
-
-
-

The IADLXDisplayGPUScaling interface configures GPU scaling settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayGPUScaling
Smart Pointer Interface Name:IADLXDisplayGPUScalingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Note: Integer Display Scaling is not supported when GPU scaling is disabled.
- GPU scaling is required for Radeon™ Super Resolution. GPU scaling is automatically enabled when Radeo Super Resolution is enabled.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if the GPU scaling is enabled on a display.
IsSupported Checks if the GPU scaling is supported on a display.
SetEnabled Sets the GPU scaling to enabled or disabled state on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayGPUScaling C++ sample.
- For a C application, refer to the DisplayGPUScaling C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.js deleted file mode 100644 index 438eeba..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_g_p_u_scaling = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html deleted file mode 100644 index a3cb3a2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if the GPU scaling is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of GPU scaling is returned. The variable is true if GPU scaling is enabled. The variable is false if GPU scaling is not enabled.
-
-
-

Return Value

-

If the state of GPU scaling is successfully returned, ADLX_OK is returned.
- If the state of GPU scaling is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.
- Note: Integer Display Scaling is not supported when GPU scaling is disabled.
- GPU scaling is required for Radeon™ Super Resolution. GPU scaling is automatically enabled when Radeon Super Resolution is enabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html deleted file mode 100644 index 303c4e6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the GPU scaling is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU scaling is returned. The variable is true if GPU scaling is supported. The variable is false if GPU scaling is not supported.
-
-
-

Return Value

-

If the state of GPU scaling is successfully returned, ADLX_OK is returned.
- If the state of GPU scaling is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html deleted file mode 100644 index 39641d3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the GPU scaling to enabled or disabled state on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new GPU scaling state. Set true to enable GPU scaling. Set false to disable GPU scaling.
-
-
-

Return Value

-

If the state of GPU scaling is successfully set, ADLX_OK is returned.
- If the state of GPU scaling is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling uses the GPU to scale up lower resolutions to fit the display.
- GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU.
- Note: Integer Display Scaling is not supported when GPU scaling is disabled.
- GPU scaling is required for Radeon™ Super Resolution. By disabling GPU scaling when Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.html deleted file mode 100644 index 4bf617a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGamma - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGamma
-
-
-

The IADLXDisplayGamma interface configures gamma correction on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayGamma
Smart Pointer Interface Name:IADLXDisplayGammaPtr
Inherits:IADLXInterface
Inherited By:N/A
-

The IADLXDisplayGamma interface provides two types of gamma correction which are gamma ramp and gamma coefficient. Both gamma ramp and gamma coefficient have two sub-types: de-gamma and re-gamma.

    -
  • Gamma ramp provides a Lookup Table (LUT) for the gamma correction, it applies the LUT with the assumption that all pixels are in sRGB space.
  • -
  • Re-Gamma coefficient uses the following non-linear formula:
    if (linear_pixel < CofficientA0)
    -
    output = linear_pixel * CofficientA1
    -
    else
    -
    output = (1 + CofficientA3) * linear_pixel ^ (1/Gamma) - CofficientA2
    -
  • -
  • De-Gamma coefficient uses the following non-linear formula:
    if (linear_pixel < CofficientA0)
    -
    output = linear_pixel / CofficientA1
    -
    else
    -
    output = ((linear_pixel + CofficientA3) / (1 + CofficientA2)) ^ (Gamma)
    -
  • -
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetGammaCoefficient Gets the re-gamma coefficient settings on a display.
GetGammaRamp Gets the gamma ramp LUT on a display.
IsCurrentDeGammaRamp Checks if de-gamma ramp is used by a display.
IsCurrentReGamma36 Checks if the 3.6 re-gamma is used by a display.
IsCurrentReGammaBT709 Checks if the BT709 re-gamma is used by a display.
IsCurrentReGammaPQ Checks if the PQ re-gamma is used by a display.
IsCurrentReGammaPQ2084Interim Checks if the PQ2084 re-gamma curve is used by a display.
IsCurrentReGammaRamp Checks if re-gamma ramp is used by a display.
IsCurrentReGammaSRGB Checks if the sRGB re-gamma is used by a display.
IsCurrentRegammaCoefficient Checks if re-gamma coefficient is used by a display.
IsSupportedReGamma36 Checks if the 3.6 re-gamma is supported on a display.
IsSupportedReGammaBT709 Checks if the BT709 re-gamma is supported on a display.
IsSupportedReGammaPQ Checks if the PQ re-gamma is supported on a display.
IsSupportedReGammaPQ2084Interim Checks if the PQ2084 re-gamma curve is supported on a display.
IsSupportedReGammaSRGB Checks if the sRGB re-gamma is supported on a display.
ResetGammaRamp Resets the gamma ramp on a display.
SetDeGammaRamp Sets the de-gamma on a display using a ramp file.
SetDeGammaRamp Sets the de-gamma on a display using a ramp buffer.
SetReGamma36 Sets the 3.6 re-gamma on a display.
SetReGammaBT709 Sets the BT709 re-gamma on a display.
SetReGammaCoefficient Sets the re-gamma coefficient on a display.
SetReGammaPQ Sets the PQ re-gamma on a display.
SetReGammaPQ2084Interim Sets the PQ2084 re-gamma curve on a display.
SetReGammaRamp Sets the re-gamma on a display using a ramp file.
SetReGammaRamp Sets the re-gamma on a display using a ramp buffer.
SetReGammaSRGB Sets the sRGB re-gamma on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayGamma C++ sample.
- For a C application, refer to the DisplayGamma C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.js deleted file mode 100644 index 2377784..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma.js +++ /dev/null @@ -1,29 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamma = -[ - [ "GetGammaCoefficient", "_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html", null ], - [ "GetGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html", null ], - [ "IsCurrentDeGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html", null ], - [ "IsCurrentReGamma36", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html", null ], - [ "IsCurrentReGammaBT709", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html", null ], - [ "IsCurrentReGammaPQ", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html", null ], - [ "IsCurrentReGammaPQ2084Interim", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html", null ], - [ "IsCurrentReGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html", null ], - [ "IsCurrentReGammaSRGB", "_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html", null ], - [ "IsCurrentRegammaCoefficient", "_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html", null ], - [ "IsSupportedReGamma36", "_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html", null ], - [ "IsSupportedReGammaBT709", "_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html", null ], - [ "IsSupportedReGammaPQ", "_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html", null ], - [ "IsSupportedReGammaPQ2084Interim", "_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html", null ], - [ "IsSupportedReGammaSRGB", "_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html", null ], - [ "ResetGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html", null ], - [ "SetDeGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html", null ], - [ "SetDeGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html", null ], - [ "SetReGamma36", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html", null ], - [ "SetReGammaBT709", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html", null ], - [ "SetReGammaCoefficient", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html", null ], - [ "SetReGammaPQ", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html", null ], - [ "SetReGammaPQ2084Interim", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html", null ], - [ "SetReGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html", null ], - [ "SetReGammaRamp", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html", null ], - [ "SetReGammaSRGB", "_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html deleted file mode 100644 index 84eeddf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGammaCoefficient - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGammaCoefficient
-
-
-

Gets the re-gamma coefficient settings on a display.

-

Syntax

-
- ADLX_RESULT    GetGammaCoefficient (ADLX_RegammaCoeff* coeff)
- 

Parameters

-
-
-
- - -
1.[out] coeffADLX_RegammaCoeff* The pointer to a variable where the re-gamma coefficient settings are returned.
-
-
-

Return Value

-

If the re-gamma coefficient settings are successfully returned, ADLX_OK is returned.
- If the re-gamma coefficient settings are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html deleted file mode 100644 index a612acd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGammaRamp
-
-
-

Gets the gamma ramp LUT on a display.

-

Syntax

-
- ADLX_RESULT    GetGammaRamp (ADLX_GammaRamp* lut)
- 

Parameters

-
-
-
- - -
1.[out] lutADLX_GammaRamp*The pointer to a variable where the gamma ramp LUT is returned.
-
-
-

Return Value

-

If the gamma ramp LUT is successfully returned, ADLX_OK is returned.
- If the gamma ramp LUT is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html deleted file mode 100644 index 6b23062..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentDeGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentDeGammaRamp
-
-
-

Checks if de-gamma ramp is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentDeGammaRamp (adlx_bool* isDeGammaRamp)
- 

Parameters

-
-
-
- - -
1.[out] IsDeGammaRampadlx_bool* The pointer to a variable where the state of de-gamma ramp is returned. The variable is true if de-gamma ramp is used. The variable is false if de-gamma ramp is not used.
-
-
-

Return Value

-

If the state of de-gamma ramp is successfully returned, ADLX_OK is returned.
- If the state of de-gamma ramp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html deleted file mode 100644 index 30f927e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGamma36 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGamma36
-
-
-

Checks if the 3.6 re-gamma is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGamma36 (adlx_bool* isCurrentReGamma36)
- 

Parameters

-
-
-
- - -
1.[out]IsCurrentReGamma36adlx_bool*The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is true if 3.6 re-gamma is used. The variable is false if 3.6 re-gamma is not used.
-
-
-

Return Value

-

If the state of 3.6 re-gamma is successfully returned, ADLX_OK is returned.
- If the state of 3.6 re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html deleted file mode 100644 index df0bf45..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGammaBT709 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGammaBT709
-
-
-

Checks if the BT709 re-gamma is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGammaBT709 (adlx_bool* isCurrentReGammaBT709)
- 

Parameters

-
-
-
- - -
1.[out]IsCurrentReGammaBT709adlx_bool*The pointer to a variable where the state of BT709 re-gamma is returned. The variable is true if BT709 re-gamma is used. The variable is false if BT709 re-gamma is not used.
-
-
-

Return Value

-

If the state of BT709 re-gamma is successfully returned, ADLX_OK is returned.
- If the state of BT709 re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html deleted file mode 100644 index 2a5e4f5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGammaPQ - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGammaPQ
-
-
-

Checks if the PQ re-gamma is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGammaPQ (adlx_bool* isCurrentReGammaPQ)
- 

Parameters

-
-
-
- - -
1.[out]IsCurrentReGammaPQadlx_bool*The pointer to a variable where the state of PQ re-gamma is returned. The variable is true if PQ re-gamma is used. The variable is false if PQ re-gamma is not used.
-
-
-

Return Value

-

If the state of PQ re-gamma is successfully returned, ADLX_OK is returned.
- If the state of PQ re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html deleted file mode 100644 index 2330d9a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGammaPQ2084Interim - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGammaPQ2084Interim
-
-
-

Checks if the PQ2084 re-gamma curve is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGammaPQ2084Interim (adlx_bool* isCurrentReGammaPQ2084Interim)
- 

Parameters

-
-
-
- - -
1.[out]IsCurrentReGammaPQ2084Interimadlx_bool*The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is true if PQ2084 re-gamma curve is used. The variable is false if PQ2084 re-gamma curve is not used.
-
-
-

Return Value

-

If the state of PQ2084 re-gamma curve is successfully returned, ADLX_OK is returned.
- If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html deleted file mode 100644 index f518802..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGammaRamp
-
-
-

Checks if re-gamma ramp is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGammaRamp (adlx_bool* isReGammaRamp)
- 

Parameters

-
-
-
- - -
1.[out] IsReGammaRampadlx_bool* The pointer to a variable where the state of re-gamma ramp is returned. The variable is true if re-gamma ramp is used. The variable is false if re-gamma ramp is not used.
-
-
-

Return Value

-

If the state of re-gamma ramp is successfully returned, ADLX_OK is returned.
- If the state of re-gamma ramp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html deleted file mode 100644 index 464c689..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentReGammaSRGB - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentReGammaSRGB
-
-
-

Checks if the sRGB re-gamma is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentReGammaSRGB (adlx_bool* isCurrentReGammaSRGB)
- 

Parameters

-
-
-
- - -
1.[out] IsCurrentReGammaSRGBadlx_bool*The pointer to a variable where the state of sRGB re-gamma is returned. The variable is true if sRGB re-gamma is used. The variable is false if sRGB re-gamma is not used.
-
-
-

Return Value

-

If the state of sRGB re-gamma is successfully returned, ADLX_OK is returned.
- If the state of sRGB re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html deleted file mode 100644 index a658f2b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentRegammaCoefficient - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentRegammaCoefficient
-
-
-

Checks if re-gamma coefficient is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentRegammaCoefficient (adlx_bool* isRegammaCoeff)
- 

Parameters

-
-
-
- - -
1.[out] IsRegammaCoeffadlx_bool*The pointer to a variable where the state of re-gamma coefficient is returned. The variable is true if re-gamma coefficient is used. The variable is false if re-gamma coefficient is not used.
-
-
-

Return Value

-

If the state of re-gamma coefficient is successfully returned, ADLX_OK is returned.
- If the state of re-gamma coefficient is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html deleted file mode 100644 index 054ae39..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedReGamma36 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedReGamma36
-
-
-

Checks if the 3.6 re-gamma is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedReGamma36 (adlx_bool* isSupportedReGamma36)
- 

Parameters

-
-
-
- - -
1.[out] IsSupportedReGamma36adlx_bool*The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is true if 3.6 re-gamma is supported. The variable is false if 3.6 re-gamma is not supported.
-
-
-

Return Value

-

If the state of 3.6 re-gamma is successfully returned, ADLX_OK is returned.
- If the state of 3.6 re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html deleted file mode 100644 index 3074cd2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedReGammaBT709 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedReGammaBT709
-
-
-

Checks if the BT709 re-gamma is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedReGammaBT709 (adlx_bool* isSupportedReGammaBT709)
- 

Parameters

-
-
-
- - -
1.[out] IsSupportedReGammaBT709adlx_bool*The pointer to a variable where the state of BT709 re-gamma is returned. The variable is true if BT709 re-gamma is supported. The variable is false if BT709 re-gamma is not supported.
-
-
-

Return Value

-

If the state of BT709 re-gamma is successfully returned, ADLX_OK is returned.
- If the state of BT709 re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html deleted file mode 100644 index 2a5e28b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedReGammaPQ - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedReGammaPQ
-
-
-

Checks if the PQ re-gamma is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedReGammaPQ (adlx_bool* isSupportedReGammaPQ)
- 

Parameters

-
-
-
- - -
1.[out] IsSupportedReGammaPQadlx_bool*The pointer to a variable where the state of PQ re-gamma is returned. The variable is true if PQ re-gamma is supported. The variable is false if PQ re-gamma is not supported.
-
-
-

Return Value

-

If the state of PQ re-gamma is successfully returned, ADLX_OK is returned.
- If the state of PQ re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html deleted file mode 100644 index 3a43772..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedReGammaPQ2084Interim - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedReGammaPQ2084Interim
-
-
-

Checks if the PQ2084 re-gamma curve is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedReGammaPQ2084Interim (adlx_bool* isSupportedReGammaPQ2084Interim);
- 

Parameters

-
-
-
- - -
1.[out] IsSupportedReGammaPQ2084Interimadlx_bool*The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is true if PQ2084 re-gamma curve is supported. The variable is false if PQ2084 re-gamma curve is not supported.
-
-
-

Return Value

-

If the state of PQ2084 re-gamma curve is successfully returned, ADLX_OK is returned.
- If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html deleted file mode 100644 index 4c8fba9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedReGammaSRGB - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedReGammaSRGB
-
-
-

Checks if the sRGB re-gamma is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedReGammaSRGB (adlx_bool* isSupportedRegammaSRGB)
- 

Parameters

-
-
-
- - -
1.[out] isSupportedRegammaSRGBadlx_bool* The pointer to a variable where the state of sRGB re-gamma is returned. The variable is true if sRGB re-gamma is supported. The variable is false if sRGB re-gamma is not supported.
-
-
-

Return Value

-

If the state of sRGB re-gamma is successfully returned, ADLX_OK is returned.
- If the state of sRGB re-gamma is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html deleted file mode 100644 index 28ff837..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ResetGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ResetGammaRamp
-
-
-

Resets the gamma ramp on a display.

-

Syntax

-
- ADLX_RESULT    ResetGammaRamp ()
- 

Parameters

-

N/A

-

Return Value

-

If the gamma ramp is successfully reset, ADLX_OK is returned.
- If the gamma ramp is not successfully reset, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html deleted file mode 100644 index b0ee972..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetDeGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetDeGammaRamp
-
-
-

Sets the de-gamma on a display using a ramp file.

-

Syntax

-
- ADLX_RESULT    SetDeGammaRamp (const char* path)
- 

Parameters

-
-
-
- - -
1.[in] pPathconst char* The zero-terminated string that specifies the path of the ramp file.
-
-
-

Return Value

-

If the de-gamma is successfully set, ADLX_OK is returned.
- If the de-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The method sets the custom de-gamma on a display using a ramp file. The following is an example of a ramp file.

[R] [G] [B]
-
[0] 0, 0, 0
-
[1] 49836, 34885, 0
-
...
-
[254] 58260, 58782, 0
-
[255] 65533, 56634, 0
-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html deleted file mode 100644 index df9666d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetDeGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetDeGammaRamp
-
-
-

Sets the de-gamma on a display using a ramp buffer.

-

Syntax

-
- ADLX_RESULT    SetDeGammaRamp (ADLX_GammaRamp gammaRamp)
- 

Parameters

-
-
-
- - -
1.[in] gammaRampADLX_GammaRamp The gamma ramp buffer.
-
-
-

Return Value

-

If the de-gamma is successfully set, ADLX_OK is returned.
- If the de-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html deleted file mode 100644 index 1eac97b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGamma36 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGamma36
-
-
-

Sets the 3.6 re-gamma on a display.

-

Syntax

-
- ADLX_RESULT    SetReGamma36 ()
- 

Parameters

-

N/A

-

Return Value

-

If the 3.6 re-gamma is successfully set, ADLX_OK is returned.
- If the 3.6 re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html deleted file mode 100644 index ee645a4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaBT709 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaBT709
-
-
-

Sets the BT709 re-gamma on a display.

-

Syntax

-
- ADLX_RESULT    SetReGammaBT709 ()
- 

Parameters

-

N/A

-

Return Value

-

If the BT709 re-gamma is successfully set, ADLX_OK is returned.
- If the BT709 re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html deleted file mode 100644 index f6f5b80..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaCoefficient - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaCoefficient
-
-
-

Sets the re-gamma coefficient on a display.

-

Syntax

-
- ADLX_RESULT    SetReGammaCoefficient (ADLX_RegammaCoeff coeff)
- 

Parameters

-
-
-
- - -
1.[in] coeffADLX_RegammaCoeff The re-gamma coefficient.
-
-
-

Return Value

-

If the re-gamma coefficient is successfully set, ADLX_OK is returned.
- If the re-gamma coefficient is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The method sets the custom coefficient on a display. The following is an example of a standard coefficient.

- - - - - - - - - - - - -
coeff sRGB BT709 Gamma2.2 Gamma2.4 P3
CoefficientA0 31308 180000 0 0 0
CoefficientA1 12920 4500 0 0 0
CoefficientA2 55 99 0 0 0
CoefficientA3 55 99 0 0 0
Gamma 2400 2200 2200 2400 2600
-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html deleted file mode 100644 index 4278cc5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaPQ - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaPQ
-
-
-

Sets the PQ re-gamma on a display.

-

Syntax

-
- ADLX_RESULT    SetReGammaPQ ()
- 

Parameters

-

N/A

-

Return Value

-

If the PQ re-gamma is successfully set, ADLX_OK is returned.
- If the PQ re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html deleted file mode 100644 index 9478cb9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaPQ2084Interim - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaPQ2084Interim
-
-
-

Sets the PQ2084 re-gamma curve on a display.

-

Syntax

-
- ADLX_RESULT    SetReGammaPQ2084Interim ()
- 

Parameters

-

N/A

-

Return Value

-

If the PQ2084 re-gamma curve is successfully set, ADLX_OK is returned.
- If the PQ2084 re-gamma curve is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html deleted file mode 100644 index eb9f73e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaRamp
-
-
-

Sets the re-gamma on a display using a ramp file.

-

Syntax

-
- ADLX_RESULT    SetReGammaRamp (const char* path)
- 

Parameters

-
-
-
- - -
1.[in] pPathconst char* The zero-terminated string that specifies the path of the ramp file.
-
-
-

Return Value

-

If the re-gamma is successfully set, ADLX_OK is returned.
- If the re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The method sets the custom re-gamma on a display using a ramp file. The following is an example of a LUT file format, each acceptable value is a number between 0 and 65535.

[R] [G] [B]
-
[0] 0, 0, 0
-
[1] 49836, 34885, 0
-
...
-
[254] 58260, 58782, 0
-
[255] 65533, 56634, 0
-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html deleted file mode 100644 index b7d2710..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaRamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaRamp
-
-
-

Sets the re-gamma on a display using a ramp buffer.

-

Syntax

-
- ADLX_RESULT    SetReGammaRamp (ADLX_GammaRamp gammaRamp)
- 

Parameters

-
-
-
- - -
1.[in] gammaRampADLX_GammaRamp The gamma ramp buffer.
-
-
-

Return Value

-

If the re-gamma is successfully set, ADLX_OK is returned.
- If the re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html deleted file mode 100644 index 7c80fb0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetReGammaSRGB - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetReGammaSRGB
-
-
-

Sets the sRGB re-gamma on a display.

-

Syntax

-
- ADLX_RESULT    SetReGammaSRGB ()
- 

Parameters

-

N/A

-

Return Value

-

If the sRGB re-gamma is successfully set, ADLX_OK is returned.
- If the sRGB re-gamma is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamma.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.html deleted file mode 100644 index 446bdc6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGammaChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGammaChangedEvent
-
-
-

The IADLXDisplayGammaChangedEvent interface provides methods to check if the gamma setting of a display is changed.

- - - - - - - - - -
InterfaceId:IADLXDisplayGammaChangedEvent
Smart Pointer Interface Name:IADLXDisplayGammaChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:N/A
-

Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Methods

- - - - - - - - - - - - - -
Method Description
GetDisplay Gets the reference counted display interface on which the gamma setting is changed.
IsDeGammaChanged Checks if the de-gamma of a display is changed.
IsGammaCoefficientChanged Checks if the gamma coefficient of a display is changed.
IsGammaRampChanged Checks if the gamma ramp of a display is changed.
IsReGammaChanged Checks if the re-gamma of a display is changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.js deleted file mode 100644 index f2a9ff2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamma_changed_event = -[ - [ "GetDisplay", "_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html", null ], - [ "IsDeGammaChanged", "_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html", null ], - [ "IsGammaCoefficientChanged", "_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html", null ], - [ "IsGammaRampChanged", "_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html", null ], - [ "IsReGammaChanged", "_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html deleted file mode 100644 index 2153cc6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplay
-
-
-

Gets the reference counted display interface on which the gamma setting is changed.

-

Syntax

-
- ADLX_RESULT    GetDisplay (IADLXDisplay** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[out] ppDisplayIADLXDisplay** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the display interface is successfully returned, ADLX_OK is returned.
- If the display inferface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html deleted file mode 100644 index 55de366..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsDeGammaChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsDeGammaChanged
-
-
-

Checks if the de-gamma of a display is changed.

-

Syntax

-
- adlx_bool    IsDeGammaChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the de-gamma is changed, true is returned.
- If the de-gamma is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html deleted file mode 100644 index 761b16c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsGammaCoefficientChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsGammaCoefficientChanged
-
-
-

Checks if the gamma coefficient of a display is changed.

-

Syntax

-
- adlx_bool    IsGammaCoefficientChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the gamma coefficient is changed, true is returned.
- If the gamma coefficient is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html deleted file mode 100644 index f6acf33..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsGammaRampChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsGammaRampChanged
-
-
-

Checks if the gamma ramp of a display is changed.

-

Syntax

-
- adlx_bool    IsGammaRampChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the gamma ramp is changed, true is returned.
- If the gamma ramp is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html deleted file mode 100644 index 07d8350..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsReGammaChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsReGammaChanged
-
-
-

Checks if the re-gamma of a display is changed.

-

Syntax

-
- adlx_bool    IsReGammaChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the re-gamma is changed, true is returned.
- If the re-gamma is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html deleted file mode 100644 index 08caf10..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGammaChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGammaChangedListener
-
-
-

The IADLXDisplayGammaChangedListener interface is implemented in the application to receive an event from ADLX when the display gamma changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDisplayGammaChangedListener interface must be passed to AddDisplayGammaEventListener to register for notifications when the display gamma changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnDisplayGammaChanged The OnDisplayGammaChanged method is called by ADLX when the display gamma changes.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample.
- For a C application, refer to the DisplayEvents C sample.
- For a C# application, refer to the DisplayEvents C# sample.
- For a Java application, refer to the DisplayEvents Java sample.
- For a Python application, refer to the DisplayEvents Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.js deleted file mode 100644 index bc3b669..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamma_changed_listener = -[ - [ "OnDisplayGammaChanged", "_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html deleted file mode 100644 index 6f8d281..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDisplayGammaChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDisplayGammaChanged
-
-
-

The OnDisplayGammaChanged method is called by ADLX when the display gamma changes.

-

Syntax

-
- adlx_bool    OnDisplayGammaChanged (IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGammaChangedEventIADLXDisplayGammaChangedEvent* The pointer to the event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDisplayGammaEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayGammaEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamma change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamma change event with Release.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.html deleted file mode 100644 index 142fd48..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGamut
-
-
-

The IADLXDisplayGamut interface provides methods to configure gamut on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayGamut
Smart Pointer Interface Name:IADLXDisplayGamutPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Examples of functionality in IADLXDisplayGamut interface include:

    -
  • Discover the supported predefined color space settings.
  • -
  • Discover the current color space settings.
  • -
  • Change the color space settings.
  • -
  • Discover the supported predefined white point settings.
  • -
  • Discover the current color white point settings.
  • -
  • Change the white point settings.
  • -
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetGamutColorSpace Gets the color space coordinates of a display.
GetWhitePoint Gets the white point coordinates (x, y) of a display.
IsCurrent5000kWhitePoint Checks if the standard white point 5000k is used by a display.
IsCurrent6500kWhitePoint Checks if the standard white point 6500k is used by a display.
IsCurrent7500kWhitePoint Checks if the standard white point 7500k is used by a display.
IsCurrent9300kWhitePoint Checks if the standard white point 9300k is used by a display.
IsCurrentAdobeRgbColorSpace Checks if the standard color space Adobe RGB is used by a display.
IsCurrentCCIR2020ColorSpace Checks if the standard color space CCIR2020 is used by a display.
IsCurrentCCIR601ColorSpace Checks if the standard color space CCIR601 is used by a display.
IsCurrentCCIR709ColorSpace Checks if the standard color space CCIR709 is used by a display.
IsCurrentCIERgbColorSpace Checks if the standard color space sRGB is used by a display.
IsCurrentCustomColorSpace Checks if a custom color space is used by a display.
IsCurrentCustomWhitePoint Checks if a custom white point is used by a display.
IsSupported5000kWhitePoint Checks if the standard white point 5000k is supported on a display.
IsSupported6500kWhitePoint Checks if the standard white point 6500k is supported on a display.
IsSupported7500kWhitePoint Checks if the standard white point 7500k is supported on a display.
IsSupported9300kWhitePoint Checks if the standard white point 9300k is supported on a display.
IsSupportedAdobeRgbColorSpace Checks if the standard color space Adobe RGB is supported on a display.
IsSupportedCCIR2020ColorSpace Checks if the standard color space BT.2020 is supported on a display.
IsSupportedCCIR601ColorSpace Checks if the standard color space CCIR601 is supported on a display.
IsSupportedCCIR709ColorSpace Checks if the standard color space CCIR709 is supported on a display.
IsSupportedCIERgbColorSpace Checks if the standard color space CIERgb is supported on a display.
IsSupportedCustomColorSpace Checks if custom color space is supported on a display.
IsSupportedCustomWhitePoint Checks if custom white point is supported on a display.
SetGamut Sets a custom white point, for a custom color space on a display.
SetGamut Sets a custom white point for a predefined color space on a display.
SetGamut Sets a predefined white point for a custom color space on a display.
SetGamut Sets a predefined white point for a predefined color space on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayGamut C++ sample.
- For a C application, refer to the DisplayGamut C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.js deleted file mode 100644 index 6bb3629..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut.js +++ /dev/null @@ -1,31 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamut = -[ - [ "GetGamutColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html", null ], - [ "GetWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html", null ], - [ "IsCurrent5000kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html", null ], - [ "IsCurrent6500kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html", null ], - [ "IsCurrent7500kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html", null ], - [ "IsCurrent9300kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html", null ], - [ "IsCurrentAdobeRgbColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html", null ], - [ "IsCurrentCCIR2020ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html", null ], - [ "IsCurrentCCIR601ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html", null ], - [ "IsCurrentCCIR709ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html", null ], - [ "IsCurrentCIERgbColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html", null ], - [ "IsCurrentCustomColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html", null ], - [ "IsCurrentCustomWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html", null ], - [ "IsSupported5000kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html", null ], - [ "IsSupported6500kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html", null ], - [ "IsSupported7500kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html", null ], - [ "IsSupported9300kWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html", null ], - [ "IsSupportedAdobeRgbColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html", null ], - [ "IsSupportedCCIR2020ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html", null ], - [ "IsSupportedCCIR601ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html", null ], - [ "IsSupportedCCIR709ColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html", null ], - [ "IsSupportedCIERgbColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html", null ], - [ "IsSupportedCustomColorSpace", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html", null ], - [ "IsSupportedCustomWhitePoint", "_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html", null ], - [ "SetGamut", "_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html", null ], - [ "SetGamut", "_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html", null ], - [ "SetGamut", "_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html", null ], - [ "SetGamut", "_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html deleted file mode 100644 index 70b4a93..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGamutColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGamutColorSpace
-
-
-

Gets the color space coordinates of a display.

-

Syntax

-
- ADLX_RESULT    GetGamutColorSpace (ADLX_GamutColorSpace* gamutColorSpace)
- 

Parameters

-
-
-
- - -
1.[out] gamutColorSpaceADLX_GamutColorSpace* The pointer to a variable where the gamut color space are returned.
-
-
-

Return Value

-

If the color space coordinates are successfully returned, ADLX_OK is returned.
- If the color space coordinates are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The gamut color space coordinates consist of (y, x) chromaticity coordinates for the red, green, and blue channels.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html deleted file mode 100644 index 5132bf8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetWhitePoint
-
-
-

Gets the white point coordinates (x, y) of a display.

-

Syntax

-
- ADLX_RESULT    GetWhitePoint (ADLX_Point* point)
- 

Parameters

-
-
-
- - -
1.[out] pointADLX_Point* The pointer to a variable where the white point coordinates are returned.
-
-
-

Return Value

-

If the white point coordinates are successfully returned, ADLX_OK is returned.
- If the white point coordinates are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html deleted file mode 100644 index bb73b7d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrent5000kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrent5000kWhitePoint
-
-
-

Checks if the standard white point 5000k is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrent5000kWhitePoint (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of white point 5000k is returned. The variable is true if white point 5000k is used. The variable is false if white point 5000k is not used.
-
-
-

Return Value

-

If the state of white point 5000k is successfully returned, ADLX_OK is returned.
- If the state of white point 5000k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html deleted file mode 100644 index 7be19ff..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrent6500kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrent6500kWhitePoint
-
-
-

Checks if the standard white point 6500k is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrent6500kWhitePoint (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of white point 6500k is returned.The variable is true if white point 6500k is used. The variable is false if white point 6500k is not used.
-
-
-

Return Value

-

If the state of white point 6500k is successfully returned, ADLX_OK is returned.
- If the state of white point 6500k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html deleted file mode 100644 index 8eb0dd3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrent7500kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrent7500kWhitePoint
-
-
-

Checks if the standard white point 7500k is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrent7500kWhitePoint (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of white point 7500k is returned. The variable is true if white point 7500k is used. The variable is false if white point 7500k is not used.
-
-
-

Return Value

-

If the state of white point 7500k is successfully returned, ADLX_OK is returned.
- If the state of white point 7500k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html deleted file mode 100644 index e843191..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrent9300kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrent9300kWhitePoint
-
-
-

Checks if the standard white point 9300k is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrent9300kWhitePoint (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of white point 9300k is returned. The variable is true if white point 9300k is used. The variable is false if white point 9300k is not used.
-
-
-

Return Value

-

If the state of white point 9300k is successfully returned, ADLX_OK is returned.
- If the state of white point 9300k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html deleted file mode 100644 index 06fcc5b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentAdobeRgbColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentAdobeRgbColorSpace
-
-
-

Checks if the standard color space Adobe RGB is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentAdobeRgbColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of color space Adobe RGB is returned. The variable is true if color space Adobe RGB is used. The variable is false if color space Adobe RGB is not used.
-
-
-

Return Value

-

If the state of color space Adobe RGB is successfully returned, ADLX_OK is returned.
- If the state of color space Adobe RGB is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html deleted file mode 100644 index 7740f23..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCCIR2020ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCCIR2020ColorSpace
-
-
-

Checks if the standard color space CCIR2020 is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCCIR2020ColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if color space CCIR2020 is used. The variable is false if color space CCIR2020 is not used.
-
-
-

Return Value

-

If the state of color space CCIR709 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR709 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html deleted file mode 100644 index 5ee2587..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCCIR601ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCCIR601ColorSpace
-
-
-

Checks if the standard color space CCIR601 is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCCIR601ColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of color space CCIR601 is returned. The variable is true if color space CCIR601 is used. The variable is false if color space CCIR601 is not used.
-
-
-

Return Value

-

If the state of color space CCIR601 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR601 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html deleted file mode 100644 index f9d1113..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCCIR709ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCCIR709ColorSpace
-
-
-

Checks if the standard color space CCIR709 is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCCIR709ColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if color space CCIR709 is used. The variable is false if color space CCIR709 is not used.
-
-
-

Return Value

-

If the state of color space CCIR709 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR709 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html deleted file mode 100644 index 801a0b8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCIERgbColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCIERgbColorSpace
-
-
-

Checks if the standard color space sRGB is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCIERgbColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of color space sRGB is returned. The variable is true if color space sRGB is used. The variable is false if color space sRGB is not used.
-
-
-

Return Value

-

If the state of color space sRGB is successfully returned, ADLX_OK is returned.
- If the state of color space sRGB is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html deleted file mode 100644 index 2f027b8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCustomColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCustomColorSpace
-
-
-

Checks if a custom color space is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCustomColorSpace (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of custom color space is returned. The variable is true if a custom color space is used. The variable is false if a custom color space is not used.
-
-
-

Return Value

-

If the state of custom color space is successfully returned, ADLX_OK is returned.
- If the state of custom color space is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information on color coordinates, refer to ADLX_GamutColorSpace.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html deleted file mode 100644 index f70b7b2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentCustomWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentCustomWhitePoint
-
-
-

Checks if a custom white point is used by a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentCustomWhitePoint (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of custom white point is returned. The variable is true if a custom white point is used. The variable is false if a custom white point is not used.
-
-
-

Return Value

-

If the state of custom white point is successfully returned, ADLX_OK is returned.
- If the state of custom white point is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html deleted file mode 100644 index e29ad2e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported5000kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported5000kWhitePoint
-
-
-

Checks if the standard white point 5000k is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported5000kWhitePoint (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of white point 5000k is returned. The variable is true if the white point 5000k is supported. The variable is false if the white point 5000k is not supported.
-
-
-

Return Value

-

If the state of white point 5000k is successfully returned, ADLX_OK is returned.
- If the state of white point 5000k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html deleted file mode 100644 index aa2d729..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported6500kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported6500kWhitePoint
-
-
-

Checks if the standard white point 6500k is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported6500kWhitePoint (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of white point 6500k is returned. The variable is true if the white point 6500k is supported. The variable is false if the white point 6500k is not supported.
-
-
-

Return Value

-

If the state of white point 6500k is successfully returned, ADLX_OK is returned.
- If the state of white point 6500k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html deleted file mode 100644 index 331306a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported7500kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported7500kWhitePoint
-
-
-

Checks if the standard white point 7500k is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported7500kWhitePoint (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of white point 7500k is returned. The variable is true if the white point 7500k is supported. The variable is false if the white point 7500k is not supported.
-
-
-

Return Value

-

If the state of white point 7500k is successfully returned, ADLX_OK is returned.
- If the state of white point 7500k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html deleted file mode 100644 index 3429edd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported9300kWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported9300kWhitePoint
-
-
-

Checks if the standard white point 9300k is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported9300kWhitePoint (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of white point 9300k is returned. The variable is true if the white point 9300k is supported. The variable is false if the white point 9300k is not supported.
-
-
-

Return Value

-

If the state of white point 9300k is successfully returned, ADLX_OK is returned.
- If the state of white point 9300k is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html deleted file mode 100644 index f9316e6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedAdobeRgbColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedAdobeRgbColorSpace
-
-
-

Checks if the standard color space Adobe RGB is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedAdobeRgbColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color space Adobe RGB is returned. The variable is true if the color space Adobe RGB is supported. The variable is false if the color space Adobe RGB is not supported.
-
-
-

Return Value

-

If the state of color space Adobe RGB is successfully returned, ADLX_OK is returned.
- If the state of color space Adobe RGB is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The standard gamut Adobe RGB (1998) color space or opRGB was developed by Adobe Systems, Inc. in 1998. The color space was designed to encompass most of the colors achievable on CMYK color printers, but by using RGB primary colors on a device such as a computer display.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html deleted file mode 100644 index 7615c6a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCCIR2020ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCCIR2020ColorSpace
-
-
-

Checks if the standard color space BT.2020 is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCCIR2020ColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color space CCIR2020 is returned. The variable is true if the color space CCIR2020 is supported. The variable is false if the color space CCIR2020 is not supported.
-
-
-

Return Value

-

If the state of color space CCIR2020 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR2020 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

ITU-R Recommendation BT.2020, is commonly known by the abbreviations Rec.2020 or BT.2020. It defines various aspects of Ultra-High-Definition Television (UHDTV) with Standard Dynamic Range (SDR) and Wide Color Gamut (WCG), including picture resolutions, frame rates with progressive scan, bit depths, color primaries, RGB, and luma-chroma color representations, chroma subsampling, and opto-electronic transfer function.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html deleted file mode 100644 index 9f5ffb1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCCIR601ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCCIR601ColorSpace
-
-
-

Checks if the standard color space CCIR601 is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCCIR601ColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color space CCIR601 is returned. The variable is true if the color space CCIR601 is supported. The variable is false if the color space CCIR601 is not supported.
-
-
-

Return Value

-

If the state of color space CCIR601 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR601 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The color space CCIR601 is a standard, originally issued in 1982 by the CCIR, for encoding interlaced analog video signals in digital video form and is also known as Rec.601 or BT.601.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html deleted file mode 100644 index 34ebd80..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCCIR709ColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCCIR709ColorSpace
-
-
-

Checks if the standard color space CCIR709 is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCCIR709ColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if the color space CCIR709 is supported. The variable is false if the color space CCIR709 is not supported.
-
-
-

Return Value

-

If the state of color space CCIR709 is successfully returned, ADLX_OK is returned.
- If the state of color space CCIR709 is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The gamut color space CCIR709, also known as Rec.709, BT.709, and ITU 709, is a standard developed by ITU-R for image encoding and signal characteristics for high-definition television.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html deleted file mode 100644 index 701d4f5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCIERgbColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCIERgbColorSpace
-
-
-

Checks if the standard color space CIERgb is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCIERgbColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of color space CIERgb is returned. The variable is true if the color space CIERgb is supported. The variable is false if the color space CIERgb is not supported.
-
-
-

Return Value

-

If the state of color space CIERgb is successfully returned, ADLX_OK is returned.
- If the state of color space CIERgb is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The standard gamut CIERgb or standard RGB (red, green, blue) color space was co-operatively created by Microsoft and Hewlett-Packard (HP) in 1996 to be used on monitors, printers, and websites.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html deleted file mode 100644 index c0e2ab6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCustomColorSpace - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCustomColorSpace
-
-
-

Checks if custom color space is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCustomColorSpace (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of custom color space is returned. The variable is true if custom color space is supported. The variable is false if custom color space is not supported.
-
-
-

Return Value

-

If the state of custom color space is successfully returned, ADLX_OK is returned.
- If the state of custom color space is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The custom color space can be changed as required.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html deleted file mode 100644 index 0f6cd51..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCustomWhitePoint - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCustomWhitePoint
-
-
-

Checks if custom white point is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedCustomWhitePoint (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of custom white point is returned.The variable is true if custom white point is supported. The variable is false if custom white point is not supported.
-
-
-

Return Value

-

If the state of custom white point is successfully returned, ADLX_OK is returned.
- If the state of custom white point is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html deleted file mode 100644 index 0c12403..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGamut
-
-
-

Sets a custom white point, for a custom color space on a display.

-

Syntax

-
- ADLX_RESULT    SetGamut (ADLX_RGB customWhitePoint, ADLX_GamutColorSpace customGamut)
- 

Parameters

-
-
-
- - -
1.[in] customWhitePointADLX_RGB The custom white point.
-
-
-
-
-
- - -
2.[in] customGamutADLX_GamutColorSpace The custom color space.
-
-
-

Return Value

-

If the gamut settings are successfully set, ADLX_OK is returned.
- If the gamut settings are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information on white point coordinates, Refer to ADLX_Point.
- For more information on color space coordinates, refer to ADLX_GamutColorSpace.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html deleted file mode 100644 index a5513fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGamut
-
-
-

Sets a custom white point for a predefined color space on a display.

-

Syntax

-
- ADLX_RESULT    SetGamut (ADLX_RGB customWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace)
- 

Parameters

-
-
-
- - -
1.[in] customWhitePointADLX_RGB The custom white point.
-
-
-
-
-
- - -
2.[in] predefinedGamutSpaceADLX_GAMUT_SPACE The predefined color space.
-
-
-

Return Value

-

If the gamut settings are successfully set, ADLX_OK is returned.
- If the gamut settings are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information on white point coordinates, refer to ADLX_Point.
- For more information on color space coordinates, refer to ADLX_GamutColorSpace.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html deleted file mode 100644 index c45d4b0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGamut
-
-
-

Sets a predefined white point for a custom color space on a display.

-

Syntax

-
- ADLX_RESULT    SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GamutColorSpace customGamut)
- 

Parameters

-
-
-
- - -
1.[in] predefinedWhitePointADLX_WHITE_POINT The predefined white point.
-
-
-
-
-
- - -
2.[in] customGamutADLX_GamutColorSpace The custom color space.
-
-
-

Return Value

-

If the gamut settings are successfully set, ADLX_OK is returned.
- If the gamut settings are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information on white point coordinates, refer to ADLX_Point.
- For more information on color space coordinates, refer to ADLX_GamutColorSpace.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html deleted file mode 100644 index 292a729..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGamut
-
-
-

Sets a predefined white point for a predefined color space on a display.

-

Syntax

-
- ADLX_RESULT    SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace)
- 

Parameters

-
-
-
- - -
1.[in] predefinedWhitePointADLX_WHITE_POINT The predefined white point.
-
-
-
-
-
- - -
2.[in] predefinedGamutSpaceADLX_GAMUT_SPACE The predefined color space.
-
-
-

Return Value

-

If the gamut settings are successfully set, ADLX_OK is returned.
- If the gamut settings are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information on white point coordinates, Refer to ADLX_Point.
- For more information on color space coordinates, refer to ADLX_GamutColorSpace.

-

Requirements

- - - - - -
Headerinclude "IDisplayGamut.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.html deleted file mode 100644 index 5c9977d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGamutChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGamutChangedEvent
-
-
-

The IADLXDisplayGamutChangedEvent interface provides methods to check if the gamut setting of a display is changed.

- - - - - - - - - -
InterfaceId:IADLXDisplayGamutChangedEvent
Smart Pointer Interface Name:IADLXDisplayGamutChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:N/A
-

Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Methods

- - - - - - - - - -
Method Description
GetDisplay Gets the reference counted display interface on which the gamut setting is changed.
IsColorSpaceChanged Checks if the color space of the display gamut is changed.
IsWhitePointChanged Checks if the white point of the display gamut is changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.js deleted file mode 100644 index 806b89e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamut_changed_event = -[ - [ "GetDisplay", "_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html", null ], - [ "IsColorSpaceChanged", "_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html", null ], - [ "IsWhitePointChanged", "_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html deleted file mode 100644 index 2d3c680..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplay
-
-
-

Gets the reference counted display interface on which the gamut setting is changed.

-

Syntax

-
- ADLX_RESULT    GetDisplay (IADLXDisplay** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[out] ppDisplayIADLXDisplay** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the display interface is successfully returned, ADLX_OK is returned.
- If the display inferface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html deleted file mode 100644 index df886b6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsColorSpaceChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsColorSpaceChanged
-
-
-

Checks if the color space of the display gamut is changed.

-

Syntax

-
- adlx_bool    IsColorSpaceChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the color space is changed, true is returned.
- If the color space is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html deleted file mode 100644 index d995ca9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsWhitePointChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsWhitePointChanged
-
-
-

Checks if the white point of the display gamut is changed.

-

Syntax

-
- adlx_bool    IsWhitePointChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the white point is changed, true is returned.
- If the white point is not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html deleted file mode 100644 index 1038788..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayGamutChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayGamutChangedListener
-
-
-

The IADLXDisplayGamutChangedListener interface is implemented in the application to receive an event from ADLX when the display gamut changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDisplayGamutChangedListener interface must be passed to AddDisplayGamutEventListener to register for notifications when the display gamut changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnDisplayGamutChanged The OnDisplayGamutChanged method is called by ADLX when the display gamut changes.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample.
- For a C application, refer to the DisplayEvents C sample.
- For a C# application, refer to the DisplayEvents C# sample.
- For a Java application, refer to the DisplayEvents Java sample.
- For a Python application, refer to the DisplayEvents Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.js deleted file mode 100644 index fc06158..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_gamut_changed_listener = -[ - [ "OnDisplayGamutChanged", "_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html deleted file mode 100644 index 5d8be85..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDisplayGamutChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDisplayGamutChanged
-
-
-

The OnDisplayGamutChanged method is called by ADLX when the display gamut changes.

-

Syntax

-
- adlx_bool    OnDisplayGamutChanged (IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayGamutChangedEventIADLXDisplayGamutChangedEvent* The pointer to the event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDisplayGamutEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayGamutEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamut change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamut change event with Release.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.html deleted file mode 100644 index 1787bb5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayHDCP - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayHDCP
-
-
-

The IADLXDisplayHDCP interface configures High-bandwidth Digital Content Protection (HDCP) settings for a display.

- - - - - - - - - -
InterfaceId:DOX_IADLXDisplayHDCP
Smart Pointer Interface Name:IADLXDisplayHDCPPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if the HDCP is enabled on a display.
IsSupported Checks if the HDCP can be configured on a display.
SetEnabled Sets the HDCP to enabled or disabled on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayHDCP C++ sample.
- For a C application, refer to the DisplayHDCP C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.js deleted file mode 100644 index 887d1a9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_h_d_c_p = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html deleted file mode 100644 index 0154915..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if the HDCP is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of HDCP is returned. The variable is true if HDCP is enabled. The variable is false if HDCP is not enabled.
-
-
-

Return Value

-

If the state of HDCP configuration is successfully returned, ADLX_OK is returned.
- If the state of HDCP configuration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html deleted file mode 100644 index ea92614..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the HDCP can be configured on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of the HDCP configuration is returned. The variable is true if HDCP configuration is supported. The variable is false if HDCP configuration is not supported.
-
-
-

Return Value

-

If the state of HDCP configuration is successfully returned, ADLX_OK is returned.
- If the state of HDCP configuration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html deleted file mode 100644 index 873e685..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the HDCP to enabled or disabled on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new HDCP configuration state. Set true to enable HDCP. Set false to disable HDCP.
-
-
-

Return Value

-

If the state of HDCP configuration is successfully set, ADLX_OK is returned.
- If the state of HDCP configuration is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.html deleted file mode 100644 index e9f2c27..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayIntegerScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayIntegerScaling
-
-
-

The IADLXDisplayintegerScaling interface configures Integer Display Scaling settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayIntegerScaling
Smart Pointer Interface Name:IADLXDisplayIntegerScalingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Note: Integer Display Scaling is not supported when GPU scaling is disabled.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if the Integer Display Scaling is enabled on a display.
IsSupported Checks if the Integer Display Scaling is supported on a display.
SetEnabled Sets the AMD integer scaling to enabled or disabled state on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayIntegerScaling C++ sample.
- For a C application, refer to the DisplayIntegerScaling C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.js deleted file mode 100644 index 0c8ec9f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_integer_scaling = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html deleted file mode 100644 index 8704eeb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if the Integer Display Scaling is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of Integer Display Scaling is returned. The variable is true if Integer Display Scaling is enabled. The variable is false if Integer Display Scaling is not enabled.
-
-
-

Return Value

-

If the state of Integer Display Scaling is successfully returned, ADLX_OK is returned.
- If the state of Integer Display Scaling is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- Note: On some AMD GPUs, Integer Display Scaling and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, Integer Display Scaling is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html deleted file mode 100644 index b6bf9a3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the Integer Display Scaling is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of Integer Display Scaling is returned. The variable is true if Integer Display Scaling is supported. The variable is false if Integer Display Scaling is not supported.
-
-
-

Return Value

-

If the state of Integer Display Scaling is successfully returned, ADLX_OK is returned.
- If the state of Integer Display Scaling is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- Note: Integer Display Scaling is not supported when GPU scaling is disabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html deleted file mode 100644 index 3801658..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the AMD integer scaling to enabled or disabled state on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new Integer Display Scaling state. Set true to enable Integer Display Scaling. Set false to disable Integer Display Scaling.
-
-
-

Return Value

-

If the state of Integer Display Scaling is successfully set, ADLX_OK is returned.
- If the state of Integer Display Scaling is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display.
- Note: On some AMD GPUs, Integer Display Scaling and Radeon Super Resolution cannot be enabled simultaneously. If Integer Display Scaling is enabled, Radeon Super Resolution is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.html deleted file mode 100644 index 68a50c0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayList
-
-
-

The IADLXDisplayList is an interface for a collection of IADLXDisplay interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXDisplayList
Smart Pointer Interface Name:IADLXDisplayListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.js deleted file mode 100644 index 39638b0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_display_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_display_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__add__back.html deleted file mode 100644 index 43db257..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__add__back.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXDisplay* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXDisplay* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__at.html deleted file mode 100644 index 21cd0b2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXDisplay** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXDisplay** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.html deleted file mode 100644 index bc9b736..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayListChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayListChangedListener
-
-
-

The IADLXDisplayListChangedListener interface is implemented in the application to receive a new list of displays from ADLX when the display list changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDisplayListChangedListener interface must be passed to AddDisplayListEventListener to register for notifications when the display list changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnDisplayListChanged The OnDisplayListChanged method is called by ADLX when the display list changes.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample.
- For a C application, refer to the DisplayEvents C sample.
- For a C# application, refer to the DisplayEvents C# sample.
- For a Java application, refer to the DisplayEvents Java sample.
- For a Python application, refer to the DisplayEvents Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.js deleted file mode 100644 index 67e0bcd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_list_changed_listener = -[ - [ "OnDisplayListChanged", "_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html deleted file mode 100644 index 3b72c45..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDisplayListChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDisplayListChanged
-
-
-

The OnDisplayListChanged method is called by ADLX when the display list changes.

-

Syntax

-
- adlx_bool    OnDisplayListChanged (IADLXDisplayList* pNewDisplay)
- 

Parameters

-
-
-
- - -
1.[out] pNewDisplayIADLXDisplayList* The pointer to the new display list.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDisplayListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayListEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new display list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new display list with Release.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.html deleted file mode 100644 index 8408497..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayPixelFormat - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayPixelFormat
-
-
-

The IADLXDisplayPixelFormat interface configures the pixel format used to encode images on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayPixelFormat
Smart Pointer Interface Name:IADLXDisplayPixelFormatPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - -
Method Description
GetValue Gets the current pixel format of a display.
IsSupported Checks if the pixel format can be configured on a display.
IsSupportedPixelFormat Checks if the given pixel format is supported on a display.
IsSupportedRGB444Full Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display.
IsSupportedRGB444Limited Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display.
IsSupportedYCbCr420 Checks if the YCbCr 4:2:0 pixel format is supported on a display.
IsSupportedYCbCr422 Checks if the YCbCr 4:2:2 pixel format is supported on a display.
IsSupportedYCbCr444 Checks if the YCbCr 4:4:4 pixel format is supported on a display.
SetValue Sets the pixel format on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayPixelFormat C++ sample.
- For a C application, refer to the DisplayPixelFormat C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.js deleted file mode 100644 index fe984cf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format.js +++ /dev/null @@ -1,12 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_pixel_format = -[ - [ "GetValue", "_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html", null ], - [ "IsSupportedPixelFormat", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html", null ], - [ "IsSupportedRGB444Full", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html", null ], - [ "IsSupportedRGB444Limited", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html", null ], - [ "IsSupportedYCbCr420", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html", null ], - [ "IsSupportedYCbCr422", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html", null ], - [ "IsSupportedYCbCr444", "_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html", null ], - [ "SetValue", "_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html deleted file mode 100644 index 958e616..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetValue
-
-
-

Gets the current pixel format of a display.

-

Syntax

-
- ADLX_RESULT    GetValue(ADLX_PIXEL_FORMAT* pixelFormat)
- 

Parameters

-
-
-
- - -
1.[out]pixelFormatADLX_PIXEL_FORMAT*The pointer to a variable where the pixel format is returned.
-
-
-

Return Value

-

If the pixel format is successfully returned, ADLX_OK is returned.
- If the pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html deleted file mode 100644 index 7b62e5a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the pixel format can be configured on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of pixel format configuration is returned. The variable is true if pixel format configuration is supported. The variable is false if pixel format configuration is not supported.
-
-
-

Return Value

-

If the state of pixel format configuration is successfully returned, ADLX_OK is returned.
- If the state of pixel format configuration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html deleted file mode 100644 index 5f84546..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedPixelFormat - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedPixelFormat
-
-
-

Checks if the given pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedPixelFormat (ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in]pixelFormatADLX_PIXEL_FORMATThe pixel format.
-
-
-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the pixel format is returned. The variable is true if the pixel format is supported. The variable is false if pixel format is not supported.
-
-
-

Return Value

-

If the support state of the pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html deleted file mode 100644 index df52ec7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedRGB444Full - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedRGB444Full
-
-
-

Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedRGB444Full (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is returned. The variable is true if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported. The variable is false if the RGB 4:4:4 PC Standard (Full RGB) pixel format is not supported.
-
-
-

Return Value

-

If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html deleted file mode 100644 index e01cd6d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedRGB444Limited - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedRGB444Limited
-
-
-

Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedRGB444Limited (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is returned. The variable is true if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported. The variable is false if the RGB 4:4:4 Studio (Limited RGB) pixel format is not supported.
-
-
-

Return Value

-

If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html deleted file mode 100644 index 5adeb09..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedYCbCr420 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedYCbCr420
-
-
-

Checks if the YCbCr 4:2:0 pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedYCbCr420 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the YCbCr 4:2:0 pixel format is returned. The variable is true if the YCbCr 4:2:0 pixel format is supported. The variable is false if the YCbCr 4:2:0 pixel format is not supported.
-
-
-

Return Value

-

If the support state of the YCbCr 4:2:0 pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the YCbCr 4:2:0 pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html deleted file mode 100644 index a2aee5b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedYCbCr422 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedYCbCr422
-
-
-

Checks if the YCbCr 4:2:2 pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedYCbCr422 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the YCbCr 4:2:2 pixel format is returned. The variable is true if the YCbCr 4:2:2 pixel format is supported. The variable is false if the YCbCr 4:2:2 pixel format is not supported.
-
-
-

Return Value

-

If the support state of the YCbCr 4:2:2 pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the YCbCr 4:2:2 pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html deleted file mode 100644 index feceb92..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedYCbCr444 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedYCbCr444
-
-
-

Checks if the YCbCr 4:4:4 pixel format is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupportedYCbCr444 (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the support state of the YCbCr 4:4:4 pixel format is returned. The variable is true if the YCbCr 4:4:4 pixel format is supported. The variable is false if the YCbCr 4:4:4 pixel format is not supported.
-
-
-

Return Value

-

If the support state of the YCbCr 4:4:4 pixel format is successfully returned, ADLX_OK is returned.
- If the support state of the YCbCr 4:4:4 pixel format is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html deleted file mode 100644 index 032aa24..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetValue
-
-
-

Sets the pixel format on a display.

-

Syntax

-
- ADLX_RESULT    SetValue(ADLX_PIXEL_FORMAT pixelFormat)
- 

Parameters

-
-
-
- - -
1.[in]pixelFormatADLX_PIXEL_FORMATThe new pixel format.
-
-
-

Return Value

-

If the pixel format is successfully set, ADLX_OK is returned.
- If the pixel format is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI.
- Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.html deleted file mode 100644 index 2cdd777..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayResolution
-
-
-

The IADLXDisplayResolution interface configures a custom display resolution.

- - - - - - - - - -
InterfaceId:IADLXDisplayResolution
Smart Pointer Interface Name:IADLXDisplayResolutionPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
GetValue Gets the properties of a custom display resolution.
SetValue Sets the properties of a custom display resolution.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample.
- For a C application, refer to the DisplayCustomResolution C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.js deleted file mode 100644 index dc6a969..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_resolution = -[ - [ "GetValue", "_d_o_x__i_a_d_l_x_display_resolution__get_value.html", null ], - [ "SetValue", "_d_o_x__i_a_d_l_x_display_resolution__set_value.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__get_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__get_value.html deleted file mode 100644 index 76ef447..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__get_value.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetValue
-
-
-

Gets the properties of a custom display resolution.

-

Syntax

-
- ADLX_RESULT    GetValue(ADLX_CustomResolution* customResolution)
- 

Parameters

-
-
-
- - -
1.[out]customResolutionADLX_CustomResolution*The pointer to a variable where the properties of a custom display resolution are returned.
-
-
-

Return Value

-

If the properties of a custom display resolution are successfully returned, ADLX_OK is returned.
- If the properties of a custom display resolution are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__set_value.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__set_value.html deleted file mode 100644 index 99880f5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution__set_value.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetValue - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetValue
-
-
-

Sets the properties of a custom display resolution.

-

Syntax

-
- ADLX_RESULT    SetValue(ADLX_CustomResolution customResolution)
- 

Parameters

-
-
-
- - -
1.[in]customResolutionADLX_CustomResolutionThe properties of a custom display resolution.
-
-
-

Return Value

-

If the properties of a custom display resolution are successfully set, ADLX_OK is returned.
- If the properties of a custom display resolution are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.html deleted file mode 100644 index f484566..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayResolutionList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayResolutionList
-
-
-

Interface to get the resolution info list.

- - - - - - - - - -
InterfaceId:IADLXDisplayResolutionList
Smart Pointer Interface Name:IADLXDisplayResolutionListPtr
Inherits:IADLXList
Inherited By:N/A
-

The interface gets the list of resolution information.

-

Methods

- - - - - - - -
Method Description
Add_Back Adds an element to the back.
At Returns the item at the asked location.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample.
- For a C application, refer to the DisplayCustomResolution C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.js deleted file mode 100644 index 70d8b41..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_resolution_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_display_resolution_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html deleted file mode 100644 index fb2c41c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an element to the back.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXDisplayResolution* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXDisplayResolution* The address of a pointer variable that receives the IADLXDisplayResolution interface.
-
-
-

Return Value

-

Returns ADLX_OK for success and ADLX error code ADLX_RESULT for failure.

-

Remarks

-

Adds an element to the back.

-

You should call this method whenever you need to add the resolution item to the end of the list.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__at.html deleted file mode 100644 index c1bd135..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_resolution_list__at.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the item at the asked location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXDisplayResolution** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint Location index to retrieve the resolution item from the list.
-
-
-
-
-
- - -
2.[out] ppItemIADLXDisplayResolution** The address of a pointer variable that receives a pointer to the IADLXDisplayResolution interface.
-
-
-

Return Value

-

Returns ADLX_OK for success and ADLX error code ADLX_RESULT for failure.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.html deleted file mode 100644 index 9b7616d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayScalingMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayScalingMode
-
-
-

The IADLXDisplayScalingMode interface configures scaling mode settings of a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayScalingMode
Smart Pointer Interface Name:IADLXDisplayScalingModePtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - -
Method Description
GetMode Gets the current scaling mode of a display.
IsSupported Checks if the scaling mode is supported on a display.
SetMode Sets the scaling mode of a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayScalingMode C++ sample.
- For a C application, refer to the DisplayScalingMode C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.js deleted file mode 100644 index dfaf850..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_scaling_mode = -[ - [ "GetMode", "_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html", null ], - [ "SetMode", "_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html deleted file mode 100644 index 0fe649f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMode
-
-
-

Gets the current scaling mode of a display.

-

Syntax

-
- ADLX_RESULT    GetMode(ADLX_SCALE_MODE* currentMode)
- 

Parameters

-
-
-
- - -
1.[out]currentModeADLX_SCALE_MODE*The pointer to a variable where the current scaling mode of a display is returned.
-
-
-

Return Value

-

If the current scaling mode is successfully returned, ADLX_OK is returned.
- If the current scaling mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling determines the method used to stretch and position images to fit the display.
- Note: On some AMD GPUs, center scaling and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled when the scaling mode is CENTERED, the scaling mode is automatically set to FULL_PANEL.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html deleted file mode 100644 index a90c6c0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the scaling mode is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of scaling mode is returned. The variable is true if scaling mode is supported. The variable is false if scaling mode is not supported.
-
-
-

Return Value

-

If the state of scaling mode is successfully returned, ADLX_OK is returned.
- If the state of scaling mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling determines the method used to stretch and position images to fit the display.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html deleted file mode 100644 index c64f0db..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMode
-
-
-

Sets the scaling mode of a display.

-

Syntax

-
- ADLX_RESULT    SetMode(ADLX_SCALE_MODE mode)
- 

Parameters

-
-
-
- - -
1.[in]modeADLX_SCALE_MODEThe new scaling mode.0
-
-
-

Return Value

-

If the scaling mode is successfully set, ADLX_OK is returned.
- If the scaling mode is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

GPU scaling determines the method used to stretch and position images to fit the display.
- Note: On some AMD GPUs, center scaling and Radeon Super Resolution cannot be enabled simultaneously. If the scaling mode is set to CENTERED, Radeon Super Resolution is automatically disabled.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.html deleted file mode 100644 index 0be1ee2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayServices
-
-
-

The IADLXDisplayServices is the main interface of the Display domain and provides control to the display-specific functionality.

- - - - - - - - - -
InterfaceId:IADLXDisplayServices
Smart Pointer Interface Name:IADLXDisplayServicesPtr
Inherits:IADLXInterface
Inherited By:IADLXDisplayServices1
-

The IADLXDisplayServices interface provides:

    -
  • The list of displays connected to the AMD GPUs.
  • -
  • The interface for registering and unregistering for notifications when the displays are changed.
  • -
  • Access to gamut, gamma, 3D LUT, and display settings functionality for a given display.
  • -
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
Get3DLUT Gets the reference counted 3D LUT interface for a display.
GetColorDepth Gets the reference counted color depth interface for a display.
GetCustomColor Gets the reference counted custom color interface for a display.
GetCustomResolution Gets the reference counted custom resolution interface for a display.
GetDisplayChangedHandling Gets the reference counted interface that allows registering and unregistering for notifications when display change.
GetDisplays Gets the reference counted list of displays connected to the AMD GPUs.
GetFreeSync Gets the reference counted AMD FreeSync™ Technology interface.
GetGPUScaling Gets the reference counted GPU scaling interface for a display.
GetGamma Gets the reference counted gamma interface for a display.
GetGamut Gets the reference counted gamut interface for a display.
GetHDCP Gets the reference counted HDCP interface for a display.
GetIntegerScaling Gets the reference counted integer scaling interface for a display.
GetNumberOfDisplays Gets the number of displays connected to the AMD GPUs.
GetPixelFormat Gets the reference counted pixel format interface for a display.
GetScalingMode Gets the reference counted scaling mode interface for a display.
GetVariBright Gets the reference counted Vari-Bright interface for a display.
GetVirtualSuperResolution Gets the reference counted virtual super resolution interface for a display.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample.
- For a C application, refer to the DisplayInfo C sample.
- For a C# application, refer to the DisplayInfo C# sample.
- For a Java application, refer to the DisplayInfo Java sample.
- For a Python application, refer to the DisplayInfo Python sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.js deleted file mode 100644 index fe56a41..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services.js +++ /dev/null @@ -1,20 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_services = -[ - [ "Get3DLUT", "_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html", null ], - [ "GetColorDepth", "_d_o_x__i_a_d_l_x_display_services__get_color_depth.html", null ], - [ "GetCustomColor", "_d_o_x__i_a_d_l_x_display_services__get_custom_color.html", null ], - [ "GetCustomResolution", "_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html", null ], - [ "GetDisplayChangedHandling", "_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html", null ], - [ "GetDisplays", "_d_o_x__i_a_d_l_x_display_services__get_displays.html", null ], - [ "GetFreeSync", "_d_o_x__i_a_d_l_x_display_services__get_free_sync.html", null ], - [ "GetGPUScaling", "_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html", null ], - [ "GetGamma", "_d_o_x__i_a_d_l_x_display_services__get_gamma.html", null ], - [ "GetGamut", "_d_o_x__i_a_d_l_x_display_services__get_gamut.html", null ], - [ "GetHDCP", "_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html", null ], - [ "GetIntegerScaling", "_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html", null ], - [ "GetNumberOfDisplays", "_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html", null ], - [ "GetPixelFormat", "_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html", null ], - [ "GetScalingMode", "_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html", null ], - [ "GetVariBright", "_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html", null ], - [ "GetVirtualSuperResolution", "_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.html deleted file mode 100644 index 184510d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayServices1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayServices1
-
-
-

IADLXDisplayServices1 is an extension interface to IADLXDisplayServices. It provides access to the interface to control the display blanking feature.

- - - - - - - - - -
InterfaceId:IADLXDisplayServices1
Smart Pointer Interface Name:IADLXDisplayServices1Ptr
Inherits:IADLXDisplayServices
Inherited By:IADLXDisplayServices2
-

The IADLXDisplayServices1 interface is obtained from the IADLXDisplayServices interface using QueryInterface.

-

Methods

- - - - - -
Method Description
GetDisplayBlanking Gets the reference counted display blanking interface of a display.
-

Requirements

- - - - - -
Headerinclude "IDisplays1.h"
Minimum version1.1
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayBlanking C++ sample.
- For a C application, refer to the DisplayBlanking C sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.js deleted file mode 100644 index b021830..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_services1 = -[ - [ "GetDisplayBlanking", "_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html deleted file mode 100644 index 5747f8d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplayBlanking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplayBlanking
-
-
-

Gets the reference counted display blanking interface of a display.

-

Syntax

-
- ADLX_RESULT    GetDisplayBlanking (IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppDisplayBlankingIADLXDisplayBlanking **The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayBlanking to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it's no longer needed.

-

Additional Info

-

When using ADLX interfaces as smart pointers in C++, it isn't necessary to call Release as it's called by smart pointers in the internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays1.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.html deleted file mode 100644 index a827851..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayServices2 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayServices2
-
-
-

IADLXDisplayServices2 is an extension interface to IADLXDisplayServices, and provides access to the interface to control the DCE feature.

- - - - - - - - - -
InterfaceId:IADLXDisplayServices2
Smart Pointer Interface Name:IADLXDisplayServices2Ptr
Inherits:IADLXDisplayServices1
Inherited By:N/A
-

The IADLXDisplayServices2 interface is obtained from the IADLXDisplayServices interface or from any of its extension interfaces using QueryInterface.

-

Methods

- - - - - -
Method Description
GetDisplayConnectivityExperience Gets the reference counted DCE interface for a display.
-

Requirements

- - - - - -
Headerinclude "IDisplays2.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayConnectivityExperience C++ sample.
- For a C application, refer to the DisplayConnectivityExperience C sample.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.js deleted file mode 100644 index 9e3ee4f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_services2 = -[ - [ "GetDisplayConnectivityExperience", "_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html deleted file mode 100644 index cda045b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplayConnectivityExperience - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplayConnectivityExperience
-
-
-

Gets the reference counted DCE interface for a display.

-

Syntax

-
- ADLX_RESULT    GetDisplayConnectivityExperience (IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience ** ppDisplayConnectivityExperience)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppDisplayConnectivityExperienceIADLXDisplayConnectivityExperience **The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayConnectivityExperience to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays2.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html deleted file mode 100644 index 1f7f34e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Get3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Get3DLUT
-
-
-

Gets the reference counted 3D LUT interface for a display.

-

Syntax

-
- ADLX_RESULT    Get3DLUT (IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] ppDisp3DLUTIADLXDisplay3DLUT** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisp3DLUT to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_color_depth.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_color_depth.html deleted file mode 100644 index 1e5659f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_color_depth.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetColorDepth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetColorDepth
-
-
-

Gets the reference counted color depth interface for a display.

-

Syntax

-
- ADLX_RESULT    GetColorDepth (IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppColorDepthIADLXDisplayColorDepth**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppColorDepth to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_color.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_color.html deleted file mode 100644 index ac0d87b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_color.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCustomColor - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCustomColor
-
-
-

Gets the reference counted custom color interface for a display.

-

Syntax

-
- ADLX_RESULT    GetCustomColor (IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppCustomColorIADLXDisplayCustomColor**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppCustomColor to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html deleted file mode 100644 index 8d6f9db..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCustomResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCustomResolution
-
-
-

Gets the reference counted custom resolution interface for a display.

-

Syntax

-
- ADLX_RESULT    GetCustomResolution (IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppCustomResolutionIADLXDisplayCustomResolution**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppCustomResolution to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html deleted file mode 100644 index 1e68cb4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplayChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplayChangedHandling
-
-
-

Gets the reference counted interface that allows registering and unregistering for notifications when display change.

-

Syntax

-
- ADLX_RESULT    GetDisplayChangedHandling (IADLXDisplayChangedHandling** ppDisplayChangedHandling)
- 

Parameters

-
-
-
- - -
1.[in] ppDisplayChangedHandlingIADLXDisplayChangedHandling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the display changing listener interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_displays.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_displays.html deleted file mode 100644 index bbed1c9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_displays.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplays - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplays
-
-
-

Gets the reference counted list of displays connected to the AMD GPUs.

-

Syntax

-
- ADLX_RESULT    GetDisplays (IADLXDisplayList** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[out] ppDisplayIADLXDisplayList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

For more information about the AMD GPUs, refer to ADLX GPU Support.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_free_sync.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_free_sync.html deleted file mode 100644 index 2f4aea6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_free_sync.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFreeSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFreeSync
-
-
-

Gets the reference counted AMD FreeSync™ Technology interface.

-

Syntax

-
- ADLX_RESULT    GetFreeSync (IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] ppFreeSyncIADLXDisplayFreeSync** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppFreeSync to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html deleted file mode 100644 index 6bb2244..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUScaling
-
-
-

Gets the reference counted GPU scaling interface for a display.

-

Syntax

-
- ADLX_RESULT    GetGPUScaling (IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppGPUScalingIADLXDisplayGPUScaling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUScaling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamma.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamma.html deleted file mode 100644 index 5408834..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamma.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGamma - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGamma
-
-
-

Gets the reference counted gamma interface for a display.

-

Syntax

-
- ADLX_RESULT    GetGamma (IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] ppDispGammaIADLXDisplayGamma** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispGamma to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamut.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamut.html deleted file mode 100644 index 99148a0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_gamut.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGamut
-
-
-

Gets the reference counted gamut interface for a display.

-

Syntax

-
- ADLX_RESULT    GetGamut (IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] ppDispGamutIADLXDisplayGamut** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispGamut to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html deleted file mode 100644 index 6bb42d5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetHDCP - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetHDCP
-
-
-

Gets the reference counted HDCP interface for a display.

-

Syntax

-
- ADLX_RESULT    GetHDCP (IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppHDCPIADLXDisplayHDCP**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppHDCP to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html deleted file mode 100644 index e6afb91..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetIntegerScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetIntegerScaling
-
-
-

Gets the reference counted integer scaling interface for a display.

-

Syntax

-
- ADLX_RESULT    GetIntegerScaling (IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppIntegerScalingIADLXDisplayIntegerScaling**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppIntegerScaling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html deleted file mode 100644 index 09322e6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetNumberOfDisplays - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetNumberOfDisplays
-
-
-

Gets the number of displays connected to the AMD GPUs.

-

Syntax

-
- ADLX_RESULT    GetNumberOfDisplays (adlx_uint* numDisplays)
- 

Parameters

-
-
-
- - -
1.[out] numDisplaysadlx_uint* The pointer to a variable where the number of displays is returned.
-
-
-

Return Value

-

If the number of displays is successfully returned, ADLX_OK is returned.
- If the number of displays is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and errors codes.

-

Remarks

-

For more information about the AMD GPUs, refer to ADLX GPU Support.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html deleted file mode 100644 index f93b0ff..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPixelFormat - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPixelFormat
-
-
-

Gets the reference counted pixel format interface for a display.

-

Syntax

-
- ADLX_RESULT    GetPixelFormat (IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppPixelFormatIADLXDisplayPixelFormat**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPixelFormat to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html deleted file mode 100644 index 608df8e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetScalingMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetScalingMode
-
-
-

Gets the reference counted scaling mode interface for a display.

-

Syntax

-
- ADLX_RESULT    GetScalingMode (IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppScalingModeIADLXDisplayScalingMode**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppScalingMode to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html deleted file mode 100644 index 4ebc9d4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetVariBright - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetVariBright
-
-
-

Gets the reference counted Vari-Bright interface for a display.

-

Syntax

-
- ADLX_RESULT    GetVariBright (IADLXDisplay* pDisplay, IADLXDisplayVariBright ** ppVariBright)
- 

Parameters

-
-
-
- - -
1.[in]pDisplayIADLXDisplay*The pointer to the display interface.
-
-
-
-
-
- - -
2.[out]ppVariBrightIADLXDisplayVariBright **The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVariBright to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html deleted file mode 100644 index 280f295..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetVirtualSuperResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetVirtualSuperResolution
-
-
-

Gets the reference counted virtual super resolution interface for a display.

-

Syntax

-
- ADLX_RESULT    GetVirtualSuperResolution (IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR)
- 

Parameters

-
-
-
- - -
1.[in] pDisplayIADLXDisplay* The pointer to the display interface.
-
-
-
-
-
- - -
2.[out] ppVSRIADLXDisplayVSR** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVSR to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.html deleted file mode 100644 index 79119c9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplaySettingsChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplaySettingsChangedEvent
-
-
-

The IADLXDisplaySettingsChangedEvent interface provides methods to check for changes to the display settings.

- - - - - - - - - -
InterfaceId:IADLXDisplaySettingsChangedEvent
Smart Pointer Interface Name:IADLXDisplaySettingsChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:IADLXDisplaySettingsChangedEvent1
-

Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetDisplay Gets the reference counted display interface on which settings are changed.
IsColorDepthChanged Checks if the color format settings of the display are changed.
IsCustomColorBrightnessChanged Checks if the brightness settings of the display are changed.
IsCustomColorContrastChanged Checks if the color contrast settings of the display are changed.
IsCustomColorHueChanged Checks if the hue settings of the display are changed.
IsCustomColorSaturationChanged Checks if the saturation settings of the display are changed.
IsCustomColorTemperatureChanged Checks if the color temperature settings of the display are changed.
IsCustomResolutionChanged Checks if the resolution settings of the display are changed.
IsFreeSyncChanged Checks if the AMD FreeSync™ settings of the display are changed.
IsGPUScalingChanged Checks if the GPU scaling settings of the display are changed.
IsHDCPChanged Checks if the HDCP settings of the display are changed.
IsIntegerScalingChanged Checks if the Integer Display Scaling settings of the display are changed.
IsPixelFormatChanged Checks if the pixel format settings of the display are changed.
IsScalingModeChanged Checks if the scaling mode settings of the display are changed.
IsVSRChanged Checks if the AMD Virtual Super Resolution settings of the display are changed.
IsVariBrightChanged Checks if the Vari-Bright settings of the display are changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample.
- For a C application, refer to the SyncDisplayReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.js deleted file mode 100644 index b444155..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event.js +++ /dev/null @@ -1,19 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_settings_changed_event = -[ - [ "GetDisplay", "_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html", null ], - [ "IsColorDepthChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html", null ], - [ "IsCustomColorBrightnessChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html", null ], - [ "IsCustomColorContrastChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html", null ], - [ "IsCustomColorHueChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html", null ], - [ "IsCustomColorSaturationChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html", null ], - [ "IsCustomColorTemperatureChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html", null ], - [ "IsCustomResolutionChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html", null ], - [ "IsFreeSyncChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html", null ], - [ "IsGPUScalingChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html", null ], - [ "IsHDCPChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html", null ], - [ "IsIntegerScalingChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html", null ], - [ "IsPixelFormatChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html", null ], - [ "IsScalingModeChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html", null ], - [ "IsVSRChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html", null ], - [ "IsVariBrightChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.html deleted file mode 100644 index 116d97d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplaySettingsChangedEvent1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplaySettingsChangedEvent1
-
-
-

IADLXDisplaySettingsChangedEvent1 is an extension interface to IADLXDisplaySettingsChangedEvent. It provides methods to check for changes to the display blanking settings.

- - - - - - - - - -
InterfaceId:IADLXDisplaySettingsChangedEvent1
Smart Pointer Interface Name:IADLXDisplaySettingsChangedEvent1Ptr
Inherits:IADLXDisplaySettingsChangedEvent
Inherited By:IADLXDisplaySettingsChangedEvent2
-

The IADLXDisplaySettingsChangedEvent1 interface is obtained from the IADLXDisplaySettingsChangedEvent interface using QueryInterface.

-

Methods

- - - - - -
Method Description
IsDisplayBlankingChanged Checks if the display blanking of the display is changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays1.h"
Minimum version1.1
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample.
- For a C application, refer to the SyncDisplayReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.js deleted file mode 100644 index ccdb57b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_settings_changed_event1 = -[ - [ "IsDisplayBlankingChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html deleted file mode 100644 index c05c458..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsDisplayBlankingChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsDisplayBlankingChanged
-
-
-

Checks if the display blanking of the display is changed.

-

Syntax

-
- adlx_bool    IsDisplayBlankingChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the display blanking settings are changed, true is returned.
- If the display blanking settings are not changed, false is returned.

-

Requirements

- - - - - -
Headerinclude "IDisplays1.h"
Minimum version1.1
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.html deleted file mode 100644 index 9f48842..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplaySettingsChangedEvent2 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplaySettingsChangedEvent2
-
-
-

IADLXDisplaySettingsChangedEvent2 is an extension interface to IADLXDisplaySettingsChangedEvent, and provides methods to check for changes to the DCE settings.

- - - - - - - - - -
InterfaceId:IADLXDisplaySettingsChangedEvent2
Smart Pointer Interface Name:IADLXDisplaySettingsChangedEvent2Ptr
Inherits:IADLXDisplaySettingsChangedEvent1
Inherited By:N/A
-

The IADLXDisplaySettingsChangedEvent2 interface is obtained from the IADLXDisplaySettingsChangedEvent interface or from any of its extension interfaces using QueryInterface.

-

Methods

- - - - - -
Method Description
IsConnectivityExperienceChanged Checks if the DCE settings of the display are changed.
-

Requirements

- - - - - -
Headerinclude "IDisplays2.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample.
- For a C application, refer to the SyncDisplayReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.js deleted file mode 100644 index 99641fa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_settings_changed_event2 = -[ - [ "IsConnectivityExperienceChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html deleted file mode 100644 index 994f9ea..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsConnectivityExperienceChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsConnectivityExperienceChanged
-
-
-

Checks if the DCE settings of the display are changed.

-

Syntax

-
- adlx_bool    IsDisplayConnectivityExperienceChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the DCE settings are changed, true is returned.
- If the DCE settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays2.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html deleted file mode 100644 index 0051197..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplay
-
-
-

Gets the reference counted display interface on which settings are changed.

-

Syntax

-
- ADLX_RESULT    GetDisplay (IADLXDisplay **ppDisplay)
- 

Parameters

-
-
-
- - -
1.[out] ppDisplayIADLXDisplay**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the display interface is successfully returned, ADLX_OK is returned.
- If the display interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html deleted file mode 100644 index e19ce39..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsColorDepthChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsColorDepthChanged
-
-
-

Checks if the color format settings of the display are changed.

-

Syntax

-
- adlx_bool    IsColorDepthChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the color format settings are changed, true is returned.
- If the color format settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html deleted file mode 100644 index d240b9e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomColorBrightnessChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomColorBrightnessChanged
-
-
-

Checks if the brightness settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomColorBrightnessChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the brightness settings are changed, true is returned.
- If the brightness settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html deleted file mode 100644 index 897d631..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomColorContrastChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomColorContrastChanged
-
-
-

Checks if the color contrast settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomColorContrastChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the color contrast settings are changed, true is returned.
- If the color contrast settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html deleted file mode 100644 index 89075f1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomColorHueChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomColorHueChanged
-
-
-

Checks if the hue settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomColorHueChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the hue settings are changed, true is returned.
- If the hue settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html deleted file mode 100644 index 78a3499..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomColorSaturationChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomColorSaturationChanged
-
-
-

Checks if the saturation settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomColorSaturationChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the saturation settings are changed, true is returned.
- If the saturation settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html deleted file mode 100644 index 0562745..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomColorTemperatureChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomColorTemperatureChanged
-
-
-

Checks if the color temperature settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomColorTemperatureChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the color temperature settings are changed, true is returned.
- If the color temperature settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html deleted file mode 100644 index cd57ae4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCustomResolutionChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCustomResolutionChanged
-
-
-

Checks if the resolution settings of the display are changed.

-

Syntax

-
- adlx_bool    IsCustomResolutionChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the custom resolution settings are changed, true is returned.
- If the custom resolution settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html deleted file mode 100644 index 52a4bb3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsFreeSyncChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsFreeSyncChanged
-
-
-

Checks if the AMD FreeSync™ settings of the display are changed.

-

Syntax

-
- adlx_bool    IsFreeSyncChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the AMD FreeSync settings are changed, true is returned.
- If the AMD FreeSync settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html deleted file mode 100644 index d5cc7c4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsGPUScalingChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsGPUScalingChanged
-
-
-

Checks if the GPU scaling settings of the display are changed.

-

Syntax

-
- adlx_bool    IsGPUScalingChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the GPU scaling settings are changed, true is returned.
- If the GPU scaling settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html deleted file mode 100644 index f1556c9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsHDCPChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsHDCPChanged
-
-
-

Checks if the HDCP settings of the display are changed.

-

Syntax

-
- adlx_bool    IsHDCPChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the HDCP settings are changed, true is returned.
- If the HDCP settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html deleted file mode 100644 index 5978d57..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsIntegerScalingChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsIntegerScalingChanged
-
-
-

Checks if the Integer Display Scaling settings of the display are changed.

-

Syntax

-
- adlx_bool    IsIntegerScalingChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the Integer Display Scaling settings are changed, true is returned.
- If the Integer Display Scaling settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html deleted file mode 100644 index add10e1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsPixelFormatChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsPixelFormatChanged
-
-
-

Checks if the pixel format settings of the display are changed.

-

Syntax

-
- adlx_bool    IsPixelFormatChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the pixel format settings are changed, true is returned.
- If the pixel format settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html deleted file mode 100644 index bed9af0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsScalingModeChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsScalingModeChanged
-
-
-

Checks if the scaling mode settings of the display are changed.

-

Syntax

-
- adlx_bool    IsScalingModeChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the scaling mode settings are changed, true is returned.
- If the scaling mode settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html deleted file mode 100644 index 6155911..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsVSRChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsVSRChanged
-
-
-

Checks if the AMD Virtual Super Resolution settings of the display are changed.

-

Syntax

-
- adlx_bool    IsVSRChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the Virtual Super Resolution settings are changed, true is returned.
- If the Virtual Super Resolution settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html deleted file mode 100644 index 3d78cff..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsVariBrightChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsVariBrightChanged
-
-
-

Checks if the Vari-Bright settings of the display are changed.

-

Syntax

-
- adlx_bool    IsVariBrightChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the Vari-Bright settings are changed, true is returned.
- If the Vari-Bright settings are not changed, false is returned.

-

Additional Info

-

Note: To obtain the display, use GetDisplay.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.html deleted file mode 100644 index 241d3c5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplaySettingsChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplaySettingsChangedListener
-
-
-

The IADLXDisplaySettingsChangedListener interface is implemented in the application to receive an event from ADLX when display settings change.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXDisplaySettingsChangedListener interface must be passed to AddDisplaySettingsEventListener to register for notifications when display settings change.
- For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnDisplaySettingsChanged The OnDisplaySettingsChanged method is called by ADLX when the display settings change.
-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample.
- For a C application, refer to the SyncDisplayReceive C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.js deleted file mode 100644 index 337aaa4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_settings_changed_listener = -[ - [ "OnDisplaySettingsChanged", "_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html deleted file mode 100644 index fec0720..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnDisplaySettingsChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnDisplaySettingsChanged
-
-
-

The OnDisplaySettingsChanged method is called by ADLX when the display settings change.

-

Syntax

-
- adlx_bool    OnDisplaySettingsChanged (IADLXDisplaySettingsChangedEvent* pDisplaySettingChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in]pDisplaySettingChangedEventIADLXDisplaySettingsChangedEvent* The pointer to the display settings change event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddDisplaySettingsEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplaySettingsEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the display settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the display settings change event with Release.

-

Requirements

- - - - - -
Headerinclude "IDisplays.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.html deleted file mode 100644 index b59da10..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayVSR - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayVSR
-
-
-

The IADLXDisplayVSR interface configures AMD Virtual Super Resolution settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayVSR
Smart Pointer Interface Name:IADLXDisplayVSRPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.

-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if AMD Virtual Super Resolution is enabled on a display.
IsSupported Checks if AMD Virtual Super Resolution is supported on a display.
SetEnabled Sets the AMD Virtual Super Resolution to enabled or disabled on this display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayVSR C++ sample.
- For a C application, refer to the DisplayVSR C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.js deleted file mode 100644 index 304e32e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_v_s_r = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html deleted file mode 100644 index c13ad65..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD Virtual Super Resolution is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is true if Virtual Super Resolution is enabled. The variable is false if Virtual Super Resolution is not enabled.
-
-
-

Return Value

-

If the state of AMD Virtual Super Resolution is successfully returned, ADLX_OK is returned.
- If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html deleted file mode 100644 index 8ba4290..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD Virtual Super Resolution is supported on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is true if Virtual Super Resolution is supported. The variable is false if Virtual Super Resolution is not supported.
-
-
-

Return Value

-

If the state of AMD Virtual Super Resolution is successfully returned, ADLX_OK is returned.
- If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html deleted file mode 100644 index d3d835b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the AMD Virtual Super Resolution to enabled or disabled on this display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD Virtual Super Resolution state. Set true to enable Virtual Super Resolution. Set false to disable Virtual Super Resolution.
-
-
-

Return Value

-

If the state of AMD Virtual Super Resolution is successfully set, ADLX_OK is returned.
- If the state of AMD Virtual Super Resolution is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.html deleted file mode 100644 index 9aa47b0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXDisplayVariBright - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXDisplayVariBright
-
-
-

The IADLXDisplayVariBright interface configures Vari-Bright settings on a display.

- - - - - - - - - -
InterfaceId:IADLXDisplayVariBright
Smart Pointer Interface Name:IADLXDisplayVariBrightPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Vari-Bright saves power by adaptively adjusting the display brightness based on image content.
- The color fidelity is retained by adjusting gamma levels to compensate for changes in brightness.
- Vari-Bright is available on non-OLED eDP panels.
-

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
IsCurrentBalanced Checks if the balanced Vari-Bright preset is used on a display.
IsCurrentMaximizeBattery Checks if the maximize battery Vari-Bright preset is used on a display.
IsCurrentMaximizeBrightness Checks if the maximized brightness Vari-Bright preset is used on a display.
IsCurrentOptimizeBattery Checks if the optimized battery Vari-Bright preset is used on a display.
IsCurrentOptimizeBrightness Checks if the optimized brightness Vari-Bright preset is used on a display.
IsEnabled Checks if Vari-Bright is enabled on a display.
IsSupported Checks if Vari-Bright can be configured on a display.
SetBalanced Sets the balanced Vari-Bright preset on a display.
SetEnabled Sets the Vari-Bright to enabled or disabled on a display.
SetMaximizeBattery Sets the maximize battery Vari-Bright preset on a display.
SetMaximizeBrightness Sets the maximize brightness Vari-Bright preset on a display.
SetOptimizeBattery Sets the optimize battery Vari-Bright preset on a display.
SetOptimizeBrightness Sets the optimize brightness Vari-Bright preset on a display.
-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the DisplayVariBright C++ sample.
- For a C application, refer to the DisplayVariBright C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.js deleted file mode 100644 index 1d2955a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright.js +++ /dev/null @@ -1,16 +0,0 @@ -var _d_o_x__i_a_d_l_x_display_vari_bright = -[ - [ "IsCurrentBalanced", "_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html", null ], - [ "IsCurrentMaximizeBattery", "_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html", null ], - [ "IsCurrentMaximizeBrightness", "_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html", null ], - [ "IsCurrentOptimizeBattery", "_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html", null ], - [ "IsCurrentOptimizeBrightness", "_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html", null ], - [ "IsEnabled", "_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html", null ], - [ "SetBalanced", "_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html", null ], - [ "SetMaximizeBattery", "_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html", null ], - [ "SetMaximizeBrightness", "_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html", null ], - [ "SetOptimizeBattery", "_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html", null ], - [ "SetOptimizeBrightness", "_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html deleted file mode 100644 index f414f1c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentBalanced - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentBalanced
-
-
-

Checks if the balanced Vari-Bright preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentBalanced (adlx_bool* balanced)
- 

Parameters

-
-
-
- - -
1.[out]balancedadlx_bool*The pointer to a variable where the state of the Vari-Bright preset is returned. The variable is true if the balanced preset is used. The variable is false if the balanced preset is not used.
-
-
-

Return Value

-

If the state of balanced preset is successfully returned, ADLX_OK is returned.
- If the state of balanced preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html deleted file mode 100644 index 565ec4a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentMaximizeBattery - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentMaximizeBattery
-
-
-

Checks if the maximize battery Vari-Bright preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentMaximizeBattery (adlx_bool* maximizeBattery)
- 

Parameters

-
-
-
- - -
1.[out]maximizeBatteryadlx_bool*The pointer to a variable where the state of the maximize battery preset is returned. The variable is true if the maximize battery preset is used. The variable is false if the maximize battery preset is not used.
-
-
-

Return Value

-

If the state of maximize battery preset is successfully returned, ADLX_OK is returned.
- If the state of maximize battery preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html deleted file mode 100644 index 23a3464..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentMaximizeBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentMaximizeBrightness
-
-
-

Checks if the maximized brightness Vari-Bright preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness)
- 

Parameters

-
-
-
- - -
1.[out]maximizeBrightnessadlx_bool*The pointer to a variable where the state of the maximize brightness preset is returned. The variable is true if the maximize brightness preset is used. The variable is false if the maximize brightness preset is not used.
-
-
-

Return Value

-

If the state of maximize brightness preset is successfully returned, ADLX_OK is returned.
- If the state of maximize brightness preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html deleted file mode 100644 index 3b4b7ae..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentOptimizeBattery - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentOptimizeBattery
-
-
-

Checks if the optimized battery Vari-Bright preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentOptimizeBattery (adlx_bool* optimizeBattery)
- 

Parameters

-
-
-
- - -
1.[out]optimizeBatteryadlx_bool*The pointer to a variable where the state of the optimized battery preset is returned. The variable is true if the optimized battery preset is used. The variable is false if the optimized battery preset is not used.
-
-
-

Return Value

-

If the state of optimized battery preset is successfully returned, ADLX_OK is returned.
- If the state of optimized battery preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html deleted file mode 100644 index 0278403..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentOptimizeBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentOptimizeBrightness
-
-
-

Checks if the optimized brightness Vari-Bright preset is used on a display.

-

Syntax

-
- ADLX_RESULT    IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness)
- 

Parameters

-
-
-
- - -
1.[out]optimizeBrightnessadlx_bool*The pointer to a variable where the state of the optimized brightness preset is returned. The variable is true if the optimized brightness preset is used. The variable is false if the optimized brightness preset is not used.
-
-
-

Return Value

-

If the state of optimized brightness preset is successfully returned, ADLX_OK is returned.
- If the state of optimized brightness preset is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html deleted file mode 100644 index 0620aee..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if Vari-Bright is enabled on a display.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of Vari-Bright is returned. The variable is true if Vari-Bright is enabled. The variable is false if Vari-Bright is not enabled.
-
-
-

Return Value

-

If the state of Vari-Bright is successfully returned, ADLX_OK is returned.
- If the state of Vari-Bright is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html deleted file mode 100644 index 17da0a0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if Vari-Bright can be configured on a display.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of Vari-Bright is returned. The variable is true if Vari-Bright is supported. The variable is false if Vari-Bright is not supported.
-
-
-

Return Value

-

If the state of Vari-Bright is successfully returned, ADLX_OK is returned.
- If the state of Vari-Bright is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html deleted file mode 100644 index 092d580..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBalanced - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBalanced
-
-
-

Sets the balanced Vari-Bright preset on a display.

-

Syntax

-
- ADLX_RESULT    SetBalanced ()
- 

Parameters

-

N/A

-

Return Value

-

If the balanced preset is successfully set, ADLX_OK is returned.
- If the balanced preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html deleted file mode 100644 index 8b1d706..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Sets the Vari-Bright to enabled or disabled on a display.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new Vari-Bright state. Set true to enable Vari-Bright. Set false to disable Vari-Bright.
-
-
-

Return Value

-

If the state of Vari-Bright is successfully set, ADLX_OK is returned.
- If the state of Vari-Bright is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html deleted file mode 100644 index ebfbb0d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMaximizeBattery - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMaximizeBattery
-
-
-

Sets the maximize battery Vari-Bright preset on a display.

-

Syntax

-
- ADLX_RESULT    SetMaximizeBattery ()
- 

Parameters

-

N/A

-

Return Value

-

If the maximize battery preset is successfully set, ADLX_OK is returned.
- If the maximize battery preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The maximized battery preset maximizes battery time.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html deleted file mode 100644 index 6a8fa87..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMaximizeBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMaximizeBrightness
-
-
-

Sets the maximize brightness Vari-Bright preset on a display.

-

Syntax

-
- ADLX_RESULT    SetMaximizeBrightness ()
- 

Parameters

-

N/A

-

Return Value

-

If the maximized brightness preset is successfully set, ADLX_OK is returned.
- If the maximized brightness preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html deleted file mode 100644 index 093640f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetOptimizeBattery - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetOptimizeBattery
-
-
-

Sets the optimize battery Vari-Bright preset on a display.

-

Syntax

-
- ADLX_RESULT    SetOptimizeBattery ()
- 

Parameters

-

N/A

-

Return Value

-

If the optimize battery preset is successfully set, ADLX_OK is returned.
- If the optimize battery preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html deleted file mode 100644 index 28079d8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetOptimizeBrightness - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetOptimizeBrightness
-
-
-

Sets the optimize brightness Vari-Bright preset on a display.

-

Syntax

-
- ADLX_RESULT    SetOptimizeBrightness ()
- 

Parameters

-

N/A

-

Return Value

-

If the optimize brightness preset is successfully set, ADLX_OK is returned.
- If the optimize brightness preset is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IDisplaySettings.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.html deleted file mode 100644 index 7d2945f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXEyefinityDesktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXEyefinityDesktop
-
-
-

The IADLXEyefinityDesktop interface provides properties of an AMD Eyefinity desktop, such as the display composition of the AMD Eyefinity configuration.
- AMD Eyefinity technology allows two or more displays to be combined into a single large desktop.

- - - - - - - - - -
InterfaceId:IADLXEyefinityDesktop
Smart Pointer Interface Name:IADLXEyefinityDesktopPtr
Inherits:IADLXInterface
Inherited By:N/A
-

To get the IADLXEyefinityDesktop, an application should get a list of desktops first via IADLXDesktopServices interface.

-

Methods

- - - - - - - - - - - - - -
Method Description
DisplayOrientation Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location.
DisplaySize Gets the size of the display area on an AMD Eyefinity desktop at a given grid location.
DisplayTopLeft Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location.
GetDisplay Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location.
GridSize Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample.
- For a C application, refer to the Eyefinity C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.js deleted file mode 100644 index f6bf2a6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_eyefinity_desktop = -[ - [ "DisplayOrientation", "_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html", null ], - [ "DisplaySize", "_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html", null ], - [ "DisplayTopLeft", "_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html", null ], - [ "GetDisplay", "_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html", null ], - [ "GridSize", "_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html deleted file mode 100644 index 9215487..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayOrientation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayOrientation
-
-
-

Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location.

-

Syntax

-
- ADLX_RESULT    DisplayOrientation (adlx_uint row, adlx_uint col, ADLX_ORIENTATION* displayOrientation)
- 

Parameters

-
-
-
- - -
1.[in] rowadlx_uint The row of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
2.[in] coladlx_uint The column of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
3.[out] displayOrientationADLX_ORIENTATION* The pointer to a variable where the display orientation is returned.
-
-
-

Return Value

-

If the display orientation is successfully returned, ADLX_OK is returned.
- If the display orientation is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The display orientation indicates the rotation angle of the display area on an AMD Eyefinity desktop.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html deleted file mode 100644 index 4f7f134..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplaySize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplaySize
-
-
-

Gets the size of the display area on an AMD Eyefinity desktop at a given grid location.

-

Syntax

-
- ADLX_RESULT    DisplaySize (adlx_uint row, adlx_uint col, adlx_int* displayWidth, adlx_int* displayHeight)
- 

Parameters

-
-
-
- - -
1.[in] rowadlx_uint The row of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
2.[in] coladlx_uint The column of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
3.[out] displayWidthadlx_int* The pointer to a variable where the display width is returned.
-
-
-
-
-
- - -
4.[out] displayHeightadlx_int* The pointer to a variable where the display height is returned.
-
-
-

Return Value

-

If the display size is successfully returned, ADLX_OK is returned.
- If the display size is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The display size represents the pixel resolution of the dispay area in an AMD Eyefinity desktop.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html deleted file mode 100644 index d18716a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayTopLeft - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayTopLeft
-
-
-

Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location.

-

Syntax

-
- ADLX_RESULT    DisplayTopLeft (adlx_uint row, adlx_uint col, ADLX_Point* displayLocationTopLeft)
- 

Parameters

-
-
-
- - -
1.[in] rowadlx_uint The row of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
2.[in] coladlx_uint The column of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
3.[out] displayLocationTopLeftADLX_Point* The pointer to a variable where the top left position is returned.
-
-
-

Return Value

-

If the top left position is successfully returned, ADLX_OK is returned.
- If the top left position is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The top left position is relative to the desktop's top left position.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html deleted file mode 100644 index 3a1febf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplay - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplay
-
-
-

Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location.

-

Syntax

-
- ADLX_RESULT    GetDisplay (adlx_uint row, adlx_uint col, IADLXDisplay** ppDisplay)
- 

Parameters

-
-
-
- - -
1.[in] rowadlx_uint The row of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
2.[in] coladlx_uint The column of the AMD Eyefinity grid location for the requested display.
-
-
-
-
-
- - -
3.[out] ppDisplayIADLXDisplay** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html deleted file mode 100644 index d50dc44..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GridSize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GridSize
-
-
-

Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop.

-

Syntax

-
- ADLX_RESULT    GridSize (adlx_uint* rows, adlx_uint* cols)
- 

Parameters

-
-
-
- - -
1.[out] rowsadlx_uint* The pointer to a variable where the number of rows is returned.
-
-
-
-
-
- - -
2.[out] colsadlx_uint* The pointer to a variable where the number of cols is returned.
-
-
-

Return Value

-

If the number of rows and cols are successfully returned, ADLX_OK is returned.
- If the number of rows and cols are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The grid location of an AMD Eyefinity desktop is identified by a row and a column from zero to the respective value returned from this method minus one.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.html deleted file mode 100644 index d8b4533..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXFPS
-
-
-

The IADLXFPS interface provides information of an FPS metric sample, such as the timestamp and the FPS.

- - - - - - - - - -
InterfaceId:IADLXFPS
Smart Pointer Interface Name:IADLXFPSPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode.

-

Methods

- - - - - - - -
Method Description
FPS Gets the FPS when this metric set was acquired.
TimeStamp Gets the timestamp of an FPS metric sample.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfFPSMetrics C++ sample.
- For a C application, refer to the PerfFPSMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.js deleted file mode 100644 index b295b01..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_f_p_s = -[ - [ "FPS", "_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html", null ], - [ "TimeStamp", "_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html deleted file mode 100644 index 8d3aca4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: FPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
FPS
-
-
-

Gets the FPS when this metric set was acquired.

-

Syntax

-
- ADLX_RESULT    FPS (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the FPS is returned.
-
-
-

Return Value

-

If the FPS is successfully returned, ADLX_OK is returned.
- If the FPS is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html deleted file mode 100644 index 90ba347..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TimeStamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TimeStamp
-
-
-

Gets the timestamp of an FPS metric sample.

-

Syntax

-
- ADLX_RESULT    TimeStamp (adlx_int64* ms)
- 

Parameters

-
-
-
- - -
1.[out] msadlx_int64* The pointer to a variable where the timestamp (in ms) is returned.
-
-
-

Return Value

-

If the timestamp is successfully returned, ADLX_OK is returned.
- If the timestamp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.html deleted file mode 100644 index 596cbf2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXFPSList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXFPSList
-
-
-

The IADLXFPSList is an interface for a collection of IADLXFPS interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXFPSList
Smart Pointer Interface Name:IADLXFPSListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfFPSMetrics C++ sample.
- For a C application, refer to the PerfFPSMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.js deleted file mode 100644 index 6e17bbe..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_f_p_s_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_f_p_s_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html deleted file mode 100644 index bb3ed71..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXFPS* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXFPS* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__at.html deleted file mode 100644 index 624cd5b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_f_p_s_list__at.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXFPS** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXFPS** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.html deleted file mode 100644 index b603951..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPU
-
-
-

The IADLXGPU interface provides properties of a GPU, such as name and type.

- - - - - - - - - -
InterfaceId:IADLXGPU
Smart Pointer Interface Name:IADLXGPUPtr
Inherits:IADLXInterface
Inherited By:IADLXGPU1
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
ASICFamilyType Gets the ASIC family type of a GPU.
BIOSInfo Gets the BIOS info of a GPU.
DeviceId Gets the device id of a GPU.
DriverPath Gets the driver registry path of a GPU.
HasDesktops Checks if a GPU drives any desktops.
IsExternal Checks if a GPU is an external or internal GPU.
Name Gets the name of a GPU.
PNPString Gets the PNP string of a GPU.
RevisionId Gets the revision id of a GPU.
SubSystemId Gets the subsystem id of a GPU.
SubSystemVendorId Gets the subsystem vendor id of a GPU.
TotalVRAM Gets the total VRAM size of a GPU.
Type Gets the type of a GPU.
UniqueId Gets the unique id of a GPU.
VRAMType Gets the VRAM type of a GPU.
VendorId Gets the vendor id of a GPU.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.js deleted file mode 100644 index 24e1280..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u.js +++ /dev/null @@ -1,19 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u = -[ - [ "ASICFamilyType", "_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html", null ], - [ "BIOSInfo", "_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html", null ], - [ "DeviceId", "_d_o_x__i_a_d_l_x_g_p_u__device_id.html", null ], - [ "DriverPath", "_d_o_x__i_a_d_l_x_g_p_u__driver_path.html", null ], - [ "HasDesktops", "_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html", null ], - [ "IsExternal", "_d_o_x__i_a_d_l_x_g_p_u__is_external.html", null ], - [ "Name", "_d_o_x__i_a_d_l_x_g_p_u__name.html", null ], - [ "PNPString", "_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html", null ], - [ "RevisionId", "_d_o_x__i_a_d_l_x_g_p_u__revision_id.html", null ], - [ "SubSystemId", "_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html", null ], - [ "SubSystemVendorId", "_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html", null ], - [ "TotalVRAM", "_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html", null ], - [ "Type", "_d_o_x__i_a_d_l_x_g_p_u__type.html", null ], - [ "UniqueId", "_d_o_x__i_a_d_l_x_g_p_u__unique_id.html", null ], - [ "VRAMType", "_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html", null ], - [ "VendorId", "_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.html deleted file mode 100644 index d341398..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPU1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPU1
-
-
-

IADLXGPU1 is an extension to the IADLXGPU interface. This interface provides the method to get multi-GPU setup details, PCI bus details, and the product name of a GPU.

- - - - - - - - - -
InterfaceId:IADLXGPU1
Smart Pointer Interface Name:IADLXGPU1Ptr
Inherits:IADLXGPU
Inherited By:N/A
-

The IADLXGPU1 interface is obtained from the IADLXGPU interface using QueryInterface.

-

Methods

- - - - - - - - - - - -
Method Description
MultiGPUMode Gets the AMD MGPU mode of a GPU.
PCIBusLaneWidth Gets the PCI bus lane width of a GPU.
PCIBusType Gets the PCI bus type of a GPU.
ProductName Gets the product name of a GPU.
-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.js deleted file mode 100644 index 0f4e3ff..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u1 = -[ - [ "MultiGPUMode", "_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html", null ], - [ "PCIBusLaneWidth", "_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html", null ], - [ "PCIBusType", "_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html", null ], - [ "ProductName", "_d_o_x__i_a_d_l_x_g_p_u1__product_name.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html deleted file mode 100644 index f69f972..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: MultiGPUMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MultiGPUMode
-
-
-

Gets the AMD MGPU mode of a GPU.

-

Syntax

-
- ADLX_RESULT    MultiGPUMode (ADLX_MGPU_MODE* mode)
- 

Parameters

-
-
-
- - -
1.[out]modeADLX_MGPU_MODE*The pointer to a variable where the AMD MGPU mode is returned. The variable is MGPU_NONE if the GPU is not part of an AMD MGPU configuration. The variable is MGPU_PRIMARY if the GPU is the primary GPU in an AMD MGPU configuration. The variable is MGPU_SECONDARY if the GPU is the secondary GPU in an AMD MGPU configuration.
-
-
-

Return Value

-

If MultiGPUMode is successfully returned, ADLX_OK is returned.
- If MultiGPUMode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD MGPU technology harnesses the power of two or more discrete graphics cards working in parallel to dramatically improve performance in games and applications.
- On systems with AMD MGPU enabled the video output is delivered through the primary GPU and the workload is allocated to all supported GPUs in the setup.
-

-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html deleted file mode 100644 index 6f0c754..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PCIBusLaneWidth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PCIBusLaneWidth
-
-
-

Gets the PCI bus lane width of a GPU.

-

Syntax

-
- ADLX_RESULT    PCIBusLaneWidth (adlx_uint* laneWidth)
- 

Parameters

-
-
-
- - -
1.[out] laneWidthadlx_uint* The pointer to a variable where the PCI bus lane width is returned.
-
-
-

Return Value

-

If the PCI bus lane width is successfully returned, ADLX_OK is returned.
- If the PCI bus lane width is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html deleted file mode 100644 index d8e84f5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PCIBusType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PCIBusType
-
-
-

Gets the PCI bus type of a GPU.

-

Syntax

-
- ADLX_RESULT    PCIBusType (ADLX_PCI_BUS_TYPE* busType)
- 

Parameters

-
-
-
- - -
1.[out]busTypeADLX_PCI_BUS_TYPE*The pointer to a variable where the GPU PCI bus type is returned.
-
-
-

Return Value

-

If the GPU PCI bus type is successfully returned, ADLX_OK is returned.
- If the GPU PCI bus type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__product_name.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__product_name.html deleted file mode 100644 index 5443fe5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u1__product_name.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ProductName - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ProductName
-
-
-

Gets the product name of a GPU.

-

Syntax

-
- ADLX_RESULT    ProductName (const char** productName)
- 

Parameters

-
-
-
- - -
1.[out]productNameconst char**The pointer to a zero-terminated string where the productName string of a GPU is returned.
-
-
-

Return Value

-

If the productName string is successfully returned, ADLX_OK is returned.
- If the productName string is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within a lifetime of the IADLXGPU1 interface.
- If the application uses the productName string beyond the lifetime of the IADLXGPU1 interface, the application must make a copy of the productName string.
-

-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html deleted file mode 100644 index c800ad8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ASICFamilyType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ASICFamilyType
-
-
-

Gets the ASIC family type of a GPU.

-

Syntax

-
- ADLX_RESULT    ASICFamilyType (ADLX_ASIC_FAMILY_TYPE* asicFamilyType)
- 

Parameters

-
-
-
- - -
1.[out]asicFamilyTypeADLX_ASIC_FAMILY_TYPE*The pointer to a variable where the ASIC family type is returned.
-
-
-

Return Value

-

If the ASIC family type is successfully returned, ADLX_OK is returned.
- If the ASIC family type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html deleted file mode 100644 index 3352c87..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: BIOSInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
BIOSInfo
-
-
-

Gets the BIOS info of a GPU.

-

Syntax

-
- ADLX_RESULT    BIOSInfo(const char** partNumber, const char** version, const char** date)
- 

Parameters

-
-
-
- - -
1.[out]partNumberconst char**The pointer to a zero-terminated string where the BIOS part number of the GPU is returned.
-
-
-
-
-
- - -
2.[out]versionconst char**The pointer to a zero-terminated string where the BIOS version of the GPU is returned.
-
-
-
-
-
- - -
3.[out]dateconst char**The pointer to a zero-terminated string where the BIOS date of the GPU is returned.
-
-
-

Return Value

-

If the BIOS part number, BIOS version and BIOS date are successfully returned, ADLX_OK is returned.
- If the BIOS part number, BIOS version and BIOS date are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffers are valid within the lifetime of the IADLXGPU interface.
- If the application uses the BIOS part number, BIOS version and BIOS date beyond the lifetime of the IADLXGPU interface, the application must make a copy of the BIOS part number, BIOS version and BIOS date.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__device_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__device_id.html deleted file mode 100644 index 230a64c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__device_id.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DeviceId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DeviceId
-
-
-

Gets the device id of a GPU.

-

Syntax

-
- ADLX_RESULT    DeviceId(const char** deviceId)
- 

Parameters

-
-
-
- - -
1.[out]deviceIdconst char**The pointer to a zero-terminated string where the device id of the GPU is returned.
-
-
-

Return Value

-

If the device id is successfully returned, ADLX_OK is returned.
- If the device id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The device id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits.

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the device id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the device id.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__driver_path.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__driver_path.html deleted file mode 100644 index e3b2f44..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__driver_path.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DriverPath - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DriverPath
-
-
-

Gets the driver registry path of a GPU.

-

Syntax

-
- ADLX_RESULT    DriverPath (const char** driverPath)
- 

Parameters

-
-
-
- - -
1.[out]driverPathconst char**The pointer to a zero-terminated string where the driver registry path of a GPU is returned.
-
-
-

Return Value

-

If the driver path is successfully returned, ADLX_OK is returned.
- If the driver path is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within a lifetime of the IADLXGPU interface.
- If the application uses the driver path beyond the lifetime of the IADLXGPU interface, the application must make a copy of the driver path.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html deleted file mode 100644 index f6bfc82..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: HasDesktops - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
HasDesktops
-
-
-

Checks if a GPU drives any desktops.

-

Syntax

-
- ADLX_RESULT    HasDesktops (adlx_bool* hasDesktops)
- 

Parameters

-
-
-
- - -
1.[out]hasDesktopsadlx_bool*The pointer to a variable to check if a GPU drives any desktops is returned. The variable is true if the GPU drives desktops. The variable is false if the GPU does not drive any desktop.
-
-
-

Return Value

-

If HasDesktops is successfully executed, ADLX_OK is returned.
- If HasDesktops is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__is_external.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__is_external.html deleted file mode 100644 index e060167..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__is_external.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsExternal - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsExternal
-
-
-

Checks if a GPU is an external or internal GPU.

-

Syntax

-
- ADLX_RESULT    IsExternal (adlx_bool* isExternal)
- 

Parameters

-
-
-
- - -
1.[out]isExternaladlx_bool*The pointer to a variable where the state of the GPU is returned. The variable is true if the GPU is external. The variable is false if the GPU is internal.
-
-
-

Return Value

-

If IsExternal is successfully executed, ADLX_OK is returned.
- If IsExternal is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__name.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__name.html deleted file mode 100644 index c5148b4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__name.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Name - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Name
-
-
-

Gets the name of a GPU.

-

Syntax

-
- ADLX_RESULT    Name (const char** name)
- 

Parameters

-
-
-
- - -
1.[out]nameconst char**The pointer to a zero-terminated string where the name of the GPU is returned.
-
-
-

Return Value

-

If the name is successfully returned, ADLX_OK is returned.
- If the name is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within a lifetime of the IADLXGPU interface.
- If the application uses the name beyond the lifetime of the IADLXGPU interface, the application must make a copy of the name.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html deleted file mode 100644 index 5a57e2d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PNPString - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PNPString
-
-
-

Gets the PNP string of a GPU.

-

Syntax

-
- ADLX_RESULT    PNPString (const char** pnpString)
- 

Parameters

-
-
-
- - -
1.[out]pnpStringconst char**The pointer to a zero-terminated string where the PNP string of a GPU is returned.
-
-
-

Return Value

-

If the PNP string is successfully returned, ADLX_OK is returned.
- If the PNP string is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within a lifetime of the IADLXGPU interface.
- If the application uses the PNP string beyond the lifetime of the IADLXGPU interface, the application must make a copy of the PNP string.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__revision_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__revision_id.html deleted file mode 100644 index 4546318..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__revision_id.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RevisionId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RevisionId
-
-
-

Gets the revision id of a GPU.

-

Syntax

-
- ADLX_RESULT    RevisionId(const char** revisionId)
- 

Parameters

-
-
-
- - -
1.[out]revisionIdconst char**The pointer to a zero-terminated string where the revision id of the GPU is returned.
-
-
-

Return Value

-

If the revision id is successfully returned, ADLX_OK is returned.
- If the revision id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the revision id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the revision id.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html deleted file mode 100644 index 0549e59..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SubSystemId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SubSystemId
-
-
-

Gets the subsystem id of a GPU.

-

Syntax

-
- ADLX_RESULT    SubSystemId(const char** subSystemId)
- 

Parameters

-
-
-
- - -
1.[out]subSystemIdconst char**The pointer to a zero-terminated string where the subsystem id of the GPU is returned.
-
-
-

Return Value

-

If the subsystem id is successfully returned, ADLX_OK is returned.
- If the subsystem id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the subsystem id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the subsystem id.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html deleted file mode 100644 index 025fa6c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SubSystemVendorId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SubSystemVendorId
-
-
-

Gets the subsystem vendor id of a GPU.

-

Syntax

-
- ADLX_RESULT    SubSystemVendorId(const char** subSystemVendorId)
- 

Parameters

-
-
-
- - -
1.[out]subSystemVendorIdconst char**The pointer to a zero-terminated string where the subsystem vendor id of the GPU is returned.
-
-
-

Return Value

-

If the subsystem vendor id is successfully returned, ADLX_OK is returned.
- If the subsystem vendor id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The subsystem vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits.

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the subsystem vendor id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the subsystem vendor id.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html deleted file mode 100644 index 60d1346..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TotalVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TotalVRAM
-
-
-

Gets the total VRAM size of a GPU.

-

Syntax

-
- ADLX_RESULT    TotalVRAM (adlx_uint* vramMB)
- 

Parameters

-
-
-
- - -
1.[out] vramMBadlx_uint* The pointer to a variable where the total VRAM size is returned.
-
-
-

Return Value

-

If the total VRAM size is successfully returned, ADLX_OK is returned.
- If the total VRAM size is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The total VRAM size is in MB.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__type.html deleted file mode 100644 index 77947b6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__type.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Type - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Type
-
-
-

Gets the type of a GPU.

-

Syntax

-
- ADLX_RESULT    Type (ADLX_GPU_TYPE* gpuType)
- 

Parameters

-
-
-
- - -
1.[out]gpuTypeADLX_GPU_TYPE*The pointer to a variable where the GPU type is returned.
-
-
-

Return Value

-

If the GPU type is successfully returned, ADLX_OK is returned.
- If the GPU type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The GPU type can be categorized into Integrated, Discrete, and Unknown.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__unique_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__unique_id.html deleted file mode 100644 index 587c744..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__unique_id.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: UniqueId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UniqueId
-
-
-

Gets the unique id of a GPU.

-

Syntax

-
- ADLX_RESULT    UniqueId(adlx_int* uniqueId)
- 

Parameters

-
-
-
- - -
1.[out]uniqueIdadlx_int*The pointer to a variable where the unique id of the GPU is returned.
-
-
-

Return Value

-

If the unique id is successfully returned, ADLX_OK is returned.
- If the unique id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html deleted file mode 100644 index 507d8b1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: VRAMType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
VRAMType
-
-
-

Gets the VRAM type of a GPU.

-

Syntax

-
- ADLX_RESULT    VRAMType(const char** type)
- 

Parameters

-
-
-
- - -
1.[out]typeconst char**The pointer to a zero-terminated string where the VRAM type of the GPU is returned.
-
-
-

Return Value

-

If the VRAM type is successfully returned, ADLX_OK is returned.
- If the VRAM type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the VRAM type beyond the lifetime of the IADLXGPU interface, the application must make a copy of the VRAM type.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html deleted file mode 100644 index 344385b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: VendorId - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
VendorId
-
-
-

Gets the vendor id of a GPU.

-

Syntax

-
- ADLX_RESULT    VendorId (const char** vendorId)
- 

Parameters

-
-
-
- - -
1.[out]vendorIdconst char**The pointer to a zero-terminated string where the vendor id is returned.
-
-
-

Return Value

-

If the vendor id is successfully returned, ADLX_OK is returned.
- If the vendor id is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits.

-

Additional Info

-

The returned memory buffer is valid within the lifetime of the IADLXGPU interface.
- If the application uses the vendor id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the vendor id.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html deleted file mode 100644 index f3f20d8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUAutoTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUAutoTuning
-
-
-

The IADLXGPUAutoTuning interface provides methods to verify and set automatic tuning on a GPU using automatic tuning profiles.

- - - - - - - - - -
InterfaceId:IADLXGPUAutoTuning
Smart Pointer Interface Name:IADLXGPUAutoTuningPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - -
Method Description
IsCurrentOverclockGPU Checks if the GPU overclocking tuning profile is currently enabled on a GPU.
IsCurrentOverclockVRAM Checks if the VRAM overclocking tuning profile is currently enabled on a GPU.
IsCurrentUndervoltGPU Checks if the GPU undervolting tuning profile is currently enabled on a GPU.
IsSupportedOverclockGPU Checks if the GPU overclocking tuning profile is supported on a GPU.
IsSupportedOverclockVRAM Checks if the VRAM overclocking tuning profile is supported on a GPU.
IsSupportedUndervoltGPU Checks if the GPU undervolting tuning profile is supported on a GPU.
StartOverclockGPU Starts GPU overclocking on a GPU.
StartOverclockVRAM Start VRAM overclocking on a GPU.
StartUndervoltGPU Starts GPU undervolting on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample.
- For a C application, refer to the GPUAutoTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.js deleted file mode 100644 index acaca5a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.js +++ /dev/null @@ -1,12 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_auto_tuning = -[ - [ "IsCurrentOverclockGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html", null ], - [ "IsCurrentOverclockVRAM", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html", null ], - [ "IsCurrentUndervoltGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html", null ], - [ "IsSupportedOverclockGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html", null ], - [ "IsSupportedOverclockVRAM", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html", null ], - [ "IsSupportedUndervoltGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html", null ], - [ "StartOverclockGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html", null ], - [ "StartOverclockVRAM", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html", null ], - [ "StartUndervoltGPU", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html deleted file mode 100644 index cf5d065..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentOverclockGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentOverclockGPU
-
-
-

Checks if the GPU overclocking tuning profile is currently enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentOverclockGPU (adlx_bool* isOverclockGPU)
- 

Parameters

-
-
-
- - -
1.[out]isOverclockGPUadlx_bool*The pointer to a variable where the state of GPU overclocking is returned. The variable is true if GPU overclocking is applied. The variable is false if GPU overclocking is not applied.
-
-
-

Return Value

-

If the state of GPU overclocking is successfully returned, ADLX_OK is returned.
- If the state of GPU overclocking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html deleted file mode 100644 index ff1de7f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentOverclockVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentOverclockVRAM
-
-
-

Checks if the VRAM overclocking tuning profile is currently enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM)
- 

Parameters

-
-
-
- - -
1.[out]isOverclockVRAMadlx_bool*The pointer to a variable where the state of VRAM overclocking is returned. The variable is true if VRAM overclocking is applied. The variable is false if VRAM overclocking is not applied.
-
-
-

Return Value

-

If the state of VRAM overclocking is successfully returned, ADLX_OK is returned.
- If the state of VRAM overclocking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html deleted file mode 100644 index ea1c252..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentUndervoltGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentUndervoltGPU
-
-
-

Checks if the GPU undervolting tuning profile is currently enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU)
- 

Parameters

-
-
-
- - -
1.[out]isUndervoltGPUadlx_bool*The pointer to a variable where the state of GPU undervolting is returned. The variable is true if GPU undervolting is applied. The variable is false if GPU undervolting is not applied.
-
-
-

Return Value

-

If the state of GPU undervolting is successfully returned, ADLX_OK is returned.
- If the state of GPU undervolting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html deleted file mode 100644 index 4cd0ff0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedOverclockGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedOverclockGPU
-
-
-

Checks if the GPU overclocking tuning profile is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedOverclockGPU (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU overclocking is returned. The variable is true if GPU overclocking is supported. The variable is false if GPU overclocking is not supported.
-
-
-

Return Value

-

If the state of GPU overclocking is successfully returned, ADLX_OK is returned.
- If the state of GPU overclocking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html deleted file mode 100644 index fcea4ef..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedOverclockVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedOverclockVRAM
-
-
-

Checks if the VRAM overclocking tuning profile is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedOverclockVRAM (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of VRAM overclocking is returned. The variable is true if VRAM overclocking is supported. The variable is false if VRAM overclocking is not supported.
-
-
-

Return Value

-

If the state of VRAM overclocking is successfully returned, ADLX_OK is returned.
- If the state of VRAM overclocking is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html deleted file mode 100644 index a6709cd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedUndervoltGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedUndervoltGPU
-
-
-

Checks if the GPU undervolting tuning profile is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedUndervoltGPU (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU undervolting is returned. The variable is true if GPU undervolting is supported. The variable is false if GPU undervolting is not supported.
-
-
-

Return Value

-

If the state of GPU undervolting is successfully returned, ADLX_OK is returned.
- If the state of GPU undervolting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html deleted file mode 100644 index 4f7d1ac..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: StartOverclockGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
StartOverclockGPU
-
-
-

Starts GPU overclocking on a GPU.

-

Syntax

-
- ADLX_RESULT    StartOverclockGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener)
- 

Parameters

-
-
-
- - -
1.[in]pCompleteListenerIADLXGPUAutoTuningCompleteListener*The pointer to a GPU tuning complete listener interface.
-
-
-

Return Value

-

If the GPU overclocking is successfully started, ADLX_OK is returned.
- If the GPU overclocking is not successfully started, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The StartOverclockGPU method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentOverclockGPU returns true.

-

Additional Info

-

Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html deleted file mode 100644 index 2af4da5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: StartOverclockVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
StartOverclockVRAM
-
-
-

Start VRAM overclocking on a GPU.

-

Syntax

-
- ADLX_RESULT    StartOverclockVRAM (IADLXGPUAutoTuningCompleteListener* pCompleteListener)
- 

Parameters

-
-
-
- - -
1.[in]pCompleteListenerIADLXGPUAutoTuningCompleteListener*The pointer to a GPU tuning complete listener interface.
-
-
-

Return Value

-

If the VRAM overclocking is successfully started, ADLX_OK is returned.
- If the VRAM overclocking is not successfully started, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The StartOverclockVRAM method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentOverclockVRAM returns true.

-

Additional Info

-

Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html deleted file mode 100644 index d8cb127..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: StartUndervoltGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
StartUndervoltGPU
-
-
-

Starts GPU undervolting on a GPU.

-

Syntax

-
- ADLX_RESULT    StartUndervoltGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener)
- 

Parameters

-
-
-
- - -
1.[in]pCompleteListenerIADLXGPUAutoTuningCompleteListener*The pointer to a GPU tuning complete listener interface.
-
-
-

Return Value

-

If the GPU undervolting is successfully started, ADLX_OK is returned.
- If the GPU undervolting is not successfully started, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The StartUndervoltGPU method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentUndervoltGPU returns true.

-

Additional Info

-

GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html deleted file mode 100644 index 4337e0d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUAutoTuningCompleteEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUAutoTuningCompleteEvent
-
-
-

The IADLXGPUAutoTuningCompleteEvent interface provides methods to check if GPU automatic tuning is completed.

- - - - - - - - - -
InterfaceId:IADLXGPUAutoTuningCompleteEvent
Smart Pointer Interface Name:IADLXGPUAutoTuningCompleteEventPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - -
Method Description
IsOverclockGPUCompleted Checks if the GPU overclocking is completed.
IsOverclockVRAMCompleted Checks if the VRAM overclocking is completed.
IsUndervoltGPUCompleted Checks if the GPU undervolting is completed.
-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample.
- For a C application, refer to the GPUAutoTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.js deleted file mode 100644 index 7422972..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event = -[ - [ "IsOverclockGPUCompleted", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html", null ], - [ "IsOverclockVRAMCompleted", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html", null ], - [ "IsUndervoltGPUCompleted", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html deleted file mode 100644 index 55b21bb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsOverclockGPUCompleted - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsOverclockGPUCompleted
-
-
-

Checks if the GPU overclocking is completed.

-

Syntax

-
- adlx_bool    IsOverclockGPUCompleted ()
- 

Parameters

-

N/A

-

Return Value

-

If the GPU overclocking is completed, true is returned.
- If the GPU overclocking is not completed, false is returned.
-

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html deleted file mode 100644 index 5e4184f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsOverclockVRAMCompleted - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsOverclockVRAMCompleted
-
-
-

Checks if the VRAM overclocking is completed.

-

Syntax

-
- adlx_bool    IsOverclockVRAMCompleted ()
- 

Parameters

-

N/A

-

Return Value

-

If the VRAM undervolting is completed, true is returned.
- If the VRAM undervolting is not completed, false is returned.
-

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html deleted file mode 100644 index 9c8a22a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsUndervoltGPUCompleted - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsUndervoltGPUCompleted
-
-
-

Checks if the GPU undervolting is completed.

-

Syntax

-
- adlx_bool    IsUndervoltGPUCompleted ()
- 

Parameters

-

N/A

-

Return Value

-

If the GPU undervolting is completed, true is returned.
- If the GPU undervolting is not completed, false is returned.
-

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html deleted file mode 100644 index 5aa48ba..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUAutoTuningCompleteListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUAutoTuningCompleteListener
-
-
-

The IADLXGPUAutoTuningCompleteListener interface is implemented in the application to receive an event from ADLX when GPU automatic tuning completes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXGPUAutoTuningCompleteListener interface must be passed to StartUndervoltGPU, StartOverclockGPU, and StartOverclockVRAM to register for notifications when GPU automatic tuning complete.
- For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnGPUAutoTuningComplete The OnGPUAutoTuningComplete is called by ADLX when GPU tuning completes.
-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample.
- For a C application, refer to the GPUAutoTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.js deleted file mode 100644 index 6a8d552..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener = -[ - [ "OnGPUAutoTuningComplete", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html deleted file mode 100644 index 90b2f4c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnGPUAutoTuningComplete - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnGPUAutoTuningComplete
-
-
-

The OnGPUAutoTuningComplete is called by ADLX when GPU tuning completes.

-

Syntax

-
- adlx_bool    OnGPUAutoTuningComplete (IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent)
- 

Parameters

-
-
-
- - -
1.[in] pGPUAutoTuningCompleteEventIADLXGPUAutoTuningCompleteEvent* The pointer to a GPU tuning complete event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with StartUndervoltGPU, StartOverclockGPU, and StartOverclockVRAM, ADLX will call this method when GPU tuning completes. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning complete event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning complete event with Release.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.html deleted file mode 100644 index 866bbc5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUList
-
-
-

The IADLXGPUList is an interface for a collection of IADLXGPU interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXGPUList
Smart Pointer Interface Name:IADLXGPUListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.js deleted file mode 100644 index 1cb1243..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_g_p_u_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html deleted file mode 100644 index db3d4c6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXGPU* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXGPU* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__at.html deleted file mode 100644 index e42bbc3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXGPU** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXGPU** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.html deleted file mode 100644 index e39918d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUMetrics
-
-
-

The IADLXGPUMetrics interface provides information of a GPU metric sample, such as the timestamp and the GPU usage.

- - - - - - - - - -
InterfaceId:IADLXGPUMetrics
Smart Pointer Interface Name:IADLXGPUMetricsPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GPUClockSpeed Gets the GPU clock speed of a GPU metric sample.
GPUFanSpeed Gets the GPU fan speed of a GPU metric sample.
GPUHotspotTemperature Gets the GPU hotspot temperature of a GPU metric sample.
GPUIntakeTemperature Gets the GPU intake temperature of a GPU metric sample.
GPUPower Gets the GPU power consumption of a GPU metric sample.
GPUTemperature Gets the GPU temperature of a GPU metric sample.
GPUTotalBoardPower Gets the GPU total board power consumption of a GPU metric sample.
GPUUsage Gets the GPU usage of a GPU metric sample.
GPUVRAM Gets the dedicated GPU memory of a GPU metric sample.
GPUVRAMClockSpeed Gets the VRAM clock speed of a GPU metric sample.
GPUVoltage Gets the GPU voltage of a GPU metric sample.
TimeStamp Gets the timestamp of a GPU metric sample.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample.
- For a C application, refer to the PerfGPUMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.js deleted file mode 100644 index 6a4cf2b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics.js +++ /dev/null @@ -1,15 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_metrics = -[ - [ "GPUClockSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html", null ], - [ "GPUFanSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html", null ], - [ "GPUHotspotTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html", null ], - [ "GPUIntakeTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html", null ], - [ "GPUPower", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html", null ], - [ "GPUTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html", null ], - [ "GPUTotalBoardPower", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html", null ], - [ "GPUUsage", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html", null ], - [ "GPUVRAM", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html", null ], - [ "GPUVRAMClockSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html", null ], - [ "GPUVoltage", "_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html", null ], - [ "TimeStamp", "_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html deleted file mode 100644 index 1ca418c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUClockSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUClockSpeed
-
-
-

Gets the GPU clock speed of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUClockSpeed (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the GPU clock speed (in MHz) is returned.
-
-
-

Return Value

-

If the GPU clock speed is successfully returned, ADLX_OK is returned.
- If the GPU clock speed is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html deleted file mode 100644 index 1e30103..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUFanSpeed
-
-
-

Gets the GPU fan speed of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUFanSpeed (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the GPU fan speed (in RPM) is returned.
-
-
-

Return Value

-

If the GPU fan speed is successfully returned, ADLX_OK is returned.
- If the GPU fan speed is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html deleted file mode 100644 index 932c60d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUHotspotTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUHotspotTemperature
-
-
-

Gets the GPU hotspot temperature of a GPU metric sample.

-

GPUHotspotTemperature reports the highest temperature measured on the die of the GPU from a collection of junction temperature sensors on the die. This is sometimes referred to as ‘Junction Temperature’.

-

Syntax

-
- ADLX_RESULT    GPUHotspotTemperature (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the GPU hotspot temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU hotspot temperature is successfully returned, ADLX_OK is returned.
- If the GPU hotspot temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

Related method: GPUIntakeTemperature, GPUTemperature.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html deleted file mode 100644 index 90cb2c6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUIntakeTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUIntakeTemperature
-
-
-

Gets the GPU intake temperature of a GPU metric sample.

-

GPUIntakeTemperature reports the fan intake temperature.

-

Syntax

-
- ADLX_RESULT    GPUIntakeTemperature (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the GPU intake temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU intake temperature is successfully returned, ADLX_OK is returned.
- If the GPU Intake temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

Additional Info

-

Related method: GPUHotspotTemperature, GPUTemperature.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html deleted file mode 100644 index 6c67457..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUPower - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUPower
-
-
-

Gets the GPU power consumption of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUPower (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the GPU power consumption (in W) is returned.
-
-
-

Return Value

-

If the GPU power is successfully returned, ADLX_OK is returned.
- If the GPU power is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html deleted file mode 100644 index b6eb270..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUTemperature
-
-
-

Gets the GPU temperature of a GPU metric sample.

-

GPUTemperature reports the average temperature measured at the edge of the die of the GPU. This is sometimes referred to as ‘Edge Temperature’.

-

Syntax

-
- ADLX_RESULT    GPUTemperature (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the GPU temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU temperature is successfully returned, ADLX_OK is returned.
- If the GPU temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

Additional Info

-

Related method: GPUHotspotTemperature, GPUIntakeTemperature.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html deleted file mode 100644 index 00af94a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUTotalBoardPower - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUTotalBoardPower
-
-
-

Gets the GPU total board power consumption of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUTotalBoardPower (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the GPU total board power consumption (in W) is returned.
-
-
-

Return Value

-

If the GPU total board power is successfully returned, ADLX_OK is returned.
- If the GPU total board power is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Additional Info

-

The method returns power of all components on the board including VRAM.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html deleted file mode 100644 index c4a1f6b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUUsage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUUsage
-
-
-

Gets the GPU usage of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUUsage (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the CPU usage (in %) is returned.
-
-
-

Return Value

-

If the GPU usage is successfully returned, ADLX_OK is returned.
- If the GPU usage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html deleted file mode 100644 index 63696a3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUVRAM
-
-
-

Gets the dedicated GPU memory of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUVRAM (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the dedicated GPU memory (in MB) is returned.
-
-
-

Return Value

-

If the dedicated GPU memory is successfully returned, ADLX_OK is returned.
- If the dedicated GPU memory is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html deleted file mode 100644 index b46b4aa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUVRAMClockSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUVRAMClockSpeed
-
-
-

Gets the VRAM clock speed of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUVRAMClockSpeed (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* GPU Memory The pointer to a variable where the VRAM clock speed (in MHz) is returned.
-
-
-

Return Value

-

If the VRAM clock speed is successfully returned, ADLX_OK is returned.
- If the VRAM clock speed is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html deleted file mode 100644 index 4ca9222..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUVoltage
-
-
-

Gets the GPU voltage of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    GPUVoltage (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the GPU voltage (in mV) is returned.
-
-
-

Return Value

-

If the GPU voltage is successfully returned, ADLX_OK is returned.
- If the GPU voltage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html deleted file mode 100644 index 4bb6731..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TimeStamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TimeStamp
-
-
-

Gets the timestamp of a GPU metric sample.

-

Syntax

-
- ADLX_RESULT    TimeStamp (adlx_int64* ms)
- 

Parameters

-
-
-
- - -
1.[out] msadlx_int64* The pointer to a variable where the timestamp (in ms) is returned.
-
-
-

Return Value

-

If the timestamp is successfully returned, ADLX_OK is returned.
- If the timestamp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html deleted file mode 100644 index b6f4c3c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUMetricsList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUMetricsList
-
-
-

The IADLXGPUMetricsList is an interface for a collection of IADLXGPUMetrics interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXGPUMetricsList
Smart Pointer Interface Name:IADLXGPUMetricsListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample.
- For a C application, refer to the PerfGPUMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.js deleted file mode 100644 index 88e2177..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_metrics_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html deleted file mode 100644 index 84ac972..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXGPUMetrics* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXGPUMetrics* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html deleted file mode 100644 index dbbac8b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXGPUMetrics** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXGPUMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html deleted file mode 100644 index 808023c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUMetricsSupport - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUMetricsSupport
-
-
-

The IADLXGPUMetricsSupport interface provides methods to discover what performance metrics are supported on a GPU.

- - - - - - - - - -
InterfaceId:IADLXGPUMetricsSupport
Smart Pointer Interface Name:IADLXGPUMetricsSupportPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetGPUClockSpeedRange Gets the minimum and maximum GPU clock speed on a GPU.
GetGPUFanSpeedRange Gets the minimum and maximum GPU fan speed on a GPU.
GetGPUHotspotTemperatureRange Gets the minimum and maximum GPU hotspot temperature on a GPU.
GetGPUIntakeTemperatureRange Gets the minimum and maximum GPU intake temperature on a GPU.
GetGPUPowerRange Gets the minimum and maximum GPU power consumption on a GPU.
GetGPUTemperatureRange Gets the minimum and maximum GPU temperature on a GPU.
GetGPUTotalBoardPowerRange Gets the minimum and maximum GPU total board power consumption on a GPU.
GetGPUUsageRange Gets the minimum and maximum GPU usage on a GPU.
GetGPUVRAMClockSpeedRange Gets the minimum and maximum VRAM clock speed on a GPU.
GetGPUVRAMRange Gets the minimum and maximum GPU memory on a GPU.
GetGPUVoltageRange Gets the minimum and maximum GPU voltage on a GPU.
IsSupportedGPUClockSpeed Checks if the GPU clock speed metric reporting is supported on a GPU.
IsSupportedGPUFanSpeed Checks if the GPU fan speed metric reporting is supported on a GPU.
IsSupportedGPUHotspotTemperature Checks if the GPU hotspot temperature metric reporting is supported on a GPU.
IsSupportedGPUIntakeTemperature Checks if the GPU intake temperature metric reporting is supported on a GPU.
IsSupportedGPUPower Checks if the GPU power metric reporting is supported on a GPU.
IsSupportedGPUTemperature Checks if the GPU temperature metric reporting is supported on a GPU.
IsSupportedGPUTotalBoardPower Checks if the GPU total board power metric reporting is supported on a GPU.
IsSupportedGPUUsage Checks if the GPU usage metric reporting is supported on a GPU.
IsSupportedGPUVRAM Checks if the GPU VRAM usage metric reporting is supported on a GPU.
IsSupportedGPUVRAMClockSpeed Checks if the GPU memory clock speed metric reporting is supported on a GPU.
IsSupportedGPUVoltage Checks if the GPU voltage metric reporting is supported on a GPU.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample.
- For a C application, refer to the PerfGPUMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.js deleted file mode 100644 index 0ef9f94..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.js +++ /dev/null @@ -1,25 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_metrics_support = -[ - [ "GetGPUClockSpeedRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html", null ], - [ "GetGPUFanSpeedRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html", null ], - [ "GetGPUHotspotTemperatureRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html", null ], - [ "GetGPUIntakeTemperatureRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html", null ], - [ "GetGPUPowerRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html", null ], - [ "GetGPUTemperatureRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html", null ], - [ "GetGPUTotalBoardPowerRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html", null ], - [ "GetGPUUsageRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html", null ], - [ "GetGPUVRAMClockSpeedRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html", null ], - [ "GetGPUVRAMRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html", null ], - [ "GetGPUVoltageRange", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html", null ], - [ "IsSupportedGPUClockSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html", null ], - [ "IsSupportedGPUFanSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html", null ], - [ "IsSupportedGPUHotspotTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html", null ], - [ "IsSupportedGPUIntakeTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html", null ], - [ "IsSupportedGPUPower", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html", null ], - [ "IsSupportedGPUTemperature", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html", null ], - [ "IsSupportedGPUTotalBoardPower", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html", null ], - [ "IsSupportedGPUUsage", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html", null ], - [ "IsSupportedGPUVRAM", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html", null ], - [ "IsSupportedGPUVRAMClockSpeed", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html", null ], - [ "IsSupportedGPUVoltage", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html deleted file mode 100644 index 847abfb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUClockSpeedRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUClockSpeedRange
-
-
-

Gets the minimum and maximum GPU clock speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU clock speed (in MHz) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU clock speed (in MHz) is returned.
-
-
-

Return Value

-

If the GPU clock speed range is successfully returned, ADLX_OK is returned.
- If the GPU clock speed range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU clock speed are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html deleted file mode 100644 index f19201d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUFanSpeedRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUFanSpeedRange
-
-
-

Gets the minimum and maximum GPU fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU fan speed (in RPM) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU fan speed (in RPM) is returned.
-
-
-

Return Value

-

If the GPU fan speed range is successfully returned, ADLX_OK is returned.
- If the GPU fan speed range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU fan speed are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html deleted file mode 100644 index dc5d907..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUHotspotTemperatureRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUHotspotTemperatureRange
-
-
-

Gets the minimum and maximum GPU hotspot temperature on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU hotspot temperature (in °C) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU hotspot temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU hotspot temperature range is successfully returned, ADLX_OK is returned.
- If the GPU hotspot temperature range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU hotspot temperature are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html deleted file mode 100644 index 5cea783..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUIntakeTemperatureRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUIntakeTemperatureRange
-
-
-

Gets the minimum and maximum GPU intake temperature on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU intake temperature (in °C) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU intake temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU intake temperature range is successfully returned, ADLX_OK is returned.
- If the GPU intake temperature range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU intake temperature are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html deleted file mode 100644 index 8ba1d2f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUPowerRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUPowerRange
-
-
-

Gets the minimum and maximum GPU power consumption on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU power consumption (in W) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU power consumption (in W) is returned.
-
-
-

Return Value

-

If the GPU power consumption range is successfully returned, ADLX_OK is returned.
- If the GPU power consumption range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU power consumption are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html deleted file mode 100644 index e5a82af..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTemperatureRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTemperatureRange
-
-
-

Gets the minimum and maximum GPU temperature on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU temperature (in °C) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU temperature (in °C) is returned.
-
-
-

Return Value

-

If the GPU temperature range is successfully returned, ADLX_OK is returned.
- If the GPU temperature range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU temperature are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html deleted file mode 100644 index f375ebf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTotalBoardPowerRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTotalBoardPowerRange
-
-
-

Gets the minimum and maximum GPU total board power consumption on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU total board power consumption (in W) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU total board power consumption (in W) is returned.
-
-
-

Return Value

-

If the GPU total board power consumption range is successfully returned, ADLX_OK is returned.
- If the GPU total board power consumption range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU total board power consumption are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html deleted file mode 100644 index bca5a24..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUUsageRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUUsageRange
-
-
-

Gets the minimum and maximum GPU usage on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU usage (in %) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU usage (in %) is returned.
-
-
-

Return Value

-

If the GPU usage range is successfully returned, ADLX_OK is returned.
- If the GPU usage range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU usage are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html deleted file mode 100644 index 3f12396..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUVRAMClockSpeedRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUVRAMClockSpeedRange
-
-
-

Gets the minimum and maximum VRAM clock speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum VRAM clock speed (in MHz) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum VRAM clock speed (in MHz) is returned.
-
-
-

Return Value

-

If the VRAM clock speed range is successfully returned, ADLX_OK is returned.
- If the VRAM clock speed range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum VRAM clock speed are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html deleted file mode 100644 index 6d3ebde..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUVRAMRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUVRAMRange
-
-
-

Gets the minimum and maximum GPU memory on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU memory (in MB) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU memory (in MB) is returned.
-
-
-

Return Value

-

If the GPU memory range is successfully returned, ADLX_OK is returned.
- If the GPU memory range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU memory are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html deleted file mode 100644 index ef92a25..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUVoltageRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUVoltageRange
-
-
-

Gets the minimum and maximum GPU voltage on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum GPU voltage (in mV) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum GPU voltage (in mV) is returned.
-
-
-

Return Value

-

If the GPU voltage range is successfully returned, ADLX_OK is returned.
- If the GPU voltage range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum GPU voltage are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html deleted file mode 100644 index df1cc5a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUClockSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUClockSpeed
-
-
-

Checks if the GPU clock speed metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUClockSpeed (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU clock speed metric reporting is returned. The variable is true if the GPU clock speed metric reporting is supported. The variable is false if the GPU clock speed metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU clock speed metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU clock speed metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html deleted file mode 100644 index 00d78c6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUFanSpeed
-
-
-

Checks if the GPU fan speed metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUFanSpeed (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU fan speed metric reporting is returned. The variable is true if the GPU fan speed metric reporting is supported. The variable is false if the GPU fan speed metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU fan speed metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU fan speed metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html deleted file mode 100644 index 0a24d3e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUHotspotTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUHotspotTemperature
-
-
-

Checks if the GPU hotspot temperature metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUHotspotTemperature (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is true if the GPU hotspot temperature metric reporting is supported. The variable is false if the GPU hotspot temperature metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU hotspot temperature metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU hotspot temperature metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html deleted file mode 100644 index 53ced1b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUIntakeTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUIntakeTemperature
-
-
-

Checks if the GPU intake temperature metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUIntakeTemperature (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU intake temperature metric reporting is returned. The variable is true if the GPU intake temperature metric reporting is supported. The variable is false if the GPU intake temperature metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU intake temperature metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU intake temperature metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html deleted file mode 100644 index d42d63d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUPower - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUPower
-
-
-

Checks if the GPU power metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUPower (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU power metric reporting is returned. The variable is true if the GPU power metric reporting is supported. The variable is false if the GPU power metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU power metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU power metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html deleted file mode 100644 index 511b7a5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUTemperature
-
-
-

Checks if the GPU temperature metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUTemperature (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is true if the GPU temperature metric reporting is supported. The variable is false if the GPU temperature metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU temperature metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU temperature metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html deleted file mode 100644 index 5a32fd6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUTotalBoardPower - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUTotalBoardPower
-
-
-

Checks if the GPU total board power metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUTotalBoardPower (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU total board power metric reporting is returned. The variable is true if the GPU total board power metric reporting is supported. The variable is false if the GPU total board power metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU total board power metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU total board power metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html deleted file mode 100644 index 9d4bd04..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUUsage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUUsage
-
-
-

Checks if the GPU usage metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUUsage (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU usage metric reporting is returned. The variable is true if the GPU usage metric reporting is supported. The variable is false if the GPU usage metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU usage metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU usage metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html deleted file mode 100644 index cb7eecf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUVRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUVRAM
-
-
-

Checks if the GPU VRAM usage metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUVRAM (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU VRAM usage metric reporting is returned. The variable is true if the GPU VRAM usage metric reporting is supported. The variable is false if the GPU VRAM usage metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU VRAM usage metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU VRAM usage metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html deleted file mode 100644 index 4a686b4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUVRAMClockSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUVRAMClockSpeed
-
-
-

Checks if the GPU memory clock speed metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUVRAMClockSpeed (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU memory clock speed metric reporting is returned. The variable is true if the GPU memory clock speed metric reporting is supported. The variable is false if the GPU memory clock speed metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU memory clock speed metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU memory clock speed metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html deleted file mode 100644 index 7447d78..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedGPUVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedGPUVoltage
-
-
-

Checks if the GPU voltage metric reporting is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedGPUVoltage (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of GPU voltage metric reporting is returned. The variable is true if the GPU voltage metric reporting is supported. The variable is false if the GPU voltage metric reporting is not supported.
-
-
-

Return Value

-

If the state of GPU voltage metric reporting is successfully returned, ADLX_OK is returned.
- If the state of GPU voltage metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html deleted file mode 100644 index 94b3f8b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUPresetTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUPresetTuning
-
-
-

The IADLXGPUPresetTuning interface provides methods to verify and set GPU preset tuning on a GPU.

- - - - - - - - - -
InterfaceId:IADLXGPUPresetTuning
Smart Pointer Interface Name:IADLXGPUPresetTuningPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
IsCurrentBalanced Checks if the balanced tuning preset is used on a GPU.
IsCurrentPowerSaver Checks if the power saver tuning preset is used on a GPU.
IsCurrentQuiet Checks if the quiet tuning preset is used on a GPU.
IsCurrentRage Checks if the rage tuning preset is used on a GPU.
IsCurrentTurbo Checks if the turbo tuning preset is used on a GPU.
IsSupportedBalanced Checks if the balanced tuning preset is supported on a GPU.
IsSupportedPowerSaver Checks if the power saver tuning preset is supported on a GPU.
IsSupportedQuiet Checks if the quiet tuning preset is supported on a GPU.
IsSupportedRage Checks if the rage tuning preset is supported on a GPU.
IsSupportedTurbo Checks if the turbo tuning preset is supported on a GPU.
SetBalanced Sets the balanced tuning preset on a GPU.
SetPowerSaver Sets the power saver tuning preset on a GPU.
SetQuiet Sets the quiet tuning preset on a GPU.
SetRage Sets the rage tuning preset on a GPU.
SetTurbo Sets the turbo tuning preset on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUPresetTuning C++ sample.
- For a C application, refer to the GPUPresetTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.js deleted file mode 100644 index db94372..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.js +++ /dev/null @@ -1,18 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_preset_tuning = -[ - [ "IsCurrentBalanced", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html", null ], - [ "IsCurrentPowerSaver", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html", null ], - [ "IsCurrentQuiet", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html", null ], - [ "IsCurrentRage", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html", null ], - [ "IsCurrentTurbo", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html", null ], - [ "IsSupportedBalanced", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html", null ], - [ "IsSupportedPowerSaver", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html", null ], - [ "IsSupportedQuiet", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html", null ], - [ "IsSupportedRage", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html", null ], - [ "IsSupportedTurbo", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html", null ], - [ "SetBalanced", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html", null ], - [ "SetPowerSaver", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html", null ], - [ "SetQuiet", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html", null ], - [ "SetRage", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html", null ], - [ "SetTurbo", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html deleted file mode 100644 index ce2cc06..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentBalanced - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentBalanced
-
-
-

Checks if the balanced tuning preset is used on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentBalanced (adlx_bool* isBalanced)
- 

Parameters

-
-
-
- - -
1.[out]isBalancedadlx_bool*The pointer to a variable where the state of balanced is returned. The variable is true if balanced is applied. The variable is false if balanced is not applied.
-
-
-

Return Value

-

If the state of balanced is successfully returned, ADLX_OK is returned.
- If the state of balanced is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html deleted file mode 100644 index 9373c3b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentPowerSaver - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentPowerSaver
-
-
-

Checks if the power saver tuning preset is used on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentPowerSaver (adlx_bool* isPowerSaver)
- 

Parameters

-
-
-
- - -
1.[out]isPowerSaveradlx_bool*The pointer to a variable where the state of power saver is returned. The variable is true if power saver is applied. The variable is false if power saver is not applied.
-
-
-

Return Value

-

If the state of power saver is successfully returned, ADLX_OK is returned.
- If the state of power saver is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Use of the power saver tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html deleted file mode 100644 index e273eb7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentQuiet - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentQuiet
-
-
-

Checks if the quiet tuning preset is used on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentQuiet (adlx_bool* isQuiet)
- 

Parameters

-
-
-
- - -
1.[out]isQuietadlx_bool*The pointer to a variable where the state of quiet is returned. The variable is true if quiet is applied. The variable is false if quiet is not applied.
-
-
-

Return Value

-

If the state of quiet is successfully returned, ADLX_OK is returned.
- If the state of quiet is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The quiet tuning preset enables quiet operation with lowered power and fan settings.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html deleted file mode 100644 index fe48a2e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentRage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentRage
-
-
-

Checks if the rage tuning preset is used on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentRage (adlx_bool* isRage)
- 

Parameters

-
-
-
- - -
1.[out]isRageadlx_bool*The pointer to a variable where the state of rage is returned. The variable is true if rage is applied. The variable is false if rage is not applied.
-
-
-

Return Value

-

If the state of rage is successfully returned, ADLX_OK is returned.
- If the state of rage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The rage tuning preset sets a higher power limit to allow more headroom for performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html deleted file mode 100644 index 67e3ed6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsCurrentTurbo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsCurrentTurbo
-
-
-

Checks if the turbo tuning preset is used on a GPU.

-

Syntax

-
- ADLX_RESULT    IsCurrentTurbo (adlx_bool* isTurbo)
- 

Parameters

-
-
-
- - -
1.[out]isTurboadlx_bool*The pointer to a variable where the state of turbo is returned. The variable is true if turbo is applied. The variable is false if turbo is not applied.
-
-
-

Return Value

-

If the state of turbo is successfully returned, ADLX_OK is returned.
- If the state of turbo is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html deleted file mode 100644 index 1092ced..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedBalanced - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedBalanced
-
-
-

Checks if the balanced tuning preset is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedBalanced (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the balanced of quiet is returned. The variable is true if balanced is supported. The variable is false if balanced is not supported.
-
-
-

Return Value

-

If the state of balanced is successfully returned, ADLX_OK is returned.
- If the state of balanced is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html deleted file mode 100644 index a5efe07..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedPowerSaver - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedPowerSaver
-
-
-

Checks if the power saver tuning preset is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedPowerSaver (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of power saver is returned. The variable is true if power saver is supported. The variable is false if power saver is not supported.
-
-
-

Return Value

-

If the state of power saver is successfully returned, ADLX_OK is returned.
- If the state of power saver is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Additional Info

-

Use of the power saver tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html deleted file mode 100644 index ad62b62..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedQuiet - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedQuiet
-
-
-

Checks if the quiet tuning preset is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedQuiet (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of quiet is returned. The variable is true if quiet is supported. The variable is false if quiet is not supported.
-
-
-

Return Value

-

If the state of quiet is successfully returned, ADLX_OK is returned.
- If the state of quiet is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The quiet tuning preset enables quiet operation with lowered power and fan settings.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html deleted file mode 100644 index ad86550..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedRage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedRage
-
-
-

Checks if the rage tuning preset is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedRage (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of rage is returned. The variable is true if rage is supported. The variable is false if rage is not supported.
-
-
-

Return Value

-

If the state of rage is successfully returned, ADLX_OK is returned.
- If the state of rage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The rage tuning preset sets a higher power limit to allow more headroom for performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html deleted file mode 100644 index f8573fc..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedTurbo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedTurbo
-
-
-

Checks if the turbo tuning preset is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedTurbo (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of turbo is returned. The variable is true if turbo is supported. The variable is false if turbo is not supported.
-
-
-

Return Value

-

If the state of turbo is successfully returned, ADLX_OK is returned.
- If the state of turbo is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html deleted file mode 100644 index cca8fb5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBalanced - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBalanced
-
-
-

Sets the balanced tuning preset on a GPU.

-

Syntax

-
- ADLX_RESULT    SetBalanced ()
- 

Parameters

-

N/A

-

Return Value

-

If the balanced is successfully applied, ADLX_OK is returned.
- If the balanced is not successfully applied, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html deleted file mode 100644 index 52c8418..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetPowerSaver - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetPowerSaver
-
-
-

Sets the power saver tuning preset on a GPU.

-

Syntax

-
- ADLX_RESULT    SetPowerSaver ()
- 

Parameters

-

N/A

-

Return Value

-

If the power saver is successfully applied, ADLX_OK is returned.
- If the power saver is not successfully applied, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Use of the power saver tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html deleted file mode 100644 index 29c94b5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetQuiet - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetQuiet
-
-
-

Sets the quiet tuning preset on a GPU.

-

Syntax

-
- ADLX_RESULT    SetQuiet ()
- 

Parameters

-

N/A

-

Return Value

-

If the quiet is successfully applied, ADLX_OK is returned.
- If the quiet is not successfully applied, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The quiet tuning preset enables quiet operation with lowered power and fan settings.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html deleted file mode 100644 index bd1f4f7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetRage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetRage
-
-
-

Sets the rage tuning preset on a GPU.

-

Syntax

-
- ADLX_RESULT    SetRage ()
- 

Parameters

-

N/A

-

Return Value

-

If the rage is successfully applied, ADLX_OK is returned.
- If the rage is not successfully applied, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The rage tuning preset sets a higher power limit to allow more headroom for performance.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html deleted file mode 100644 index 2baa156..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetTurbo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetTurbo
-
-
-

Sets the turbo tuning preset on a GPU.

-

Syntax

-
- ADLX_RESULT    SetTurbo ()
- 

Parameters

-

N/A

-

Return Value

-

If the turbo is successfully applied, ADLX_OK is returned.
- If the turbo is not successfully applied, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs.

-

Requirements

- - - - - -
Headerinclude "IGPUAutoTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html deleted file mode 100644 index 67179d6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningChangedEvent
-
-
-

The IADLXGPUTuningChangedEvent interface provides methods to check if the GPU tuning is changed.

- - - - - - - - - -
InterfaceId:IADLXGPUTuningChangedEvent
Smart Pointer Interface Name:IADLXGPUTuningChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:IADLXGPUTuningChangedEvent1
-

Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in GPU tuning.

-

Methods

- - - - - - - - - - - - - - - - - -
Method Description
GetGPU Gets the reference counted GPU interface on which the GPU tuning is changed.
IsAutomaticTuningChanged Checks if the automatic tuning settings are changed.
IsManualFanTuningChanged Checks if the manual fan tuning settings are changed.
IsManualGPUCLKTuningChanged Checks if the manual graphic clock tuning settings are changed.
IsManualPowerTuningChanged Checks if the manual power tuning settings are changed.
IsManualVRAMTuningChanged Checks if the manual VRAM tuning settings are changed.
IsPresetTuningChanged Checks if the preset tuning settings are changed.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample.
- For a C application, refer to the SyncGPUTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.js deleted file mode 100644 index 23154c7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.js +++ /dev/null @@ -1,10 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event = -[ - [ "GetGPU", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html", null ], - [ "IsAutomaticTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html", null ], - [ "IsManualFanTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html", null ], - [ "IsManualGPUCLKTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html", null ], - [ "IsManualPowerTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html", null ], - [ "IsManualVRAMTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html", null ], - [ "IsPresetTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html deleted file mode 100644 index c4f5fab..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningChangedEvent1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningChangedEvent1
-
-
-

IADLXGPUTuningChangedEvent1 is an extension interface to IADLXGPUTuningChangedEvent that provides methods to check for AMD SmartAccess Memory status changes.

- - - - - - - - - -
InterfaceId:IADLXGPUTuningChangedEvent1
Smart Pointer Interface Name:IADLXGPUTuningChangedEvent1Ptr
Inherits:IADLXGPUTuningChangedEvent
Inherited By:N/A
-

The IADLXGPUTuningChangedEvent1 interface is obtained from the IADLXGPUTuningChangedEvent interface using QueryInterface.

-

Methods

- - - - - - - -
Method Description
GetSmartAccessMemoryStatus Gets the current AMD SmartAccess Memory status.
IsSmartAccessMemoryChanged Checks for changes to the AMD SmartAccess Memory settings.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning1.h"
Minimum version1.2
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.js deleted file mode 100644 index 397b156..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1 = -[ - [ "GetSmartAccessMemoryStatus", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html", null ], - [ "IsSmartAccessMemoryChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html deleted file mode 100644 index 6258a18..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSmartAccessMemoryStatus - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSmartAccessMemoryStatus
-
-
-

Gets the current AMD SmartAccess Memory status.

-

Syntax

-
- ADLX_RESULT    GetSmartAccessMemoryStatus (adlx_bool* pEnabled, adlx_bool* pCompleted)
- 

Parameters

-
-
-
- - -
1.[out] pEnabledadlx_bool* The pointer to a variable where the current state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is enabled. The variable is false if AMD SmartAccess Memory is disabled.
-
-
-
-
-
- - -
2.[out] pEnabledadlx_bool* The pointer to a variable where the complete state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is completed. The variable is false if AMD SmartAccess Memory is not completed.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Note: Use GetGPU to obtain the GPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html deleted file mode 100644 index 86a6ba5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSmartAccessMemoryChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSmartAccessMemoryChanged
-
-
-

Checks for changes to the AMD SmartAccess Memory settings.

-

Syntax

-
- adlx_bool    IsSmartAccessMemoryChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If AMD SmartAccess Memory settings are changed, true is returned.
- If AMD SmartAccess Memory settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html deleted file mode 100644 index 3e497d5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPU
-
-
-

Gets the reference counted GPU interface on which the GPU tuning is changed.

-

Syntax

-
- ADLX_RESULT    GetGPU (IADLXGPU** ppGPU)
- 

Parameters

-
-
-
- - -
1.[out] ppGPUIADLXGPU** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: GetGPU returns the reference counted GPU interface used by all the methods in this interface to check if there are any changes in GPU tuning.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html deleted file mode 100644 index 6d29c55..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsAutomaticTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsAutomaticTuningChanged
-
-
-

Checks if the automatic tuning settings are changed.

-

Syntax

-
- adlx_bool    IsAutomaticTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the automatic tuning settings are changed, true is returned.
- If the automatic tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html deleted file mode 100644 index a6cdf75..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsManualFanTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsManualFanTuningChanged
-
-
-

Checks if the manual fan tuning settings are changed.

-

Syntax

-
- adlx_bool    IsManualFanTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the manual fan tuning settings are changed, true is returned.
- If the manual fan tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html deleted file mode 100644 index 20727d1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsManualGPUCLKTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsManualGPUCLKTuningChanged
-
-
-

Checks if the manual graphic clock tuning settings are changed.

-

Syntax

-
- adlx_bool    IsManualGPUCLKTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the manual graphic clock tuning settings are changed, true is returned.
- If the manual graphic clock tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html deleted file mode 100644 index 7aecaa0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsManualPowerTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsManualPowerTuningChanged
-
-
-

Checks if the manual power tuning settings are changed.

-

Syntax

-
- adlx_bool    IsManualPowerTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the manual power tuning settings are changed, true is returned.
- If the manual power tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html deleted file mode 100644 index 09f63ff..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsManualVRAMTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsManualVRAMTuningChanged
-
-
-

Checks if the manual VRAM tuning settings are changed.

-

Syntax

-
- adlx_bool    IsManualVRAMTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the manual VRAM tuning settings are changed, true is returned.
- If the manual VRAM tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html deleted file mode 100644 index cf72c21..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsPresetTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsPresetTuningChanged
-
-
-

Checks if the preset tuning settings are changed.

-

Syntax

-
- adlx_bool    IsPresetTuningChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If the preset tuning settings are changed, true is returned.
- If the preset tuning settings are not changed, false is returned.
-

-

Additional Info

-

Note: To obtain the GPU, use GetGPU.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html deleted file mode 100644 index e614a09..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningChangedHandling
-
-
-

The IADLXGPUTuningChangedHandling interface allows registering and unregistering for notifications when the GPU tuning changes.

- - - - - - - - - -
InterfaceId:IADLXGPUTuningChangedHandling
Smart Pointer Interface Name:IADLXGPUTuningChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
AddGPUTuningEventListener Registers an event listener for notifications when the GPU tuning changes.
RemoveGPUTuningEventListener Unregisters an event listener from the GPU tuning event list.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample.
- For a C application, refer to the SyncGPUTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.js deleted file mode 100644 index 3bf6182..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling = -[ - [ "AddGPUTuningEventListener", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html", null ], - [ "RemoveGPUTuningEventListener", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html deleted file mode 100644 index f3eb4c6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddGPUTuningEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddGPUTuningEventListener
-
-
-

Registers an event listener for notifications when the GPU tuning changes.

-

Syntax

-
- ADLX_RESULT    AddGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener);
- 

Parameters

-
-
-
- - -
1.[in] pGPUTuningChangedListenerIADLXGPUTuningChangedListener* The pointer to the event listener interface to register for receiving GPU tuning change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnGPUTuningChanged method of the listener when GPU tuning changes.
- The event listener instance must exist until the application unregisters the event listener with RemoveGPUTuningEventListener.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html deleted file mode 100644 index 99ba266..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveGPUTuningEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveGPUTuningEventListener
-
-
-

Unregisters an event listener from the GPU tuning event list.

-

Syntax

-
- ADLX_RESULT    RemoveGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pGPUTuningChangedListenerIADLXGPUTuningChangedListener* The pointer to the event listener interface to unregister from receiving GPU tuning change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnGPUTuningChanged method of the listener when GPU tuning changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html deleted file mode 100644 index 7b77ae7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningChangedListener
-
-
-

The IADLXGPUTuningChangedListener interface is implemented in the application to receive an event from ADLX when the GPU tuning changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXGPUTuningChangedListener interface must be passed to AddGPUTuningEventListener to register for notifications when GPU tuning changes.
- For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnGPUTuningChanged OnGPUTuningChanged is called by ADLX when GPU tuning changes.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample.
- For a C application, refer to the SyncGPUTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.js deleted file mode 100644 index 0fa0b60..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener = -[ - [ "OnGPUTuningChanged", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html deleted file mode 100644 index 1c5c1a2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnGPUTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnGPUTuningChanged
-
-
-

OnGPUTuningChanged is called by ADLX when GPU tuning changes.

-

Syntax

-
- adlx_bool    OnGPUTuningChanged (IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] pGPUTuningChangedEventIADLXGPUTuningChangedEvent* The pointer to a GPU tuning change event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddGPUTuningEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveGPUTuningEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning change event with Release.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html deleted file mode 100644 index b309bc4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningServices
-
-
-

The IADLXGPUTuningServices is the main interface for the GPU tuning domain and provides control to GPU tuning specific functionality.

- - - - - - - - - -
InterfaceId:IADLXGPUTuningServices
Smart Pointer Interface Name:IADLXGPUTuningServicesPtr
Inherits:IADLXInterface
Inherited By:IADLXGPUTuningServices1
-

The IADLXGPUTuningServices interface provides:
- – Information if a tuning functionality, such as automated tuning or preset tuning is available for a GPU.
- – The interfaces for controlling a tuning aspect, such as automated tuning or preset tuning on a GPU.
- – The interface for registering and unregistering for notifications when the GPU tuning settings are changed.
- – Resetting the tuning settings to factory values on a GPU.
-

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetAutoTuning Gets the reference counted automatic tuning interface of a GPU.
GetGPUTuningChangedHandling Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes.
GetManualFanTuning Gets the reference counted manual fan tuning interface of a GPU.
GetManualGFXTuning Gets the reference counted manual graphics tuning interface of a GPU.
GetManualPowerTuning Gets the reference counted manual power tuning interface of a GPU.
GetManualVRAMTuning Gets the reference counted manual VRAM tuning interface of a GPU.
GetPresetTuning Gets the reference counted preset tuning interface of a GPU.
IsAtFactory Checks if the GPU tuning on a GPU is set to factory settings.
IsSupportedAutoTuning Checks if the automatic tuning is supported on a GPU.
IsSupportedManualFanTuning Checks if the manual fan tuning is supported on a GPU.
IsSupportedManualGFXTuning Checks if the manual graphic tuning is supported on a GPU.
IsSupportedManualPowerTuning Checks if the manual power tuning is supported on a GPU.
IsSupportedManualVRAMTuning Checks if the manual VRAM Tuning is supported on a GPU.
IsSupportedPresetTuning Checks if the preset tuning is supported on a GPU.
ResetToFactory Reset the GPU tuning to factory settings.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUPresetTuning C++ sample.
- For a C application, refer to the GPUPresetTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.js deleted file mode 100644 index 6f89085..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.js +++ /dev/null @@ -1,18 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_services = -[ - [ "GetAutoTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html", null ], - [ "GetGPUTuningChangedHandling", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html", null ], - [ "GetManualFanTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html", null ], - [ "GetManualGFXTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html", null ], - [ "GetManualPowerTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html", null ], - [ "GetManualVRAMTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html", null ], - [ "GetPresetTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html", null ], - [ "IsAtFactory", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html", null ], - [ "IsSupportedAutoTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html", null ], - [ "IsSupportedManualFanTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html", null ], - [ "IsSupportedManualGFXTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html", null ], - [ "IsSupportedManualPowerTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html", null ], - [ "IsSupportedManualVRAMTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html", null ], - [ "IsSupportedPresetTuning", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html", null ], - [ "ResetToFactory", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html deleted file mode 100644 index f66dc1f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUTuningServices1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUTuningServices1
-
-
-

IADLXGPUTuningServices1 is an extension interface to IADLXGPUTuningServices that provides interface access to control the AMD SmartAccess Memory feature.

- - - - - - - - - -
InterfaceId:IADLXGPUTuningServices1
Smart Pointer Interface Name:IADLXGPUTuningServices1Ptr
Inherits:IADLXGPUTuningServices
Inherited By:N/A
-

The IADLXGPUTuningServices1 interface is obtained from the IADLXGPUTuningServices interface using QueryInterface.

-

Methods

- - - - - -
Method Description
GetSmartAccessMemory Gets the reference counted AMD SmartAccess Memory interface for a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning1.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SmartAccessMemory C++ sample.
- For a C application, refer to the SmartAccessMemory C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.js deleted file mode 100644 index ae79625..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_u_tuning_services1 = -[ - [ "GetSmartAccessMemory", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html deleted file mode 100644 index 171cbbf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSmartAccessMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSmartAccessMemory
-
-
-

Gets the reference counted AMD SmartAccess Memory interface for a GPU.

-

Syntax

-
- ADLX_RESULT    GetSmartAccessMemory (IADLXGPU* pGPU, IADLXSmartAccessMemory** ppSmartAccessMemory)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out]ppSmartAccessMemoryIADLXSmartAccessMemory**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSmartAccessMemory to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when its no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html deleted file mode 100644 index ef15465..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAutoTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAutoTuning
-
-
-

Gets the reference counted automatic tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetAutoTuning (IADLXGPU* pGPU, IADLXInterface** ppAutoTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppAutoTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppAutoTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The method returns an IADLXInterface interface. To get the IADLXGPUAutoTuning interface, which is the automatic tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the IADLXGPUAutoTuning interface must be discarded with Release when they are no longer needed.
-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html deleted file mode 100644 index 1e944e5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTuningChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTuningChangedHandling
-
-
-

Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes.

-

Syntax

-
- ADLX_RESULT    GetGPUTuningChangedHandling (IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling)
- 

Parameters

-
-
-
- - -
1.[out] ppGPUTuningChangedHandlingIADLXGPUTuningChangedHandling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUTuningChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html deleted file mode 100644 index c65da0b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetManualFanTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetManualFanTuning
-
-
-

Gets the reference counted manual fan tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetManualFanTuning (IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppManualFanTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualFanTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The method returns an IADLXInterface interface. To get the IADLXManualFanTuning interface, which is the manual fan tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the IADLXManualFanTuning interface must be discarded with Release when they are no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html deleted file mode 100644 index 76f9e60..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetManualGFXTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetManualGFXTuning
-
-
-

Gets the reference counted manual graphics tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetManualGFXTuning (IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppManualGFXTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualGFXTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Different GPUs support different manual graphics tuning functionality.
- ADLX provides the IADLXManualGraphicsTuning1 interface or the IADLXManualGraphicsTuning2 interface to obtain the supported manual graphics tuning interface.
- To get the manual graphics tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the manual graphics tuning interface must be discarded with Release when they are no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html deleted file mode 100644 index 24350ce..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetManualPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetManualPowerTuning
-
-
-

Gets the reference counted manual power tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetManualPowerTuning (IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppManualPowerTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualPowerTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The method returns an IADLXInterface interface. To get the IADLXManualPowerTuning interface, which is the manual power tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the IADLXManualPowerTuning interface must be discarded with Release when they are no longer needed.
-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html deleted file mode 100644 index bb9aa68..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetManualVRAMTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetManualVRAMTuning
-
-
-

Gets the reference counted manual VRAM tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetManualVRAMTuning (IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppManualVRAMTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualVRAMTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Different GPUs support different manual VRAM tuning functionality.
- ADLX provides the IADLXManualVRAMTuning1 interface or the IADLXManualVRAMTuning2 interface to obtain the supported manual VRAM tuning interface.
- To get the manual VRAM tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the manual VRAM tuning interface must be discarded with Release when they are no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html deleted file mode 100644 index d1f47cb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPresetTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPresetTuning
-
-
-

Gets the reference counted preset tuning interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetPresetTuning (IADLXGPU* pGPU, IADLXInterface** ppPresetTuning)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppPresetTuningIADLXInterface** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPresetTuning to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The method returns an IADLXInterface interface. To get the IADLXGPUPresetTuning interface, which is the preset tuning interface, the application must call QueryInterface in the returned IADLXInterface.
- The IADLXInterface interface and the IADLXGPUPresetTuning interface must be discarded with Release when they are no longer needed.
-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html deleted file mode 100644 index fb3d108..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsAtFactory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsAtFactory
-
-
-

Checks if the GPU tuning on a GPU is set to factory settings.

-

Syntax

-
- ADLX_RESULT    IsAtFactory (IADLXGPU* pGPU, adlx_bool* isFactory)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] isFactoryadlx_bool* The pointer to a variable where the state of the GPU tuning is returned. The variable is true if the GPU tuning is set to factory settings. The variable is false if the GPU tuning is not set to factory settings.
-
-
-

Return Value

-

If the state of the GPU tuning is successfully returned, ADLX_OK is returned.
- If the state of the GPU tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html deleted file mode 100644 index e9cc953..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedAutoTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedAutoTuning
-
-
-

Checks if the automatic tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedAutoTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of automatic tuning is returned. The variable is true if automatic tuning is supported. The variable is false if automatic tuning is not supported.
-
-
-

Return Value

-

If the state of automatic tuning is successfully returned, ADLX_OK is returned.
- If the state of automatic tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html deleted file mode 100644 index 5852f58..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedManualFanTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedManualFanTuning
-
-
-

Checks if the manual fan tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedManualFanTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of manual fan tuning is returned. The variable is true if manual fan tuning is supported. The variable is false if manual fan tuning is not supported.
-
-
-

Return Value

-

If the state of manual fan tuning is successfully returned, ADLX_OK is returned.
- If the state of manual fan tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html deleted file mode 100644 index abbdd79..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedManualGFXTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedManualGFXTuning
-
-
-

Checks if the manual graphic tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedManualGFXTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of manual graphic tuning is returned. The variable is true if manual graphic tuning is supported. The variable is false if manual graphic tuning is not supported.
-
-
-

Return Value

-

If the state of manual graphic tuning is successfully returned, ADLX_OK is returned.
- If the state of manual graphic tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html deleted file mode 100644 index 3f9acdc..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedManualPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedManualPowerTuning
-
-
-

Checks if the manual power tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedManualPowerTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of manual power tuning is returned. The variable is true if manual power tuning is supported. The variable is false if manual power tuning is not supported.
-
-
-

Return Value

-

If the state of manual power tuning is successfully returned, ADLX_OK is returned.
- If the state of manual power tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html deleted file mode 100644 index 28a0f2c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedManualVRAMTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedManualVRAMTuning
-
-
-

Checks if the manual VRAM Tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedManualVRAMTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of manual VRAM tuning is returned. The variable is true if manual VRAM tuning is supported. The variable is false if manual VRAM tuning is not supported.
-
-
-

Return Value

-

If the state of manual VRAM tuning is successfully returned, ADLX_OK is returned.
- If the state of manual VRAM tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html deleted file mode 100644 index 4035bc2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedPresetTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedPresetTuning
-
-
-

Checks if the preset tuning is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedPresetTuning (IADLXGPU* pGPU, adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] supportedadlx_bool* The pointer to a variable where the state of preset tuning is returned. The variable is true if preset tuning is supported. The variable is false if preset tuning is not supported.
-
-
-

Return Value

-

If the state of preset tuning is successfully returned, ADLX_OK is returned.
- If the state of preset tuning is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html deleted file mode 100644 index 3abf569..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ResetToFactory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ResetToFactory
-
-
-

Reset the GPU tuning to factory settings.

-

Syntax

-
- ADLX_RESULT    ResetToFactory (IADLXGPU* pGPU)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-

Return Value

-

If the factory settings are successfully reset, ADLX_OK is returned.
- If the factory settings are not successfully reset, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The method resets settings of Auto Tuning, Manual GPU Tuning, Manual Fan Tuning, Manual VRAM Tuning and Manual Power Tuning.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html deleted file mode 100644 index e66489e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUsChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUsChangedHandling
-
-
-

The IADLXGPUsChangedHandling interface allows registering and unregistering for notifications when the GPU list changes.

- - - - - - - - - -
InterfaceId:IADLXGPUsChangedHandling
Smart Pointer Interface Name:IADLXGPUsChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
AddGPUsListEventListener Registers an event listener for notifications when the GPU list changes.
RemoveGPUsListEventListener Unregisters an event listener from notifications when the GPU list changes.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.js deleted file mode 100644 index 22e59a7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_us_changed_handling = -[ - [ "AddGPUsListEventListener", "_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html", null ], - [ "RemoveGPUsListEventListener", "_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html deleted file mode 100644 index 1d32923..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddGPUsListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddGPUsListEventListener
-
-
-

Registers an event listener for notifications when the GPU list changes.

-

Syntax

-
- ADLX_RESULT    AddGPUsListEventListener (IADLXGPUsEventListener* pListener)
- 

Parameters

-
-
-
- - -
1.[in] pListenerIADLXGPUsEventListener* The pointer to the event listener interface to register for receiving the GPU list change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully registered, ADLX will call OnGPUListChanged of the listener when the GPU list changes.
- The event listener instance must exist until the application unregisters the event listener with RemoveGPUsListEventListener.
-

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html deleted file mode 100644 index e6cf4d2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemoveGPUsListEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemoveGPUsListEventListener
-
-
-

Unregisters an event listener from notifications when the GPU list changes.

-

Syntax

-
- ADLX_RESULT    RemoveGPUsListEventListener (IADLXGPUsEventListener* pListener)
- 

Parameters

-
-
-
- - -
1.[in] pListenerIADLXGPUsEventListener* The pointer to the event listener interface to unregister from receiving the GPU list change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

After the event listener is successfully unregistered, ADLX will no longer call OnGPUListChanged method of the listener when the GPU list changes. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.html deleted file mode 100644 index bfb3e3a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXGPUsEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXGPUsEventListener
-
-
-

The IADLXGPUsEventListener interface is implemented in the application to receive a new list of GPUs from ADLX when the GPU list changes.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXGPUsEventListener interface must be passed to AddGPUsListEventListener to register for notifications when the GPU list changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.

-

Methods

- - - - - -
Method Description
OnGPUListChanged The OnGPUListChanged is called by ADLX when the GPU list changes.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.js deleted file mode 100644 index 6518e26..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_g_p_us_event_listener = -[ - [ "OnGPUListChanged", "_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html deleted file mode 100644 index 7d756f1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnGPUListChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnGPUListChanged
-
-
-

The OnGPUListChanged is called by ADLX when the GPU list changes.

-

Syntax

-
- adlx_bool    OnGPUListChanged (IADLXGPUList* pNewGPUs)
- 

Parameters

-
-
-
- - -
1.[out] pNewGPUsIADLXGPUList* The pointer to the new GPU list.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddGPUsListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveGPUsListEventListener.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new GPU list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new GPU list with Release.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.html deleted file mode 100644 index db187de..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXI2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXI2C
-
-
-

The IADLXI2C interface provides methods to read data from, and write data to OEM devices through the I2C bus.

- - - - - - - - - -
InterfaceId:IADLXI2C
Smart Pointer Interface Name:IADLXI2CPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - -
Method Description
IsSupported Checks if the OEM device data can be read and written through the I2C bus on a GPU.
Read Reads the OEM device data through the I2C bus of a GPU.
RepeatedStartRead Repeat start reads the OEM device data through the I2C bus of a GPU.
Version Retrieves the major and minor software version of I2C interface on a GPU.
Write Writes the OEM device data through the I2C bus of a GPU.
-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the I2C C++ sample.
- For a C application, refer to the I2C C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.js deleted file mode 100644 index 7679a8c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_i2_c = -[ - [ "IsSupported", "_d_o_x__i_a_d_l_x_i2_c__is_supported.html", null ], - [ "Read", "_d_o_x__i_a_d_l_x_i2_c__read.html", null ], - [ "RepeatedStartRead", "_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html", null ], - [ "Version", "_d_o_x__i_a_d_l_x_i2_c__version.html", null ], - [ "Write", "_d_o_x__i_a_d_l_x_i2_c__write.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__is_supported.html deleted file mode 100644 index d9a9ee4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__is_supported.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if the OEM device data can be read and written through the I2C bus on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (ADLX_I2C_LINE line, adlx_int address, adlx_bool* isSupported)
- 

Parameters

-
-
-
- - -
1.[in]lineADLX_I2C_LINEThe I2C line.
-
-
-
-
-
- - -
2.[in]addressadlx_intThe 7-bit I2C slave device address which is shifted one bit to the left.
-
-
-
-
-
- - -
2.[out]isSupportedadlx_bool*A pointer to a variable where the status of the I2C bus read and write is returned. The variable is true if the OEM device data can be read and written through the I2C bus. The variable is false if the OEM device data cannot be read and written through the I2C bus.
-
-
-

Return Value

-

If the status of the I2C bus read and write is successfully returned, ADLX_OK is returned.
- If the status of the I2C bus read and write is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__read.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__read.html deleted file mode 100644 index 1db1878..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__read.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Read - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Read
-
-
-

Reads the OEM device data through the I2C bus of a GPU.

-

Syntax

-
- ADLX_RESULT    Read (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data)
- 

Parameters

-
-
-
- - -
1.[in]lineADLX_I2C_LINEThe I2C line.
-
-
-
-
-
- - -
2.[in]speedadlx_intThe I2C clock speed (in KHz).
-
-
-
-
-
- - -
3.[in]addressadlx_intThe 7-bit I2C slave device address which is shifted one bit to the left.
-
-
-
-
-
- - -
4.[in]offsetadlx_intThe offset of the data from the address.
-
-
-
-
-
- - -
5.[in]dataSizeadlx_intThe size (in bytes) of the buffer for the OEM device data.
-
-
-
-
-
- - -
6.[in]dataadlx_byte*The address to the buffer with the new OEM data.
-
-
-

Return Value

-

If the OEM device data is successfully returned, ADLX_OK is returned.
- If the OEM device data is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data.

-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html deleted file mode 100644 index 7b31bd0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RepeatedStartRead - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RepeatedStartRead
-
-
-

Repeat start reads the OEM device data through the I2C bus of a GPU.

-

Syntax

-
- ADLX_RESULT    RepeatedStartRead (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data)
- 

Parameters

-
-
-
- - -
1.[in]lineADLX_I2C_LINEThe I2C line.
-
-
-
-
-
- - -
2.[in]speedadlx_intThe I2C clock speed (in KHz).
-
-
-
-
-
- - -
3.[in]addressadlx_intThe 7-bit I2C slave device address which is shifted one bit to the left.
-
-
-
-
-
- - -
4.[in]offsetadlx_intThe offset of the data from the address.
-
-
-
-
-
- - -
5.[in]dataSizeadlx_intThe size (in bytes) of the buffer for the OEM device data.
-
-
-
-
-
- - -
6.[in]dataadlx_byte*The address to the buffer with the new OEM data.
-
-
-

Return Value

-

If the OEM device data is successfully returned, ADLX_OK is returned.
- If the OEM device data is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data.

-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__version.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__version.html deleted file mode 100644 index b35e255..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__version.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Version - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Version
-
-
-

Retrieves the major and minor software version of I2C interface on a GPU.

-

Syntax

-
- ADLX_RESULT    Version (adlx_int* major, adlx_int* minor)
- 

Parameters

-
-
-
- - -
1.[out]majoradlx_int*A pointer to a variable where the I2C major version is returned.
-
-
-
-
-
- - -
2.[out]minoradlx_int*A pointer to a variable where the I2C minor version is returned.
-
-
-

Return Value

-

If the I2C major version and the I2C minor version are successfully returned, ADLX_OK is returned.
- If the I2C major version and the I2C minor version are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__write.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__write.html deleted file mode 100644 index 0e97539..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_i2_c__write.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Write - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Write
-
-
-

Writes the OEM device data through the I2C bus of a GPU.

-

Syntax

-
- ADLX_RESULT    Write (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data)
- 

Parameters

-
-
-
- - -
1.[in]lineADLX_I2C_LINEThe I2C line.
-
-
-
-
-
- - -
2.[in]speedadlx_intThe I2C clock speed (in KHz).
-
-
-
-
-
- - -
3.[in]addressadlx_intThe 7-bit I2C slave device address which is shifted one bit to the left.
-
-
-
-
-
- - -
4.[in]offsetadlx_intThe offset of the data from the address.
-
-
-
-
-
- - -
5.[in]dataSizeadlx_intThe size (in bytes) of the buffer for the OEM device data.
-
-
-
-
-
- - -
6.[in]dataadlx_byte*. The address to the buffer with the new OEM data.
-
-
-

Return Value

-

If the OEM device data is successfully written, ADLX_OK is returned.
- If the OEM device data is not successfully written, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data.

-

Requirements

- - - - - -
Headerinclude "II2C.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.html deleted file mode 100644 index 929061c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXInterface - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXInterface
-
-
-

The IADLXInterface is the fundamental interface of ADLX because it is inherited by the majority of the ADLX interfaces. IADLXInterface provides methods to control the lifetime of self-destructing ADLX objects, using the reference-counting technique.

- - - - - - - - - -
InterfaceId:IADLXInterface
Smart Pointer Interface Name:IADLXInterfacePtr_T
Inherits:N/A
Inherited By:IADLX3DAntiLag IADLX3DChill IADLX3DBoost IADLX3DImageSharpening IADLX3DEnhancedSync IADLX3DWaitForVerticalRefresh IADLX3DFrameRateTargetControl IADLX3DAntiAliasing IADLX3DMorphologicalAntiAliasing IADLX3DAnisotropicFiltering IADLX3DTessellation IADLX3DRadeonSuperResolution IADLX3DResetShaderCache IADLX3DSettingsChangedHandling IADLX3DSettingsServices IADLXChangedEvent IADLXList IADLXDesktop IADLXEyefinityDesktop IADLXDesktopChangedHandling IADLXSimpleEyefinity IADLXDesktopServices IADLXDisplay3DLUT IADLXDisplayGamma IADLXDisplayGamut IADLXDisplay IADLXDisplayChangedHandling IADLXDisplayServices IADLXDisplayFreeSync IADLXDisplayVSR IADLXDisplayGPUScaling IADLXDisplayScalingMode IADLXDisplayIntegerScaling IADLXDisplayColorDepth IADLXDisplayPixelFormat IADLXDisplayCustomColor IADLXDisplayHDCP IADLXDisplayResolution IADLXDisplayCustomResolution IADLXDisplayVariBright IADLXDisplayConnectivityExperience IADLXDisplayBlanking IADLXGPUAutoTuningCompleteEvent IADLXGPUAutoTuning IADLXManualFanTuningState IADLXManualFanTuning IADLXManualGraphicsTuning1 IADLXManualGraphicsTuning2 IADLXManualPowerTuning IADLXManualVRAMTuning1 IADLXManualVRAMTuning2 IADLXGPUPresetTuning IADLXManualTuningState IADLXMemoryTimingDescription IADLXGPUTuningChangedHandling IADLXGPUTuningServices IADLXI2C IADLXGPUMetricsSupport IADLXSystemMetricsSupport IADLXGPUMetrics IADLXSystemMetrics IADLXFPS IADLXAllMetrics IADLXPerformanceMonitoringServices IADLXSmartShiftMax IADLXPowerTuningChangedHandling IADLXPowerTuningServices IADLXSmartAccessMemory IADLXGPU IADLXGPUsChangedHandling IADLXSystem1
-

In C++, ADLX provides smart pointer definitions for the IADLXInterface and for all the interfaces that inherit from it. Smart pointers are named identically to their base interface and add the Ptr suffix. Example: The smart pointer of IADLXInterface is named IADLXInterfacePtr.
-

-

Smart pointers remove the need to call the methods of IADLXInterface (Acquire, Release, and QueryInterface), as they provide automatic reference counting in the constructor and destructor.
-

-

For C++, the use of smart pointers is highly recommended and encouraged because they reduce the incidence of memory and resource leaks while maintaining coding efficiency.

-

Methods

- - - - - - - - - -
Method Description
Acquire Increments the reference count for an ADLX interface.
QueryInterface Retrieves reference counted interfaces to an object.
Release Decrements the reference count for an ADLX interface.
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.js deleted file mode 100644 index 703b130..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_interface = -[ - [ "Acquire", "_d_o_x__i_a_d_l_x_interface__acquire.html", null ], - [ "QueryInterface", "_d_o_x__i_a_d_l_x_interface__query_interface.html", null ], - [ "Release", "_d_o_x__i_a_d_l_x_interface__release.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__acquire.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__acquire.html deleted file mode 100644 index c1fb856..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__acquire.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Acquire - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Acquire
-
-
-

Increments the reference count for an ADLX interface.

-

Syntax

-
- adlx_long    Acquire ()
- 

Parameters

-

N/A

-

Return Value

-

Returns the new reference count.

-

Remarks

-

Acquire must be used when a copy of the interface pointer is needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call the Acquire because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__query_interface.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__query_interface.html deleted file mode 100644 index ad45ce3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__query_interface.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: QueryInterface - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
QueryInterface
-
-
-

Retrieves reference counted interfaces to an object.

-

Syntax

-
- ADLX_RESULT    QueryInterface (const wchar_t* interfaceId, void** ppInterface)
- 

Parameters

-
-
-
- - -
1.[in] interfaceIdconst wchar_t*The identifier of the interface being requested.
-
-
-
-
-
- - -
2.[out]ppInterfacevoid**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppInterface to nullptr.
-
-
-

Return Value

-

If QueryInterface is successfully called, ADLX_OK is returned.
- If the requested interface is not supported, ADLX_UNKNOWN_INTERFACE is returned.
- If the *ppInterface parameter is nullptr, ADLX_INVALID_ARGS is returned.
- If QueryInterface is not successfully called, an error code is returned.
- Refer ADLX_RESULT for success codes and error codes.

-

Remarks

-

To ensure ADLX SDK backwards and forward compatibility the ADLX interfaces are locked, they do not change in subsequent versions of the driver. When an ADLX interface needs another functionality, an extension interface is provided. The extension interface is obtained from the initial interface using QueryInterface. The documentation for the extension interface shows how to obtain it.
- The returned interface must be discarded with Release when no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call QueryInterface and Release because the smart pointer calls them internally.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__release.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__release.html deleted file mode 100644 index 7abf89d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_interface__release.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Release - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Release
-
-
-

Decrements the reference count for an ADLX interface.

-

Syntax

-
- adlx_long    Release ()
- 

Parameters

-

N/A

-

Return Value

-

Returns the new reference count.

-

Remarks

-

Release must be called when an interface is no longer needed. It decrements the reference counting and returns the new reference count. When the reference count reaches zero, the object behind this interface will self-destruct and free its memory and resources.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call the Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.html deleted file mode 100644 index 1fe6e48..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXList
-
-
-

The IADLXList is an interface of a collection of ADLX interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXList
Smart Pointer Interface Name:IADLXListPtr
Inherits:IADLXInterface
Inherited By:IADLXDesktopList IADLXDisplayList IADLXDisplayResolutionList IADLXManualFanTuningStateList IADLXManualTuningStateList IADLXMemoryTimingDescriptionList IADLXGPUMetricsList IADLXSystemMetricsList IADLXFPSList IADLXAllMetricsList IADLXGPUList
-

Methods

- - - - - - - - - - - - - - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface from the requested location.
Begin Returns the location of the first interface from a list.
Clear Removes all the interfaces from a list.
Empty Checks if the list is empty.
End Returns the location succeeding the last interface from a list.
Remove_Back Removes an interface from the end of a list.
Size Returns the number of interfaces in a list.
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.js deleted file mode 100644 index 1e1abdb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list.js +++ /dev/null @@ -1,11 +0,0 @@ -var _d_o_x__i_a_d_l_x_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_list__at.html", null ], - [ "Begin", "_d_o_x__i_a_d_l_x_list__begin.html", null ], - [ "Clear", "_d_o_x__i_a_d_l_x_list__clear.html", null ], - [ "Empty", "_d_o_x__i_a_d_l_x_list__empty.html", null ], - [ "End", "_d_o_x__i_a_d_l_x_list__end.html", null ], - [ "Remove_Back", "_d_o_x__i_a_d_l_x_list__remove__back.html", null ], - [ "Size", "_d_o_x__i_a_d_l_x_list__size.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__add__back.html deleted file mode 100644 index 00265be..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__add__back.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXInterface* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXInterface*The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__at.html deleted file mode 100644 index ccb753e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface from the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXInterface** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uintThe location of the returned interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXInterface**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

IADLXList is a collection of interfaces which runs incrementally from beginning to the end.
- The returned interface must be discarded with Release when no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__begin.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__begin.html deleted file mode 100644 index 804c913..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__begin.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Begin - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Begin
-
-
-

Returns the location of the first interface from a list.

-

Syntax

-
- adlx_uint    Begin ()
- 

Parameters

-

N/A

-

Return Value

-

If the list is not empty it returns the location of the first interface in the list.
- If the list is empty the returned location is same as the location returned by End.
-

-

Remarks

-

The returned location is valid if it is less than the location returned by End. The Begin is used in combination with End for parsing the list sequentially from the beginning to the end.
- If the list is empty, Begin and End return the same location.

-
- -
-
C++
-
IADLXListPrt adlxList; // Get ADLXList interface
-
...
-
-
adlx_uint it = adlxList->Begin();
-
for (; it != adlxList->End(); it++) // Iterate ADLXList and get the elements in the list
-
{
-
res = adlxList->At(it, ...);
-
...
-
-
}
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__clear.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__clear.html deleted file mode 100644 index fdd2e65..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__clear.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Clear - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Clear
-
-
-

Removes all the interfaces from a list.

-

Syntax

-
- ADLX_RESULT    Clear ()
- 

Parameters

-

N/A

-

Return Value

-

If all the interfaces from the list are successfully removed, ADLX_OK is returned.
- If interfaces from the list are not successfully removed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

After this call returns successfully, Size returns zero.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__empty.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__empty.html deleted file mode 100644 index fd14c00..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__empty.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Empty - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Empty
-
-
-

Checks if the list is empty.

-

Syntax

-
- adlx_bool    Empty ()
- 

Parameters

-

N/A

-

Return Value

-

If the list is empty, true is returned.
- If the list is not empty, false is returned.
-

-

Remarks

-

If the list has no interfaces, then Size will return zero, and Empty will return true.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__end.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__end.html deleted file mode 100644 index 4aa67e6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__end.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: End - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
End
-
-
-

Returns the location succeeding the last interface from a list.

-

Syntax

-
- adlx_uint    End ()
- 

Parameters

-

N/A

-

Return Value

-

Returns the location succeeding the last interface from a list.

-

Remarks

-

The returned location is a logical representation of the end of the list. It does not hold any valid interface and should not be dereferenced.
- End is used in combination with Begin for parsing the list sequentially from the beginning to the end.
- If the list is empty, then Begin and End return the same location.

-
- -
-
C++
-
IADLXListPrt adlxList; // Get ADLXList interface
-
...
-
-
adlx_uint it = adlxList->Begin();
-
for (; it != adlxList->End(); it++) // Iterate ADLXList and get the elements in the list
-
{
-
res = adlxList->At(it, ...);
-
...
-
-
}
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__remove__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__remove__back.html deleted file mode 100644 index f7cc7aa..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__remove__back.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Remove_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Remove_Back
-
-
-

Removes an interface from the end of a list.

-

Syntax

-
- ADLX_RESULT    Remove_Back ()
- 

Parameters

-

N/A

-

Return Value

-

If the interface from the end of the list is successfully removed, ADLX_OK is returned.
- If the interface from the end of the list is not successfully removed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Removes an interface from the end of the list. The list must not be empty.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__size.html deleted file mode 100644 index d2b3ce8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_list__size.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Size - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Size
-
-
-

Returns the number of interfaces in a list.

-

Syntax

-
-adlx_uint    Size ()
- 

Parameters

-

N/A

-

Return Value

-

Returns the number of interfaces in the list.

-

Remarks

-

Returns the number of interfaces in the list.
-

-

Returns zero if the list is empty.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.html deleted file mode 100644 index 9421933..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXLog - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXLog
-
-
-

The IADLXLog interface is implemented in the application to receive the log traces from the internal code execution of ADLX.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

If the application wants the ADLX log traces to be integrated in the application's own log system, an instance of the implemented IADLXLog interface must be passed to EnableLog along with APPLICATION in the ADLX_LOG_DESTINATION parameter.
- The log instance must exist until ADLX is terminated.

-

Methods

- - - - - -
Method Description
WriteLog The WriteLog method is called by ADLX when a new ADLX log message is available.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Log C++ sample.
- For a C application, refer to the Log C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.js deleted file mode 100644 index 4ebe580..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_log = -[ - [ "WriteLog", "_d_o_x__i_a_d_l_x_log__write_log.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log__write_log.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log__write_log.html deleted file mode 100644 index 6fefac9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_log__write_log.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: WriteLog - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
WriteLog
-
-
-

The WriteLog method is called by ADLX when a new ADLX log message is available.

-

Syntax

-
- ADLX_RESULT    WriteLog (const wchar_t* msg)
- 

Parameters

-
-
-
- - -
1.[out]msgconst wchar_t*The new log message from the internal code execution of ADLX.
-
-
-

Return Value

-

The method must return ADLX_OK.
-

-

Remarks

-

Once the application enables the ADLX logs with EnableLog using APPLICATION for the ADLX_LOG_DESTINATION parameter, ADLX will call this method when a new log trace is generated.
- The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the log trace, the application must copy the log message and process it asynchronously.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

See Also

-

EnableLog

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.html deleted file mode 100644 index 326b7ab..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualFanTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualFanTuning
-
-
-

The IADLXManualFanTuning interface provides methods to control manual fan tuning on a GPU.

- - - - - - - - - -
InterfaceId:IADLXManualFanTuning
Smart Pointer Interface Name:IADLXManualFanTuningPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
GetEmptyFanTuningStates Gets the reference counted list of empty GPU fan tuning states on a GPU.
GetFanTuningRanges Gets the fan speed range and the temperature range on a GPU.
GetFanTuningStates Gets the reference counted list of current GPU fan tuning states on a GPU.
GetMinAcousticLimit Gets the current minimum acoustic limit on a GPU.
GetMinAcousticLimitRange Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU.
GetMinFanSpeed Gets the current minimum fan speed on a GPU.
GetMinFanSpeedRange Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU.
GetTargetFanSpeed Gets the current target fan speed on a GPU.
GetTargetFanSpeedRange Gets the maximum value, minimum value, and step for the target fan speed on a GPU.
GetZeroRPMState Checks if zero RPM is currently activated on a GPU.
IsSupportedMinAcousticLimit Checks if the minimum acoustic limit is supported on a GPU.
IsSupportedMinFanSpeed Checks if the minimum fan speed is supported on a GPU.
IsSupportedTargetFanSpeed Checks if the target fan speed is supported on a GPU.
IsSupportedZeroRPM Checks if zero RPM is supported on a GPU.
IsValidFanTuningStates Checks if each GPU fan tuning state in a list is valid on a GPU.
SetFanTuningStates Sets the fan tuning states on a GPU.
SetMinAcousticLimit Sets the minimum acoustic limit on a GPU.
SetMinFanSpeed Sets the minimum fan speed on a GPU.
SetTargetFanSpeed Sets the target fan speed on a GPU.
SetZeroRPMState Enables or disables zero RPM on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample.
- For a C application, refer to the ManualFanTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.js deleted file mode 100644 index e502e32..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning.js +++ /dev/null @@ -1,23 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_fan_tuning = -[ - [ "GetEmptyFanTuningStates", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html", null ], - [ "GetFanTuningRanges", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html", null ], - [ "GetFanTuningStates", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html", null ], - [ "GetMinAcousticLimit", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html", null ], - [ "GetMinAcousticLimitRange", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html", null ], - [ "GetMinFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html", null ], - [ "GetMinFanSpeedRange", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html", null ], - [ "GetTargetFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html", null ], - [ "GetTargetFanSpeedRange", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html", null ], - [ "GetZeroRPMState", "_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html", null ], - [ "IsSupportedMinAcousticLimit", "_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html", null ], - [ "IsSupportedMinFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html", null ], - [ "IsSupportedTargetFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html", null ], - [ "IsSupportedZeroRPM", "_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html", null ], - [ "IsValidFanTuningStates", "_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html", null ], - [ "SetFanTuningStates", "_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html", null ], - [ "SetMinAcousticLimit", "_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html", null ], - [ "SetMinFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html", null ], - [ "SetTargetFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html", null ], - [ "SetZeroRPMState", "_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html deleted file mode 100644 index 725c68e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetEmptyFanTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetEmptyFanTuningStates
-
-
-

Gets the reference counted list of empty GPU fan tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    GetEmptyFanTuningStates (IADLXManualFanTuningStateList** ppStates)
- 

Parameters

-
-
-
- - -
1.[out]ppStatesIADLXManualFanTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppStates to nullptr.
-
-
-

Return Value

-

If the list of empty GPU fan tuning states is successfully returned, ADLX_OK is returned.
- If the list of empty GPU fan tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html deleted file mode 100644 index 70f8c85..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFanTuningRanges - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFanTuningRanges
-
-
-

Gets the fan speed range and the temperature range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFanTuningRanges (ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange)
- 

Parameters

-
-
-
- - -
1.[out]speedRangeADLX_IntRange*The pointer to a variable where the fan speed range (in %) is returned.
-
-
-
-
-
- - -
2.[out]temperatureRangeADLX_IntRange*The pointer to a variable where the temperature range (in °C) is returned.
-
-
-

Return Value

-

If the fan speed and temperature range is successfully returned, ADLX_OK is returned.
- If the fan speed and temperature range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

The fan speed range and the temperature range are applicable to all GPU states on a GPU.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html deleted file mode 100644 index 4d79c5e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFanTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFanTuningStates
-
-
-

Gets the reference counted list of current GPU fan tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFanTuningStates (IADLXManualFanTuningStateList** ppStates)
- 

Parameters

-
-
-
- - -
1.[out]ppStatesIADLXManualFanTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppStates to nullptr.
-
-
-

Return Value

-

If the list of GPU fan tuning states is successfully returned, ADLX_OK is returned.
- If the list of GPU fan tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html deleted file mode 100644 index 8569874..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMinAcousticLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMinAcousticLimit
-
-
-

Gets the current minimum acoustic limit on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMinAcousticLimit (adlx_int* value)
- 

Parameters

-
-
-
- - -
1.[out]valueadlx_int*The pointer to a variable where the min acoustic limit value (in MHz) is returned.
-
-
-

Return Value

-

If the min acoustic limit value is successfully returned, ADLX_OK is returned.
- If the min acoustic limit value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support Minimum Acoustic Limit adjustments (in MHz).

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html deleted file mode 100644 index 82c2a5b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMinAcousticLimitRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMinAcousticLimitRange
-
-
-

Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMinAcousticLimitRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the min acoustic limit range (in MHz) is returned.
-
-
-

Return Value

-

If the min acoustic limit range is successfully returned, ADLX_OK is returned.
- If the min acoustic limit range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support Minimum Acoustic Limit adjustments (in MHz).

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html deleted file mode 100644 index 202d098..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMinFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMinFanSpeed
-
-
-

Gets the current minimum fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMinFanSpeed (adlx_int* value)
- 

Parameters

-
-
-
- - -
1.[out]valueadlx_int*The pointer to a variable where the minimum fan speed value (in RPM) is returned.
-
-
-

Return Value

-

If the minimum fan speed value is successfully returned, ADLX_OK is returned.
- If the minimum fan speed value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support minimum fan speed adjustments (in MHz).

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html deleted file mode 100644 index a2f87e3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMinFanSpeedRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMinFanSpeedRange
-
-
-

Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMinFanSpeedRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the minimum fan speed range (in RPM) is returned.
-
-
-

Return Value

-

If the minimum fan speed range is successfully returned, ADLX_OK is returned.
- If the minimum fan speed range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html deleted file mode 100644 index d3f8ca3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTargetFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTargetFanSpeed
-
-
-

Gets the current target fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetTargetFanSpeed (adlx_int* value)
- 

Parameters

-
-
-
- - -
1.[out]valueadlx_int*The pointer to a variable where the target fan speed value (in RPM) is returned.
-
-
-

Return Value

-

If the target fan speed value is successfully returned, ADLX_OK is returned.
- If the target fan speed value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html deleted file mode 100644 index 3ca1c24..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTargetFanSpeedRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTargetFanSpeedRange
-
-
-

Gets the maximum value, minimum value, and step for the target fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    GetTargetFanSpeedRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the target fan speed range (in RPM) is returned.
-
-
-

Return Value

-

If the target fan speed range is successfully returned, ADLX_OK is returned.
- If the target fan speed range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html deleted file mode 100644 index 007d011..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetZeroRPMState - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetZeroRPMState
-
-
-

Checks if zero RPM is currently activated on a GPU.

-

Syntax

-
- ADLX_RESULT    GetZeroRPMState (adlx_bool* isSet)
- 

Parameters

-
-
-
- - -
1.[out]isSetadlx_bool*The pointer to a variable where the state of zero RPM is returned. The variable is true if zero RPM is enabled. The variable is false if zero RPM is not enabled.
-
-
-

Return Value

-

If the state of zero RPM is successfully returned, ADLX_OK is returned.
- If the state of zero RPM is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html deleted file mode 100644 index 7be31d3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedMinAcousticLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedMinAcousticLimit
-
-
-

Checks if the minimum acoustic limit is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedMinAcousticLimit (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of min acoustic limit feature is returned. The variable is true if min acoustic limit feature is supported. The variable is false if min acoustic limit feature is not supported.
-
-
-

Return Value

-

If the state of min acoustic limit feature is successfully returned, ADLX_OK is returned.
- If the state of min acoustic limit feature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support Minimum Acoustic Limit adjustments (in MHz).

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html deleted file mode 100644 index d09a9df..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedMinFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedMinFanSpeed
-
-
-

Checks if the minimum fan speed is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedMinFanSpeed (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of minimum fan speed feature is returned. The variable is true if minimum fan speed feature is supported. The variable is false if minimum fan speed feature is not supported.
-
-
-

Return Value

-

If the state of minimum fan speed feature is successfully returned, ADLX_OK is returned.
- If the state of minimum fan speed feature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html deleted file mode 100644 index e9326ee..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedTargetFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedTargetFanSpeed
-
-
-

Checks if the target fan speed is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedTargetFanSpeed (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of target fan speed feature is returned. The variable is true if target fan speed feature is supported. The variable is false if target fan speed feature is not supported.
-
-
-

Return Value

-

If the state of target fan speed feature is successfully returned, ADLX_OK is returned.
- If the state of target fan speed feature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html deleted file mode 100644 index 4184cad..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedZeroRPM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedZeroRPM
-
-
-

Checks if zero RPM is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedZeroRPM (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of zero RPM feature is returned. The variable is true if zero RPM feature is supported. The variable is false if zero RPM feature is not supported.
-
-
-

Return Value

-

If the state of zero RPM feature is successfully returned, ADLX_OK is returned.
- If the state of zero RPM feature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html deleted file mode 100644 index 1a0e5c6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsValidFanTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsValidFanTuningStates
-
-
-

Checks if each GPU fan tuning state in a list is valid on a GPU.

-

Syntax

-
- ADLX_RESULT    IsValidFanTuningStates (IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex)
- 

Parameters

-
-
-
- - -
1.[in]pStatesIADLXManualFanTuningStateList*The pointer to the GPU fan tuning states list interface.
-
-
-
-
-
- - -
2.[out]errorIndexadlx_int*The pointer to a variable where the invalid states index is returned.
-
-
-

Return Value

-

If IsValidFanTuningStates is successfully executed, ADLX_OK is returned.
- If IsValidFanTuningStates is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

If the *pStates is valid then the method sets the errorIndex to -1.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html deleted file mode 100644 index e128d8d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetFanTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetFanTuningStates
-
-
-

Sets the fan tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    SetFanTuningStates (IADLXManualFanTuningStateList* pStates)
- 

Parameters

-
-
-
- - -
1.[in]pStatesIADLXManualFanTuningStateList*The pointer to the GPU states list interface.
-
-
-

Return Value

-

If the GPU fan tuning states are successfully set, ADLX_OK is returned.
- If the GPU fan tuning states are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html deleted file mode 100644 index 142569b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMinAcousticLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMinAcousticLimit
-
-
-

Sets the minimum acoustic limit on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMinAcousticLimit (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in]valueadlx_intThe new min acoustic limit (in MHz).
-
-
-

Return Value

-

If the min acoustic limit value is successfully set, ADLX_OK is returned.
- If the min acoustic limit value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support Minimum Acoustic Limit adjustments (in MHz).

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html deleted file mode 100644 index 780ae0a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMinFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMinFanSpeed
-
-
-

Sets the minimum fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMinFanSpeed (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in]valueadlx_intThe new minimum fan speed (in RPM).
-
-
-

Return Value

-

If the minimum fan speed value is successfully set, ADLX_OK is returned.
- If the minimum fan speed value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html deleted file mode 100644 index ba3d973..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetTargetFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetTargetFanSpeed
-
-
-

Sets the target fan speed on a GPU.

-

Syntax

-
- ADLX_RESULT    SetTargetFanSpeed (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in]valueadlx_intThe new target fan speed (in RPM).
-
-
-

Return Value

-

If the target fan speed value is successfully set, ADLX_OK is returned.
- If the target fan speed value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html deleted file mode 100644 index 08ebdd8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetZeroRPMState - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetZeroRPMState
-
-
-

Enables or disables zero RPM on a GPU.

-

Syntax

-
- ADLX_RESULT    SetZeroRPMState (adlx_bool set)
- 

Parameters

-
-
-
- - -
1.[in]isSetadlx_boolThe new zero RPM state. Set true to enable zero RPM. Set false to disable zero RPM.
-
-
-

Return Value

-

If the state of zero RPM is successfully set, ADLX_OK is returned.
- If the state of zero RPM is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html deleted file mode 100644 index 246d81a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualFanTuningState - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualFanTuningState
-
-
-

The IADLXManualFanTuningState interface provides methods to control fan speed and temperature in the manual fan tuning state.

- - - - - - - - - -
InterfaceId:IADLXManualFanTuningState
Smart Pointer Interface Name:IADLXManualFanTuningStatePtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - -
Method Description
GetFanSpeed Gets the fan speed in the manual fan tuning state.
GetTemperature Gets the temperature in the manual fan tuning state.
SetFanSpeed Sets the fan speed in the manual fan tuning state.
SetTemperature Sets the temperature in the manual fan tuning state.
-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample.
- For a C application, refer to the ManualFanTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.js deleted file mode 100644 index 2d52147..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_fan_tuning_state = -[ - [ "GetFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html", null ], - [ "GetTemperature", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html", null ], - [ "SetFanSpeed", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html", null ], - [ "SetTemperature", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html deleted file mode 100644 index 5f7c2d6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFanSpeed
-
-
-

Gets the fan speed in the manual fan tuning state.

-

Syntax

-
- ADLX_RESULT    GetFanSpeed (adlx_int* value)
- 

Parameters

-
-
-
- - -
1.[out] valueadlx_uint* The pointer to a variable where the fan speed (in %) is returned.
-
-
-

Return Value

-

If the fan speed is successfully returned, ADLX_OK is returned.
- If the fan speed is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html deleted file mode 100644 index f9a3658..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTemperature
-
-
-

Gets the temperature in the manual fan tuning state.

-

Syntax

-
- ADLX_RESULT    GetTemperature (adlx_uint* value)
- 

Parameters

-
-
-
- - -
1.[out] valueadlx_uint* The pointer to a variable where the temperature (in °C) is returned.
-
-
-

Return Value

-

If the temperature is successfully returned, ADLX_OK is returned.
- If the temperature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html deleted file mode 100644 index 7a08022..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetFanSpeed - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetFanSpeed
-
-
-

Sets the fan speed in the manual fan tuning state.

-

Syntax

-
- ADLX_RESULT    SetFanSpeed (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in] valueadlx_int The new fan speed value (in %).
-
-
-

Return Value

-

If the fan speed is successfully set, ADLX_OK is returned.
- If the fan speed is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Method for applying fan speed for the fan tuning state.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html deleted file mode 100644 index 063e778..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetTemperature - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetTemperature
-
-
-

Sets the temperature in the manual fan tuning state.

-

Syntax

-
- ADLX_RESULT    SetTemperature (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in] valueadlx_int The new temperature value (in °C).
-
-
-

Return Value

-

If the temperature is successfully set, ADLX_OK is returned.
- If the temperature is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html deleted file mode 100644 index 2cbb0ce..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualFanTuningStateList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualFanTuningStateList
-
-
-

The IADLXManualFanTuningStateList is an interface for a collection of IADLXManualFanTuningState interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXManualFanTuningStateList
Smart Pointer Interface Name:IADLXManualFanTuningStateListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample.
- For a C application, refer to the ManualFanTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.js deleted file mode 100644 index 689b31f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_fan_tuning_state_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html deleted file mode 100644 index 983daec..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXManualFanTuningState* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXManualFanTuningState* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html deleted file mode 100644 index fad5f76..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXManualFanTuningState** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXManualFanTuningState** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUManualFanTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html deleted file mode 100644 index 8a5dd6c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualGraphicsTuning1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualGraphicsTuning1
-
-
-

The IADLXManualGraphicsTuning1 interface provides methods to control the GPU manual graphic tuning for pre-RDNA ASIC family.

- - - - - - - - - -
InterfaceId:IADLXManualGraphicsTuning1
Smart Pointer Interface Name:IADLXManualGraphicsTuning1Ptr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - -
Method Description
GetEmptyGPUTuningStates Gets the reference counted list of empty GPU tuning states.
GetGPUTuningRanges Gets the frequency range and the voltage range on a GPU.
GetGPUTuningStates Gets the reference counted list of current GPU tuning states.
IsValidGPUTuningStates Checks if each GPU tuning state in a list is valid.
SetGPUTuningStates Sets the GPU tuning states on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample.
- For a C application, refer to the ManualGraphicsTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.js deleted file mode 100644 index c133a96..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.js +++ /dev/null @@ -1,8 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_graphics_tuning1 = -[ - [ "GetEmptyGPUTuningStates", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html", null ], - [ "GetGPUTuningRanges", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html", null ], - [ "GetGPUTuningStates", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html", null ], - [ "IsValidGPUTuningStates", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html", null ], - [ "SetGPUTuningStates", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html deleted file mode 100644 index eab2c4b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetEmptyGPUTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetEmptyGPUTuningStates
-
-
-

Gets the reference counted list of empty GPU tuning states.

-

Syntax

-
- ADLX_RESULT    GetEmptyGPUTuningStates (IADLXManualTuningStateList** ppGFXStates)
- 

Parameters

-
-
-
- - -
1.[out]ppGFXStatesIADLXManualTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGFXStates to nullptr.
-
-
-

Return Value

-

If the list of empty GPU tuning states is successfully returned, ADLX_OK is returned.
- If the list of empty GPU tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
-

-

The frequency and voltage in the returned states are zero.

-

Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html deleted file mode 100644 index 2ca07ef..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTuningRanges - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTuningRanges
-
-
-

Gets the frequency range and the voltage range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange)
- 

Parameters

-
-
-
- - -
1.[out]frequencyRangeADLX_IntRange*The pointer to a variable where the GPU frequency range (in MHz) is returned.
-
-
-
-
-
- - -
2.[out]voltageRangeADLX_IntRange*The pointer to a variable where the GPU voltage range (in mV) is returned.
-
-
-

Return Value

-

If the frequency and voltage range are successfully returned, ADLX_OK is returned.
- If the frequency and voltage range are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The frequency range and the voltage range are applicable to all the GPU states on this GPU.

-

Additional Info

-

Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.
- The GPU clock speed and the GPU voltage can be adjusted within their ranges.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html deleted file mode 100644 index e16cb9f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTuningStates
-
-
-

Gets the reference counted list of current GPU tuning states.

-

Syntax

-
- ADLX_RESULT    GetGPUTuningStates (IADLXManualTuningStateList** ppGFXStates)
- 

Parameters

-
-
-
- - -
1.[out]ppGFXStatesIADLXManualTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGFXStates to nullptr.
-
-
-

Return Value

-

If the list of GPU tuning states is successfully returned, ADLX_OK is returned.
- If the list of GPU tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
-

-

Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html deleted file mode 100644 index 54bfc41..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsValidGPUTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsValidGPUTuningStates
-
-
-

Checks if each GPU tuning state in a list is valid.

-

Syntax

-
- ADLX_RESULT    IsValidGPUTuningStates (IADLXManualTuningStateList* pGFXStates, adlx_int* errorIndex)
- 

Parameters

-
-
-
- - -
1.[in]pGFXStatesIADLXManualTuningStateList*The pointer to the GPU states list interface.
-
-
-
-
-
- - -
2.[out]errorIndexadlx_int*The pointer to a variable where the invalid states index is returned.
-
-
-

Return Value

-

If IsValidGPUTuningStates is successfully executed, ADLX_OK is returned.
- If IsValidGPUTuningStates is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.

-

Remarks

-

If the *pGFXStates is valid then the method sets the errorIndex to -1.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html deleted file mode 100644 index f56e74b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGPUTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGPUTuningStates
-
-
-

Sets the GPU tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    SetGPUTuningStates (IADLXManualTuningStateList* pGFXStates)
- 

Parameters

-
-
-
- - -
1.[in]pGFXStatesIADLXManualTuningStateList*The pointer to the GPU states list interface.
-
-
-

Return Value

-

If the GPU tuning states are successfully set, ADLX_OK is returned.
- If the GPU tuning states are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html deleted file mode 100644 index 645c064..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualGraphicsTuning2 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualGraphicsTuning2
-
-
-

The IADLXManualGraphicsTuning2 interface provides methods to control the GPU manual graphic tuning for RDNA ASIC family.

- - - - - - - - - -
InterfaceId:IADLXManualGraphicsTuning2
Smart Pointer Interface Name:IADLXManualGraphicsTuning2Ptr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - - - - - - - -
Method Description
GetGPUMaxFrequency Gets the current maximum frequency value on a GPU.
GetGPUMaxFrequencyRange Gets the maximum frequency range on a GPU.
GetGPUMinFrequency Gets the current minimum frequency value on a GPU.
GetGPUMinFrequencyRange Gets the minimum frequency range on a GPU.
GetGPUVoltage Gets the current clock voltage value on a GPU.
GetGPUVoltageRange Gets the clock voltage range on a GPU.
SetGPUMaxFrequency Sets the maximum frequency on a GPU.
SetGPUMinFrequency Sets the minimum frequency on a GPU.
SetGPUVoltage Sets the clock voltage on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample.
- For a C application, refer to the ManualGraphicsTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.js deleted file mode 100644 index 98d94bf..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.js +++ /dev/null @@ -1,12 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_graphics_tuning2 = -[ - [ "GetGPUMaxFrequency", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html", null ], - [ "GetGPUMaxFrequencyRange", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html", null ], - [ "GetGPUMinFrequency", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html", null ], - [ "GetGPUMinFrequencyRange", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html", null ], - [ "GetGPUVoltage", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html", null ], - [ "GetGPUVoltageRange", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html", null ], - [ "SetGPUMaxFrequency", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html", null ], - [ "SetGPUMinFrequency", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html", null ], - [ "SetGPUVoltage", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html deleted file mode 100644 index 2219d5c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMaxFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMaxFrequency
-
-
-

Gets the current maximum frequency value on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUMaxFrequency (adlx_int* maxFreq)
- 

Parameters

-
-
-
- - -
1.[out]maxFreqadlx_int*The pointer to a variable where the maximum frequency value (in MHz) is returned.
-
-
-

Return Value

-

If the maximum frequency value is successfully returned, ADLX_OK is returned.
- If the maximum frequency value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support maximum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html deleted file mode 100644 index b725c72..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMaxFrequencyRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMaxFrequencyRange
-
-
-

Gets the maximum frequency range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUMaxFrequencyRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the maximum frequency range (in MHz) is returned.
-
-
-

Return Value

-

If the maximum frequency range is successfully returned, ADLX_OK is returned.
- If the maximum frequency range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support maximum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html deleted file mode 100644 index c464dd6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMinFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMinFrequency
-
-
-

Gets the current minimum frequency value on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUMinFrequency (adlx_int* minFreq)
- 

Parameters

-
-
-
- - -
1.[out]minFreqadlx_int*The pointer to a variable where the minimum frequency value (in MHz) is returned.
-
-
-

Return Value

-

If the minimum frequency value is successfully returned, ADLX_OK is returned.
- If the minimum frequency value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support minimum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html deleted file mode 100644 index 46c6647..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMinFrequencyRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMinFrequencyRange
-
-
-

Gets the minimum frequency range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUMinFrequencyRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the minimum frequency range (in MHz) is returned.
-
-
-

Return Value

-

If the minimum frequency range is successfully returned, ADLX_OK is returned.
- If the minimum frequency range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support minimum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html deleted file mode 100644 index cffffa8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUVoltage
-
-
-

Gets the current clock voltage value on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUVoltage (adlx_int* volt)
- 

Parameters

-
-
-
- - -
1.[out]voltadlx_int*The pointer to a variable where the GPU voltage (in mV) is returned.
-
-
-

Return Value

-

If the clock voltage value is successfully returned, ADLX_OK is returned.
- If the clock voltage value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support GPU voltage adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html deleted file mode 100644 index 232da23..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUVoltageRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUVoltageRange
-
-
-

Gets the clock voltage range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUVoltageRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the clock voltage range (in mV) is returned.
-
-
-

Return Value

-

If the clock voltage range is successfully returned, ADLX_OK is returned.
- If the clock voltage range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support GPU voltage adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html deleted file mode 100644 index fb82d07..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGPUMaxFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGPUMaxFrequency
-
-
-

Sets the maximum frequency on a GPU.

-

Syntax

-
- ADLX_RESULT    SetGPUMaxFrequency (adlx_int maxFreq)
- 

Parameters

-
-
-
- - -
1.[in]maxFreqadlx_intThe new maximum frequency (in MHz) value.
-
-
-

Return Value

-

If the maximum frequency value is successfully set, ADLX_OK is returned.
- If the maximum frequency value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support maximum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html deleted file mode 100644 index abd3f67..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGPUMinFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGPUMinFrequency
-
-
-

Sets the minimum frequency on a GPU.

-

Syntax

-
- ADLX_RESULT    SetGPUMinFrequency (adlx_int minFreq)
- 

Parameters

-
-
-
- - -
1.[in]minFreqadlx_intThe new minimum frequency value (in MHz).
-
-
-

Return Value

-

If the minimum frequency value is successfully set, ADLX_OK is returned.
- If the minimum frequency value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support minimum GPU clock speed adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html deleted file mode 100644 index 763a358..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetGPUVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetGPUVoltage
-
-
-

Sets the clock voltage on a GPU.

-

Syntax

-
- ADLX_RESULT    SetGPUVoltage (adlx_int volt)
- 

Parameters

-
-
-
- - -
1.[in]voltadlx_intThe new GPU voltage (in mV).
-
-
-

Return Value

-

If the clock voltage value is successfully set, ADLX_OK is returned.
- If the clock voltage value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support GPU voltage adjustment within a range.

-

Requirements

- - - - - -
Headerinclude "IGPUManualGFXTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.html deleted file mode 100644 index 442c3be..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualPowerTuning
-
-
-

The IADLXManualPowerTuning interface provides methods to configure manual power tuning on a GPU.

- - - - - - - - - -
InterfaceId:IADLXManualPowerTuning
Smart Pointer Interface Name:IADLXManualPowerTuningPtr
Inherits:IADLXInterface
Inherited By:NA
-

Methods

- - - - - - - - - - - - - - - - - -
Method Description
GetPowerLimit Gets the current power limit of a GPU.
GetPowerLimitRange Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU.
GetTDCLimit Gets the current Thermal Design Current (TDC) limit of a GPU.
GetTDCLimitRange Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU.
IsSupportedTDCLimit Checks if Thermal Design Current (TDC) limit is supported on a GPU.
SetPowerLimit Sets the power limit of a GPU.
SetTDCLimit Sets the Thermal Design Current (TDC) limit of a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualPowerTuning C++ sample.
- For a C application, refer to the ManualPowerTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.js deleted file mode 100644 index ac9a507..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning.js +++ /dev/null @@ -1,10 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_power_tuning = -[ - [ "GetPowerLimit", "_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html", null ], - [ "GetPowerLimitRange", "_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html", null ], - [ "GetTDCLimit", "_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html", null ], - [ "GetTDCLimitRange", "_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html", null ], - [ "IsSupportedTDCLimit", "_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html", null ], - [ "SetPowerLimit", "_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html", null ], - [ "SetTDCLimit", "_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html deleted file mode 100644 index afdf5ad..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPowerLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPowerLimit
-
-
-

Gets the current power limit of a GPU.

-

Syntax

-
- ADLX_RESULT    GetPowerLimit (adlx_int* curVal)
- 

Parameters

-
-
-
- - -
1.[out]curValadlx_int*The pointer to a variable where the manual power limit value (in %) is returned.
-
-
-

Return Value

-

If the power limit value is successfully returned, ADLX_OK is returned.
- If the power limit value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

A higher power limit increases performance headroom.

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html deleted file mode 100644 index dc3df62..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPowerLimitRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPowerLimitRange
-
-
-

Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetPowerLimitRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the manual power limit range (in %) is returned.
-
-
-

Return Value

-

If the power limit range is successfully returned, ADLX_OK is returned.
- If the power limit range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html deleted file mode 100644 index e53477b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTDCLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTDCLimit
-
-
-

Gets the current Thermal Design Current (TDC) limit of a GPU.

-

Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.

-

Syntax

-
- ADLX_RESULT    GetTDCLimit (adlx_int* curVal)
- 

Parameters

-
-
-
- - -
1.[out]curValadlx_int*The pointer to a variable where the manual TDC limit value (in %) is returned.
-
-
-

Return Value

-

If the TDC limit value is successfully returned, ADLX_OK is returned.
- If the TDC limit value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

A higher TDC limit increases performance headroom.

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html deleted file mode 100644 index b7adcca..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetTDCLimitRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetTDCLimitRange
-
-
-

Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU.

-

Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.

-

Syntax

-
- ADLX_RESULT    GetTDCLimitRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the manual TDC limit range (in %) is returned.
-
-
-

Return Value

-

If the TDC limit range is successfully returned, ADLX_OK is returned.
- If the TDC limit range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html deleted file mode 100644 index f47bdbd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedTDCLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedTDCLimit
-
-
-

Checks if Thermal Design Current (TDC) limit is supported on a GPU.

-

Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.

-

Syntax

-
- ADLX_RESULT    IsSupportedTDCLimit (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of TDC limit feature is returned. The variable is true if TDC limit feature is supported. The variable is false if TDC limit feature is not supported.
-
-
-

Return Value

-

If the state of TDC limit feature is successfully returned, ADLX_OK is returned.
- If the state of TDC limit feature is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

A higher TDC limit increases performance headroom.

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html deleted file mode 100644 index be1fa19..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetPowerLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetPowerLimit
-
-
-

Sets the power limit of a GPU.

-

Syntax

-
- ADLX_RESULT    SetPowerLimit (adlx_int curVal)
- 

Parameters

-
-
-
- - -
1.[in]curValadlx_intThe new power limit value (in %) .
-
-
-

Return Value

-

If the power limit value is successfully set, ADLX_OK is returned.
- If the power limit value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

A higher power limit increases performance headroom.

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html deleted file mode 100644 index 8343d50..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetTDCLimit - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetTDCLimit
-
-
-

Sets the Thermal Design Current (TDC) limit of a GPU.

-

Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.

-

Syntax

-
- ADLX_RESULT    SetTDCLimit (adlx_int curVal)
- 

Parameters

-
-
-
- - -
1.[in]curValadlx_intThe new TDC limit value (in %).
-
-
-

Return Value

-

If the TDC limit value is successfully set, ADLX_OK is returned.
- If the TDC limit value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

A higher TDC limit increases performance headroom.

-

Requirements

- - - - - -
Headerinclude "IGPUManualPowerTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.html deleted file mode 100644 index 9133765..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualTuningState - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualTuningState
-
-
-

The IADLXManualTuningState interface adjusts the frequency and the voltage on a GPU by setting the desired values in the manual tuning state.

- - - - - - - - - -
InterfaceId:IADLXManualTuningState
Smart Pointer Interface Name:IADLXManualTuningStatePtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - -
Method Description
GetFrequency Gets the frequency in the manual tuning state on a GPU.
GetVoltage Gets the voltage in the manual tuning state on a GPU.
SetFrequency Sets the frequency in the manual tuning state on a GPU.
SetVoltage Sets the voltage in the manual tuning state on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample.
- For a C application, refer to the ManualGraphicsTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.js deleted file mode 100644 index e85b5d3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_tuning_state = -[ - [ "GetFrequency", "_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html", null ], - [ "GetVoltage", "_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html", null ], - [ "SetFrequency", "_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html", null ], - [ "SetVoltage", "_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html deleted file mode 100644 index aabd1c3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFrequency
-
-
-

Gets the frequency in the manual tuning state on a GPU.

-

Syntax

-
- ADLX_RESULT    GetFrequency (adlx_uint* value)
- 

Parameters

-
-
-
- - -
1.[out] valueadlx_uint* The pointer to a variable where the frequency (in MHz) in the manual tuning state is returned.
-
-
-

Return Value

-

If the frequency is successfully returned, ADLX_OK is returned.
- If the frequency is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html deleted file mode 100644 index ffc9d46..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetVoltage
-
-
-

Gets the voltage in the manual tuning state on a GPU.

-

Syntax

-
- ADLX_RESULT    GetVoltage (adlx_uint* value)
- 

Parameters

-
-
-
- - -
1.[out] valueadlx_uint* The pointer to a variable where the voltage (in mV) in the manual tuning state is returned.
-
-
-

Return Value

-

If the voltage is successfully returned, ADLX_OK is returned.
- If the voltage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html deleted file mode 100644 index ec4d615..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetFrequency
-
-
-

Sets the frequency in the manual tuning state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetFrequency (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in] valueadlx_int The new frequency (in MHz) in the manual tuning state.
-
-
-

Return Value

-

If the frequency is successfully set, ADLX_OK is returned.
- If the frequency is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html deleted file mode 100644 index af29b07..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetVoltage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetVoltage
-
-
-

Sets the voltage in the manual tuning state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetVoltage (adlx_int value)
- 

Parameters

-
-
-
- - -
1.[in] valueadlx_int The new voltage (in mV) in the manual tuning state.
-
-
-

Return Value

-

If the voltage is successfully set, ADLX_OK is returned.
- If the voltage is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.html deleted file mode 100644 index f8527f7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualTuningStateList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualTuningStateList
-
-
-

The IADLXManualTuningStateList is an interface for a collection of IADLXManualTuningState interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXManualTuningStateList
Smart Pointer Interface Name:IADLXManualTuningStateListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample.
- For a C application, refer to the ManualGraphicsTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.js deleted file mode 100644 index feb4bb8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_tuning_state_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html deleted file mode 100644 index fe7c311..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXManualTuningState* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXManualTuningState* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html deleted file mode 100644 index 311efc1..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXManualTuningState** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXManualTuningState** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html deleted file mode 100644 index fb444c2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualVRAMTuning1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualVRAMTuning1
-
-
-

The IADLXManualVRAMTuning1 interface provides methods to configure the GPU manual VRAM tuning for pre-RDNA ASIC family.

- - - - - - - - - -
InterfaceId:IADLXManualVRAMTuning1
Smart Pointer Interface Name:IADLXManualVRAMTuning1Ptr
Inherits:IADLXInterface
Inherited By:NA
-

Methods

- - - - - - - - - - - - - - - - - - - - - -
Method Description
GetEmptyVRAMTuningStates Gets the reference counted list of empty VRAM tuning states on a GPU.
GetMemoryTimingDescription Gets the current memory timing description on a GPU.
GetSupportedMemoryTimingDescriptionList Gets the reference counted list of the supported memory timing description on a GPU.
GetVRAMTuningRanges Gets the VRAM frequency range and the VRAM voltage range on a GPU.
GetVRAMTuningStates Gets the reference counted list of current VRAM tuning states on a GPU.
IsSupportedMemoryTiming Checks if the memory timing is supported on a GPU.
IsValidVRAMTuningStates Checks the validity of listed VRAM tuning states on a GPU.
SetMemoryTimingDescription Sets the memory timing description on a GPU.
SetVRAMTuningStates Sets listed VRAM states to the tuning state on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample.
- For a C application, refer to the ManualVRAMTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.js deleted file mode 100644 index 1181db7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.js +++ /dev/null @@ -1,12 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1 = -[ - [ "GetEmptyVRAMTuningStates", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html", null ], - [ "GetMemoryTimingDescription", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html", null ], - [ "GetSupportedMemoryTimingDescriptionList", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html", null ], - [ "GetVRAMTuningRanges", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html", null ], - [ "GetVRAMTuningStates", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html", null ], - [ "IsSupportedMemoryTiming", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html", null ], - [ "IsValidVRAMTuningStates", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html", null ], - [ "SetMemoryTimingDescription", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html", null ], - [ "SetVRAMTuningStates", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html deleted file mode 100644 index 2a8aa49..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetEmptyVRAMTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetEmptyVRAMTuningStates
-
-
-

Gets the reference counted list of empty VRAM tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    GetEmptyVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates)
- 

Parameters

-
-
-
- - -
1.[out]ppVRAMStatesIADLXManualTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVRAMStates to nullptr.
-
-
-

Return Value

-

If the list of empty VRAM tuning states is successfully returned, ADLX_OK is returned.
- If the list of empty VRAM tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

All the value in this list are zero. In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html deleted file mode 100644 index aa4e0c0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMemoryTimingDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMemoryTimingDescription
-
-
-

Gets the current memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description)
- 

Parameters

-
-
-
- - -
1.[out]descriptionADLX_MEMORYTIMING_DESCRIPTION*The pointer to a variable where the memory timing description is returned.
-
-
-

Return Value

-

If the memory timing description is successfully returned, ADLX_OK is returned.
- If the memory timing description is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html deleted file mode 100644 index 5c03d7a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSupportedMemoryTimingDescriptionList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSupportedMemoryTimingDescriptionList
-
-
-

Gets the reference counted list of the supported memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList)
- 

Parameters

-
-
-
- - -
1.[out]ppDescriptionListIADLXMemoryTimingDescriptionList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDescriptionList to nullptr.
-
-
-

Return Value

-

If the list of the supported memory timing description is successfully returned, ADLX_OK is returned.
- If the list of the supported memory timing description is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html deleted file mode 100644 index ba86a5c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetVRAMTuningRanges - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetVRAMTuningRanges
-
-
-

Gets the VRAM frequency range and the VRAM voltage range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetVRAMTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange)
- 

Parameters

-
-
-
- - -
1.[out]frequencyRangeADLX_IntRange*The pointer to a variable where the frequency range (in MHz) is returned.
-
-
-
-
-
- - -
2.[out]voltageRangeADLX_IntRange*The pointer to a variable where the voltage range (in mV) is returned.
-
-
-

Return Value

-

If the frequency and voltage range are successfully returned, ADLX_OK is returned.
- If the frequency and voltage range are not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The VRAM frequency range and the VRAM voltage range are applicable to all the VRAM states on this GPU.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html deleted file mode 100644 index 3b29347..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetVRAMTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetVRAMTuningStates
-
-
-

Gets the reference counted list of current VRAM tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    GetVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates)
- 

Parameters

-
-
-
- - -
1.[out]ppVRAMStatesIADLXManualTuningStateList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVRAMStates to nullptr.
-
-
-

Return Value

-

If the list of VRAM tuning states is successfully returned, ADLX_OK is returned.
- If the list of VRAM tuning states is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html deleted file mode 100644 index f58cfe4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedMemoryTiming - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedMemoryTiming
-
-
-

Checks if the memory timing is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedMemoryTiming (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of memory timing is returned. The variable is true if memory timing is supported. The variable is false if memory timing is not supported.
-
-
-

Return Value

-

If the state of memory timing is successfully returned, ADLX_OK is returned.
- If the state of memory timing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html deleted file mode 100644 index 0b5c693..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsValidVRAMTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsValidVRAMTuningStates
-
-
-

Checks the validity of listed VRAM tuning states on a GPU.

-

Syntax

-
- ADLX_RESULT    IsValidVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex)
- 

Parameters

-
-
-
- - -
1.[in]pVRAMStatesIADLXManualTuningStateList*The pointer to the VRAM states list interface.
-
-
-
-
-
- - -
2.[out]errorIndexadlx_int*The pointer to a variable where the invalid states index is returned.
-
-
-

Return Value

-

If IsValidVRAMTuningStates is successfully executed, ADLX_OK is returned.
- If IsValidVRAMTuningStates is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

If the *pVRAMStates is valid then the method sets the errorIndex to -1.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html deleted file mode 100644 index 68430ea..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMemoryTimingDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMemoryTimingDescription
-
-
-

Sets the memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMemoryTimingLevel (ADLX_MEMORYTIMING_DESCRIPTION description)
- 

Parameters

-
-
-
- - -
1.[in]descriptionADLX_MEMORYTIMING_DESCRIPTIONThe new memory timing description.
-
-
-

Return Value

-

If the memory timing description is successfully set, ADLX_OK is returned.
- If the memory timing description is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html deleted file mode 100644 index 88a6565..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetVRAMTuningStates - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetVRAMTuningStates
-
-
-

Sets listed VRAM states to the tuning state on a GPU.

-

Syntax

-
- ADLX_RESULT    SetVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates)
- 

Parameters

-
-
-
- - -
1.[in]pVRAMStatesIADLXManualTuningStateList*The pointer to the VRAM states list interface.
-
-
-

Return Value

-

If the VRAM tuning states are successfully set, ADLX_OK is returned.
- If the VRAM tuning states are not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html deleted file mode 100644 index 502292f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXManualVRAMTuning2 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXManualVRAMTuning2
-
-
-

The IADLXManualVRAMTuning2 interface provides methods to configure the GPU manual VRAM tuning for RDNA ASIC family.

- - - - - - - - - -
InterfaceId:IADLXManualVRAMTuning2
Smart Pointer Interface Name:IADLXManualVRAMTuning2Ptr
Inherits:IADLXInterface
Inherited By:NA
-

Methods

- - - - - - - - - - - - - - - - - -
Method Description
GetMaxVRAMFrequency Gets the current maximum frequency value of a VRAM on a GPU.
GetMaxVRAMFrequencyRange Gets the maximum VRAM frequency range on a GPU.
GetMemoryTimingDescription Gets the current memory timing description on a GPU.
GetSupportedMemoryTimingDescriptionList Gets the reference counted list of the supported memory timing description on a GPU.
IsSupportedMemoryTiming Checks if the memory timing is supported on a GPU.
SetMaxVRAMFrequency Sets the maximum VRAM frequency value on a GPU.
SetMemoryTimingDescription Sets the memory timing description on a GPU.
-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample.
- For a C application, refer to the ManualVRAMTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.js deleted file mode 100644 index 7ad849a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.js +++ /dev/null @@ -1,10 +0,0 @@ -var _d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2 = -[ - [ "GetMaxVRAMFrequency", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html", null ], - [ "GetMaxVRAMFrequencyRange", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html", null ], - [ "GetMemoryTimingDescription", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html", null ], - [ "GetSupportedMemoryTimingDescriptionList", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html", null ], - [ "IsSupportedMemoryTiming", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html", null ], - [ "SetMaxVRAMFrequency", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html", null ], - [ "SetMemoryTimingDescription", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html deleted file mode 100644 index e272b80..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMaxVRAMFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMaxVRAMFrequency
-
-
-

Gets the current maximum frequency value of a VRAM on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMaxVRAMFrequency (adlx_int* freq)
- 

Parameters

-
-
-
- - -
1.[out]freqadlx_int*The pointer to a variable where the max frequency value (in MHz) is returned.
-
-
-

Return Value

-

If the max frequency value is successfully returned, ADLX_OK is returned.
- If the max frequency value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html deleted file mode 100644 index 8bdcf3a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMaxVRAMFrequencyRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMaxVRAMFrequencyRange
-
-
-

Gets the maximum VRAM frequency range on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMaxVRAMFrequencyRange (ADLX_IntRange* tuningRange)
- 

Parameters

-
-
-
- - -
1.[out]tuningRangeADLX_IntRange*The pointer to a variable where the max frequency range (in MHz) is returned.
-
-
-

Return Value

-

If the max frequency range is successfully returned, ADLX_OK is returned.
- If the max frequency range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html deleted file mode 100644 index 63871fe..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMemoryTimingDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMemoryTimingDescription
-
-
-

Gets the current memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description)
- 

Parameters

-
-
-
- - -
1.[out]descriptionADLX_MEMORYTIMING_DESCRIPTION*The pointer to a variable where the memory timing description is returned.
-
-
-

Return Value

-

If the memory timing description is successfully returned, ADLX_OK is returned.
- If the memory timing description is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html deleted file mode 100644 index 3830415..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSupportedMemoryTimingDescriptionList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSupportedMemoryTimingDescriptionList
-
-
-

Gets the reference counted list of the supported memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList)
- 

Parameters

-
-
-
- - -
1.[out]ppDescriptionListIADLXMemoryTimingDescriptionList**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDescriptionList to nullptr.
-
-
-

Return Value

-

If the list of the supported memory timing description is successfully returned, ADLX_OK is returned.
- If the list of the supported memory timing description is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html deleted file mode 100644 index e7e4960..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedMemoryTiming - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedMemoryTiming
-
-
-

Checks if the memory timing is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupportedMemoryTiming (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of memory timing is returned. The variable is true if memory timing is supported. The variable is false if memory timing is not supported.
-
-
-

Return Value

-

If the state of memory timing is successfully returned, ADLX_OK is returned.
- If the state of memory timing is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html deleted file mode 100644 index ee09f08..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMaxVRAMFrequency - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMaxVRAMFrequency
-
-
-

Sets the maximum VRAM frequency value on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMaxVRAMFrequency (adlx_int freq)
- 

Parameters

-
-
-
- - -
1.[in]freqadlx_intThe new max frequency value (in MHz).
-
-
-

Return Value

-

If the max frequency value is successfully set, ADLX_OK is returned.
- If the max frequency value is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html deleted file mode 100644 index 5fc8dd2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMemoryTimingDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMemoryTimingDescription
-
-
-

Sets the memory timing description on a GPU.

-

Syntax

-
- ADLX_RESULT    SetMemoryTimingLevel (ADLX_MEMORYTIMING_DESCRIPTION description)
- 

Parameters

-
-
-
- - -
1.[in]descriptionADLX_MEMORYTIMING_DESCRIPTIONThe new memory timing description.
-
-
-

Return Value

-

If the memory timing description is successfully set, ADLX_OK is returned.
- If the memory timing description is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.

-

Requirements

- - - - - -
Headerinclude "IGPUManualVRAMTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.html deleted file mode 100644 index 13da470..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXMemoryTimingDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXMemoryTimingDescription
-
-
-

The IADLXMemoryTimingDescription interface provides the description of a memory timing.

- - - - - - - - - -
InterfaceId:IADLXMemoryTimingDescription
Smart Pointer Interface Name:IADLXMemoryTimingDescriptionPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - -
Method Description
GetDescription Gets the memory timing description.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample.
- For a C application, refer to the ManualVRAMTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.js deleted file mode 100644 index d7d8a48..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_memory_timing_description = -[ - [ "GetDescription", "_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html deleted file mode 100644 index 7fbf653..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDescription - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDescription
-
-
-

Gets the memory timing description.

-

Syntax

-
- ADLX_RESULT    GetDescription (ADLX_MEMORYTIMING_DESCRIPTION* description)
- 

Parameters

-
-
-
- - -
1.[out] descriptionADLX_MEMORYTIMING_DESCRIPTION* The pointer to a variable where the memory timing description is returned.
-
-
-

Return Value

-

If the memory timing description is successfully returned, ADLX_OK is returned.
- If the memory timing description is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.html deleted file mode 100644 index 0cd5749..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXMemoryTimingDescriptionList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXMemoryTimingDescriptionList
-
-
-

The IADLXMemoryTimingDescriptionList is an interface for a collection of IADLXMemoryTimingDescription interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXMemoryTimingDescriptionList
Smart Pointer Interface Name:IADLXMemoryTimingDescriptionListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample.
- For a C application, refer to the ManualVRAMTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.js deleted file mode 100644 index 0147d49..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_memory_timing_description_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html deleted file mode 100644 index ca62843..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXMemoryTimingDescription* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXMemoryTimingDescription* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html deleted file mode 100644 index 741b382..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXMemoryTimingDescription** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXMemoryTimingDescription** The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IGPUTuning.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.html deleted file mode 100644 index 1789dde..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXPerformanceMonitoringServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXPerformanceMonitoringServices
-
-
-

The IADLXPerformanceMonitoringServices interface provides methods to configure the performance monitoring functionality and to obtain the performance data.

- - - - - - - - - -
InterfaceId:IADLXPerformanceMonitoringServices
Smart Pointer Interface Name:IADLXPerformanceMonitoringServicesPtr
Inherits:IADLXInterface
Inherited By:N/A
-

The IADLXPerformanceMonitoringServices interface provides:

    -
  • The configuration for the performance metric sampling.
  • -
  • The methods to start and stop the performance metric sampling.
  • -
  • Access to the data from the performance metric buffer.
  • -
-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
ClearPerformanceMetricsHistory Clears the buffer for performance monitoring.
GetAllMetricsHistory Gets the reference counted list of all the metrics in a time interval.
GetCurrentAllMetrics Gets the reference counted IADLXAllMetrics interface for the current metric set.
GetCurrentFPS Gets the reference counted IADLXFPS interface for the current FPS metric.
GetCurrentGPUMetrics Gets the reference counted IADLXGPUMetrics interface for the current metric set of a GPU.
GetCurrentPerformanceMetricsHistorySize Gets the duration of the metrics history from the performance monitoring buffer.
GetCurrentSystemMetrics Gets the reference counted IADLXSystemMetrics interface for the current metric set.
GetFPSHistory Gets the reference counted list of FPS metrics in a time interval.
GetGPUMetricsHistory Gets the reference counted list of GPU metrics in a time interval of a GPU.
GetMaxPerformanceMetricsHistorySize Gets the duration of the performance monitoring buffer.
GetMaxPerformanceMetricsHistorySizeRange Gets the maximum size, minimum size, and step size for the performance monitoring buffer.
GetSamplingInterval Gets the sampling interval for performance monitoring.
GetSamplingIntervalRange Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring.
GetSupportedGPUMetrics Gets the reference counted interface for discovering what performance metrics are supported on a GPU.
GetSupportedSystemMetrics Gets the reference counted interface for discovering what performance metrics are supported on the system.
GetSystemMetricsHistory Gets the reference counted list of system metrics in a time interval.
SetMaxPerformanceMetricsHistorySize Sets the duration of the performance monitoring buffer.
SetSamplingInterval Sets the sampling interval for the performance monitoring.
StartPerformanceMetricsTracking Increases the count for the performance metrics tracking.
StopPerformanceMetricsTracking Decreases the count for the performance metrics tracking.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.js deleted file mode 100644 index 1a39b13..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services.js +++ /dev/null @@ -1,23 +0,0 @@ -var _d_o_x__i_a_d_l_x_performance_monitoring_services = -[ - [ "ClearPerformanceMetricsHistory", "_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html", null ], - [ "GetAllMetricsHistory", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html", null ], - [ "GetCurrentAllMetrics", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html", null ], - [ "GetCurrentFPS", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html", null ], - [ "GetCurrentGPUMetrics", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html", null ], - [ "GetCurrentPerformanceMetricsHistorySize", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html", null ], - [ "GetCurrentSystemMetrics", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html", null ], - [ "GetFPSHistory", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html", null ], - [ "GetGPUMetricsHistory", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html", null ], - [ "GetMaxPerformanceMetricsHistorySize", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html", null ], - [ "GetMaxPerformanceMetricsHistorySizeRange", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html", null ], - [ "GetSamplingInterval", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html", null ], - [ "GetSamplingIntervalRange", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html", null ], - [ "GetSupportedGPUMetrics", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html", null ], - [ "GetSupportedSystemMetrics", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html", null ], - [ "GetSystemMetricsHistory", "_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html", null ], - [ "SetMaxPerformanceMetricsHistorySize", "_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html", null ], - [ "SetSamplingInterval", "_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html", null ], - [ "StartPerformanceMetricsTracking", "_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html", null ], - [ "StopPerformanceMetricsTracking", "_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html deleted file mode 100644 index a3cdde6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ClearPerformanceMetricsHistory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ClearPerformanceMetricsHistory
-
-
-

Clears the buffer for performance monitoring.

-

Syntax

-
- ADLX_RESULT    ClearPerformanceMetricsHistory ()
- 

Parameters

-

N/A

-

Return Value

-

If the buffer of performance monitoring is successfully cleared, ADLX_OK is returned.
- If the buffer of performance monitoring is not successfully cleared, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html deleted file mode 100644 index 8194094..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAllMetricsHistory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAllMetricsHistory
-
-
-

Gets the reference counted list of all the metrics in a time interval.

-

Syntax

-
- ADLX_RESULT    GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList)
- 

Parameters

-
-
-
- - -
1.[in] startMsadlx_int The start time of the time interval (in millisecond).
-
-
-
-
-
- - -
1.[in] stopMsadlx_int The stop time of the time interval (in millisecond).
-
-
-
-
-
- - -
1.[out] ppMetricsListIADLXAllMetricsList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Use the startMs and stopMs to specify the time intervals for fetching the history.

    -
  • To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms.
    -
  • -
-

The returned interface must be discarded with Release when it is no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html deleted file mode 100644 index 26bc8a0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentAllMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentAllMetrics
-
-
-

Gets the reference counted IADLXAllMetrics interface for the current metric set.

-

Syntax

-
- ADLX_RESULT    GetCurrentAllMetrics (IADLXAllMetrics** ppMetrics)
- 

Parameters

-
-
-
- - -
1.[out] ppMetricsIADLXAllMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the current interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetAllMetricsHistory.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html deleted file mode 100644 index d94f2ca..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentFPS - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentFPS
-
-
-

Gets the reference counted IADLXFPS interface for the current FPS metric.

-

Syntax

-
- ADLX_RESULT    GetCurrentFPS (IADLXFPS** ppMetrics)
- 

Parameters

-
-
-
- - -
1.[out] ppMetricsIADLXFPS** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetFPSHistory.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html deleted file mode 100644 index 8844a9d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentGPUMetrics
-
-
-

Gets the reference counted IADLXGPUMetrics interface for the current metric set of a GPU.

-

Syntax

-
- ADLX_RESULT    GetCurrentGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppMetricsIADLXGPUMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetGPUMetricsHistory.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html deleted file mode 100644 index 113c6b9..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentPerformanceMetricsHistorySize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentPerformanceMetricsHistorySize
-
-
-

Gets the duration of the metrics history from the performance monitoring buffer.

-

Syntax

-
- ADLX_RESULT    GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec)
- 

Parameters

-
-
-
- - -
1.[out] sizeSecadlx_int* The pointer to a variable where the duration (in second) is returned.
-
-
-

Return Value

-

If the duration is successfully returned, ADLX_OK is returned.
- If the duration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The buffer duration ranges between 50 s and 100 s. The default size is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html deleted file mode 100644 index 24a0e6e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCurrentSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCurrentSystemMetrics
-
-
-

Gets the reference counted IADLXSystemMetrics interface for the current metric set.

-

Syntax

-
- ADLX_RESULT    GetCurrentSystemMetrics (IADLXSystemMetrics** ppMetrics)
- 

Parameters

-
-
-
- - -
1.[out] ppMetricsIADLXSystemMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetSystemMetricsHistory.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html deleted file mode 100644 index 1c7a19a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetFPSHistory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetFPSHistory
-
-
-

Gets the reference counted list of FPS metrics in a time interval.

-

Syntax

-
- ADLX_RESULT    GetFPSHistory (adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList)
- 

Parameters

-
-
-
- - -
1.[in] startMsadlx_int The start time of the time interval (in millisecond).
-
-
-
-
-
- - -
2.[in] stopMsadlx_int The stop time of the time interval (in millisecond).
-
-
-
-
-
- - -
3.[out] ppMetricsListIADLXFPSList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Use the startMs and stopMs to specify the time intervals for fetching the history.

    -
  • To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms.
    -
  • -
-

The returned interface must be discarded with Release when it is no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.
- Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html deleted file mode 100644 index 0859e46..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUMetricsHistory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUMetricsHistory
-
-
-

Gets the reference counted list of GPU metrics in a time interval of a GPU.

-

Syntax

-
- ADLX_RESULT    GetGPUMetricsHistory (IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[in] startMsadlx_int The start time of the time interval (in millisecond).
-
-
-
-
-
- - -
3.[in] stopMsadlx_int The stop time of the time interval (in millisecond).
-
-
-
-
-
- - -
4.[out] ppMetricsListIADLXGPUMetricsList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Use the startMs and stopMs to specify the time intervals for fetching the history.

    -
  • To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms.
    -
  • -
-

The returned interface must be discarded with Release when it is no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html deleted file mode 100644 index 20da5f2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMaxPerformanceMetricsHistorySize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMaxPerformanceMetricsHistorySize
-
-
-

Gets the duration of the performance monitoring buffer.

-

Syntax

-
- ADLX_RESULT    GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec)
- 

Parameters

-
-
-
- - -
1.[out] sizeSecadlx_int* The pointer to a variable where the buffer duration (in second) is returned.
-
-
-

Return Value

-

If the buffer duration is successfully returned, ADLX_OK is returned.
- If the buffer duration is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Obtain the buffer duration range with GetMaxPerformanceMetricsHistorySizeRange. The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html deleted file mode 100644 index f3a23fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetMaxPerformanceMetricsHistorySizeRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetMaxPerformanceMetricsHistorySizeRange
-
-
-

Gets the maximum size, minimum size, and step size for the performance monitoring buffer.

-

Syntax

-
- ADLX_RESULT    GetMaxPerformanceMetricsHistorySizeRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the buffer size range (in second) is returned.
-
-
-

Return Value

-

If the buffer size range is successfully returned, ADLX_OK is returned.
- If the buffer size range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum buffer size, minimum buffer size, and step buffer size are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html deleted file mode 100644 index caedc56..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSamplingInterval - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSamplingInterval
-
-
-

Gets the sampling interval for performance monitoring.

-

Syntax

-
- ADLX_RESULT    GetSamplingInterval (adlx_int* intervalMs)
- 

Parameters

-
-
-
- - -
1.[out] intervalMsadlx_int* The pointer to a variable where the sampling interval (in millisecond) is returned.
-
-
-

Return Value

-

If the sampling interval is successfully returned, ADLX_OK is returned.
- If the sampling interval is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The sampling interval is the time gap between two samples. Obtain the sampling interval range with GetSamplingIntervalRange. The default sampling interval is 1000 ms.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html deleted file mode 100644 index a8297b7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSamplingIntervalRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSamplingIntervalRange
-
-
-

Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring.

-

Syntax

-
- ADLX_RESULT    GetSamplingIntervalRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the sampling interval range (in millisecond) is returned.
-
-
-

Return Value

-

If the sampling interval range is successfully returned, ADLX_OK is returned.
- If the sampling interval range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The maximum sampling interval, minimum sampling interval, and step sampling interval are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html deleted file mode 100644 index 5f79ade..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSupportedGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSupportedGPUMetrics
-
-
-

Gets the reference counted interface for discovering what performance metrics are supported on a GPU.

-

Syntax

-
- ADLX_RESULT    GetSupportedGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppMetricsSupportedIADLXGPUMetricsSupport** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsSupported to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html deleted file mode 100644 index 86df105..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSupportedSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSupportedSystemMetrics
-
-
-

Gets the reference counted interface for discovering what performance metrics are supported on the system.

-

Syntax

-
- ADLX_RESULT    GetSupportedSystemMetrics (IADLXSystemMetricsSupport** ppMetricsSupported)
- 

Parameters

-
-
-
- - -
1.[out] ppMetricsSupportedIADLXSystemMetricsSupport** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsSupported to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html deleted file mode 100644 index 0ebf367..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSystemMetricsHistory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSystemMetricsHistory
-
-
-

Gets the reference counted list of system metrics in a time interval.

-

Syntax

-
- ADLX_RESULT    GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList)
- 

Parameters

-
-
-
- - -
1.[in] startMsadlx_int The start time of the time interval (in millisecond).
-
-
-
-
-
- - -
2.[in] stopMsadlx_int The stop time of the time interval (in millisecond).
-
-
-
-
-
- - -
3.[out] ppMetricsListIADLXSystemMetricsList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Use the startMs and stopMs to specify the time intervals for fetching the history.

    -
  • To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero.
    -
  • -
  • To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms.
    -
  • -
-

The returned interface must be discarded with Release when it is no longer needed.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html deleted file mode 100644 index fb857a3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetMaxPerformanceMetricsHistorySize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetMaxPerformanceMetricsHistorySize
-
-
-

Sets the duration of the performance monitoring buffer.

-

Syntax

-
- ADLX_RESULT    SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec)
- 

Parameters

-
-
-
- - -
1.[in] sizeSecadlx_int The buffer duration (in second).
-
-
-

Return Value

-

If the buffer duration is successfully set, ADLX_OK is returned.
- If the buffer duration is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Obtain the buffer duration range with GetMaxPerformanceMetricsHistorySizeRange. The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html deleted file mode 100644 index c4bcf0d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetSamplingInterval - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetSamplingInterval
-
-
-

Sets the sampling interval for the performance monitoring.

-

Syntax

-
- ADLX_RESULT    SetSamplingInterval (adlx_int intervalMs)
- 

Parameters

-
-
-
- - -
1.[in] intervalMsadlx_int The sampling interval (in millisecond).
-
-
-

Return Value

-

If the sampling interval is successfully set, ADLX_OK is returned.
- If the sampling interval is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The sampling interval is the time gap between two samples. Obtain the sampling interval range with GetSamplingIntervalRange. The default sampling interval is 1000 ms.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html deleted file mode 100644 index 1f95ac3..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: StartPerformanceMetricsTracking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
StartPerformanceMetricsTracking
-
-
-

Increases the count for the performance metrics tracking.

-

Syntax

-
- ADLX_RESULT    StartPerformanceMetricsTracking ()
- 

Parameters

-

N/A

-

Return Value

-

If the count is successfully increased, ADLX_OK is returned.
- If the count is not successfully increased, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the StartPerformanceMetricsTracking. The count is increased by one every time the tracking starts.
- By default, the count is zero. The monitoring starts when the first call is made and the count increases by one.
- If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html deleted file mode 100644 index 11dae13..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: StopPerformanceMetricsTracking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
StopPerformanceMetricsTracking
-
-
-

Decreases the count for the performance metrics tracking.

-

Syntax

-
- ADLX_RESULT    StopPerformanceMetricsTracking ()
- 

Parameters

-

N/A

-

Return Value

-

If the count is successfully decreased, ADLX_OK is returned.
- If the count is not successfully decreased, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes

-

Remarks

-

ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the StopPerformanceMetricsTracking.
- When the StopPerformanceMetricsTracking is called, the count is decreased by one. When the count reaches zero, the monitoring stops.
- If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.html deleted file mode 100644 index 30cb947..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXPowerTuningChangedEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXPowerTuningChangedEvent
-
-
-

The IADLXPowerTuningChangedEvent interface provides methods to check for changes to the power tuning settings.

- - - - - - - - - -
InterfaceId:IADLXPowerTuningChangedEvent
Smart Pointer Interface Name:IADLXPowerTuningChangedEventPtr
Inherits:IADLXChangedEvent
Inherited By:N/A
-

Methods

- - - - - -
Method Description
IsSmartShiftMaxChanged Checks for changes to the AMD SmartShift Max settings.
-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample.
- For a C application, refer to the SyncPowerTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.js deleted file mode 100644 index 8ca9310..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_power_tuning_changed_event = -[ - [ "IsSmartShiftMaxChanged", "_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html deleted file mode 100644 index 522446d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSmartShiftMaxChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSmartShiftMaxChanged
-
-
-

Checks for changes to the AMD SmartShift Max settings.

-

Syntax

-
- adlx_bool    IsSmartShiftMaxChanged ()
- 

Parameters

-

N/A

-

Return Value

-

If there are any changes to the AMD SmartShift Max settings, true is returned.
- If there are on changes to the AMD SmartShift Max settings, false is returned.
-

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html deleted file mode 100644 index 6836bd5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXPowerTuningChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXPowerTuningChangedHandling
-
-
-

The IADLXPowerTuningChangedHandling interface enables the registering and unregistering for event listener notifications whenever power tuning settings are changed.

- - - - - - - - - -
InterfaceId:IADLXPowerTuningChangedHandling
Smart Pointer Interface Name:IADLXPowerTuningChangedHandlingPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
AddPowerTuningEventListener Registers an event listener for notifications whenever power tuning settings are changed.
RemovePowerTuningEventListener Unregisters an event listener from the power tuning settings event list.
-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample.
- For a C application, refer to the SyncPowerTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.js deleted file mode 100644 index 0ec7e8f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_power_tuning_changed_handling = -[ - [ "AddPowerTuningEventListener", "_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html", null ], - [ "RemovePowerTuningEventListener", "_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html deleted file mode 100644 index 70c8762..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AddPowerTuningEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AddPowerTuningEventListener
-
-
-

Registers an event listener for notifications whenever power tuning settings are changed.

-

Syntax

-
- ADLX_RESULT    AddPowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pPowerTuningChangedListenerIADLXPowerTuningChangedListener* The pointer to the event listener interface to register for receiving power tuning settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully registered, ADLX_OK is returned.
- If the event listener is not successfully registered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Once the event listener is successfully registered, ADLX calls the OnPowerTuningChanged listener method whenever power tuning settings are changed.
- The event listener instance must exist until the application unregisters the event listener with RemovePowerTuningEventListener.
-

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html deleted file mode 100644 index c27f8ec..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RemovePowerTuningEventListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RemovePowerTuningEventListener
-
-
-

Unregisters an event listener from the power tuning settings event list.

-

Syntax

-
- ADLX_RESULT    RemovePowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener)
- 

Parameters

-
-
-
- - -
1.[in] pPowerTuningChangedListenerIADLXPowerTuningChangedListener* The pointer to the event listener interface to unregister from receiving power tuning settings change notifications.
-
-
-

Return Value

-

If the event listener is successfully unregistered, ADLX_OK is returned.
- If the event listener is not successfully unregistered, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Once the event listener is successfully unregistered, ADLX will no longer call the OnPowerTuningChanged listener method when power tuning settings are changed. The application can discard the event listener instance.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html deleted file mode 100644 index da994a6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXPowerTuningChangedListener - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXPowerTuningChangedListener
-
-
-

The IADLXPowerTuningChangedListener interface is implemented in the application to receive an event from ADLX when power tuning settings change.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

An instance of the implemented IADLXPowerTuningChangedListener interface must be passed to AddPowerTuningEventListener to register for notifications when the power tuning settings changes.
- For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX.
-

-

Methods

- - - - - -
Method Description
OnPowerTuningChanged OnPowerTuningChanged is called by ADLX when power tuning settings change.
-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample.
- For a C application, refer to the SyncPowerTuning C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.js deleted file mode 100644 index 983b1dd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_power_tuning_changed_listener = -[ - [ "OnPowerTuningChanged", "_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html deleted file mode 100644 index 37be7c2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: OnPowerTuningChanged - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
OnPowerTuningChanged
-
-
-

OnPowerTuningChanged is called by ADLX when power tuning settings change.

-

Syntax

-
- adlx_bool    OnPowerTuningChanged (IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent)
- 

Parameters

-
-
-
- - -
1.[in] pPowerTuningChangedEventIADLXPowerTuningChangedEvent* The pointer to a power tuning settings change event.
-
-
-

Return Value

-

If the application requires ADLX to continue notifying the next listener, true must be returned.
- If the application requires ADLX to stop notifying the next listener, false must be returned.
-

-

Remarks

-

Once the application registers to the notifications with AddPowerTuningEventListener, ADLX will call this method until the application unregisters from the notifications with RemovePowerTuningEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the power tuning settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the power tuning settings change event with Release.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.html deleted file mode 100644 index a3ad5b2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXPowerTuningServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXPowerTuningServices
-
-
-

The IADLXPowerTuningServices is the main interface for the Power Tuning domain and provides access to interfaces that control specific power tuning features, such as AMD SmartShift Max.

- - - - - - - - - -
InterfaceId:IADLXPowerTuningServices
Smart Pointer Interface Name:IADLXPowerTuningServicesPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
GetPowerTuningChangedHandling Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change.
GetSmartShiftMax Gets the reference counted AMD SmartShift Max interface.
-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample.
- For a C application, refer to the SmartShiftMax C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.js deleted file mode 100644 index 2114e96..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_power_tuning_services = -[ - [ "GetPowerTuningChangedHandling", "_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html", null ], - [ "GetSmartShiftMax", "_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html deleted file mode 100644 index c524b5d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPowerTuningChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPowerTuningChangedHandling
-
-
-

Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change.

-

Syntax

-
- ADLX_RESULT    GetPowerTuningChangedHandling (IADLXPowerTuningChangedHandling** ppPowerTuningChangedHandling)
- 

Parameters

-
-
-
- - -
1.[out] ppPowerTuningChangedHandlingIADLXPowerTuningChangedHandling** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPowerTuningChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html deleted file mode 100644 index 10b1693..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSmartShiftMax - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSmartShiftMax
-
-
-

Gets the reference counted AMD SmartShift Max interface.

-

Syntax

-
- ADLX_RESULT    GetSmartShiftMax (IADLXSmartShiftMax** ppSmartShiftMax)
- 

Parameters

-
-
-
- - -
1.[out] ppSmartShiftMaxIADLXSmartShiftMax** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSmartShiftMax to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.html deleted file mode 100644 index 9120329..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSimpleEyefinity - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSimpleEyefinity
-
-
-

The IADLXSimpleEyefinity interface creates and destroys AMD Eyefinity desktops.

- - - - - - - - - -
InterfaceId:IADLXSimpleEyefinity
Smart Pointer Interface Name:IADLXSimpleEyefinityPtr
Inherits:IADLXInterface
Inherited By:N/A
-

To get the IADLXSimpleEyefinity, an application should get a list of desktops first via IADLXDesktopServices interface.

-

Methods

- - - - - - - - - - - -
Method Description
Create Creates an AMD Eyefinity desktop with all the enabled displays.
Destroy Destroys a specified AMD Eyefinity desktop.
DestroyAll Destroys all the AMD Eyefinity desktops.
IsSupported Checks if an AMD Eyefinity desktop can be created with all the enabled displays.
-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample.
- For a C application, refer to the Eyefinity C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.js deleted file mode 100644 index ed0a363..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_simple_eyefinity = -[ - [ "Create", "_d_o_x__i_a_d_l_x_simple_eyefinity__create.html", null ], - [ "Destroy", "_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html", null ], - [ "DestroyAll", "_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__create.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__create.html deleted file mode 100644 index a76d8f4..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__create.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Create - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Create
-
-
-

Creates an AMD Eyefinity desktop with all the enabled displays.

-

Syntax

-
- ADLX_RESULT    Create (IADLXEyefinityDesktop** ppEyefinityDesktop)
- 

Parameters

-
-
-
- - -
1.[out] ppEyefinityDesktopIADLXEyefinityDesktop** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppEyefinityDesktop to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Use IsSupported to check if an AMD Eyefinity desktop can be created.
- Creating an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished.
- The returned interface must be discarded with Release when it is no longer needed. Discarding the interface does not destroy the AMD Eyefinity desktop.
-

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html deleted file mode 100644 index f7f05af..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Destroy - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Destroy
-
-
-

Destroys a specified AMD Eyefinity desktop.

-

Syntax

-
- ADLX_RESULT    Destroy (IADLXEyefinityDesktop* pDesktop)
- 

Parameters

-
-
-
- - -
1.[in] pDesktopIADLXEyefinityDesktop* The pointer to the eyefinity desktop to be destroyed.
-
-
-

Return Value

-

If the AMD Eyefinity desktop is successfully destroyed, ADLX_OK is returned.
- If the AMD Eyefinity desktop is not successfully destroyed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Destroying an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html deleted file mode 100644 index b658e94..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DestroyAll - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DestroyAll
-
-
-

Destroys all the AMD Eyefinity desktops.

-

Syntax

-
- ADLX_RESULT    DestroyAll ()
- 

Return Value

-

If all AMD Eyefinity desktops are successfully destroyed, ADLX_OK is returned.
- If all AMD Eyefinity desktops are not successfully destroyed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

Destroying all AMD Eyefinity desktops can take a couple of seconds to complete. The method will block the execution thread until the operation is finished.

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html deleted file mode 100644 index 132916f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if an AMD Eyefinity desktop can be created with all the enabled displays.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out] supportedadlx_bool* The pointer to a variable where the state of AMD Eyefinity desktop creation is returned. The variable is true if AMD Eyefinity desktop creation is supported. The variable is false if AMD Eyefinity desktop creation is not supported.
-
-
-

Return Value

-

If the state is successfully returned, ADLX_OK is returned.
- If the state is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

AMD Eyefinity desktops can be created with ADLX using all the enabled displays connected to the AMD GPUs, except LCD panel displays. For more information about AMD GPUs, refer to ADLX GPU Support. Use DisplayType to check if a display is an LCD panel.
- All the desktops must be single desktops. Use Type to check if a desktop is a single desktop.
- All the enabled displays must be connected to the same GPU.
- The AMD Eyefinity desktop configuration must be supported by the AMD driver. Driver support varies depending on the GPU.
-

-

Requirements

- - - - - -
Headerinclude "IDesktops.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.html deleted file mode 100644 index b5f936d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSmartAccessMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSmartAccessMemory
-
-
-

The IADLXSmartAccessMemory interface enables AMD Ryzen processors to utilize the full potential of the graphics card memory by utilizing the bandwidth of PCI Express� to reduce bottlenecks and increase gaming performance, especially in an all-AMD setup.

- - - - - - - - - -
InterfaceId:IADLXSmartAccessMemory
Smart Pointer Interface Name:IADLXSmartAccessMemoryPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - -
Method Description
IsEnabled Checks if AMD SmartAccess Memory is enabled on a GPU.
IsSupported Checks if AMD SmartAccess Memory is supported on a GPU.
SetEnabled Enable or disable the state of AMD SmartAccess Memory on a GPU.
-

Requirements

- - - - - -
Headerinclude "ISmartAccessMemory.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SmartAccessMemory C++ sample.
- For a C application, refer to the SmartAccessMemory C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.js deleted file mode 100644 index 7d1d68d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory.js +++ /dev/null @@ -1,6 +0,0 @@ -var _d_o_x__i_a_d_l_x_smart_access_memory = -[ - [ "IsEnabled", "_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html", null ], - [ "SetEnabled", "_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html deleted file mode 100644 index d7b26cd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsEnabled
-
-
-

Checks if AMD SmartAccess Memory is enabled on a GPU.

-

Syntax

-
- ADLX_RESULT    IsEnabled (adlx_bool* enabled)
- 

Parameters

-
-
-
- - -
1.[out]enabledadlx_bool*The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is enabled. The variable is false if AMD SmartAccess Memory is not enabled.
-
-
-

Return Value

-

If the state of AMD SmartAccess Memory is successfully returned, ADLX_OK is returned.
- If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Requirements

- - - - - -
Headerinclude "ISmartAccessMemory.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html deleted file mode 100644 index 4322431..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD SmartAccess Memory is supported on a GPU.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is supported. The variable is false if AMD SmartAccess Memory is not supported.
-
-
-

Return Value

-

If the state of AMD SmartAccess Memory is successfully returned, ADLX_OK is returned.
- If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "ISmartAccessMemory.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html deleted file mode 100644 index c1e6e48..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetEnabled - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetEnabled
-
-
-

Enable or disable the state of AMD SmartAccess Memory on a GPU.

-

Syntax

-
- ADLX_RESULT    SetEnabled (adlx_bool enable)
- 

Parameters

-
-
-
- - -
1.[in]enableadlx_boolThe new AMD SmartAccess Memory state. Set true to enable AMD SmartAccess Memory. Set false to disable AMD SmartAccess Memory.
-
-
-

Return Value

-

If the state of AMD SmartAccess Memory is successfully set, ADLX_OK is returned.
- If the state of AMD SmartAccess Memory is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The SetEnabled method triggers an asynchronous operation that results in changing the maximum size of VRAM of a GPU that the CPU can address.
- While this operation is in progress, the applications that run in the context of the GPU or make calls in the driver for the GPU will behave unexpectedly. Before making this call, ensure that these applications release the GPU context, such as by closing their user interfaces, and that they will not make calls into the GPU driver during this operation. This procedure will allow those applications to continue to function correctly during and after the operation is completed.
- To learn when the operation is completed, register an event listener interface using GetGPUTuningChangedHandling before calling SetEnabled. ADLX will call OnGPUTuningChanged into the event listener interface twice during the asynchronous execution of SetEnabled: once before the operation is started, and the second time, after the operation is completed. Use IsSmartAccessMemoryChanged and GetSmartAccessMemoryStatus to discover the state of this operation.

-

Requirements

- - - - - -
Headerinclude "ISmartAccessMemory.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.html deleted file mode 100644 index 78c2451..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSmartShiftMax - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSmartShiftMax
-
-
-

The IADLXSmartShiftMax interface configures the AMD SmartShift Max settings. AMD SmartShift Max boosts performance by dynamically shifting power between the CPU and the GPU.

- - - - - - - - - -
InterfaceId:IADLXSmartShiftMax
Smart Pointer Interface Name:IADLXSmartShiftMaxPtr
Inherits:IADLXInterface
Inherited By:N/A
-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetBias Gets the AMD SmartShift Max current bias.
GetBiasMode Gets the AMD SmartShift Max current bias mode.
GetBiasRange Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max.
IsSupported Checks if AMD SmartShift Max is supported.
SetBias Sets the bias of AMD SmartShift Max.
SetBiasMode Sets AMD SmartShift Max bias mode.
-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample.
- For a C application, refer to the SmartShiftMax C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.js deleted file mode 100644 index fcbf694..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x_smart_shift_max = -[ - [ "GetBias", "_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html", null ], - [ "GetBiasMode", "_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html", null ], - [ "GetBiasRange", "_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html", null ], - [ "IsSupported", "_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html", null ], - [ "SetBias", "_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html", null ], - [ "SetBiasMode", "_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html deleted file mode 100644 index 117baa8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBias - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBias
-
-
-

Gets the AMD SmartShift Max current bias.

-

Syntax

-
- ADLX_RESULT    GetBias (adlx_int* bias)
- 

Parameters

-
-
-
- - -
1.[out]biasadlx_int*The pointer to a variable where the AMD SmartShift Max current bias is returned.
-
-
-

Return Value

-

If the current bias is successfully returned, ADLX_OK is returned.
- If the current bias is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html deleted file mode 100644 index d522699..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBiasMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBiasMode
-
-
-

Gets the AMD SmartShift Max current bias mode.

-

Syntax

-
- ADLX_RESULT    GetBiasMode (ADLX_SSM_BIAS_MODE* mode)
- 

Parameters

-
-
-
- - -
1.[out]modeADLX_SSM_BIAS_MODE*The pointer to a variable where the AMD SmartShift Max current bias mode is returned.
-
-
-

Return Value

-

If the current bias mode is successfully returned, ADLX_OK is returned.
- If the current bias mode is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance according to workload dependencies.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html deleted file mode 100644 index 2fab17c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetBiasRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetBiasRange
-
-
-

Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max.

-

Syntax

-
- ADLX_RESULT    GetBiasRange (ADLX_IntRange* range)
- 

Parameters

-
-
-
- - -
1.[out]rangeADLX_IntRange*The pointer to a variable where the bias range of AMD SmartShift Max is returned.
-
-
-

Return Value

-

If the bias range is successfully returned, ADLX_OK is returned.
- If the bias range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html deleted file mode 100644 index f314d3c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupported - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupported
-
-
-

Checks if AMD SmartShift Max is supported.

-

Syntax

-
- ADLX_RESULT    IsSupported (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of AMD SmartShift Max is returned. The variable is true if AMD SmartShift Max is supported. The variable is false if AMD SmartShift Max is not supported.
-
-
-

Return Value

-

If the state of AMD SmartShift Max is successfully returned, ADLX_OK is returned.
- If the state of AMD SmartShift Max is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html deleted file mode 100644 index fc42e89..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBias - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBias
-
-
-

Sets the bias of AMD SmartShift Max.

-

Syntax

-
- ADLX_RESULT    SetBias (adlx_int bias)
- 

Parameters

-
-
-
- - -
1.[in]biasadlx_intThe new AMD SmartShift Max bias.
-
-
-

Return Value

-

If the bias is successfully set, ADLX_OK is returned.
- If the bias is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html deleted file mode 100644 index 7aa3c5a..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SetBiasMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SetBiasMode
-
-
-

Sets AMD SmartShift Max bias mode.

-

Syntax

-
- ADLX_RESULT    SetBiasMode (ADLX_SSM_BIAS_MODE mode)
- 

Parameters

-
-
-
- - -
1.[in]modeADLX_SSM_BIAS_MODEThe new AMD SmartShift Max bias mode.
-
-
-

Return Value

-

If the bias mode is successfully set, ADLX_OK is returned.
- If the bias mode is not successfully set, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Additional Info

-

AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload.

-

Requirements

- - - - - -
Headerinclude "IPowerTuning.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.html deleted file mode 100644 index ec80162..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystem - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystem
-
-
-

The IADLXSystem is the main interface to ADLX and provides platform-specific functionality.

- - - - - - - - - -
InterfaceId:N/A
Smart Pointer Interface Name:N/A
Inherits:N/A
Inherited By:N/A
-

Examples of functionality in IADLXSystem interface include:

    -
  • Obtains the list of GPUs in the system.
  • -
  • Obtains the interface that allows registering and unregistering for notifications when the GPU list changes.
  • -
  • Obtains generic information about the system, such as if this is a Hybrid Graphics system.
  • -
  • Provides access to main interfaces of the other domains, such as the Display domain.
  • -
  • Enables logging in ADLX.
  • -
  • Obtains extension interfaces to IADLXSystem.
  • -
-

The IADLXSystem interface is managed by ADLX and it exists from the ADLX initialization until termination. Lifetime management is not required from the application. Example, maintaining a reference counting or deleting the interface pointer. In C++ there is no smart pointer definition for IADLXSystem interface.
-

-

The IADLXSystem interface is obtained during ADLX initialization. For more information about obtaining the IADLXSystem interface, refer to To access the ADLX System interface.
-

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Method Description
EnableLog Enables logging in ADLX.
Get3DSettingsServices Gets the reference counted main interface to the 3D Graphics domain.
GetDesktopsServices Gets the reference counted main interface to the Desktop domain.
GetDisplaysServices Gets the reference counted main interface to the Display domain.
GetGPUTuningServices Gets the reference counted main interface to the GPU Tuning domain.
GetGPUs Gets the reference counted list of AMD GPUs.
GetGPUsChangedHandling Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes.
GetI2C Gets the reference counted I2C interface of a GPU.
GetPerformanceMonitoringServices Gets the reference counted main interface to the Performance Monitoring domain.
HybridGraphicsType Gets the hybrid graphics type of the system.
QueryInterface Gets reference counted extension interfaces to IADLXSystem.
TotalSystemRAM Gets the size of the total RAM on this system.
-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the GPUs C++ sample.
- For a C application, refer to the GPUs C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.js deleted file mode 100644 index 1d2fd55..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system.js +++ /dev/null @@ -1,15 +0,0 @@ -var _d_o_x__i_a_d_l_x_system = -[ - [ "EnableLog", "_d_o_x__i_a_d_l_x_system__enable_log.html", null ], - [ "Get3DSettingsServices", "_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html", null ], - [ "GetDesktopsServices", "_d_o_x__i_a_d_l_x_system__get_desktops_services.html", null ], - [ "GetDisplaysServices", "_d_o_x__i_a_d_l_x_system__get_displays_services.html", null ], - [ "GetGPUTuningServices", "_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html", null ], - [ "GetGPUs", "_d_o_x__i_a_d_l_x_system__get_g_p_us.html", null ], - [ "GetGPUsChangedHandling", "_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html", null ], - [ "GetI2C", "_d_o_x__i_a_d_l_x_system__get_i2_c.html", null ], - [ "GetPerformanceMonitoringServices", "_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html", null ], - [ "HybridGraphicsType", "_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html", null ], - [ "QueryInterface", "_d_o_x__i_a_d_l_x_system__query_interface.html", null ], - [ "TotalSystemRAM", "_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.html deleted file mode 100644 index b5d0e09..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystem1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystem1
-
-
-

The IADLXSystem1 is an extension interface to IADLXSystem. It provides access to the main interface of the Power Tuning domain.

- - - - - - - - - -
InterfaceId:IADLXSystem1
Smart Pointer Interface Name:IADLXSystem1Ptr
Inherits:IADLXInterface
Inherited By:N/A
-

The IADLXSystem1 interface is obtained from the IADLXSystem using QueryInterface.

-

Methods

- - - - - -
Method Description
GetPowerTuningServices Gets the reference counted main interface to the Power Tuning domain.
-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample.
- For a C application, refer to the SmartShiftMax C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.js deleted file mode 100644 index 6921201..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_system1 = -[ - [ "GetPowerTuningServices", "_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html deleted file mode 100644 index 9cdf9a2..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPowerTuningServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPowerTuningServices
-
-
-

Gets the reference counted main interface to the Power Tuning domain.

-

Syntax

-
- ADLX_RESULT    GetPowerTuningServices (IADLXPowerTuningServices** ppPowerTuningServices)
- 

Parameters

-
-
-
- - -
1.[out] ppPowerTuningServicesIADLXPowerTuningServices**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPowerTuningServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__enable_log.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__enable_log.html deleted file mode 100644 index ae73b89..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__enable_log.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: EnableLog - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
EnableLog
-
-
-

Enables logging in ADLX.

-

Syntax

-
- ADLX_RESULT    EnableLog (ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName)
- 

Parameters

-
-
-
- - -
1.[in] modeADLX_LOG_DESTINATIONThe log destination.
-
-
-
-
-
- - -
2.[in] severityADLX_LOG_SEVERITYThe logging severity.
-
-
-
-
-
- - -
3.[in] pLoggerIADLXLog*The pointer to the log interface to receive log messages from ADLX.
-
-
-
-
-
- - -
4.[in] fileNameconst wchar_t*The zero-terminated string that specifies the path of the log file.
-
-
-

Return Value

-

If EnableLog is successfully executed, ADLX_OK is returned.
- If EnableLog is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

By default, ADLX logging is disabled. Use EnableLog to configure log destination and severity.

-
    -
  • To configure the log destination into a file, specify the mode parameter as LOCALFILE and provide the file path in the filename parameter. The pLogger parameter must be nullptr.
    -
  • -
  • To configure the log destination into the output window of the debugger, specify the mode parameter as DBGVIEW. The filename and pLogger parameters must be nullptr.
    -
  • -
  • To configure the log destination to be sent as a string into the application, specify the mode parameter as APPLICATION. Implement the IADLXLog interface in the application and pass a pointer to an instance of that interface into the pLogger parameter. The log instance must exist until ADLX is terminated. The filename parameter must be nullptr.
    -
  • -
  • To obtain the error messages in the ADLX execution code, specify the severity parameter as LERROR.
    -
  • -
  • To obtain the error and warning messages in the ADLX execution code, specify the severity parameter as LWARNING.
    -
  • -
  • To obtain error, warning, and debug tracing messages in the ADLX execution code, specify the severity parameter as LDEBUG.

    -

    Requirements

    - - - - - -
    Headerinclude "ISystem.h"
    Minimum version1.0
    -
  • -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html deleted file mode 100644 index 238255d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Get3DSettingsServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Get3DSettingsServices
-
-
-

Gets the reference counted main interface to the 3D Graphics domain.

-

Syntax

-
-  ADLX_RESULT    Get3DSettingsServices (IADLX3DSettingsServices** pp3DSettingsServices)
-  

Parameters

-
-
-
- - -
1.[out] pp3DSettingsServicesIADLX3DSettingsServices**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DSettingsServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_desktops_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_desktops_services.html deleted file mode 100644 index 4f1db0e..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_desktops_services.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDesktopsServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDesktopsServices
-
-
-

Gets the reference counted main interface to the Desktop domain.

-

Syntax

-
- ADLX_RESULT    GetDesktopsServices (IADLXDesktopServices** ppDeskServices)
- 

Parameters

-
-
-
- - -
1.[out] ppDeskServicesIADLXDesktopServices**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDeskServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_displays_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_displays_services.html deleted file mode 100644 index c1bd8f0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_displays_services.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetDisplaysServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetDisplaysServices
-
-
-

Gets the reference counted main interface to the Display domain.

-

Syntax

-
- ADLX_RESULT    GetDisplaysServices (IADLXDisplayServices** ppDispServices)
- 

Parameters

-
-
-
- - -
1.[out] ppDispServicesIADLXDisplayServices**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html deleted file mode 100644 index ad9caed..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUTuningServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUTuningServices
-
-
-

Gets the reference counted main interface to the GPU Tuning domain.

-

Syntax

-
-  ADLX_RESULT    GetGPUTuningServices (IADLXGPUTuningServices** ppGPUTuningServices)
-  

Parameters

-
-
-
- - -
1.[out] ppGPUTuningServicesIADLXGPUTuningServices**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUTuningServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us.html deleted file mode 100644 index 7fce50d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUs - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUs
-
-
-

Gets the reference counted list of AMD GPUs.

-

Syntax

-
-  ADLX_RESULT    GetGPUs (IADLXGPUList** ppGPUs)
-  

Parameters

-
-
-
- - -
1.[out] ppGPUsIADLXGPUList** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUs to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

For more information about the AMD GPUs, refer to ADLX GPU Support.
- The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html deleted file mode 100644 index f5eb407..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetGPUsChangedHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetGPUsChangedHandling
-
-
-

Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes.

-

Syntax

-
-  ADLX_RESULT    GetGPUsChangedHandling (IADLXGPUsChangedHandling** ppGPUsChangedHandling)
-  

Parameters

-
-
-
- - -
1.[out] ppGPUsChangedHandlingIADLXGPUsChangedHandling**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUsChangedHandling to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_i2_c.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_i2_c.html deleted file mode 100644 index 4684521..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_i2_c.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetI2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetI2C
-
-
-

Gets the reference counted I2C interface of a GPU.

-

Syntax

-
- ADLX_RESULT    GetI2C (IADLXGPU* pGPU, IADLXI2C** ppI2C)
- 

Parameters

-
-
-
- - -
1.[in] pGPUIADLXGPU* The pointer to the GPU interface.
-
-
-
-
-
- - -
2.[out] ppI2CIADLXI2C** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppI2C to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html deleted file mode 100644 index 208477d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetPerformanceMonitoringServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetPerformanceMonitoringServices
-
-
-

Gets the reference counted main interface to the Performance Monitoring domain.

-

Syntax

-
- ADLX_RESULT    GetPerformanceMonitoringServices (IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices)
- 

Parameters

-
-
-
- - -
1.[out] ppPerformanceMonitoringServicesIADLXPerformanceMonitoringServices** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPerformanceMonitoringServices to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html deleted file mode 100644 index 4eae8b8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: HybridGraphicsType - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
HybridGraphicsType
-
-
-

Gets the hybrid graphics type of the system.

-

Syntax

-
- ADLX_RESULT    HybridGraphicsType (ADLX_HG_TYPE* hgType)
- 

Parameters

-
-
-
- - -
1.[out] hgTypeADLX_HG_TYPE* The pointer to a variable where the hybrid graphics type is returned.
-
-
-

Return Value

-

If the hybrid graphics type is successfully returned, ADLX_OK is returned.
- If the hybrid graphics type is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The hybrid graphics type can be used to discover if the system is a hybrid graphics platform. Hybrid graphics platforms share cross-adapter resources between a discrete GPU and an integrated GPU. Applications can run on either GPU depending on their needs. The operating system and the AMD display driver together determine which GPU an application should run on.

-

On an AMD hybrid graphics platform, the integrated GPU can be an AMD integrated GPU or a non-AMD integrated GPU.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__query_interface.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__query_interface.html deleted file mode 100644 index 112ae63..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__query_interface.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: QueryInterface - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
QueryInterface
-
-
-

Gets reference counted extension interfaces to IADLXSystem.

-

Syntax

-
- ADLX_RESULT    QueryInterface (const wchar_t* interfaceId, void** ppInterface)
- 

Parameters

-
-
-
- - -
1.[in] interfaceIdconst wchar_t*The identifier of the interface being requested.
-
-
-
-
-
- - -
2.[out]ppInterfacevoid**The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppInterface to nullptr.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html deleted file mode 100644 index eab5437..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TotalSystemRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TotalSystemRAM
-
-
-

Gets the size of the total RAM on this system.

-

Syntax

-
- ADLX_RESULT    TotalSystemRAM (adlx_uint* ramMB)
- 

Parameters

-
-
-
- - -
1.[out] ramMBadlx_uint* The pointer to a variable where the total system RAM size is returned, in MB.
-
-
-

Return Value

-

If the interface is successfully returned, ADLX_OK is returned.
- If the interface is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "ISystem.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.html deleted file mode 100644 index c9db1d8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystemMetrics
-
-
-

The IADLXSystemMetrics interface provides information of a system metric sample, such as the timestamp and the CPU usage.

- - - - - - - - - -
InterfaceId:IADLXSystemMetrics
Smart Pointer Interface Name:IADLXSystemMetricsPtr
Inherits:IADLXInterface
Inherited By:IADLXSystemMetrics1
-

Methods

- - - - - - - - - - - -
Method Description
CPUUsage Gets the CPU usage of a system metric sample.
SmartShift Gets the SmartShift value of a system metric sample.
SystemRAM Gets the system RAM of a system metric sample.
TimeStamp Gets the timestamp of a system metric sample.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.js deleted file mode 100644 index 776b0e6..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics.js +++ /dev/null @@ -1,7 +0,0 @@ -var _d_o_x__i_a_d_l_x_system_metrics = -[ - [ "CPUUsage", "_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html", null ], - [ "SmartShift", "_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html", null ], - [ "SystemRAM", "_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html", null ], - [ "TimeStamp", "_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.html deleted file mode 100644 index 6bad47d..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystemMetrics1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystemMetrics1
-
-
-

The IADLXSystemMetrics1 is an extension interface to IADLXSystemMetrics. It provides the power distribution of a system metric sample.

- - - - - - - - - -
InterfaceId:IADLXSystemMetrics1
Smart Pointer Interface Name:IADLXSystemMetrics1Ptr
Inherits:IADLXSystemMetrics
Inherited By:N/A
-

The IADLXSystemMetrics1 interface is obtained from the IADLXSystemMetrics using QueryInterface.

-

Methods

- - - - - -
Method Description
PowerDistribution Gets the distribution of power between CPU and GPU of a system metric sample.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring1.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.js deleted file mode 100644 index 0da31fb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_system_metrics1 = -[ - [ "PowerDistribution", "_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html deleted file mode 100644 index 86e3bfd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PowerDistribution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PowerDistribution
-
-
-

Gets the distribution of power between CPU and GPU of a system metric sample.

-

Syntax

-
- ADLX_RESULT    PowerDistribution (adlx_int* apuShiftValue, adlx_int* gpuShiftValue, adlx_int* apuShiftLimit, adlx_int* gpuShiftLimit, adlx_int* totalShiftLimit)
- 

Parameters

-
-
-
- - -
1.[out] apuShiftValueadlx_int* The pointer to a variable where the apu shift alue value is returned.
-
-
-
-
-
- - -
1.[out] gpuShiftValueadlx_int* The pointer to a variable where the gpu shift value is returned.
-
-
-
-
-
- - -
1.[out] apuShiftLimitadlx_int* The pointer to a variable where the apu shift limit value is returned.
-
-
-
-
-
- - -
1.[out] gpuShiftLimitadlx_int* The pointer to a variable where the gpu shift limit value is returned.
-
-
-
-
-
- - -
1.[out] totalShiftLimitadlx_int* The pointer to a variable where the total shift limit value is returned.
-
-
-

Return Value

-

If the distribution of power is successfully returned, ADLX_OK is returned.
- If the distribution of power is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html deleted file mode 100644 index 8ca5f02..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: CPUUsage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
CPUUsage
-
-
-

Gets the CPU usage of a system metric sample.

-

Syntax

-
- ADLX_RESULT    CPUUsage (adlx_double* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_double* The pointer to a variable where the CPU usage (in %) is returned.
-
-
-

Return Value

-

If the CPU usage is successfully returned, ADLX_OK is returned.
- If the CPU usage is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html deleted file mode 100644 index 6bedbdd..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SmartShift - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SmartShift
-
-
-

Gets the SmartShift value of a system metric sample.

-

Syntax

-
- ADLX_RESULT    SmartShift (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the SmartShift value is returned.
-
-
-

Return Value

-

If the SmartShift value is successfully returned, ADLX_OK is returned.
- If the SmartShift value is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The value returned by SmartShift is an integer number which is within -100 to +100 range.
- A negative value indicates that the power is shifted to the CPU.
- A positive value indicates that the power is shifted to the GPU.
- Considering zero as the state with no power shift, the larger the deviation from zero, the larger the power shift.

-

Additional Info

-

AMD SmartShift helps boost notebook performance by dynamically shifting the power between the CPU and the GPU depending on the workload.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html deleted file mode 100644 index e48cfc8..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SystemRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SystemRAM
-
-
-

Gets the system RAM of a system metric sample.

-

Syntax

-
- ADLX_RESULT    SystemRAM (adlx_int* data)
- 

Parameters

-
-
-
- - -
1.[out] dataadlx_int* The pointer to a variable where the system RAM (in MB) is returned.
-
-
-

Return Value

-

If the system RAM is successfully returned, ADLX_OK is returned.
- If the system RAM is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html deleted file mode 100644 index 920f0bb..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: TimeStamp - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
TimeStamp
-
-
-

Gets the timestamp of a system metric sample.

-

Syntax

-
- ADLX_RESULT    TimeStamp (adlx_int64* ms)
- 

Parameters

-
-
-
- - -
1.[out] msadlx_int64* The pointer to a variable where the timestamp (in ms) is returned.
-
-
-

Return Value

-

If the timestamp is successfully returned, ADLX_OK is returned.
- If the timestamp is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.html deleted file mode 100644 index 6712a9c..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystemMetricsList - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystemMetricsList
-
-
-

The IADLXSystemMetricsList is an interface of a collection of IADLXSystemMetrics interfaces that can be accessed by location.

- - - - - - - - - -
InterfaceId:IADLXSystemMetricsList
Smart Pointer Interface Name:IADLXSystemMetricsListPtr
Inherits:IADLXList
Inherited By:N/A
-

Methods

- - - - - - - -
Method Description
Add_Back Adds an interface to the end of a list.
At Returns the reference counted interface at the requested location.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.js deleted file mode 100644 index 81afaf5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list.js +++ /dev/null @@ -1,5 +0,0 @@ -var _d_o_x__i_a_d_l_x_system_metrics_list = -[ - [ "Add_Back", "_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html", null ], - [ "At", "_d_o_x__i_a_d_l_x_system_metrics_list__at.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html deleted file mode 100644 index e0fa8f7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Add_Back - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Add_Back
-
-
-

Adds an interface to the end of a list.

-

Syntax

-
- ADLX_RESULT    Add_Back (IADLXSystemMetrics* pItem)
- 

Parameters

-
-
-
- - -
1.[in] pItemIADLXSystemMetrics* The pointer to the interface to be added to the list.
-
-
-

Return Value

-

If the interface is added successfully to the end of the list, ADLX_OK is returned.
- If the interface is not added to the end of the list, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__at.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__at.html deleted file mode 100644 index 87064ec..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_list__at.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: At - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
At
-
-
-

Returns the reference counted interface at the requested location.

-

Syntax

-
- ADLX_RESULT    At (const adlx_uint location, IADLXSystemMetrics** ppItem)
- 

Parameters

-
-
-
- - -
1.[in] locationconst adlx_uint The location of the requested interface.
-
-
-
-
-
- - -
2.[out] ppItemIADLXSystemMetrics** The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr.
-
-
-

Return Value

-

If the location is within the list bounds, ADLX_OK is returned.
- If the location is not within the list bounds, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

The returned interface must be discarded with Release when it is no longer needed.

-

Additional Info

-

In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.html deleted file mode 100644 index 3b5977b..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystemMetricsSupport - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystemMetricsSupport
-
-
-

The IADLXSystemMetricsSupport interface provides methods to discover what performance metrics are supported on the system.

- - - - - - - - - -
InterfaceId:IADLXSystemMetricsSupport
Smart Pointer Interface Name:IADLXSystemMetricsSupportPtr
Inherits:IADLXInterface
Inherited By:IADLXSystemMetricsSupport1
-

Methods

- - - - - - - - - - - - - - - -
Method Description
GetCPUUsageRange Gets the minimum and maximum CPU usage of a system.
GetSmartShiftRange Gets the minimum and maximum SmartShift value of a system.
GetSystemRAMRange Gets the minimum and maximum system RAM of a system.
IsSupportedCPUUsage Checks if the CPU usage metric reporting is supported by the system.
IsSupportedSmartShift Checks if the SmartShift metric reporting is supported by the system.
IsSupportedSystemRAM Checks if the RAM usage metric reporting is supported by the system.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.js deleted file mode 100644 index bd447ea..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support.js +++ /dev/null @@ -1,9 +0,0 @@ -var _d_o_x__i_a_d_l_x_system_metrics_support = -[ - [ "GetCPUUsageRange", "_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html", null ], - [ "GetSmartShiftRange", "_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html", null ], - [ "GetSystemRAMRange", "_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html", null ], - [ "IsSupportedCPUUsage", "_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html", null ], - [ "IsSupportedSmartShift", "_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html", null ], - [ "IsSupportedSystemRAM", "_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.html deleted file mode 100644 index 4172416..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IADLXSystemMetricsSupport1 - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IADLXSystemMetricsSupport1
-
-
-

The IADLXSystemMetricsSupport1 is an extension interface to IADLXSystemMetricsSupport. It provides the method to discover if reporting of power distribution between CPU and GPU is supported on the system.

- - - - - - - - - -
InterfaceId:IADLXSystemMetricsSupport1
Smart Pointer Interface Name:IADLXSystemMetricsSupport1Ptr
Inherits:IADLXSystemMetricsSupport
Inherited By:N/A
-

The IADLXSystemMetricsSupport1 interface is obtained from the IADLXSystemMetricsSupport using QueryInterface.

-

Methods

- - - - - -
Method Description
IsSupportedPowerDistribution Checks if reporting of power distribution between CPU and GPU is supported on the system.
-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring1.h"
Minimum version1.2
-

Example

-

To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample.
- For a C application, refer to the PerfSystemMetrics C sample.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.js b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.js deleted file mode 100644 index 06dcac0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1.js +++ /dev/null @@ -1,4 +0,0 @@ -var _d_o_x__i_a_d_l_x_system_metrics_support1 = -[ - [ "IsSupportedPowerDistribution", "_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html deleted file mode 100644 index 3ffe386..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedPowerDistribution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedPowerDistribution
-
-
-

Checks if reporting of power distribution between CPU and GPU is supported on the system.

-

Syntax

-
- ADLX_RESULT    IsSupportedPowerDistribution (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of reporting of power distribution is returned. The variable is true if the power distribution metric reporting is supported. The variable is false if the power distribution metric reporting is not supported.
-
-
-

Return Value

-

If the state of power distribution metric reporting is successfully returned, ADLX_OK is returned.
- If the state of power distribution metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring1.h"
Minimum version1.2
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html deleted file mode 100644 index bf815ec..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetCPUUsageRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetCPUUsageRange
-
-
-

Gets the minimum and maximum CPU usage of a system.

-

Syntax

-
- ADLX_RESULT    GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum CPU usage (in %) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum CPU usage (in %) is returned.
-
-
-

Return Value

-

If the CPU usage range is successfully returned, ADLX_OK is returned.
- If the CPU usage range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum CPU usage are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html deleted file mode 100644 index 7fef1a0..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSmartShiftRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSmartShiftRange
-
-
-

Gets the minimum and maximum SmartShift value of a system.

-

Syntax

-
- ADLX_RESULT    GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum SmartShift value is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum SmartShift value is returned.
-
-
-

Return Value

-

If the SmartShift value range is successfully returned, ADLX_OK is returned.
- If the SmartShift value range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum SmartShift value are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html deleted file mode 100644 index 3afbec7..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSystemRAMRange - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSystemRAMRange
-
-
-

Gets the minimum and maximum system RAM of a system.

-

Syntax

-
- ADLX_RESULT    GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue)
- 

Parameters

-
-
-
- - -
1.[out]minValueadlx_int*The pointer to a variable where the minimum system RAM (in MB) is returned.
-
-
-
-
-
- - -
2.[out]maxValueadlx_int*The pointer to a variable where the maximum system RAM (in MB) is returned.
-
-
-

Return Value

-

If the system RAM range is successfully returned, ADLX_OK is returned.
- If the system RAM range is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

The minimum and maximum system RAM are read only.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html deleted file mode 100644 index 62f9d0f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedCPUUsage - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedCPUUsage
-
-
-

Checks if the CPU usage metric reporting is supported by the system.

-

Syntax

-
- ADLX_RESULT    IsSupportedCPUUsage (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of CPU usage metric reporting is returned. The variable is true if the CPU usage metric reporting is supported. The variable is false if the CPU usage metric reporting is not supported.
-
-
-

Return Value

-

If the state of CPU usage metric reporting is successfully returned, ADLX_OK is returned.
- If the state of CPU usage metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html deleted file mode 100644 index 83162f5..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedSmartShift - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedSmartShift
-
-
-

Checks if the SmartShift metric reporting is supported by the system.

-

Syntax

-
- ADLX_RESULT    IsSupportedSmartShift (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of SmartShift metric reporting is returned. The variable is true if the SmartShift metric reporting is supported. The variable is false if the SmartShift metric reporting is not supported.
-
-
-

Return Value

-

If the state of SmartShift metric reporting is successfully returned, ADLX_OK is returned.
- If the state of SmartShift metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html b/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html deleted file mode 100644 index 9bcc23f..0000000 --- a/vendor/adlx/SDKDoc/html/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: IsSupportedSystemRAM - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
IsSupportedSystemRAM
-
-
-

Checks if the RAM usage metric reporting is supported by the system.

-

Syntax

-
- ADLX_RESULT    IsSupportedSystemRAM (adlx_bool* supported)
- 

Parameters

-
-
-
- - -
1.[out]supportedadlx_bool*The pointer to a variable where the state of system RAM usage metric reporting is returned. The variable is true if the system RAM usage metric reporting is supported. The variable is false if the system RAM usage metric reporting is not supported.
-
-
-

Return Value

-

If the state of system RAM usage metric reporting is successfully returned, ADLX_OK is returned.
- If the state of system RAM usage metric reporting is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Requirements

- - - - - -
Headerinclude "IPerformanceMonitoring.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/adlx_atomic_dec.html b/vendor/adlx/SDKDoc/html/adlx_atomic_dec.html deleted file mode 100644 index a7ceca4..0000000 --- a/vendor/adlx/SDKDoc/html/adlx_atomic_dec.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: adlx_atomic_dec - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
adlx_atomic_dec
-
-
-

An atomic decrement of a variable in multithreading environments.

-

Syntax

-
- adlx_long    adlx_atomic_dec (adlx_long* x)
- 

Parameters

-
-
-
- - -
1.[in]xadlx_long*The pointer to the variable to be decremented.
-
-
-

Return Value

-

The decremented value.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/adlx_atomic_inc.html b/vendor/adlx/SDKDoc/html/adlx_atomic_inc.html deleted file mode 100644 index 64593e0..0000000 --- a/vendor/adlx/SDKDoc/html/adlx_atomic_inc.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: adlx_atomic_inc - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
adlx_atomic_inc
-
-
-

An atomic increment of a variable in multithreading environments.

-

Syntax

-
- adlx_long    adlx_atomic_inc (adlx_long* x)
- 

Parameters

-
-
-
- - -
1.[in]xadlx_long*The pointer to the variable to be incremented.
-
-
-

Return Value

-

The incremented value.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/adlx_free_library.html b/vendor/adlx/SDKDoc/html/adlx_free_library.html deleted file mode 100644 index 85416bf..0000000 --- a/vendor/adlx/SDKDoc/html/adlx_free_library.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: adlx_free_library - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
adlx_free_library
-
-
-

Frees a loaded module.

-

Syntax

-
- int    adlx_free_library (adlx_handle module)
- 

Parameters

-
-
-
- - -
1.[in]moduleadlx_handleThe handle to the loaded module.
-
-
-

Return Value

-

If the module is successfully unloaded, a non-zero value is returned.
- If the module is not successfully unloaded, zero is returned.
-

-

Remarks

-

When ADLX is successfully freed with this function, ADLX is unloaded from the address space of the calling process and the handle to the module is no longer valid.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/adlx_get_proc_address.html b/vendor/adlx/SDKDoc/html/adlx_get_proc_address.html deleted file mode 100644 index f67840a..0000000 --- a/vendor/adlx/SDKDoc/html/adlx_get_proc_address.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: adlx_get_proc_address - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
adlx_get_proc_address
-
-
-

Retrieves the address of a function from a module.

-

Syntax

-
- void*    adlx_get_proc_address (adlx_handle module, const char* procName)
- 

Parameters

-
-
-
- - -
1.[in]moduleadlx_handleThe handle to the module.
-
-
-
-
-
- - -
2.[in]procNameconst char*The zero-terminated string that specifies the name of the function.
-
-
-

Return Value

-

If the function was found, the address of the function is returned.
- If the function was not found, nullptr is returned.
-

-

Remarks

-

Use this function to load ADLX functions from the ADLX module. The name of the ADLX function can be one of values: ADLX_QUERY_FULL_VERSION_FUNCTION_NAME, ADLX_QUERY_VERSION_FUNCTION_NAME, ADLX_INIT_FUNCTION_NAME, ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME, ADLX_TERMINATE_FUNCTION_NAME.
-

- - - - - - - - - - - - - - -
Parameter: procName Description Return Value
ADLX_QUERY_FULL_VERSION_FUNCTION_NAME The function to query the full version of ADLX. ADLXQueryFullVersion_Fn
ADLX_QUERY_VERSION_FUNCTION_NAME The function to query the version of ADLX. ADLXQueryVersion_Fn
ADLX_INIT_FUNCTION_NAME The function to initialize ADLX with default parameters. ADLXInitialize_Fn
ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME The function to initialize ADLX with a legacy driver. ADLXInitialize_Fn
ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME The function to initialize ADLX with an ADL context. ADLXInitializeWithCallerAdl_Fn
ADLX_TERMINATE_FUNCTION_NAME The function to terminate ADLX. ADLXTerminate_Fn
-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/adlx_load_library.html b/vendor/adlx/SDKDoc/html/adlx_load_library.html deleted file mode 100644 index 93c33d2..0000000 --- a/vendor/adlx/SDKDoc/html/adlx_load_library.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: adlx_load_library - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
adlx_load_library
-
-
-

Loads a module into the address space of the calling process.

-

Syntax

-
- adlx_handle    adlx_load_library (const TCHAR* filename)
- 

Parameters

-
-
-
- - -
1.[in]filenameconst TCHAR*The zero-terminated string that specifies the file name of the module to be loaded.
-
-
-

Return Value

-

If the module is successfully loaded, a handle to the loaded module is returned.
- If the module is not successfully loaded, nullptr is returned.
-

-

Remarks

-

Use this function to load ADLX in your application. Specify the filename parameter as ADLX_DLL_NAME.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/amd.png b/vendor/adlx/SDKDoc/html/amd.png deleted file mode 100644 index 099707b7171df6e7ef211d0a338bdb399bde47ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2333 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 - - - - - - - - -AMD Device Library eXtra: Class List - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- - - - - - - - - - - -
 CADLX_3DLUT_DataThis structure contains custom 3D LUT information
 CADLX_CustomResolutionThis structure contains information for custom resolution parameters on a given display
 CADLX_GammaRampThis structure contains the display gamma ramp used to program the re-gamma LUT
 CADLX_GamutColorSpaceThis structure contains information on driver-supported gamut coordinates
 CADLX_IntRangeThis structure contains information on the integer range
 CADLX_PointThis structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point
 CADLX_RegammaCoeffThis structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve
 CADLX_RGBThis structure contains RGB information
 CADLX_TimingInfoThis structure contains display timing information
 CADLX_UINT16_RGBThis structure contains UINT16 RGB information
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/bc_s.png b/vendor/adlx/SDKDoc/html/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/vendor/adlx/SDKDoc/html/bdwn.png b/vendor/adlx/SDKDoc/html/bdwn.png deleted file mode 100644 index 940a0b950443a0bb1b216ac03c45b8a16c955452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T - - - - - - - - -AMD Device Library eXtra: 3DSettingsEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
3DSettingsEvent
-
-
-
- - - -

Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.

-

Sample Path

-

/Samples/C/3DGraphics/3DSettingsEvent

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Block event
-
HANDLE blockEvent = NULL;
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName);
-
-
// Call-back to handle changed events
-
adlx_bool ADLX_STD_CALL on3DSettingsChanged(IADLX3DSettingsChangedListener* pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent)
-
{
- -
IADLXGPU* gpu = NULL;
-
res = p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent, &gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
adlx_bool antiLagChanged = p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent);
-
printf("\tGPU: %s AntiLag changed: %d\n", uniqueName, antiLagChanged);
-
}
-
-
SetEvent(blockEvent);
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
};
-
static IADLX3DSettingsChangedListenerVtbl vtbl = {&on3DSettingsChanged};
-
static IADLX3DSettingsChangedListener call = {&vtbl};
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get change handle
-
IADLX3DSettingsChangedHandling* changeHandle = NULL;
-
res = d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv, &changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Add call-back
-
ADLX_RESULT addListenerRes = changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle, &call);
-
-
// Change anti-lag state
-
IADLX3DAntiLag* antiLag = NULL;
-
d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv, gpu, &antiLag);
-
adlx_bool enable;
-
antiLag->pVtbl->IsEnabled(antiLag, &enable);
-
-
printf("\nWaiting for 3DSettings change event (5s)...\n");
-
antiLag->pVtbl->SetEnabled(antiLag, !enable);
-
WaitForSingleObject(blockEvent, 5000);
-
-
if (ADLX_SUCCEEDED (addListenerRes))
-
{
-
// Remove call-back
-
res = changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle, &call);
-
if (ADLX_FAILED (res))
-
printf("\nRemove 3DSettings event listener failed\n");
-
}
-
-
// Release the AntiLag interface
-
if (antiLag != NULL)
-
{
-
antiLag->pVtbl->Release(antiLag);
-
antiLag = NULL;
-
}
-
-
}
-
-
// Release the changeHandle interface
-
if (changeHandle != NULL)
-
{
-
changeHandle->pVtbl->Release(changeHandle);
-
changeHandle = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName)
-
{
-
if (NULL != gpu && NULL != uniqueName)
-
{
-
const char* gpuName = NULL;
-
ADLX_RESULT res1 = gpu->pVtbl->Name(gpu, &gpuName);
-
adlx_int id;
-
ADLX_RESULT res2 = gpu->pVtbl->UniqueId(gpu, &id);
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__anisotropic_filtering.html b/vendor/adlx/SDKDoc/html/c__anisotropic_filtering.html deleted file mode 100644 index 6d8fc9e..0000000 --- a/vendor/adlx/SDKDoc/html/c__anisotropic_filtering.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AnisotropicFiltering - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AnisotropicFiltering
-
-
-
- - - -

Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display anisotropic filtering support
2 Display current anisotropic filtering state and level
3 Enable and change anisotropic filtering levels
4 Disable anisotropic filtering
M/m Display main menu options
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AnisotropicFiltering

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display anisotropic filtering support
-
void ShowSupport(IADLX3DAnisotropicFiltering* anisotropicFiltering);
-
-
// Get current anisotropic filtering state
-
void GetState(IADLX3DAnisotropicFiltering* anisotropicFiltering);
-
-
// Set anisotropic filtering state
-
void SetState(IADLX3DAnisotropicFiltering* anisotropicFiltering, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DAnisotropicFiltering* anisotropicFiltering);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get AnisotropicFiltering interface
-
IADLX3DAnisotropicFiltering* anisotropicFiltering = NULL;
-
res = d3dSettingSrv->pVtbl->GetAnisotropicFiltering(d3dSettingSrv, gpu, &anisotropicFiltering);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(anisotropicFiltering);
-
}
-
-
// Release the AnisotropicFiltering interface
-
if (anisotropicFiltering != NULL)
-
{
-
anisotropicFiltering->pVtbl->Release(anisotropicFiltering);
-
anisotropicFiltering = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static char* getlevelStr(ADLX_ANISOTROPIC_FILTERING_LEVEL level)
-
{
-
switch (level)
-
{
-
case AF_LEVEL_INVALID:
-
return "Invalid";
-
case AF_LEVEL_X2:
-
return "2X";
-
case AF_LEVEL_X4:
-
return "4X";
-
case AF_LEVEL_X8:
-
return "8X";
-
case AF_LEVEL_X16:
-
return "16X";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
void ShowSupport(IADLX3DAnisotropicFiltering* anisotropicFiltering)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = anisotropicFiltering->pVtbl->IsSupported(anisotropicFiltering, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetState(IADLX3DAnisotropicFiltering* anisotropicFiltering)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = anisotropicFiltering->pVtbl->IsEnabled(anisotropicFiltering, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsEnabled: %d\n", enabled);
- -
res = anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering, &level);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tLevel: %s\n", getlevelStr(level));
-
}
-
-
void SetState(IADLX3DAnisotropicFiltering* anisotropicFiltering, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
res = anisotropicFiltering->pVtbl->SetEnabled(anisotropicFiltering, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
- -
res = anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering, &level);
-
if (ADLX_SUCCEEDED (res))
-
{
-
level = (level == AF_LEVEL_X2) ? AF_LEVEL_X4 : AF_LEVEL_X2;
-
res = anisotropicFiltering->pVtbl->SetLevel(anisotropicFiltering, level);
-
printf("\tSet level: %s ,return code is: %d (0 means success)\n", getlevelStr(level), res);
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display anisotropic filtering support\n");
-
printf("\t->Press 2 to display current anisotropic filtering state\n");
-
printf("\t->Press 3 to enable and change anisotropic filtering levels\n");
-
printf("\t->Press 4 to disable anisotropic filtering\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLX3DAnisotropicFiltering* anisotropicFiltering)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display anisotropic filtering support
-
case '1':
-
ShowSupport(anisotropicFiltering);
-
break;
-
-
// Display current anisotropic filtering state
-
case '2':
-
GetState(anisotropicFiltering);
-
break;
-
-
// Enable and change anisotropic filtering levels
-
case '3':
-
case '4':
-
SetState(anisotropicFiltering, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ AF_LEVEL_X16
Definition: ADLXDefines.h:810
-
@ AF_LEVEL_X4
Definition: ADLXDefines.h:808
-
@ AF_LEVEL_X2
Definition: ADLXDefines.h:807
-
@ AF_LEVEL_INVALID
Definition: ADLXDefines.h:806
-
@ AF_LEVEL_X8
Definition: ADLXDefines.h:809
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_ANISOTROPIC_FILTERING_LEVEL
Indicates the Anisotropic Filtering level.
Definition: ADLXDefines.h:805
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__anti_aliasing.html b/vendor/adlx/SDKDoc/html/c__anti_aliasing.html deleted file mode 100644 index ce2aceb..0000000 --- a/vendor/adlx/SDKDoc/html/c__anti_aliasing.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AntiAliasing
-
-
-
- - - -

Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display anti-aliasing support
2 Display current anti-aliasing state, mode, method, and level
3 Set anti-aliasing mode: Use application settings
4 Set anti-aliasing mode: Enhance application settings
5 Set anti-aliasing mode: Override application settings
6 Set anti-aliasing method
7 Set anti-aliasing level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AntiAliasing

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display anti-aliasing support
-
void ShowAntiAliasingSupport(IADLX3DAntiAliasing* antiAliasing);
-
-
// Display current anti-aliasing state
-
void GetAntiAliasingState(IADLX3DAntiAliasing* antiAliasing);
-
-
// Set anti-aliasing mode
-
void SetAntiAliasingMode(IADLX3DAntiAliasing* antiAliasing, int index);
-
-
// Set anti-aliasing method
-
void SetAntiAliasingMethod(IADLX3DAntiAliasing* antiAliasing);
-
-
// Set anti-aliasing level
-
void SetAntiAliasingLevel(IADLX3DAntiAliasing* antiAliasing);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DAntiAliasing* antiAliasing);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get AntiAliasing interface
-
IADLX3DAntiAliasing* antiAliasing = NULL;
-
res = d3dSettingSrv->pVtbl->GetAntiAliasing(d3dSettingSrv, gpu, &antiAliasing);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(antiAliasing);
-
}
-
-
// Release the AntiAliasing interface
-
if (antiAliasing != NULL)
-
{
-
antiAliasing->pVtbl->Release(antiAliasing);
-
antiAliasing = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static char* getModeStr(ADLX_ANTI_ALIASING_MODE mode)
-
{
-
switch (mode)
-
{
-
case AA_MODE_USE_APP_SETTINGS:
-
return "Use application settings";
-
case AA_MODE_ENHANCE_APP_SETTINGS:
-
return "Enhance application settings";
-
case AA_MODE_OVERRIDE_APP_SETTINGS:
-
return "Override application settings";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
static char* getMethodStr(ADLX_ANTI_ALIASING_METHOD method)
-
{
-
switch (method)
-
{
-
case AA_METHOD_MULTISAMPLING:
-
return "Muti-Sampling";
-
case AA_METHOD_ADAPTIVE_MULTISAMPLING:
-
return "Adaptive Muti-Sampling";
-
case AA_METHOD_SUPERSAMPLING:
-
return "Super Sampling";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
static char* getLevelStr(ADLX_ANTI_ALIASING_LEVEL level)
-
{
-
switch (level)
-
{
-
case AA_LEVEL_INVALID:
-
return "Level Invalid";
-
case AA_LEVEL_2X:
-
return "2X";
-
case AA_LEVEL_2XEQ:
-
return "2XEQ";
-
case AA_LEVEL_4X:
-
return "4X";
-
case AA_LEVEL_4XEQ:
-
return "4XEQ";
-
case AA_LEVEL_8X:
-
return "8X";
-
case AA_LEVEL_8XEQ:
-
return "8XEQ";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
void ShowAntiAliasingSupport(IADLX3DAntiAliasing* antiAliasing)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = antiAliasing->pVtbl->IsSupported(antiAliasing, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetAntiAliasingState(IADLX3DAntiAliasing* antiAliasing)
-
{
- -
ADLX_RESULT res = antiAliasing->pVtbl->GetMode(antiAliasing, &mode);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tMode: %s\n", getModeStr(mode));
- -
res = antiAliasing->pVtbl->GetMethod(antiAliasing, &method);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tMethod: %s\n", getMethodStr(method));
- -
res = antiAliasing->pVtbl->GetLevel(antiAliasing, &level);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tLevel: %s\n", getLevelStr(level));
-
}
-
-
void SetAntiAliasingMode(IADLX3DAntiAliasing* antiAliasing, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_ANTI_ALIASING_MODE mode = AA_MODE_USE_APP_SETTINGS;
-
mode = (ADLX_ANTI_ALIASING_MODE)(mode + index);
-
res = antiAliasing->pVtbl->SetMode(antiAliasing, mode);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void SetAntiAliasingMethod(IADLX3DAntiAliasing* antiAliasing)
-
{
-
ADLX_ANTI_ALIASING_METHOD method = AA_METHOD_MULTISAMPLING;
-
ADLX_RESULT res = antiAliasing->pVtbl->GetMethod(antiAliasing, &method);
-
if (ADLX_SUCCEEDED (res))
-
{
-
method = (ADLX_ANTI_ALIASING_METHOD)((method + 1) % 3);
-
res = antiAliasing->pVtbl->SetMethod(antiAliasing, method);
-
printf("\tSet method: %s, res is: %d\n", getMethodStr(method), res);
-
}
-
}
-
-
void SetAntiAliasingLevel(IADLX3DAntiAliasing* antiAliasing)
-
{
- -
ADLX_RESULT res = antiAliasing->pVtbl->GetLevel(antiAliasing, &level);
-
if (ADLX_SUCCEEDED (res))
-
{
-
level = (level == AA_LEVEL_2X) ? AA_LEVEL_4X : AA_LEVEL_2X;
-
res = antiAliasing->pVtbl->SetLevel(antiAliasing, level);
-
printf("\tSet level: %s, res is: %d\n", getLevelStr(level), res);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display anti-aliasing support\n");
-
printf("\t->Press 2 to display current anti-aliasing state\n");
-
printf("\t->Press 3 to set anti-aliasing mode: Use application settings\n");
-
printf("\t->Press 4 to set anti-aliasing mode: Enhance application settings\n");
-
printf("\t->Press 5 to set anti-aliasing mode: Override application settings\n");
-
-
printf("\t->Press 6 to change anti-aliasing method\n");
-
printf("\t->Press 7 to change anti-aliasing level\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DAntiAliasing* antiAliasing)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display anti-aliasing support
-
case '1':
-
ShowAntiAliasingSupport(antiAliasing);
-
break;
-
-
// Display current anti-aliasing status
-
case '2':
-
GetAntiAliasingState(antiAliasing);
-
break;
-
-
// Set anti-aliasing mode
-
case '3':
-
case '4':
-
case '5':
-
SetAntiAliasingMode(antiAliasing, num - '3');
-
break;
-
-
// Set anti-aliasing method
-
case '6':
-
SetAntiAliasingMethod(antiAliasing);
-
break;
-
-
// Set anti-aliasing level
-
case '7':
-
SetAntiAliasingLevel(antiAliasing);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ AA_MODE_ENHANCE_APP_SETTINGS
Definition: ADLXDefines.h:758
-
@ AA_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:759
-
@ AA_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:757
-
@ AA_LEVEL_4XEQ
Definition: ADLXDefines.h:776
-
@ AA_LEVEL_8XEQ
Definition: ADLXDefines.h:778
-
@ AA_LEVEL_4X
Definition: ADLXDefines.h:775
-
@ AA_LEVEL_2XEQ
Definition: ADLXDefines.h:774
-
@ AA_LEVEL_INVALID
Definition: ADLXDefines.h:772
-
@ AA_LEVEL_8X
Definition: ADLXDefines.h:777
-
@ AA_LEVEL_2X
Definition: ADLXDefines.h:773
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ AA_METHOD_SUPERSAMPLING
Definition: ADLXDefines.h:793
-
@ AA_METHOD_MULTISAMPLING
Definition: ADLXDefines.h:791
-
@ AA_METHOD_ADAPTIVE_MULTISAMPLING
Definition: ADLXDefines.h:792
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_ANTI_ALIASING_MODE
Indicates the anti-aliasing mode.
Definition: ADLXDefines.h:756
-
ADLX_ANTI_ALIASING_LEVEL
Indicates the anti-aliasing level.
Definition: ADLXDefines.h:771
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_ANTI_ALIASING_METHOD
Indicates the anti-aliasing method.
Definition: ADLXDefines.h:790
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__anti_lag.html b/vendor/adlx/SDKDoc/html/c__anti_lag.html deleted file mode 100644 index a89bbb9..0000000 --- a/vendor/adlx/SDKDoc/html/c__anti_lag.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AntiLag - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AntiLag
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Anti-Lag support
2 Display current Radeon Anti-Lag state
3 Enable Radeon Anti-Lag
4 Disable Radeon Anti-Lag
5 Get Radeon Anti-Lag Level
6 Set Radeon Anti-Lag Level to Anti-Lag
7 Set Radeon Anti-Lag Level to Anti-Lag Next
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AntiLag

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Anti-Lag support
-
void ShowAntiLagSupport(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1);
-
-
// Display current Anti-Lag state
-
void GetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1);
-
-
// Set Anti-Lag state
-
void SetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1, int index);
-
-
// Display current Anti-Lag Level
-
void GetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1);
-
-
// Set Anti-Lag Level
-
void SetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1, ADLX_ANTILAG_STATE level);
-
-
-
// Menu
-
void MainMenu(int alnSupport);
-
-
// Menu control
-
void MenuControl(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get AntiLag interface
-
IADLX3DAntiLag* d3dAntiLag = NULL;
-
IADLX3DAntiLag1* d3dAntiLag1 = NULL;
-
res = d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv, gpu, &d3dAntiLag);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get AntiLag1 interface
-
ADLX_RESULT resALN = d3dAntiLag->pVtbl->QueryInterface(d3dAntiLag, IID_IADLX3DAntiLag1, (void**)(&d3dAntiLag1));
-
-
MainMenu(d3dAntiLag1 != NULL ? 1 : 0);
-
MenuControl(d3dAntiLag, d3dAntiLag1);
-
}
-
-
// Release the d3dAntiLag interface
-
if (d3dAntiLag != NULL)
-
{
-
d3dAntiLag->pVtbl->Release(d3dAntiLag);
-
d3dAntiLag = NULL;
-
}
-
if (d3dAntiLag1 != NULL)
-
{
-
d3dAntiLag1->pVtbl->Release(d3dAntiLag1);
-
d3dAntiLag1 = NULL;
-
}
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowAntiLagSupport(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1)
-
{
-
adlx_bool supported = false;
-
if (d3dAntiLag1 != NULL)
-
d3dAntiLag1->pVtbl->IsSupported(d3dAntiLag1, &supported);
-
else
-
d3dAntiLag->pVtbl->IsSupported(d3dAntiLag, &supported);
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1)
-
{
-
adlx_bool enabled = false;
-
if (d3dAntiLag1 != NULL)
-
d3dAntiLag1->pVtbl->IsEnabled(d3dAntiLag1, &enabled);
-
else
-
d3dAntiLag->pVtbl->IsEnabled(d3dAntiLag, &enabled);
-
printf("\tIsEnabled: %d\n", enabled);
-
}
-
-
void SetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1, int index)
-
{
- -
if (d3dAntiLag1 != NULL)
-
res = d3dAntiLag1->pVtbl->SetEnabled(d3dAntiLag1, index == 0);
-
else
-
res = d3dAntiLag->pVtbl->SetEnabled(d3dAntiLag, index == 0);
-
printf("\tReturn code is: %d (0 means Success)\n", res);
-
}
-
-
void GetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1)
-
{
-
ADLX_ANTILAG_STATE level = ANTILAG;
-
ADLX_RESULT res = d3dAntiLag1->pVtbl->GetLevel(d3dAntiLag1, &level);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tLevel: %s\n", (level == ANTILAG ? "Anti-Lag" : "Anti-Lag Next"));
-
}
-
-
void SetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1, ADLX_ANTILAG_STATE level)
-
{
-
ADLX_RESULT res = d3dAntiLag1->pVtbl->SetLevel(d3dAntiLag1, level == ANTILAGNEXT);
-
printf("\tReturn code is: %d (0 means Success)\n", res);
-
}
-
-
void MainMenu(int alnSupport)
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Anti-Lag support\n");
-
printf("\t->Press 2 to display current Anti-Lag state\n");
-
printf("\t->Press 3 to enable Anti-Lag\n");
-
printf("\t->Press 4 to disable Anti-Lag\n");
-
if (alnSupport == 1)
-
{
-
printf("\t->Press 5 to Get Anti-Lag Level\n");
-
printf("\t->Press 6 to Set Anti-Lag level to Anti-Lag\n");
-
printf("\t->Press 7 to Set Anti-Lag level to Anti-Lag Next\n");
-
}
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Anti-Lag support
-
case '1':
-
ShowAntiLagSupport(d3dAntiLag, d3dAntiLag1);
-
break;
-
-
// Display current Anti-Lag state
-
case '2':
-
GetAntiLagState(d3dAntiLag, d3dAntiLag1);
-
break;
-
-
// Set Anti-Lag state
-
case '3':
-
case '4':
-
SetAntiLagState(d3dAntiLag, d3dAntiLag1, num - '3');
-
break;
-
case '5':
-
GetAntiLagLevel(d3dAntiLag1);
-
break;
-
case '6':
-
SetAntiLagLevel(d3dAntiLag1, ANTILAG);
-
break;
-
case '7':
-
SetAntiLagLevel(d3dAntiLag1, ANTILAGNEXT);
-
break;
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(d3dAntiLag1 != NULL ? 1 : 0);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ANTILAGNEXT
Definition: ADLXDefines.h:959
-
@ ANTILAG
Definition: ADLXDefines.h:958
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_ANTILAG_STATE
Indicates the state of Anti Lag.
Definition: ADLXDefines.h:957
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__boost.html b/vendor/adlx/SDKDoc/html/c__boost.html deleted file mode 100644 index 597d5f8..0000000 --- a/vendor/adlx/SDKDoc/html/c__boost.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Boost - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Boost
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Boost support
2 Display current Radeon Boost state, current resolution, and resolution range
3 Enable Radeon Boost and change minimum resolution
4 Disable Radeon Boost
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Boost

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Boost support
-
void ShowBoostSupport(IADLX3DBoost* d3dBoost);
-
-
// Display current Boost state
-
void GetBoostState(IADLX3DBoost* d3dBoost);
-
-
// Set Boost state
-
void SetBoostState(IADLX3DBoost* d3dBoost, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DBoost* d3dBoost);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get Boost interface
-
IADLX3DBoost* d3dBoost = NULL;
-
res = d3dSettingSrv->pVtbl->GetBoost(d3dSettingSrv, gpu, &d3dBoost);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dBoost);
-
}
-
-
// Release Boost interface
-
if (d3dBoost != NULL)
-
{
-
d3dBoost->pVtbl->Release(d3dBoost);
-
d3dBoost = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowBoostSupport(IADLX3DBoost* d3dBoost)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dBoost->pVtbl->IsSupported(d3dBoost, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetBoostState(IADLX3DBoost* d3dBoost)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dBoost->pVtbl->IsEnabled(d3dBoost, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsEnabled: %d\n", enabled);
-
adlx_int minRes;
-
ADLX_IntRange resolutionRange;
-
res = d3dBoost->pVtbl->GetResolution(d3dBoost, &minRes);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tCurrent Resolution: %d\n", minRes);
-
res = d3dBoost->pVtbl->GetResolutionRange(d3dBoost, &resolutionRange);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tResolution limit [ %d , %d ], step: %d\n", resolutionRange.minValue, resolutionRange.maxValue, resolutionRange.step);
-
}
-
-
void SetBoostState(IADLX3DBoost* d3dBoost, int index)
-
{
-
ADLX_RESULT res = d3dBoost->pVtbl->SetEnabled(d3dBoost, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int minRes;
-
ADLX_IntRange resolutionRange;
-
ADLX_RESULT res1 = d3dBoost->pVtbl->GetResolution(d3dBoost, &minRes);
-
ADLX_RESULT res2 = d3dBoost->pVtbl->GetResolutionRange(d3dBoost, &resolutionRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
if (minRes != resolutionRange.minValue)
-
{
-
res = d3dBoost->pVtbl->SetResolution(d3dBoost, resolutionRange.minValue);
-
printf("\tUse minimum resolution limit, return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = d3dBoost->pVtbl->SetResolution(d3dBoost, resolutionRange.maxValue);
-
printf("\tUse maximum resolution limit, return code is: %d (0 means success)\n", res);
-
}
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Boost support\n");
-
printf("\t->Press 2 to display current Boost state\n");
-
printf("\t->Press 3 to enable Boost\n");
-
printf("\t->Press 4 to disable Boost\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DBoost* d3dBoost)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Boost support
-
case '1':
-
ShowBoostSupport(d3dBoost);
-
break;
-
-
// Display current Boost state
-
case '2':
-
GetBoostState(d3dBoost);
-
break;
-
-
// Set Boost
-
case '3':
-
case '4':
-
SetBoostState(d3dBoost, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__chill.html b/vendor/adlx/SDKDoc/html/c__chill.html deleted file mode 100644 index 4a1811c..0000000 --- a/vendor/adlx/SDKDoc/html/c__chill.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Chill - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Chill
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Chill support
2 Display current Radeon Chill state, current FPS, and FPS range
3 Enable Radeon Chill
4 Disable Radeon Chill
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Chill

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Chill support
-
void ShowChillSupport(IADLX3DChill* d3dChill);
-
-
// Display current Chill state
-
void GetChillState(IADLX3DChill* d3dChill);
-
-
// Set Chill state
-
void SetChillState(IADLX3DChill* d3dChill, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DChill* d3dChill);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get Chill interface
-
IADLX3DChill* d3dChill = NULL;
-
res = d3dSettingSrv->pVtbl->GetChill(d3dSettingSrv, gpu, &d3dChill);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dChill);
-
}
-
-
// Release Chill interface
-
if (d3dChill != NULL)
-
{
-
d3dChill->pVtbl->Release(d3dChill);
-
d3dChill = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowChillSupport(IADLX3DChill* d3dChill)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dChill->pVtbl->IsSupported(d3dChill, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetChillState(IADLX3DChill* d3dChill)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dChill->pVtbl->IsEnabled(d3dChill, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsEnabled: %d\n", enabled);
-
adlx_int minFPS, maxFPS;
-
ADLX_IntRange fpsRange;
-
res = d3dChill->pVtbl->GetMinFPS(d3dChill, &minFPS);
-
if (ADLX_SUCCEEDED (res))
-
printf ("\tCurrent MinFPS: %d\n", minFPS);
-
res = d3dChill->pVtbl->GetMaxFPS(d3dChill, &maxFPS);
-
if (ADLX_SUCCEEDED (res))
-
printf ("\tCurrent MaxFPS: %d\n", maxFPS);
-
res = d3dChill->pVtbl->GetFPSRange(d3dChill, &fpsRange);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tFPSSet limit [ %d, %d ], step: %d\n", fpsRange.minValue, fpsRange.maxValue, fpsRange.step);
-
}
-
-
void SetChillState(IADLX3DChill* d3dChill, int index)
-
{
-
ADLX_RESULT res = d3dChill->pVtbl->SetEnabled(d3dChill, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int minFPS, maxFPS;
-
ADLX_IntRange fpsRange;
-
d3dChill->pVtbl->GetMinFPS(d3dChill, &minFPS);
-
d3dChill->pVtbl->GetMaxFPS(d3dChill, &maxFPS);
-
d3dChill->pVtbl->GetFPSRange(d3dChill, &fpsRange);
-
printf("\t\tEnter two space delimited integers:[minFPS, maxFPS]\n");
-
-
int coeffs[2] = {fpsRange.minValue, fpsRange.maxValue};
-
-
for (int i = 0; i < 2; i++)
-
{
-
scanf_s("%d", &coeffs[i]);
-
}
-
-
res = d3dChill->pVtbl->SetMinFPS(d3dChill, coeffs[0]);
-
printf("\tSet minimum FPS return code is: %d (0 means success)\n", res);
-
res = d3dChill->pVtbl->SetMaxFPS(d3dChill, coeffs[1]);
-
printf("\tSet maximum FPS return code is: %d (0 means success)\n", res);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Chill support\n");
-
printf("\t->Press 2 to display current Chill state\n");
-
printf("\t->Press 3 to enable Chill\n");
-
printf("\t->Press 4 to disable Chill\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DChill* d3dChill)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Chill support
-
case '1':
-
ShowChillSupport(d3dChill);
-
break;
-
-
// Display current Chill state
-
case '2':
-
GetChillState(d3dChill);
-
break;
-
-
// Set Chill state
-
case '3':
-
case '4':
-
SetChillState(d3dChill, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__enhanced_sync.html b/vendor/adlx/SDKDoc/html/c__enhanced_sync.html deleted file mode 100644 index c5c1bc9..0000000 --- a/vendor/adlx/SDKDoc/html/c__enhanced_sync.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: EnhancedSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
EnhancedSync
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Enhanced Sync support
2 Get and display current Radeon Enhanced Sync state
3 Enable Radeon Enhanced Sync
4 Disable Radeon Enhanced Sync
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/EnhancedSync

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Enhanced Sync support
-
void ShowEnhancedSyncSupport(IADLX3DEnhancedSync* d3dEnhancedSync);
-
-
// Get current Enhanced Sync state
-
void GetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync);
-
-
// Set Enhanced Sync state
-
void SetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DEnhancedSync* d3dEnhancedSync);
-
-
// Wait for exit with error message
-
int WaitAndExit(char* msg, int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get EnhancedSync interface
-
IADLX3DEnhancedSync* d3dEnhancedSync;
-
res = d3dSettingSrv->pVtbl->GetEnhancedSync(d3dSettingSrv, gpu, &d3dEnhancedSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dEnhancedSync);
-
}
-
-
// Release the EnhancedSync interface
-
if (d3dEnhancedSync != NULL)
-
{
-
d3dEnhancedSync->pVtbl->Release(d3dEnhancedSync);
-
d3dEnhancedSync = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowEnhancedSyncSupport(IADLX3DEnhancedSync* d3dEnhancedSync)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dEnhancedSync->pVtbl->IsSupported(d3dEnhancedSync, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dEnhancedSync->pVtbl->IsEnabled(d3dEnhancedSync, &enabled);
-
printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res);
-
}
-
-
void SetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync, int index)
-
{
-
ADLX_RESULT res = d3dEnhancedSync->pVtbl->SetEnabled(d3dEnhancedSync, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Enhanced Sync support\n");
-
printf("\t->Press 2 to get Enhanced Sync state\n");
-
printf("\t->Press 3 to enable Enhanced Sync\n");
-
printf("\t->Press 4 to disable Enhanced Sync\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DEnhancedSync* d3dEnhancedSync)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Enhanced Sync support
-
case '1':
-
ShowEnhancedSyncSupport(d3dEnhancedSync);
-
break;
-
-
// Get and display current Enhanced Sync state
-
case '2':
-
GetEnhancedSyncState(d3dEnhancedSync);
-
break;
-
-
// Set Enhanced Sync state
-
case '3':
-
case '4':
-
SetEnhancedSyncState(d3dEnhancedSync, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__f_r_t_c.html b/vendor/adlx/SDKDoc/html/c__f_r_t_c.html deleted file mode 100644 index cffaa73..0000000 --- a/vendor/adlx/SDKDoc/html/c__f_r_t_c.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: FRTC - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
FRTC
-
-
-
- - - -

Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD FRTC support
2 Get and display current AMD FRTC state and additional information
3 Enable and configure AMD FRTC
4 Disable AMD FRTC
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/FRTC

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display FRTC support
-
void ShowFRTCSupport(IADLX3DFrameRateTargetControl* frtc);
-
-
// Get and display current FRTC state
-
void GetFRTCState(IADLX3DFrameRateTargetControl* frtc);
-
-
// Set FRTC state
-
void SetFRTCState(IADLX3DFrameRateTargetControl* frtc, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DFrameRateTargetControl* frtc);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get FRTC interface
-
IADLX3DFrameRateTargetControl* frtc = NULL;
-
res = d3dSettingSrv->pVtbl->GetFrameRateTargetControl(d3dSettingSrv, gpu, &frtc);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(frtc);
-
}
-
-
// Release the FRTC interface
-
if (frtc != NULL)
-
{
-
frtc->pVtbl->Release(frtc);
-
frtc = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowFRTCSupport(IADLX3DFrameRateTargetControl* frtc)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = frtc->pVtbl->IsSupported(frtc, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetFRTCState(IADLX3DFrameRateTargetControl* frtc)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = frtc->pVtbl->IsEnabled(frtc, &enabled);
-
printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res);
-
adlx_int fps;
-
ADLX_IntRange range = { 0 };
-
res = frtc->pVtbl->GetFPS(frtc, &fps);
-
printf("\tCurrent FPS: %d, return code is: %d(0 means success)\n", fps, res);
-
res = frtc->pVtbl->GetFPSRange(frtc, &range);
-
printf("\tFPS limit [ %d , %d ], step: %d, return code is: %d(0 means success)\n", range.minValue, range.maxValue, range.step, res);
-
}
-
-
void SetFRTCState(IADLX3DFrameRateTargetControl* frtc, int index)
-
{
-
ADLX_RESULT res = frtc->pVtbl->SetEnabled(frtc, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int fps;
-
ADLX_IntRange range = { 0 };
-
frtc->pVtbl->GetFPS(frtc, &fps);
-
frtc->pVtbl->GetFPSRange(frtc, &range);
-
if (fps != range.minValue)
-
{
-
res = frtc->pVtbl->SetFPS(frtc, range.minValue);
-
printf("\tUse minimum FPS limit: return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = frtc->pVtbl->SetFPS(frtc, range.maxValue);
-
printf("\tUse maximum FPS limit: return code is: %d (0 means success)\n", res);
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display FRTC support\n");
-
printf("\t->Press 2 to get and display current FRTC state\n");
-
printf("\t->Press 3 to enable and configure FRTC\n");
-
printf("\t->Press 4 to disable FRTC\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DFrameRateTargetControl* frtc)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display FRTC support
-
case '1':
-
ShowFRTCSupport(frtc);
-
break;
-
-
// Get and display current FRTC state
-
case '2':
-
GetFRTCState(frtc);
-
break;
-
-
// Set FRTC state
-
case '3':
-
case '4':
-
SetFRTCState(frtc, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__g_p_u_auto_tuning.html b/vendor/adlx/SDKDoc/html/c__g_p_u_auto_tuning.html deleted file mode 100644 index 3b2fcd6..0000000 --- a/vendor/adlx/SDKDoc/html/c__g_p_u_auto_tuning.html +++ /dev/null @@ -1,676 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUAutoTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUAutoTuning
-
-
-
- - - -

This document describes how to control GPU Auto Tuning.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Check GPU Tuning is at factory status.
2 Restore the given GPU Tuning to factory status.
3 Show GPU auto tuning support.
4 Show current GPU status.
5 Start Undervolt GPU tuning.
6 Start Overclock GPU tuning.
7 Start Overclock VRAM tuning
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/GPUAutoTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUAutoTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// ADLX Event Listener
-
static HANDLE g_ADLXEvent = NULL;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode, IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Check GPU Tuning is at factory status
-
void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Restore the given GPU Tuning to factory status.
-
void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Show GPU auto tuning support
-
void ShowGPUAutoTuningSupport(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Show current GPU status
-
void ShowCurrentGPUStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus);
-
-
// Derive from IADLXGPUAutoTuningCompleteListener
-
adlx_bool ADLX_STD_CALL onGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener* pGPUAutoTuningCompleteListener,
-
IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvents);
-
// Start GPU auto tuning
-
void StartGPUAutoTuning(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus, int num);
-
-
static IADLXGPUAutoTuningCompleteListenerVtbl vtable = { &onGPUAutoTuningCompleteEvents };
-
static IADLXGPUAutoTuningCompleteListener completeListener = { &vtable };
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create event
-
g_ADLXEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("ADLXEvent"));
-
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUList* gpus = NULL;
-
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus);
-
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus);
-
-
// Show a menu with options to chose from
-
MainMenu();
-
-
// Get the choice and interpet it
-
MenuControl(gpuTuningService, gpus);
-
-
// Free
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
{
-
printf("\tg_ADLXHelp initialize failed\n");
-
system("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (g_ADLXEvent)
-
CloseHandle(g_ADLXEvent);
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to check GPU Tuning is at factory status\n");
-
printf("\t->Press 2 to restore the given GPU Tuning to factory status\n");
-
printf("\t->Press 3 to show GPU auto tuning support\n");
-
printf("\t->Press 4 to show current GPU status\n");
-
printf("\t->Press 5 to start Undervolt GPU tuning\n");
-
printf("\t->Press 6 to start Overclock GPU tuning\n");
-
printf("\t->Press 7 to start Overclock VRAM tuning\n");
-
-
printf("\t->Press Q/q to quit\n");
-
printf("\t->Press M/m to show the options again\n");
-
}
-
-
// menu action control
-
void MenuControl(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Check GPU Tuning is at factory status
-
case '1':
-
CheckGPUTuningIsAtFactoryStatus(gpuTuningService, gpus);
-
break;
-
-
// Restore the given GPU Tuning to factory status.
-
case '2':
-
RestoreGPUTuningToFactoryStatus(gpuTuningService, gpus);
-
break;
-
-
// Show GPU auto tuning support
-
case '3':
-
ShowGPUAutoTuningSupport(gpuTuningService, gpus);
-
break;
-
-
// Show current GPU status
-
case '4':
-
ShowCurrentGPUStatus(gpuTuningService, gpus);
-
break;
-
-
// Start Undervolt GPU tuning
-
case '5':
-
// Start Overclock GPU tuning
-
case '6':
-
// Start Overclock VRAM tuning
-
case '7':
-
StartGPUAutoTuning(gpuTuningService, gpus, num - 5);
-
break;
-
-
// Show options again
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode, IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
// Printout the message and pause for user to see it then return the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
-
// Destroy ADLX
-
ADLX_RESULT res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Check GPU Tuning is at factory status
-
void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
IADLXGPU* oneGPU = NULL;
-
for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt)
-
{
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool isFactory = false;
-
res = gpuTuningService->pVtbl->IsAtFactory(gpuTuningService, oneGPU, &isFactory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("\tThe %dth GPU is at factory status: %d\n", crt, isFactory);
-
}
-
else
-
{
-
printf("\tCheck the %dth GPU Tuning is at factory status failed\n", crt);
-
}
-
}
-
else
-
{
-
printf("\tGet %dth GPU failed\n", crt);
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
-
// Restore the given GPU Tuning to factory status.
-
void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
IADLXGPU* oneGPU = NULL;
-
for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt)
-
{
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool isFactory = false;
-
res = gpuTuningService->pVtbl->ResetToFactory(gpuTuningService, oneGPU);
-
if (ADLX_FAILED(res))
-
printf("\tReset the %dth GPU Tuning to factory status failed\n", crt);
-
else
-
printf("\tReset the %dth GPU Tuning to factory status successfully\n", crt);
-
}
-
else
-
{
-
printf("\tGet %dth GPU failed\n", crt);
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
-
// Show GPU auto tuning support
-
void ShowGPUAutoTuningSupport(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
IADLXGPU* oneGPU = NULL;
-
IADLXInterface* autoTuningIfc = NULL;
-
IADLXGPUAutoTuning* autoTuning = NULL;
-
for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt)
-
{
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
printf("\tThe %dth GPU doesn't supported auto tuning\n", crt);
-
}
-
else
-
{
-
res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == NULL)
-
{
-
printf("\tGet auto tuning of %dth GPU failed\n", crt);
-
}
-
else
-
{
-
res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning));
-
if (ADLX_SUCCEEDED(res) && autoTuning)
-
{
-
supported = false;
-
res = autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning, &supported);
-
printf("\tIs the %dth GPU supported undervolt: %d\n", crt, supported);
-
supported = false;
-
res = autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning, &supported);
-
printf("\tIs the %dth GPU supported overclock: %d\n", crt, supported);
-
supported = false;
-
res = autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning, &supported);
-
printf("\tIs the %dth GPU supported overclock VRAM: %d\n", crt, supported);
-
}
-
-
if (autoTuning != NULL)
-
{
-
autoTuning->pVtbl->Release(autoTuning);
-
autoTuning = NULL;
-
}
-
}
-
-
if (autoTuningIfc != NULL)
-
{
-
autoTuningIfc->pVtbl->Release(autoTuningIfc);
-
autoTuningIfc = NULL;
-
}
-
}
-
}
-
else
-
{
-
printf("\tGet %dth GPU failed\n", crt);
-
}
-
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
-
// Show current GPU status
-
void ShowCurrentGPUStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus)
-
{
-
IADLXGPU* oneGPU;
-
IADLXInterface* autoTuningIfc = NULL;
-
IADLXGPUAutoTuning* autoTuning = NULL;
-
for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt)
-
{
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
printf("\tThe %dth GPU doesn't supported auto tuning\n", crt);
-
}
-
else
-
{
-
res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == NULL)
-
{
-
printf("\tGet auto tuning of %dth GPU failed\n", crt);
-
}
-
else
-
{
-
res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning));
-
adlx_bool applied = false;
-
if (ADLX_SUCCEEDED(res) && autoTuning)
-
{
-
applied = false;
-
res = autoTuning->pVtbl->IsCurrentUndervoltGPU(autoTuning, &applied);
-
printf("\tIs the %dth GPU undervolt applied: %d\n", crt, applied);
-
applied = false;
-
res = autoTuning->pVtbl->IsCurrentOverclockGPU(autoTuning, &applied);
-
printf("\tIs the %dth GPU overclock applied: %d\n", crt, applied);
-
applied = false;
-
res = autoTuning->pVtbl->IsCurrentOverclockVRAM(autoTuning, &applied);
-
printf("\tIs the %dth GPU overclock VRAM applied: %d\n", crt, applied);
-
}
-
-
if (autoTuning != NULL)
-
{
-
autoTuning->pVtbl->Release(autoTuning);
-
autoTuning = NULL;
-
}
-
}
-
-
if (autoTuningIfc != NULL)
-
{
-
autoTuningIfc->pVtbl->Release(autoTuningIfc);
-
autoTuningIfc = NULL;
-
}
-
}
-
}
-
else
-
{
-
printf("\tGet %dth GPU failed\n", crt);
-
}
-
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
-
adlx_bool ADLX_STD_CALL onGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener* pGPUAutoTuningCompleteListener,
-
IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent)
-
{
-
adlx_bool change = false;
-
change = pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockGPUCompleted(pGPUAutoTuningCompleteEvent);
-
printf("\tIs overclock GPU Completed: %d\n", change);
-
change = pGPUAutoTuningCompleteEvent->pVtbl->IsUndervoltGPUCompleted(pGPUAutoTuningCompleteEvent);
-
printf("\tIs undervolt GPU Completed: %d\n", change);
-
change = pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockVRAMCompleted(pGPUAutoTuningCompleteEvent);
-
printf("\tIs overclock VRAM Completed: %d\n", change);
-
SetEvent(g_ADLXEvent);
-
return true;
-
};
-
-
void StartGPUAutoTuning(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus, int num)
-
{
-
IADLXGPU* oneGPU = NULL;
-
// Set the first GPU auto tuning
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
printf("\tThe GPU doesn't supported auto tuning\n");
-
}
-
else
-
{
-
IADLXInterface* autoTuningIfc = NULL;
-
res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == NULL)
-
{
-
printf("\tGet auto tuning of GPU failed\n");
-
}
-
else
-
{
-
IADLXGPUAutoTuning* autoTuning = NULL;
-
res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning));
-
if (ADLX_SUCCEEDED(res) && autoTuning)
-
{
-
switch (num)
-
{
-
case '0':
-
-
res = autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning, &supported);
-
if (ADLX_SUCCEEDED(res) && supported)
-
{
-
res = autoTuning->pVtbl->StartUndervoltGPU(autoTuning, &completeListener);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tStart undervolt GPU successfully\n");
-
else
-
printf("\tStart undervolt GPU failed\n");
-
}
-
else
-
{
-
printf("\tUndervolt GPU is not supported\n");
-
}
-
break;
-
case '1':
-
res = autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning, &supported);
-
if (ADLX_SUCCEEDED(res) && supported)
-
{
-
res = autoTuning->pVtbl->StartOverclockGPU(autoTuning, &completeListener);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tStart overclock GPU successfully\n");
-
else
-
printf("\tStart overclock GPU failed\n");
-
}
-
else
-
{
-
printf("\tOverclock GPU is not supported\n");
-
}
-
break;
-
case '2':
-
res = autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning, &supported);
-
if (ADLX_SUCCEEDED(res) && supported)
-
{
-
res = autoTuning->pVtbl->StartOverclockVRAM(autoTuning, &completeListener);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tStart overclock VRAM successfully\n");
-
else
-
printf("\tStart overclock VRAM failed\n");
-
}
-
else
-
{
-
printf("\tOverclock VRAM is not supported\n");
-
}
-
break;
-
default:
-
break;
-
}
-
}
-
-
if (autoTuning != NULL)
-
{
-
autoTuning->pVtbl->Release(autoTuning);
-
autoTuning = NULL;
-
}
-
}
-
-
if (autoTuningIfc != NULL)
-
{
-
autoTuningIfc->pVtbl->Release(autoTuningIfc);
-
autoTuningIfc = NULL;
-
}
-
}
-
}
-
else
-
{
-
printf("\tGet GPU failed\n");
-
}
-
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__g_p_u_preset_tuning.html b/vendor/adlx/SDKDoc/html/c__g_p_u_preset_tuning.html deleted file mode 100644 index 035b5ec..0000000 --- a/vendor/adlx/SDKDoc/html/c__g_p_u_preset_tuning.html +++ /dev/null @@ -1,437 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUPresetTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUPresetTuning
-
-
-
- - - -

Demonstrates how to control GPU preset tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU tuning support states.
2 Get current GPU tuning states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/GPUPresetTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUPresetTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUPresetTuning* gpuPresetTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* gpuPresetTuningIfc,
-
IADLXGPUPresetTuning* gpuPresetTuning);
-
-
// Display GPU tuning support states
-
void ShowIsSupported(IADLXGPUPresetTuning* gpuPresetTuning);
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXGPUPresetTuning* gpuPresetTuning);
-
-
// Set GPU states
-
void SetGPUStates(IADLXGPUPresetTuning* gpuPresetTuning);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUList* gpus = NULL;
-
IADLXGPU* oneGPU = NULL;
-
IADLXInterface* gpuPresetTuningIfc = NULL;
-
IADLXGPUPresetTuning* gpuPresetTuning = NULL;
-
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == NULL)
-
return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedPresetTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
return WaitAndExit("\tGPU preset tuning is not supported by this GPU", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
-
res = gpuTuningService->pVtbl->GetPresetTuning(gpuTuningService, oneGPU, &gpuPresetTuningIfc);
-
if (ADLX_FAILED(res) || gpuPresetTuningIfc == NULL)
-
return WaitAndExit("\tGet GPU preset tuning interface failed", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
-
gpuPresetTuningIfc->pVtbl->QueryInterface(gpuPresetTuningIfc, IID_IADLXGPUPresetTuning(), (void**)&gpuPresetTuning);
-
if (gpuPresetTuning == NULL)
-
return WaitAndExit("\tGet GPU preset tuning failed", 0, gpuTuningService, gpus, oneGPU,
-
gpuPresetTuningIfc, gpuPresetTuning);
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(gpuPresetTuning);
-
-
// Release the gpuPresetTuning interface
-
if (gpuPresetTuning != NULL)
-
{
-
gpuPresetTuning->pVtbl->Release(gpuPresetTuning);
-
gpuPresetTuning = NULL;
-
}
-
if (gpuPresetTuningIfc != NULL)
-
{
-
gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc);
-
gpuPresetTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
{
-
printf("\tg_ADLXHelp initialize failed\n");
-
system("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display GPU tuning support states\n");
-
printf("\t->Press 2 to display current GPU tuning states\n");
-
printf("\t->Press 3 to set GPU states\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLXGPUPresetTuning* gpuPresetTuning)
-
{
-
char num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display GPU tuning support states
-
case '1':
-
ShowIsSupported(gpuPresetTuning);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates(gpuPresetTuning);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates(gpuPresetTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* gpuPresetTuningIfc,
-
IADLXGPUPresetTuning* gpuPresetTuning)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
if (gpuPresetTuning != NULL)
-
{
-
gpuPresetTuning->pVtbl->Release(gpuPresetTuning);
-
gpuPresetTuning = NULL;
-
}
-
if (gpuPresetTuningIfc != NULL)
-
{
-
gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc);
-
gpuPresetTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
// Destroy ADLX
-
ADLX_RESULT res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU tuning support states
-
void ShowIsSupported(IADLXGPUPresetTuning* gpuPresetTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = gpuPresetTuning->pVtbl->IsSupportedPowerSaver(gpuPresetTuning, &supported);
-
printf("\tIs Power Save supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res);
-
supported = false;
-
res = gpuPresetTuning->pVtbl->IsSupportedQuiet(gpuPresetTuning, &supported);
-
printf("\tIs Quiet supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res);
-
supported = false;
-
res = gpuPresetTuning->pVtbl->IsSupportedBalanced(gpuPresetTuning, &supported);
-
printf("\tIs Balanced supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res);
-
supported = false;
-
res = gpuPresetTuning->pVtbl->IsSupportedTurbo(gpuPresetTuning, &supported);
-
printf("\tIs Turbo supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res);
-
supported = false;
-
res = gpuPresetTuning->pVtbl->IsSupportedRage(gpuPresetTuning, &supported);
-
printf("\tIs Rage supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXGPUPresetTuning* gpuPresetTuning)
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning, &applied);
-
printf("\tIs Power Saver applied: %d, return code is: %d(0 means success)\n", applied, res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning, &applied);
-
printf("\tIs Quiet applied: %d, return code is: %d(0 means success)\n", applied, res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning, &applied);
-
printf("\tIs Balanced applied: %d, return code is: %d(0 means success)\n", applied, res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning, &applied);
-
printf("\tIs Turbo applied: %d, return code is: %d(0 means success)\n", applied, res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning, &applied);
-
printf("\tIs Rage applied: %d, return code is: %d(0 means success)\n", applied, res);
-
}
-
-
// Set GPU states
-
void SetGPUStates(IADLXGPUPresetTuning* gpuPresetTuning)
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = gpuPresetTuning->pVtbl->SetPowerSaver(gpuPresetTuning);
-
res = gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning, &applied);
-
printf("\tSet Power Saver preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->SetQuiet(gpuPresetTuning);
-
res = gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning, &applied);
-
printf("\tSet Quiet preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->SetBalanced(gpuPresetTuning);
-
res = gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning, &applied);
-
printf("\tSet Balanced preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->SetTurbo(gpuPresetTuning);
-
res = gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning, &applied);
-
printf("\tSet Turbo preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res);
-
applied = false;
-
res = gpuPresetTuning->pVtbl->SetRage(gpuPresetTuning);
-
res = gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning, &applied);
-
printf("\tSet Rage preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res);
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__i2_c.html b/vendor/adlx/SDKDoc/html/c__i2_c.html deleted file mode 100644 index 67d1cd1..0000000 --- a/vendor/adlx/SDKDoc/html/c__i2_c.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: I2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
I2C
-
-
-
- - - -

Demonstrates how to read and write data with I2C when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display version.
2 Read.
3 Repeated read.
4 Write.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/I2C/I2C

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/II2C.h"
-
#define DATA_SIZE 2
-
-
// Display version
-
void ShowVersion(IADLXI2C* i2c);
-
-
// Read
-
void Read(IADLXI2C* i2c);
-
-
// Repeated read
-
void RepeatedRead(IADLXI2C* i2c);
-
-
// Write
-
void Write(IADLXI2C* i2c);
-
-
// Capability
-
void Capability(IADLXI2C* i2c);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLXI2C* i2c);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPU list
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get I2C interface
-
IADLXI2C* i2c = NULL;
-
res = sys->pVtbl->GetI2C(sys, gpu, &i2c);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(i2c);
-
}
-
-
// Release the I2C interface
-
if (i2c != NULL)
-
{
-
i2c->pVtbl->Release(i2c);
-
i2c = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
-
// Release the GPUlist interface
-
if (NULL != gpus)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowVersion(IADLXI2C* i2c)
-
{
-
adlx_int major;
-
adlx_int minor;
-
ADLX_RESULT res = i2c->pVtbl->Version(i2c, &major, &minor);
-
printf("\tI2C version, major: %d, minor: %d\n", major, minor);
-
printf("\tres is: %d\n", res);
-
}
-
-
void Read(IADLXI2C* i2c)
-
{
-
// Specific hardware requirements
-
adlx_byte data[DATA_SIZE] = { 0 };
-
ADLX_RESULT res = i2c->pVtbl->Read(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
printf("\tI2C read info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30");
-
printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res);
-
}
-
-
void RepeatedRead(IADLXI2C* i2c)
-
{
-
// Specific hardware requirements
-
adlx_byte data[DATA_SIZE] = { 0 };
-
ADLX_RESULT res = i2c->pVtbl->RepeatedStartRead(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
printf("\tI2C read info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30");
-
printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res);
-
}
-
-
void Write(IADLXI2C* i2c)
-
{
-
// Specific hardware requirements
-
adlx_byte data[DATA_SIZE] = { 0 };
-
data[0] = 176;
-
ADLX_RESULT res = i2c->pVtbl->Write(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
printf("\tI2C write info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30");
-
printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res);
-
}
-
-
void Capability(IADLXI2C* i2c)
-
{
-
adlx_bool isSupported = false;
-
ADLX_RESULT res = i2c->pVtbl->IsSupported(i2c, I2C_LINE_OEM2, 0x93, &isSupported);
-
printf("\tI2C support info:\n\t\tline: I2C_LINE_OEM2\n\t\taddress: 0x93\n\t\tisSupported: %d\n", isSupported);
-
printf("\tres is: %d\n", res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display version\n");
-
printf("\t->Press 2 to read\n");
-
printf("\t->Press 3 to repeated read\n");
-
printf("\t->Press 4 to write\n");
-
printf("\t->Press 5 to display capability\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLXI2C* i2c)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display version
-
case '1':
-
ShowVersion(i2c);
-
break;
-
-
// Read
-
case '2':
-
Read(i2c);
-
break;
-
-
// Repeated read
-
case '3':
-
RepeatedRead(i2c);
-
break;
-
-
// Write
-
case '4':
-
Write(i2c);
-
break;
-
-
// Capability
-
case '5':
-
Capability(i2c);
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ I2C_LINE_OEM2
Definition: ADLXDefines.h:880
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__image_sharpening.html b/vendor/adlx/SDKDoc/html/c__image_sharpening.html deleted file mode 100644 index 5ee2aff..0000000 --- a/vendor/adlx/SDKDoc/html/c__image_sharpening.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ImageSharpening - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ImageSharpening
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Image Sharpening support
2 Get current Radeon Image Sharpening state and additional information
3 Enable and configure Radeon Image Sharpening
4 Disable Radeon Image Sharpening
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/ImageSharpening

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Image Sharpening support
-
void ShowImageSharpenSupport(IADLX3DImageSharpening* d3dImageSharpen);
-
-
// Get current Image Sharpening state and additional information
-
void GetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen);
-
-
// Set Image Sharpening state
-
void SetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DImageSharpening* d3dImageSharpen);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get Image Sharpening interface
-
IADLX3DImageSharpening* d3dImageSharpen = NULL;
-
res = d3dSettingSrv->pVtbl->GetImageSharpening(d3dSettingSrv, gpu, &d3dImageSharpen);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dImageSharpen);
-
}
-
-
// Release the Image Sharpening interface
-
if (d3dImageSharpen != NULL)
-
{
-
d3dImageSharpen->pVtbl->Release(d3dImageSharpen);
-
d3dImageSharpen = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowImageSharpenSupport(IADLX3DImageSharpening* d3dImageSharpen)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dImageSharpen->pVtbl->IsSupported(d3dImageSharpen, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dImageSharpen->pVtbl->IsEnabled(d3dImageSharpen, &enabled);
-
printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res);
-
adlx_int min;
-
ADLX_IntRange range = { 0 };
-
res = d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen, &min);
-
printf("\tCurrent Sharpness: %d, return code is: %d(0 means success)\n", min, res);
-
res = d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen, &range);
-
printf("\tSharpness limit [ %d , %d ], step: %d, return code is: %d(0 means success)\n", range.minValue, range.maxValue, range.step, res);
-
}
-
-
void SetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen, int index)
-
{
-
ADLX_RESULT res = d3dImageSharpen->pVtbl->SetEnabled(d3dImageSharpen, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int min;
-
ADLX_IntRange range = { 0 };
-
d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen, &min);
-
d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen, &range);
-
if (min != range.minValue)
-
{
-
res = d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen, range.minValue);
-
printf("\tUse Minimum Sharpness limit: return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen, range.maxValue);
-
printf("\tUse Maximum Sharpness limit: return code is: %d (0 means success)\n", res);
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Image Sharpening support\n");
-
printf("\t->Press 2 to get current Image Sharpening state and additional information\n");
-
printf("\t->Press 3 to enable and configure Image Sharpening\n");
-
printf("\t->Press 4 to disable Image Sharpening\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DImageSharpening* d3dImageSharpen)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Image Sharpening support
-
case '1':
-
ShowImageSharpenSupport(d3dImageSharpen);
-
break;
-
-
// Get current Image Sharpening state and additional information
-
case '2':
-
GetImageSharpenState(d3dImageSharpen);
-
break;
-
-
// Set Image Sharpening state
-
case '3':
-
case '4':
-
SetImageSharpenState(d3dImageSharpen, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__manual_fan_tuning.html b/vendor/adlx/SDKDoc/html/c__manual_fan_tuning.html deleted file mode 100644 index 4c5b16e..0000000 --- a/vendor/adlx/SDKDoc/html/c__manual_fan_tuning.html +++ /dev/null @@ -1,572 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualFanTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualFanTuning
-
-
-
- - - -

Demonstrates how to control manual fan tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Get and set fan setting.
2 Get and set ZeroRPM setting.
3 Get and set MinAcoustic setting.
4 Get and set MinFanSpeed setting.
5 Get and set TargetFanSpeed setting.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualFanTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualFanTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// Main menu
-
void MainMenu ();
-
-
// Menu action control
-
void MenuControl (IADLXManualFanTuning* manualFanTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualFanTuningIfc,
-
IADLXManualFanTuning* manualFanTuning);
-
-
// Display and set fan settings
-
void ShowGetAndSetFan (IADLXManualFanTuning* manualFanTuning);
-
-
// Display and set ZeroRPM settings
-
void ShowGetAndSetZeroRPM (IADLXManualFanTuning* manualFanTuning);
-
-
// Display and set MinAcoustic settings
-
void ShowGetAndSetMinAcoustic (IADLXManualFanTuning* manualFanTuning);
-
-
// Display and set MinFanSpeed settings
-
void ShowGetAndSetMinFanSpeed (IADLXManualFanTuning* manualFanTuning);
-
-
// Display and set TargetFanSpeed settings
-
void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuning* manualFanTuning);
-
-
int main ()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize ();
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXSystem* sys = ADLXHelper_GetSystemServices ();
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUList* gpus = NULL;
-
IADLXGPU* oneGPU = NULL;
-
IADLXInterface* manualFanTuningIfc = NULL;
-
IADLXManualFanTuning* manualFanTuning = NULL;
-
-
res = sys->pVtbl->GetGPUTuningServices (sys, &gpuTuningService);
-
if (ADLX_FAILED (res))
-
return WaitAndExit ("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
res = sys->pVtbl->GetGPUs (sys, &gpus);
-
if (ADLX_FAILED (res))
-
return WaitAndExit ("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
res = gpus->pVtbl->At_GPUList (gpus, 0, &oneGPU);
-
if (ADLX_FAILED (res) || oneGPU == NULL)
-
return WaitAndExit ("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedManualFanTuning (gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED (res) || supported == false)
-
return WaitAndExit ("\tThis GPU does not support manual fan tuning", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
res = gpuTuningService->pVtbl->GetManualFanTuning (gpuTuningService, oneGPU, &manualFanTuningIfc);
-
if (ADLX_FAILED (res) || manualFanTuningIfc == NULL)
-
return WaitAndExit ("\tGet manual fan tuning interface failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
manualFanTuningIfc->pVtbl->QueryInterface (manualFanTuningIfc, IID_IADLXManualFanTuning (), (void**)&manualFanTuning);
-
if (manualFanTuning == NULL)
-
return WaitAndExit ("\tGet manual fan tuning failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning);
-
-
// Display main menu options
-
MainMenu ();
-
-
// Get and execute the choice
-
MenuControl (manualFanTuning);
-
-
// Release the manualFanTuning interface
-
if (manualFanTuning != NULL)
-
{
-
manualFanTuning->pVtbl->Release (manualFanTuning);
-
manualFanTuning = NULL;
-
}
-
if (manualFanTuningIfc != NULL)
-
{
-
manualFanTuningIfc->pVtbl->Release (manualFanTuningIfc);
-
manualFanTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release (oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release (gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release (gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
{
-
printf ("\tg_ADLXHelp initialize failed\n");
-
system ("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate ();
-
printf ("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu ()
-
{
-
printf ("\tChoose from the following options:\n");
-
-
printf ("\t->Press 1 to display and set fan setting\n");
-
printf ("\t->Press 2 to display and set ZeroRPM setting\n");
-
printf ("\t->Press 3 to display and set MinAcoustic setting\n");
-
printf ("\t->Press 4 to display and set MinFanSpeed setting\n");
-
printf ("\t->Press 5 to display and set TargetFanSpeed setting\n");
-
-
printf ("\t->Press Q/q to terminate the application\n");
-
printf ("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl (IADLXManualFanTuning* manualFanTuning)
-
{
-
int num = 0;
-
while ((num = getchar ()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display and set fan settings
-
case '1':
-
ShowGetAndSetFan (manualFanTuning);
-
break;
-
-
// Display and set ZeroRPM settings
-
case '2':
-
ShowGetAndSetZeroRPM (manualFanTuning);
-
break;
-
-
// Display and set MinAcoustic settings
-
case '3':
-
ShowGetAndSetMinAcoustic (manualFanTuning);
-
break;
-
-
// Display and set MinFanSpeed settings
-
case '4':
-
ShowGetAndSetMinFanSpeed (manualFanTuning);
-
break;
-
-
// Display and set TargetFanSpeed settings
-
case '5':
-
ShowGetAndSetTargetFanSpeed (manualFanTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu ();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualFanTuningIfc,
-
IADLXManualFanTuning* manualFanTuning)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf ("%s\n", msg);
-
-
// Release the manualFanTuning interface
-
if (manualFanTuning != NULL)
-
{
-
manualFanTuning->pVtbl->Release (manualFanTuning);
-
manualFanTuning = NULL;
-
}
-
if (manualFanTuningIfc != NULL)
-
{
-
manualFanTuningIfc->pVtbl->Release (manualFanTuningIfc);
-
manualFanTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release (oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release (gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release (gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
// Destroy ADLX
-
ADLX_RESULT res = ADLXHelper_Terminate ();
-
printf ("Destroy ADLX res: %d\n", res);
-
-
system ("pause");
-
return retCode;
-
}
-
-
// Display and set fan settings
-
void ShowGetAndSetFan (IADLXManualFanTuning* manualFanTuning)
-
{
-
// Display manual fan tuning ranges (speed, temperature)
-
ADLX_IntRange fanSpeedRange, fanTemperatureRange;
-
ADLX_RESULT res = manualFanTuning->pVtbl->GetFanTuningRanges (manualFanTuning, &fanSpeedRange, &fanTemperatureRange);
-
printf ("\tFan speed range: (%d, %d)\n", fanSpeedRange.minValue, fanSpeedRange.maxValue);
-
printf ("\tFan temperature range: (%d, %d)\n", fanTemperatureRange.minValue, fanTemperatureRange.maxValue);
-
printf ("\tReturn code is: %d(0 means success)\n", res);
-
-
// Display current fan tuning states
-
IADLXManualFanTuningStateList* states;
-
IADLXManualFanTuningState* oneState;
-
res = manualFanTuning->pVtbl->GetFanTuningStates (manualFanTuning, &states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt)
-
{
-
res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
oneState->pVtbl->GetFanSpeed (oneState, &speed);
-
oneState->pVtbl->GetTemperature (oneState, &temperature);
-
printf ("\tThe current %d state: speed is %d temperature is %d\n", crt, speed, temperature);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
}
-
-
-
// Set empty fan tuning states
-
res = manualFanTuning->pVtbl->GetEmptyFanTuningStates (manualFanTuning, &states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt)
-
{
-
res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
int fanSpeedStep = (fanSpeedRange.maxValue - fanSpeedRange.minValue) / states->pVtbl->Size (states);
-
int fanTemperatureStep = (fanTemperatureRange.maxValue - fanTemperatureRange.minValue) / states->pVtbl->Size (states);
-
oneState->pVtbl->SetFanSpeed (oneState, fanSpeedRange.minValue + fanSpeedStep * crt);
-
oneState->pVtbl->GetFanSpeed (oneState, &speed);
-
oneState->pVtbl->SetTemperature (oneState, fanTemperatureRange.minValue + fanTemperatureStep * crt);
-
oneState->pVtbl->GetTemperature (oneState, &temperature);
-
printf ("\tSet empty %d state: speed is %d temperature is %d\n", crt, speed, temperature);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
}
-
-
// Set empty fan tuning states to current fan tuning states
-
adlx_int errorIndex;
-
res = manualFanTuning->pVtbl->IsValidFanTuningStates (manualFanTuning, states, &errorIndex);
-
printf ("\tIsValidGPUTuningStates, errorIndex is : %d\n", errorIndex);
-
if (ADLX_SUCCEEDED (res))
-
{
-
manualFanTuning->pVtbl->SetFanTuningStates (manualFanTuning, states);
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
res = manualFanTuning->pVtbl->GetFanTuningStates (manualFanTuning, &states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf ("\tAfter setting:\n");
-
for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt)
-
{
-
res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
oneState->pVtbl->GetFanSpeed (oneState, &speed);
-
oneState->pVtbl->GetTemperature (oneState, &temperature);
-
printf ("\tThe current %d state: speed is %d temperature is %d\n", crt, speed, temperature);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
}
-
}
-
-
// Display and set ZeroRPM settings
-
void ShowGetAndSetZeroRPM (IADLXManualFanTuning* manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedZeroRPM (manualFanTuning, &supported);
-
printf ("\tIs support ZeroRPM: %d\n", supported);
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
adlx_bool isZeroRPMStateSet = false;
-
res = manualFanTuning->pVtbl->SetZeroRPMState (manualFanTuning, true);
-
printf ("\tSet ZeroRPM state, return code is: %d(0 means success)\n", res);
-
res = manualFanTuning->pVtbl->GetZeroRPMState (manualFanTuning, &isZeroRPMStateSet);
-
printf ("\tIs ZeroRPM state set: %d, return code is: %d(0 means success)\n", isZeroRPMStateSet, res);
-
res = manualFanTuning->pVtbl->SetZeroRPMState (manualFanTuning, false);
-
printf ("\tReset ZeroRPM state, return code is: %d(0 means success)\n", res);
-
res = manualFanTuning->pVtbl->GetZeroRPMState (manualFanTuning, &isZeroRPMStateSet);
-
printf ("\tIs ZeroRPM state set: %d, return code is: %d(0 means success)\n", isZeroRPMStateSet, res);
-
}
-
-
// Display and set MinAcoustic settings
-
void ShowGetAndSetMinAcoustic (IADLXManualFanTuning* manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedMinAcousticLimit (manualFanTuning, &supported);
-
printf ("\tIs MinAcousticLimit supported: %d\n", supported);
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->pVtbl->GetMinAcousticLimitRange (manualFanTuning, &tuningRange);
-
printf ("\tMinAcoustic limit range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res);
-
-
adlx_int minAcousticLimit;
-
res = manualFanTuning->pVtbl->GetMinAcousticLimit (manualFanTuning, &minAcousticLimit);
-
printf ("\tCurrent min acoustic limit: %d, return code is: %d(0 means success)\n", minAcousticLimit, res);
-
res = manualFanTuning->pVtbl->SetMinAcousticLimit (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->pVtbl->GetMinAcousticLimit (manualFanTuning, &minAcousticLimit);
-
printf ("\tSet current min acoustic limit to: %d, return code is: %d(0 means success)\n", minAcousticLimit, res);
-
}
-
-
// Display and set MinFanSpeed settings
-
void ShowGetAndSetMinFanSpeed (IADLXManualFanTuning* manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedMinFanSpeed (manualFanTuning, &supported);
-
printf ("\tIs MinFanSpeed supported: %d\n", supported);
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->pVtbl->GetMinFanSpeedRange (manualFanTuning, &tuningRange);
-
printf ("\tMinFanSpeed range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res);
-
-
adlx_int minFanSpeed = 0;
-
res = manualFanTuning->pVtbl->GetMinFanSpeed (manualFanTuning, &minFanSpeed);
-
printf ("\tCurrent MinFanSpeed: %d, return code is: %d(0 means success)\n", minFanSpeed, res);
-
res = manualFanTuning->pVtbl->SetMinFanSpeed (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->pVtbl->GetMinFanSpeed (manualFanTuning, &minFanSpeed);
-
printf ("\tSet current MinFanSpeed to: %d, return code is: %d(0 means success)\n", minFanSpeed, res);
-
}
-
-
// Display and set TargetFanSpeed settings
-
void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuning* manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedTargetFanSpeed (manualFanTuning, &supported);
-
printf ("\tIs TargetFanSpeed supported: %d\n", supported);
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->pVtbl->GetTargetFanSpeedRange (manualFanTuning, &tuningRange);
-
printf ("\tTargetFanSpeed range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res);
-
-
adlx_int minAcousticLimit;
-
res = manualFanTuning->pVtbl->GetTargetFanSpeed (manualFanTuning, &minAcousticLimit);
-
printf ("\tCurrent TargetFanSpeed: %d, return code is: %d(0 means success)\n", minAcousticLimit, res);
-
res = manualFanTuning->pVtbl->SetTargetFanSpeed (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->pVtbl->GetTargetFanSpeed (manualFanTuning, &minAcousticLimit);
-
printf ("\tSet current TargetFanSpeed to: %d, return code is: %d(0 means success)\n", minAcousticLimit, res);
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__manual_graphics_tuning.html b/vendor/adlx/SDKDoc/html/c__manual_graphics_tuning.html deleted file mode 100644 index dff0394..0000000 --- a/vendor/adlx/SDKDoc/html/c__manual_graphics_tuning.html +++ /dev/null @@ -1,587 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualGraphicsTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualGraphicsTuning
-
-
-
- - - -

Demonstrates how to control manual graphics tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU frequency and voltage.
2 Get current GPU states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualGraphicsTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualGFXTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// Main menu
-
void MainMenu(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2);
-
-
// Menu action control
-
void MenuControl(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualGFXTuningIfc,
-
IADLXManualGraphicsTuning1* manualGFXTuning1,
-
IADLXManualGraphicsTuning2* manualGFXTuning2);
-
-
/***** The first is pre-Navi, the second is post-Navi *****/
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1* manualGFXTuning1);
-
void ShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2* manualGFXTuning2);
-
// Display current GPU tuning states
-
void GetCurrentStates1(IADLXManualGraphicsTuning1* manualGFXTuning1);
-
void GetCurrentStates2(IADLXManualGraphicsTuning2* manualGFXTuning2);
-
// Set GPU states
-
void SetGPUStates1(IADLXManualGraphicsTuning1* manualGFXTuning1);
-
void SetGPUStates2(IADLXManualGraphicsTuning2* manualGFXTuning2);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUList* gpus = NULL;
-
IADLXGPU* oneGPU = NULL;
-
IADLXInterface* manualGFXTuningIfc = NULL;
-
IADLXManualGraphicsTuning1* manualGFXTuning1 = NULL;
-
IADLXManualGraphicsTuning2* manualGFXTuning2 = NULL;
-
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == NULL)
-
return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedManualGFXTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
return WaitAndExit("\tThis GPU does not support manual graphics tuning", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
-
res = gpuTuningService->pVtbl->GetManualGFXTuning(gpuTuningService, oneGPU, &manualGFXTuningIfc);
-
if (ADLX_FAILED(res) || manualGFXTuningIfc == NULL)
-
return WaitAndExit("\tGet manual graphics tuning interface failed", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
-
// Pre-Navi ASIC
-
manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc, IID_IADLXManualGraphicsTuning1(), (void**)&manualGFXTuning1);
-
// Post-Navi ASIC
-
manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc, IID_IADLXManualGraphicsTuning2(), (void**)&manualGFXTuning2);
-
-
if (manualGFXTuning1 == NULL && manualGFXTuning2 == NULL)
-
return WaitAndExit("\tGet manual graphics tuning failed", 0, gpuTuningService, gpus, oneGPU,
-
manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2);
-
// Display main menu options
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
-
// Get and execute the choice
-
MenuControl(manualGFXTuning1, manualGFXTuning2);
-
-
// Release the manualGFXTuning1 interface
-
if (manualGFXTuning1 != NULL)
-
{
-
manualGFXTuning1->pVtbl->Release(manualGFXTuning1);
-
manualGFXTuning1 = NULL;
-
}
-
if (manualGFXTuning2 != NULL)
-
{
-
manualGFXTuning2->pVtbl->Release(manualGFXTuning2);
-
manualGFXTuning2 = NULL;
-
}
-
if (manualGFXTuningIfc != NULL)
-
{
-
manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc);
-
manualGFXTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
{
-
printf("\tg_ADLXHelp initialize failed\n");
-
system("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
if (manualGFXTuning1)
-
printf("\tThe current GPU is pre-Navi. Choose from the following options:\n");
-
else if (manualGFXTuning2)
-
printf("\tThe current GPU is post-Navi. Choose from the following options:\n");
-
printf("\t->Press 1 to display GPU frequency and voltage\n");
-
printf("\t->Press 2 to display current GPU states\n");
-
printf("\t->Press 3 to set GPU states\n");
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
char num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
// Pre-Navi Menu action control
-
if (manualGFXTuning1)
-
{
-
switch (num)
-
{
-
// Display GPU frequency and voltage range
-
case '1':
-
ShowFrequencyAndVoltageRange1(manualGFXTuning1);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates1(manualGFXTuning1);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates1(manualGFXTuning1);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
break;
-
default:
-
break;
-
}
-
}
-
// Post-Navi Menu action control
-
else
-
{
-
switch (num)
-
{
-
// Display GPU frequency and voltage range
-
case '1':
-
ShowFrequencyAndVoltageRange2(manualGFXTuning2);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates2(manualGFXTuning2);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates2(manualGFXTuning2);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualGFXTuningIfc,
-
IADLXManualGraphicsTuning1* manualGFXTuning1,
-
IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
// Release the manualGFXTuning interface
-
if (manualGFXTuning1 != NULL)
-
{
-
manualGFXTuning1->pVtbl->Release(manualGFXTuning1);
-
manualGFXTuning1 = NULL;
-
}
-
if (manualGFXTuning2 != NULL)
-
{
-
manualGFXTuning2->pVtbl->Release(manualGFXTuning2);
-
manualGFXTuning2 = NULL;
-
}
-
if (manualGFXTuningIfc != NULL)
-
{
-
manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc);
-
manualGFXTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
// Destroy ADLX
-
ADLX_RESULT res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1* manualGFXTuning1)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res = manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1, &freqRange, &voltRange);
-
printf("\tFrequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res);
-
printf("\tVoltage range: (%d, %d), return code is: %d(0 means success)\n", voltRange.minValue, voltRange.maxValue, res);
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates1(IADLXManualGraphicsTuning1* manualGFXTuning1)
-
{
-
IADLXManualTuningStateList* states;
-
IADLXManualTuningState* oneState;
-
ADLX_RESULT res = manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1, &states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt)
-
{
-
states->pVtbl->At_ManualTuningStateList(states, crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
res = oneState->pVtbl->GetFrequency(oneState, &freq);
-
printf("\tThe current state %d: frequency is %d, return code is: %d(0 means success)\n", crt, freq, res);
-
res = oneState->pVtbl->GetVoltage(oneState, &volt);
-
printf("\tThe current state %d: voltage is %d, return code is: %d(0 means success)\n", crt, volt, res);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
}
-
-
// Set GPU states
-
void SetGPUStates1(IADLXManualGraphicsTuning1* manualGFXTuning1)
-
{
-
IADLXManualTuningStateList* states;
-
IADLXManualTuningState* oneState;
-
ADLX_RESULT res1 = manualGFXTuning1->pVtbl->GetEmptyGPUTuningStates(manualGFXTuning1, &states);
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res2 = manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1, &freqRange, &voltRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt)
-
{
-
states->pVtbl->At_ManualTuningStateList(states, crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
int freqStep = (freqRange.maxValue - freqRange.minValue) / (states->pVtbl->Size(states));
-
// The Step should not be too large
-
if (freqStep >= 60)
-
freqStep = 60;
-
int voltStep = (voltRange.maxValue - voltRange.minValue) / (states->pVtbl->Size(states));
-
// The Step should not be too large
-
if (voltStep >= 20)
-
voltStep = 20;
-
ADLX_RESULT res = oneState->pVtbl->SetFrequency(oneState, freqRange.minValue + freqStep * crt);
-
res = oneState->pVtbl->GetFrequency(oneState, &freq);
-
res = oneState->pVtbl->SetVoltage(oneState, voltRange.minValue + voltStep * crt);
-
res = oneState->pVtbl->GetVoltage(oneState, &volt);
-
printf("\tSet empty state %d: frequency is %d, voltage is %d, return code is: %d(0 means success)\n", crt, freq, volt, res);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
}
-
adlx_int errorIndex;
-
ADLX_RESULT res = manualGFXTuning1->pVtbl->IsValidGPUTuningStates(manualGFXTuning1, states, &errorIndex);
-
printf("\tIsValidGPUTuningStates, errorIndex is : %d, return code is: %d(0 means success)\n", errorIndex, res);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = manualGFXTuning1->pVtbl->SetGPUTuningStates(manualGFXTuning1, states);
-
printf ("\tSet GPU tuning states %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed"));
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
-
res = manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1, &states);
-
printf("\tAfter setting:\n");
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt)
-
{
-
states->pVtbl->At_ManualTuningStateList(states, crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
res = oneState->pVtbl->GetFrequency(oneState, &freq);
-
res = oneState->pVtbl->GetVoltage(oneState, &volt);
-
printf("\tThe current state %d: frequency is %d, voltage is %d, return code is: %d(0 means success)\n", crt, freq, volt, res);
-
if (oneState != NULL)
-
{
-
oneState->pVtbl->Release (oneState);
-
oneState = NULL;
-
}
-
}
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release (states);
-
states = NULL;
-
}
-
}
-
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res= manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2, &freqRange);
-
printf("\tGPU minimum frequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res);
-
res = manualGFXTuning2->pVtbl->GetGPUMaxFrequencyRange(manualGFXTuning2, &freqRange);
-
printf("\tGPU maximum frequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res);
-
res = manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2, &voltRange);
-
printf("\tVoltage range: (%d, %d), return code is: %d(0 means success)\n", voltRange.minValue, voltRange.maxValue, res);
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates2(IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
adlx_int minFreq = 0, maxFreq = 0, volt = 0;
-
ADLX_RESULT res = manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2, &minFreq);
-
printf("\tCurrent GPU minimum frequency: %d, return code is: %d(0 means success)\n", minFreq, res);
-
res = manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2, &maxFreq);
-
printf("\tCurrent GPU maximum frequency: %d, return code is: %d(0 means success)\n", maxFreq, res);
-
res = manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2, &volt);
-
printf("\tCurrent GPU clock voltage: %d, return code is: %d(0 means success)\n", volt, res);
-
}
-
-
// Set GPU states
-
void SetGPUStates2(IADLXManualGraphicsTuning2* manualGFXTuning2)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res = manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2, &freqRange);
-
res = manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2, &voltRange);
-
res = manualGFXTuning2->pVtbl->SetGPUMinFrequency(manualGFXTuning2, freqRange.minValue);
-
printf ("\tSet GPU min frequency %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed"));
-
res = manualGFXTuning2->pVtbl->SetGPUMaxFrequency(manualGFXTuning2, freqRange.minValue + 100);
-
printf ("\tSet GPU max frequency %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed"));
-
res = manualGFXTuning2->pVtbl->SetGPUVoltage(manualGFXTuning2, voltRange.minValue + (voltRange.maxValue - voltRange.minValue) / 2);
-
printf ("\tSet GPU voltage %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed"));
-
printf("\tAfter setting:\n");
-
adlx_int minFreq = 0, maxFreq = 0, volt = 0;
-
res = manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2, &minFreq);
-
printf("\tCurrent GPU min frequency: %d, return code is: %d(0 means success)\n", minFreq, res);
-
res = manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2, &maxFreq);
-
printf("\tCurrent GPU max frequency: %d, return code is: %d(0 means success)\n", maxFreq, res);
-
res = manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2, &volt);
-
printf("\tCurrent GPU clock voltage: %d, return code is: %d(0 means success)\n", volt, res);
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__manual_power_tuning.html b/vendor/adlx/SDKDoc/html/c__manual_power_tuning.html deleted file mode 100644 index 920dd96..0000000 --- a/vendor/adlx/SDKDoc/html/c__manual_power_tuning.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualPowerTuning
-
-
-
- - - -

Demonstrates how to control manual power tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Get power limit range.
2 Get current power limit.
3 Set power limit.
4 Check TDC limit supported.
5 Get TDC limit range.
6 Get current TDC limit.
7 Set TDC limit.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualPowerTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualPowerTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualPowerTuningIfc,
-
IADLXManualPowerTuning* manualPowerTuning);
-
-
// Display power limit range
-
void ShowGetPowerLimitRange(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Display current power limit
-
void ShowGetPowerLimit(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Set power limit
-
void ShowSetPowerLimit(IADLXManualPowerTuning* manualPowerTuning);
-
-
//Show to check TDC limit is supported
-
void ShowTDCLimitSupported(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Show how to get TDC limit range.
-
void ShowGetTDCLimitRange(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Show how to get current TDC limit.
-
void ShowGetTDCLimit(IADLXManualPowerTuning* manualPowerTuning);
-
-
// Show how to set TDC limit.
-
void ShowSetTDCLimit(IADLXManualPowerTuning* manualPowerTuning);
-
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUList* gpus = NULL;
-
IADLXGPU* oneGPU = NULL;
-
IADLXInterface* manualPowerTuningIfc = NULL;
-
IADLXManualPowerTuning* manualPowerTuning = NULL;
-
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == NULL)
-
return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
adlx_bool supported = false;
-
res = gpuTuningService->pVtbl->IsSupportedManualPowerTuning(gpuTuningService, oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
return WaitAndExit("\tThis GPU doesn't supported manual power tuning", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
res = gpuTuningService->pVtbl->GetManualPowerTuning(gpuTuningService, oneGPU, &manualPowerTuningIfc);
-
if (ADLX_FAILED(res) || manualPowerTuningIfc == NULL)
-
return WaitAndExit("\tGet manual power tuning interface failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
res = manualPowerTuningIfc->pVtbl->QueryInterface(manualPowerTuningIfc, IID_IADLXManualPowerTuning(), (void**)&manualPowerTuning);
-
if (manualPowerTuning == NULL)
-
return WaitAndExit("\tGet manual power tuning failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning);
-
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(manualPowerTuning);
-
-
// Release the manualPowerTuning interface
-
if (manualPowerTuning != NULL)
-
{
-
manualPowerTuning->pVtbl->Release(manualPowerTuning);
-
manualPowerTuning = NULL;
-
}
-
if (manualPowerTuningIfc != NULL)
-
{
-
manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc);
-
manualPowerTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
{
-
printf("\tg_ADLXHelp initialize failed\n");
-
system("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
printf("\t->Press 1 to display power limit range\n");
-
printf("\t->Press 2 to display current power limit\n");
-
printf("\t->Press 3 to set power limit\n");
-
printf("\t->Press 4 to check if TDC Limit is supported\n");
-
printf("\t->Press 5 to display TDC limit range\n");
-
printf("\t->Press 6 to display current TDC limit\n");
-
printf("\t->Press 7 to set TDC limit\n");
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display power limit range
-
case '1':
-
ShowGetPowerLimitRange(manualPowerTuning);
-
break;
-
-
// Display current power limit
-
case '2':
-
ShowGetPowerLimit(manualPowerTuning);
-
break;
-
-
// Set power limit
-
case '3':
-
ShowSetPowerLimit(manualPowerTuning);
-
break;
-
// Show how to check TDC limit is supported.
-
case '4':
-
ShowTDCLimitSupported(manualPowerTuning);
-
break;
-
// Show how to get TDC limit range.
-
case '5':
-
ShowGetTDCLimitRange(manualPowerTuning);
-
break;
-
// Show how to get current TDC limit.
-
case '6':
-
ShowGetTDCLimit(manualPowerTuning);
-
break;
-
// Show how to set TDC limit.
-
case '7':
-
ShowSetTDCLimit(manualPowerTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode,
-
IADLXGPUTuningServices* gpuTuningService,
-
IADLXGPUList* gpus,
-
IADLXGPU* oneGPU,
-
IADLXInterface* manualPowerTuningIfc,
-
IADLXManualPowerTuning* manualPowerTuning)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
// Release the manualPowerTuning interface
-
if (manualPowerTuning != NULL)
-
{
-
manualPowerTuning->pVtbl->Release(manualPowerTuning);
-
manualPowerTuning = NULL;
-
}
-
if (manualPowerTuningIfc != NULL)
-
{
-
manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc);
-
manualPowerTuningIfc = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
-
// Destroy ADLX
-
ADLX_RESULT res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display power limit range
-
void ShowGetPowerLimitRange(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
ADLX_IntRange powerRange;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning, &powerRange);
-
printf("\tPower limit range: (%d, %d), return code is: %d(0 means success)\n", powerRange.minValue, powerRange.maxValue, res);
-
}
-
-
// Display current power limit
-
void ShowGetPowerLimit(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
adlx_int powerLimit;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning, &powerLimit);
-
printf("\tCurrent power limit: %d, return code is: %d(0 means success)\n", powerLimit, res);
-
}
-
-
// Set power limit
-
void ShowSetPowerLimit(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
ADLX_IntRange powerRange;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning, &powerRange);
-
res = manualPowerTuning->pVtbl->SetPowerLimit(manualPowerTuning, powerRange.minValue + (powerRange.maxValue - powerRange.minValue) / 2);
-
printf("\tSet power limit %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed"));
-
adlx_int powerLimit;
-
res = manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning, &powerLimit);
-
printf("\tSet current power limit to: %d, return code is: %d(0 means success)\n", powerLimit, res);
-
}
-
-
-
// Show how to check TDCLimit is supported.
-
void ShowTDCLimitSupported(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
adlx_bool tdcSupported;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->IsSupportedTDCLimit(manualPowerTuning, &tdcSupported);
-
printf("\tIs TDC Limit supported: %d, return code is: %d(0 means success)\n", tdcSupported, res);
-
}
-
-
// Show how to get TDC limit range.
-
void ShowGetTDCLimitRange(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
ADLX_IntRange tdcRange;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning, &tdcRange);
-
printf("\tGet TDC limit range is: (%d, %d), return code is: %d (0 means success)\n", tdcRange.minValue, tdcRange.maxValue, res);
-
}
-
-
// Show how to get current TDC limit.
-
void ShowGetTDCLimit(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
adlx_int tdcLimit;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning, &tdcLimit);
-
printf("\tThe current TDC limit is: %d, return code is: %d (0 means success)\n", tdcLimit, res);
-
}
-
-
// Show how to set TDC limit.
-
void ShowSetTDCLimit(IADLXManualPowerTuning* manualPowerTuning)
-
{
-
ADLX_IntRange tdcRange;
-
ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning, &tdcRange);
-
res = manualPowerTuning->pVtbl->SetTDCLimit(manualPowerTuning, tdcRange.minValue + (tdcRange.maxValue - tdcRange.minValue) / 2);
-
adlx_int tdcLimit;
-
res = manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning, &tdcLimit);
-
printf("\tSet current TDC limit to: %d, return code is: %d (0 means success)\n", tdcLimit, res);
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__manual_v_r_a_m_tuning.html b/vendor/adlx/SDKDoc/html/c__manual_v_r_a_m_tuning.html deleted file mode 100644 index dba9a9d..0000000 --- a/vendor/adlx/SDKDoc/html/c__manual_v_r_a_m_tuning.html +++ /dev/null @@ -1,708 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualVRAMTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualVRAMTuning
-
-
-
- - - -

Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Get Memory Timing support.
2 Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable
3 Set Memory Timing level.
4 Set VRAMTuning state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualVRAMTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualVRAMTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
-
// Display Memory Timing support
-
void ShowSupport(IADLXInterface* vramTuningIfc);
-
-
// Get VRAM state
-
void GetState(IADLXInterface* vramTuningIfc);
-
-
// Set Memory Timing Level
-
void SetTimingLevel(IADLXInterface* vramTuningIfc);
-
-
// Set VRAM state
-
void SetState(IADLXInterface* vramTuningIfc);
-
-
// Main menu
-
void MainMenu(IADLXInterface* vramTuningIfc);
-
-
// Menu action control
-
void MenuControl(IADLXInterface* vramTuningIfc);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get System Services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get GPU tuning service
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get ManualVRAMTuning support
-
adlx_bool supported;
-
gpuTuningService->pVtbl->IsSupportedManualVRAMTuning(gpuTuningService, gpu, &supported);
-
printf("\tThe GPU support for manual VRAM tuning is: %d \n", supported);
-
-
if (supported)
-
{
-
// Get ManualVRAMTuning interface
-
IADLXInterface* vramTuningIfc = NULL;
-
res = gpuTuningService->pVtbl->GetManualVRAMTuning(gpuTuningService, gpu, &vramTuningIfc);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu(vramTuningIfc);
-
MenuControl(vramTuningIfc);
-
}
-
// Release the vramTuningIfc interface
-
if (vramTuningIfc != NULL)
-
{
-
vramTuningIfc->pVtbl->Release(vramTuningIfc);
-
vramTuningIfc = NULL;
-
}
-
}
-
else
-
{
-
printf("\tThis GPU Doesn't support Manual VRAM Tuning \n");
-
}
-
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get GPU tuning service\n");
-
}
-
-
// Release the gpuTuningService interface
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static const char* getDescStr(ADLX_MEMORYTIMING_DESCRIPTION desc)
-
{
-
switch (desc)
-
{
-
case MEMORYTIMING_DEFAULT:
-
return "Default";
-
case MEMORYTIMING_FAST_TIMING:
-
return "Fast Timing";
-
case MEMORYTIMING_FAST_TIMING_LEVEL_2:
-
return "Fast Timing Level2";
-
case MEMORYTIMING_AUTOMATIC:
-
return "Automatic";
-
case MEMORYTIMING_MEMORYTIMING_LEVEL_1:
-
return "Memory Timing Level1";
-
case MEMORYTIMING_MEMORYTIMING_LEVEL_2:
-
return "Memory Timing Level2";
-
}
-
return "Default";
-
};
-
-
void ShowSupport(IADLXInterface* vramTuningIfc)
-
{
-
adlx_bool supported = false;
-
IADLXManualVRAMTuning2* vramTuning2 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2);
-
IADLXManualVRAMTuning1* vramTuning1 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1);
-
ADLX_RESULT res = ADLX_FAIL;
-
if (vramTuning2)
-
{
-
res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported);
-
}
-
else if (vramTuning1)
-
{
-
res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported);
-
}
-
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
-
// Release the ManualVRAMTuning2 interface
-
if (vramTuning2 != NULL)
-
{
-
vramTuning2->pVtbl->Release(vramTuning2);
-
vramTuning2 = NULL;
-
}
-
-
// Release the ManualVRAMTuning1 interface
-
if (vramTuning1 != NULL)
-
{
-
vramTuning1->pVtbl->Release(vramTuning1);
-
vramTuning1 = NULL;
-
}
-
}
-
-
void GetState(IADLXInterface* vramTuningIfc)
-
{
-
IADLXManualVRAMTuning2* vramTuning2 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2);
-
IADLXManualVRAMTuning1* vramTuning1 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1);
- -
IADLXMemoryTimingDescriptionList* descList = NULL;
-
if (vramTuning2)
-
{
-
vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2, &descList);
-
vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2, &desc);
-
-
adlx_int freq;
- -
ADLX_RESULT res = vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2, &freq);
-
printf("\tMaxVRAMFrequency is: %d, return code is: %d(0 means success)\n", freq, res);
-
res = vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2, &rang);
-
printf("\tMaxVRAMFrequencyRange: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", rang.minValue, rang.maxValue, rang.step, res);
-
}
-
else if (vramTuning1)
-
{
-
vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1, &descList);
-
vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1, &desc);
-
-
IADLXManualTuningStateList* states = NULL;
-
vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1, &states);
-
adlx_uint s = states->pVtbl->Begin(states);
-
printf("\tState is:\n");
-
for (; s != states->pVtbl->End(states); s++)
-
{
-
IADLXManualTuningState* state = NULL;
-
adlx_int frequency;
-
adlx_int voltage;
-
states->pVtbl->At_ManualTuningStateList(states, s, &state);
-
state->pVtbl->GetFrequency(state, &frequency);
-
state->pVtbl->GetVoltage(state, &voltage);
-
printf("\t\tfrequency: %d, voltage: %d \n", frequency, voltage);
-
if (state != NULL)
-
{
-
state->pVtbl->Release(state);
-
state = NULL;
-
}
-
}
-
if (states != NULL)
-
{
-
states->pVtbl->Release(states);
-
states = NULL;
-
}
-
-
ADLX_IntRange frequencyRange;
-
ADLX_IntRange voltageRange;
-
ADLX_RESULT res = vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1, &frequencyRange, &voltageRange);
-
printf("\tFrequency Range: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", frequencyRange.minValue, frequencyRange.maxValue, frequencyRange.step, res);
-
printf("\tVoltage Range: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", voltageRange.minValue, voltageRange.maxValue, voltageRange.step, res);
-
}
-
-
if (descList)
-
{
-
printf ("\tCurrent Timing desc is: %s\n", getDescStr (desc));
-
printf ("\tSupported memory timing desc list:\n");
-
for (adlx_uint s = 0; s != descList->pVtbl->End (descList); s++)
-
{
-
IADLXMemoryTimingDescription* item = NULL;
-
descList->pVtbl->At_MemoryTimingDescriptionList (descList, s, &item);
-
item->pVtbl->GetDescription (item, &desc);
-
printf ("\t %s\n", getDescStr (desc));
-
-
// Release the IADLXMemoryTimingDescription interface
-
if (item)
-
{
-
item->pVtbl->Release (item);
-
item = NULL;
-
}
-
}
-
}
-
printf("\n");
-
-
// Release the IADLXMemoryTimingDescriptionList interface
-
if (descList != NULL)
-
{
-
descList->pVtbl->Release(descList);
-
descList = NULL;
-
}
-
-
// Release the ManualVRAMTuning2 interface
-
if (vramTuning2 != NULL)
-
{
-
vramTuning2->pVtbl->Release(vramTuning2);
-
vramTuning2 = NULL;
-
}
-
-
// Release the ManualVRAMTuning1 interface
-
if (vramTuning1 != NULL)
-
{
-
vramTuning1->pVtbl->Release(vramTuning1);
-
vramTuning1 = NULL;
-
}
-
}
-
-
void SetTimingLevel(IADLXInterface* vramTuningIfc)
-
{
- -
IADLXManualVRAMTuning2* vramTuning2 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2);
-
IADLXManualVRAMTuning1* vramTuning1 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1);
-
ADLX_MEMORYTIMING_DESCRIPTION desc, currentDesc;
-
IADLXMemoryTimingDescriptionList* descList = NULL;
-
IADLXMemoryTimingDescription* item = NULL;
-
adlx_bool supported = false;
-
if (vramTuning2)
-
{
-
//If MemoryTiming is supported, then only will set the MemoryTiming
-
res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported);
-
if (supported)
-
{
-
res = vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2, &descList);
-
if (descList)
-
{
-
vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2, &currentDesc);
-
for (adlx_uint s = 0; s != descList->pVtbl->End(descList); s++)
-
{
-
descList->pVtbl->At_MemoryTimingDescriptionList(descList, s, &item);
-
item->pVtbl->GetDescription(item, &desc);
-
if (desc != currentDesc)
-
{
-
res = vramTuning2->pVtbl->SetMemoryTimingDescription(vramTuning2, desc);
-
printf("\tSet Memory Timing description to %s: return code is: %d (0 means success)\n", getDescStr(desc), res);
-
break;
-
}
-
}
-
}
-
else
-
{
-
printf("\tFailed to get the Supported Memory Timing Description List.\n");
-
}
-
}
-
else
-
{
-
-
printf("\tMemory Timing level not supported, so cannot set Memory Timing Description List\n");
-
}
-
}
-
else if (vramTuning1)
-
{
-
//If MemoryTiming is supported, then only will set the MemoryTiming
-
res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported);
-
if (supported)
-
{
-
res = vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1, &descList);
-
if (descList)
-
{
-
vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1, &currentDesc);
-
for (adlx_uint s = 0; s != descList->pVtbl->End(descList); s++)
-
{
-
descList->pVtbl->At_MemoryTimingDescriptionList(descList, s, &item);
-
item->pVtbl->GetDescription(item, &desc);
-
if (desc != currentDesc)
-
{
-
res = vramTuning1->pVtbl->SetMemoryTimingDescription(vramTuning1, desc);
-
printf("\tSet Memory Timing description to %s: return code is: %d (0 means success)\n", getDescStr(desc), res);
-
break;
-
}
-
}
-
}
-
else
-
{
-
printf("\tFailed to get the Supported Memory Timing Description List.\n");
-
}
-
}
-
else
-
{
-
printf("\tMemory Timing level not supported, so cannot set Memory Timing Description List\n");
-
}
-
}
-
-
// Release the IADLXMemoryTimingDescription interface
-
if (item != NULL)
-
{
-
item->pVtbl->Release(item);
-
item = NULL;
-
}
-
-
// Release the IADLXMemoryTimingDescriptionList interface
-
if (descList != NULL)
-
{
-
descList->pVtbl->Release(descList);
-
descList = NULL;
-
}
-
-
// Release the ManualVRAMTuning2 interface
-
if (vramTuning2 != NULL)
-
{
-
vramTuning2->pVtbl->Release(vramTuning2);
-
vramTuning2 = NULL;
-
}
-
-
// Release the ManualVRAMTuning1 interface
-
if (vramTuning1 != NULL)
-
{
-
vramTuning1->pVtbl->Release(vramTuning1);
-
vramTuning1 = NULL;
-
}
-
}
-
-
void SetState(IADLXInterface* vramTuningIfc)
-
{
- -
IADLXManualVRAMTuning2* vramTuning2 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2);
-
IADLXManualVRAMTuning1* vramTuning1 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1);
-
adlx_bool supported = false;
-
if (vramTuning2)
-
{
-
//If MemoryTiming is supported, then only will set the state
-
res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported);
-
if (supported)
-
{
-
adlx_int freq;
- -
vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2, &freq);
-
vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2, &rang);
-
if (freq != rang.minValue)
-
{
-
res = vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2, rang.minValue);
-
printf("\tSet minimum frequency: return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2, rang.minValue + rang.step * 2);
-
printf("\tSet maximum frequency: return code is: %d (0 means success)\n", res);
-
}
-
}
-
else
-
{
-
printf("\tTuning not supported, cannot set the state\n");
-
}
-
}
-
else if (vramTuning1)
-
{
-
//If MemoryTiming is supported, then only will set the state
-
res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported);
-
if (supported)
-
{
-
ADLX_IntRange frequencyRange;
-
ADLX_IntRange voltageRange;
-
vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1, &frequencyRange, &voltageRange);
-
IADLXManualTuningStateList* states = NULL;
-
vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1, &states);
-
adlx_uint s = states->pVtbl->Begin(states);
-
for (; s != states->pVtbl->End(states); s++)
-
{
-
IADLXManualTuningState* state = NULL;
-
adlx_int frequency;
-
adlx_int voltage;
-
states->pVtbl->At_ManualTuningStateList(states, s, &state);
-
state->pVtbl->GetFrequency(state, &frequency);
-
state->pVtbl->GetVoltage(state, &voltage);
-
// Only change the first
-
res = state->pVtbl->SetFrequency(state, frequency != frequencyRange.minValue ? frequencyRange.minValue : frequencyRange.maxValue);
-
res = state->pVtbl->SetVoltage(state, voltage != voltageRange.minValue ? voltageRange.minValue : voltageRange.maxValue);
-
break;
-
}
-
res = vramTuning1->pVtbl->SetVRAMTuningStates(vramTuning1, states);
-
printf("\tChange VRAM tuning states: return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
printf("\tTuning not supported, cannot set the state\n");
-
}
-
}
-
-
// Release the ManualVRAMTuning2 interface
-
if (vramTuning2 != NULL)
-
{
-
vramTuning2->pVtbl->Release(vramTuning2);
-
vramTuning2 = NULL;
-
}
-
-
// Release the ManualVRAMTuning1 interface
-
if (vramTuning1 != NULL)
-
{
-
vramTuning1->pVtbl->Release(vramTuning1);
-
vramTuning1 = NULL;
-
}
-
}
-
-
void MainMenu(IADLXInterface* vramTuningIfc)
-
{
-
IADLXManualVRAMTuning2* vramTuning2 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2);
-
IADLXManualVRAMTuning1* vramTuning1 = NULL;
-
vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1);
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Memory Timing support\n");
-
if (vramTuning2)
-
printf("\t->Press 2 to display Memory Timing level and frequency range\n");
-
else if (vramTuning1)
-
printf("\t->Press 2 to display Memory Timing level, VRAM frequency, and the voltage global range for all states\n");
-
-
printf("\t->Press 3 to change current Memory Timing Level\n");
-
if (vramTuning2)
-
printf("\t->Press 4 to change current VRAM maximum frequency value\n");
-
else if (vramTuning1)
-
printf("\t->Press 4 to change VRAM states\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
-
// Release the ManualVRAMTuning2 interface
-
if (vramTuning2 != NULL)
-
{
-
vramTuning2->pVtbl->Release(vramTuning2);
-
vramTuning2 = NULL;
-
}
-
-
// Release the ManualVRAMTuning1 interface
-
if (vramTuning1 != NULL)
-
{
-
vramTuning1->pVtbl->Release(vramTuning1);
-
vramTuning1 = NULL;
-
}
-
}
-
-
void MenuControl(IADLXInterface* vramTuningIfc)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Get Memory Timing support
-
case '1':
-
ShowSupport(vramTuningIfc);
-
break;
-
-
// Get VRAM state
-
case '2':
-
GetState(vramTuningIfc);
-
break;
-
-
// Set timing level
-
case '3':
-
SetTimingLevel(vramTuningIfc);
-
break;
-
-
// Set VRAM state
-
case '4':
-
SetState(vramTuningIfc);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(vramTuningIfc);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ MEMORYTIMING_MEMORYTIMING_LEVEL_2
Definition: ADLXDefines.h:864
-
@ MEMORYTIMING_AUTOMATIC
Definition: ADLXDefines.h:862
-
@ MEMORYTIMING_FAST_TIMING_LEVEL_2
Definition: ADLXDefines.h:861
-
@ MEMORYTIMING_MEMORYTIMING_LEVEL_1
Definition: ADLXDefines.h:863
-
@ MEMORYTIMING_FAST_TIMING
Definition: ADLXDefines.h:860
-
@ MEMORYTIMING_DEFAULT
Definition: ADLXDefines.h:859
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_MEMORYTIMING_DESCRIPTION
Indicates the priority of the log entry.
Definition: ADLXDefines.h:858
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__morphologic_anti_aliasing.html b/vendor/adlx/SDKDoc/html/c__morphologic_anti_aliasing.html deleted file mode 100644 index e5c450d..0000000 --- a/vendor/adlx/SDKDoc/html/c__morphologic_anti_aliasing.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: MorphologicAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MorphologicAntiAliasing
-
-
-
- - - -

Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display morphological anti-aliasing support
2 Get current morphological anti-aliasing state of the GPU
3 Enable morphological anti-aliasing
4 Disable morphological anti-aliasing
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/MorphologicAntiAliasing

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display morphological anti-aliasing support
-
void ShowSupport(IADLX3DMorphologicalAntiAliasing* mAntiAliasing);
-
-
// Get current morphological anti-aliasing state of the GPU
-
void GetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing);
-
-
// Set morphological anti-aliasing state
-
void SetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DMorphologicalAntiAliasing* mAntiAliasing);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get MorphologicAntiAliasing interface
-
IADLX3DMorphologicalAntiAliasing* mAntiAliasing = NULL;
-
res = d3dSettingSrv->pVtbl->GetMorphologicalAntiAliasing(d3dSettingSrv, gpu, &mAntiAliasing);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(mAntiAliasing);
-
}
-
-
// Release the d3dAntiLag interface
-
if (mAntiAliasing != NULL)
-
{
-
mAntiAliasing->pVtbl->Release(mAntiAliasing);
-
mAntiAliasing = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings Services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSupport(IADLX3DMorphologicalAntiAliasing* mAntiAliasing)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = mAntiAliasing->pVtbl->IsSupported(mAntiAliasing, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = mAntiAliasing->pVtbl->IsEnabled(mAntiAliasing, &enabled);
-
printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res);
-
}
-
-
void SetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing, int index)
-
{
-
ADLX_RESULT res = mAntiAliasing->pVtbl->SetEnabled(mAntiAliasing, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display morphological anti-aliasing support\n");
-
printf("\t->Press 2 to get current morphological anti-aliasing state of the GPU\n");
-
printf("\t->Press 3 to enable morphological anti-aliasing\n");
-
printf("\t->Press 4 to disable morphological anti-aliasing\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DMorphologicalAntiAliasing* mAntiAliasing)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display morphological anti-aliasing support
-
case '1':
-
ShowSupport(mAntiAliasing);
-
break;
-
-
// Get and display current morphological anti-aliasing state of the GPU
-
case '2':
-
GetState(mAntiAliasing);
-
break;
-
-
// Set morphological anti-aliasing state
-
case '3':
-
case '4':
-
SetState(mAntiAliasing, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__perf_all_metrics.html b/vendor/adlx/SDKDoc/html/c__perf_all_metrics.html deleted file mode 100644 index 609a674..0000000 --- a/vendor/adlx/SDKDoc/html/c__perf_all_metrics.html +++ /dev/null @@ -1,796 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfAllMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfAllMetrics
-
-
-
- - - -

Demonstrates how to control all metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current all metrics.
2 Show historical all metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfAllMetrics

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Display all current metrics
-
void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
-
// Display all historical metrics
-
void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
-
// ASCII °
-
static const signed char g_degree = 248;
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
IADLXPerformanceMonitoringServices *perfMonitoringService = NULL;
-
res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUList* gpus = NULL;
-
// Get GPU list
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Use initial GPU
-
IADLXGPU* oneGPU = NULL;
-
res = gpus->pVtbl->At_GPUList(gpus, gpus->pVtbl->Begin(gpus), &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringService, oneGPU);
-
}
-
else
-
printf("\tGet particular GPU failed\n");
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
else
-
printf("\tGet GPU list failed\n");
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
printf("\tGet performance monitoring services failed\n");
-
if (perfMonitoringService != NULL)
-
{
-
perfMonitoringService->pVtbl->Release(perfMonitoringService);
-
perfMonitoringService = NULL;
-
}
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose one of the following options\n");
-
-
printf("\t->Press 1 to display all current metrics\n");
-
printf("\t->Press 2 to display all historical metrics\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display all current metrics
-
case '1':
-
ShowCurrentAllMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display all historical metrics
-
case '2':
-
ShowHistoricalAllMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStampBySystem(IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = systemMetrics->pVtbl->TimeStamp(systemMetrics, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The system timp stamp is: %lldms\n", timeStamp);
-
}
-
-
// Display CPU usage(in %)
-
void ShowCPUUsage(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display CPU usage support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("CPU usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double cpuUsage = 0;
-
res = systemMetrics->pVtbl->CPUUsage(systemMetrics, &cpuUsage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The CPU usage is: %f%%\n", cpuUsage);
-
}
-
}
-
}
-
-
// Display system RAM (in MB)
-
void ShowSystemRAM(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display system RAM usage support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("System RAM usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int systemRAM = 0;
-
res = systemMetrics->pVtbl->SystemRAM(systemMetrics, &systemRAM);
-
if (ADLX_SUCCEEDED(res))
-
printf("The system RAM is: %dMB\n", systemRAM);
-
}
-
}
-
}
-
-
// Display SmartShift
-
void ShowSmartShift(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display SmartShift support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("SmartShift support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int smartShift;
-
res = systemMetrics->pVtbl->SmartShift(systemMetrics, &smartShift);
-
if (ADLX_SUCCEEDED(res))
-
printf("The smart shift is: %d\n", smartShift);
-
}
-
}
-
}
-
-
// Display the GPU metrics time stamp (in ms)
-
void GetTimeStampByGPU(IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = gpuMetrics->pVtbl->TimeStamp(gpuMetrics, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU timp stamp is: %lldms\n", timeStamp);
-
}
-
-
// Display GPU usage (in %)
-
void ShowGPUUsage(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU usage support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double usage = 0;
-
res = gpuMetrics->pVtbl->GPUUsage(gpuMetrics, &usage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU usage is: %f%%\n", usage);
-
}
-
}
-
}
-
-
// Display GPU clock speed (in MHz)
-
void ShowGPUClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU system clock support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int systemClock = 0;
-
res = gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics, &systemClock);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU system clock is: %dMHz\n", systemClock);
-
}
-
}
-
}
-
-
// Display GPU VRAM clock speed (in MHz)
-
void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU VRAM clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU memory clock support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int memoryClock = 0;
-
res = gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics, &memoryClock);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU memory clock is: %dMHz\n", memoryClock);
-
}
-
}
-
}
-
-
// Display GPU temperature(in °C)
-
void ShowGPUTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU temperture support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->pVtbl->GPUTemperature(gpuMetrics, &temperature);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU temperature is: %f%cC\n", temperature, g_degree);
-
}
-
}
-
}
-
-
// Display GPU hotspot temperature(in °C)
-
void ShowGPUHotspotTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU hotspot temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU hotspot temperature support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double hotspotTemperature = 0;
-
res = gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics, &hotspotTemperature);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU hotspot temperature is: %f%cC\n", hotspotTemperature, g_degree);
-
}
-
}
-
}
-
-
// Display GPU power (in W)
-
void ShowGPUPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU power support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU power support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->pVtbl->GPUPower(gpuMetrics, &power);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU power is: %fW\n", power);
-
}
-
}
-
}
-
-
// Display GPU fan speed (in RPM)
-
void ShowGPUFanSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU fan speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU fan speed support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int fanSpeed = 0;
-
res = gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics, &fanSpeed);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU fan speed is: %dRPM\n", fanSpeed);
-
}
-
}
-
}
-
-
// Display GPU VRAM (in MB)
-
void ShowGPUVRAM(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU VRAM support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU VRAM support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int VRAM = 0;
-
res = gpuMetrics->pVtbl->GPUVRAM(gpuMetrics, &VRAM);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU VRAM is: %dMB\n", VRAM);
-
}
-
}
-
}
-
-
// Display GPU Voltage (in mV)
-
void ShowGPUVoltage(IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU voltage support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU voltage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int Voltage = 0;
-
res = gpuMetrics->pVtbl->GPUVoltage(gpuMetrics, &Voltage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU Voltage is: %dmV\n", Voltage);
-
}
-
}
-
}
-
-
// Display all current metrics
-
void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupport *systemMetricsSupport = NULL;
-
ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport);
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport *gpuMetricsSupport = NULL;
-
res2 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
-
// Accumulate and display current metrics for each of 10 loops
-
IADLXAllMetrics *allMetrics = NULL;
-
IADLXSystemMetrics *systemMetrics = NULL;
-
IADLXGPUMetrics *gpuMetrics = NULL;
-
IADLXFPS *oneFPS = NULL;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get all current metrics
-
ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetCurrentAllMetrics(perfMonitoringServices, &allMetrics);
-
if (ADLX_SUCCEEDED(res1))
-
{
-
printf("The current all metrics: \n");
-
// Get current system metrics
-
res1 = allMetrics->pVtbl->GetSystemMetrics(allMetrics, &systemMetrics);
-
// Display timestamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
GetTimeStampBySystem(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
}
-
// Free
-
if (systemMetrics != NULL)
-
{
-
systemMetrics->pVtbl->Release(systemMetrics);
-
systemMetrics = NULL;
-
}
-
// Get current GPU metrics
-
res1 = allMetrics->pVtbl->GetGPUMetrics(allMetrics, oneGPU, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
GetTimeStampByGPU(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
}
-
// Free
-
if (gpuMetrics != NULL)
-
{
-
gpuMetrics->pVtbl->Release(gpuMetrics);
-
gpuMetrics = NULL;
-
}
-
// Get current FPS metrics
-
res1 = allMetrics->pVtbl->GetFPS(allMetrics, &oneFPS);
-
if (ADLX_SUCCEEDED(res1))
-
{
-
adlx_int64 timeStamp = 0;
-
res1 = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp);
-
if (ADLX_SUCCEEDED(res1))
-
printf("The current metric time stamp is: %lldms\n", timeStamp);
-
adlx_int fpsData = 0;
-
res1 = oneFPS->pVtbl->FPS(oneFPS, &fpsData);
-
if (ADLX_SUCCEEDED(res1))
-
printf("The current metric FPS is: %d\n", fpsData);
-
else if (res1 == ADLX_NOT_SUPPORTED)
-
printf("FPS not supported\n");
-
}
-
// Free
-
if (oneFPS != NULL)
-
{
-
oneFPS->pVtbl->Release(oneFPS);
-
oneFPS = NULL;
-
}
-
}
-
Sleep(1000);
-
// Free
-
if (allMetrics != NULL)
-
{
-
allMetrics->pVtbl->Release(allMetrics);
-
allMetrics = NULL;
-
}
-
}
-
// Free
-
if (systemMetricsSupport != NULL)
-
{
-
systemMetricsSupport->pVtbl->Release(systemMetricsSupport);
-
systemMetricsSupport = NULL;
-
}
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
-
MainMenu();
-
}
-
-
// Show all historical metrics
-
void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Clear historical data failed\n");
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Start tracking performance metrics failed\n");
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
printf("Wait for 10 seconds to accumulate metrics...\n");
-
Sleep(10000);
-
-
// Get all metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter)
-
IADLXAllMetricsList *allMetricsList = NULL;
-
res = perfMonitoringServices->pVtbl->GetAllMetricsHistory(perfMonitoringServices, 10000, 0, &allMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupport *systemMetricsSupport = NULL;
-
ADLX_RESULT systemRes = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport);
-
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport *gpuMetricsSupport = NULL;
-
ADLX_RESULT gpuRes = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
-
// Display all the metrics in the list
-
IADLXAllMetrics *allMetrics = NULL;
-
IADLXSystemMetrics *systemMetrics = NULL;
-
IADLXGPUMetrics *gpuMetrics = NULL;
-
IADLXFPS *oneFPS = NULL;
-
for (int i = allMetricsList->pVtbl->Begin(allMetricsList); i != allMetricsList->pVtbl->End(allMetricsList); ++i)
-
{
-
printf("********** historical system metrics %d: **********\n", i + 1);
-
res = allMetricsList->pVtbl->At_AllMetricsList(allMetricsList, i, &allMetrics);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = allMetrics->pVtbl->GetSystemMetrics(allMetrics, &systemMetrics);
-
// Display first system metrics time stamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(systemRes) && ADLX_SUCCEEDED(res))
-
{
-
GetTimeStampBySystem(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
}
-
// Free
-
if (systemMetrics != NULL)
-
{
-
systemMetrics->pVtbl->Release(systemMetrics);
-
systemMetrics = NULL;
-
}
-
res = allMetrics->pVtbl->GetGPUMetrics(allMetrics, oneGPU, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(gpuRes) && ADLX_SUCCEEDED(res))
-
{
-
GetTimeStampByGPU(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
}
-
// Free
-
if (gpuMetrics != NULL)
-
{
-
gpuMetrics->pVtbl->Release(gpuMetrics);
-
gpuMetrics = NULL;
-
}
-
res = allMetrics->pVtbl->GetFPS(allMetrics, &oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The time stamp is: %lldms\n", timeStamp);
-
adlx_int fpsData = 0;
-
res = oneFPS->pVtbl->FPS(oneFPS, &fpsData);
-
if (ADLX_SUCCEEDED(res))
-
printf("The FPS is: %d\n", fpsData);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("Don't support FPS\n");
-
}
-
// Free
-
if (oneFPS != NULL)
-
{
-
oneFPS->pVtbl->Release(oneFPS);
-
oneFPS = NULL;
-
}
-
printf("\n");
-
}
-
// Free
-
if (allMetrics != NULL)
-
{
-
allMetrics->pVtbl->Release(allMetrics);
-
allMetrics = NULL;
-
}
-
}
-
// Free
-
if (systemMetricsSupport != NULL)
-
{
-
systemMetricsSupport->pVtbl->Release(systemMetricsSupport);
-
systemMetricsSupport = NULL;
-
}
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
}
-
// Free
-
if (allMetricsList != NULL)
-
{
-
allMetricsList->pVtbl->Release(allMetricsList);
-
allMetricsList = NULL;
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Stop tracking performance metrics failed\n");
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__perf_f_p_s_metrics.html b/vendor/adlx/SDKDoc/html/c__perf_f_p_s_metrics.html deleted file mode 100644 index 66e8f99..0000000 --- a/vendor/adlx/SDKDoc/html/c__perf_f_p_s_metrics.html +++ /dev/null @@ -1,383 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfFPSMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfFPSMetrics
-
-
-
- - - -

Demonstrates how to control FPS metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current FPS metrics.
2 Show historical FPS metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfFPSMetrics

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Display current FPS metrics
-
void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
// Display historical FPS metrics
-
void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
IADLXPerformanceMonitoringServices *perfMonitoringServices = NULL;
-
res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringServices);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringServices);
-
}
-
else
-
printf("\tGet Performance Monitoring services failed\n");
-
if (perfMonitoringServices != NULL)
-
{
-
perfMonitoringServices->pVtbl->Release(perfMonitoringServices);
-
perfMonitoringServices = NULL;
-
}
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display current FPS metrics\n");
-
printf("\t->Press 2 to display historical FPS metrics\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices* perfMonitoringServices)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display current metrics
-
case '1':
-
ShowCurrentFPSMetrics(perfMonitoringServices);
-
break;
-
-
// Display historical metrics
-
case '2':
-
ShowHistoricalFPSMetrics(perfMonitoringServices);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display current FPS metrics
-
void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices* perfMonitoringServices)
-
{
-
// Accumulate and display current metrics for each of the 10 loops
-
IADLXFPS* oneFPS = NULL;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current FPS metrics
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->GetCurrentFPS(perfMonitoringServices, &oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The current metric time stamp is: %lldms\n", timeStamp);
-
adlx_int fpsData = 0;
-
res = oneFPS->pVtbl->FPS(oneFPS, &fpsData);
-
if (ADLX_SUCCEEDED(res))
-
printf("The current metric FPS is: %d\n", fpsData);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("FPS not supported\n");
-
}
-
Sleep(1000);
-
if (oneFPS != NULL)
-
{
-
oneFPS->pVtbl->Release(oneFPS);
-
oneFPS = NULL;
-
}
-
}
-
-
MainMenu();
-
}
-
-
// Display historical FPS metrics
-
void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Clear historical data failed\n");
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to start tracking performance metrics\n");
-
return;
-
}
-
-
// Wait 10 seconds to accumulate metrics
-
printf("Wait for 10 seconds to accumulate FPS...\n");
-
Sleep(10000);
-
-
// Get FPS metrics history from 10 seconds ago (10000 ms: the second parameter) to the present time (0 ms: the third parameter)
-
IADLXFPSList* fpsList = NULL;
-
res = perfMonitoringServices->pVtbl->GetFPSHistory(perfMonitoringServices, 10000, 0, &fpsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display all the listed FPS metrics
-
IADLXFPS* oneFPS = NULL;
-
for (int i = fpsList->pVtbl->Begin(fpsList); i != fpsList->pVtbl->End(fpsList); ++i)
-
{
-
printf("********** historical FPS metrics %d: **********\n", i + 1);
-
res = fpsList->pVtbl->At_FPSList(fpsList, i, &oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The time stamp is: %lldms\n", timeStamp);
-
adlx_int fpsData = 0;
-
res = oneFPS->pVtbl->FPS(oneFPS, &fpsData);
-
if (ADLX_SUCCEEDED(res))
-
printf("The FPS is: %d\n", fpsData);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("FPS not supported\n");
-
}
-
printf("\n");
-
-
// Free
-
if (oneFPS != NULL)
-
{
-
oneFPS->pVtbl->Release(oneFPS);
-
oneFPS = NULL;
-
}
-
}
-
}
-
-
// Free
-
if (fpsList != NULL)
-
{
-
fpsList->pVtbl->Release(fpsList);
-
fpsList = NULL;
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to stop tracking performance metrics\n");
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__perf_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/c__perf_g_p_u_metrics.html deleted file mode 100644 index 723bb7b..0000000 --- a/vendor/adlx/SDKDoc/html/c__perf_g_p_u_metrics.html +++ /dev/null @@ -1,860 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfGPUMetrics
-
-
-
- - - -

Demonstrates how to control GPU metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Show GPU metrics range.
2 Show current GPU metrics.
3 Show current GPU metrics from historical data.
4 Show historical GPU metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfGPUMetrics

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Show GPU metrics range
-
void ShowGPUMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Show current GPU metrics
-
void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU);
-
-
// Show historical GPU metrics
-
void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU);
-
-
// ASCII °
-
static const signed char g_degree = 248;
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
IADLXPerformanceMonitoringServices *perfMonitoringService = NULL;
-
res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUList* gpus = NULL;
-
// Get GPU list
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Use initial GPU
-
IADLXGPU* oneGPU = NULL;
-
res = gpus->pVtbl->At_GPUList(gpus, gpus->pVtbl->Begin(gpus), &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringService, oneGPU);
-
}
-
else
-
printf("\tGet particular GPU failed\n");
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
else
-
printf("\tGet GPU list failed\n");
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
printf("\tGet Performance Monitoring services failed\n");
-
if (perfMonitoringService != NULL)
-
{
-
perfMonitoringService->pVtbl->Release(perfMonitoringService);
-
perfMonitoringService = NULL;
-
}
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialization failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display the GPU metrics range\n");
-
printf("\t->Press 2 to display the current GPU metrics\n");
-
printf("\t->Press 3 to display the current GPU metrics from historical data\n");
-
printf("\t->Press 4 to display the historical GPU metrics\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show GPU metrics range
-
case '1':
-
ShowGPUMetricsRange(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display current GPU metrics
-
case '2':
-
ShowCurrentGPUMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display current GPU metrics from historical data
-
case '3':
-
ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display historical GPU metrics
-
case '4':
-
ShowHistoricalGPUMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU metrics range
-
void ShowGPUMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU)
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport* gpuMetricsSupport = NULL;
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int minValue = 0, maxValue = 0;
-
-
// Get GPU usage range
-
res = gpuMetricsSupport->pVtbl->GetGPUUsageRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU usage range between %d%% and %d%%\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU usage range not supported\n");
-
-
// Get GPU clock speed range
-
res = gpuMetricsSupport->pVtbl->GetGPUClockSpeedRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU clock speed range between %dMHz and %dMHz\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU clock speed range not supported\n");
-
-
// Get GPU VRAM clock speed range
-
res = gpuMetricsSupport->pVtbl->GetGPUVRAMClockSpeedRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU VRAM clock speed range between %dMHz and %dMHz\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU VRAM clock speed range not supported\n");
-
-
// Get GPU temperature range
-
res = gpuMetricsSupport->pVtbl->GetGPUTemperatureRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU temperature range between %d%cC and %d%cC\n", minValue, g_degree, maxValue, g_degree);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU temperature range not supported\n");
-
-
// Get GPU hotspot temperature range
-
res = gpuMetricsSupport->pVtbl->GetGPUHotspotTemperatureRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU hotspot temperature range between %d%cC and %d%cC\n", minValue, g_degree, maxValue, g_degree);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU hotspot temperature range not supported\n");
-
-
// Get GPU power range
-
res = gpuMetricsSupport->pVtbl->GetGPUPowerRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU power range between %dW and %dW\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU power range not supported\n");
-
-
// Get GPU fan speed range
-
res = gpuMetricsSupport->pVtbl->GetGPUFanSpeedRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU fan speed range between %dRPM and %dRPM\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU fan speed range not supported\n");
-
-
// Get GPU VRAM range
-
res = gpuMetricsSupport->pVtbl->GetGPUVRAMRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU VRAM range between %dMB and %dMB\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU VRAM range not supported\n");
-
-
// Get GPU voltage range
-
res = gpuMetricsSupport->pVtbl->GetGPUVoltageRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU voltage range between %dmV and %dmV\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU voltage range not supported\n");
-
-
// Get GPU total board power range
-
res = gpuMetricsSupport->pVtbl->GetGPUTotalBoardPowerRange(gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU total board power range between %dW and %dW\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("GPU total board power range not supported\n");
-
-
// Get GPU intake temperature range
-
res = gpuMetricsSupport->pVtbl->GetGPUIntakeTemperatureRange (gpuMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED (res))
-
printf ("The GPU intake temperature range between %dW and %dW\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf ("GPU intake temperature range not supported\n");
-
}
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStamp(IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = gpuMetrics->pVtbl->TimeStamp(gpuMetrics, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU timp stamp is: %lldms\n", timeStamp);
-
}
-
-
// Display GPU usage (in %)
-
void ShowGPUUsage(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU usage support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double usage = 0;
-
res = gpuMetrics->pVtbl->GPUUsage(gpuMetrics, &usage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU usage is: %f%%\n", usage);
-
}
-
}
-
}
-
-
// Display GPU clock speed (in MHz)
-
void ShowGPUClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU clock speed support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int systemClock = 0;
-
res = gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics, &systemClock);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU system clock is: %dMHz\n", systemClock);
-
}
-
}
-
}
-
-
// Display GPU VRAM clock speed (in MHz)
-
void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display the GPU VRAM clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU VRAM clock speed support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int memoryClock = 0;
-
res = gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics, &memoryClock);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU memory clock is: %dMHz\n", memoryClock);
-
}
-
}
-
}
-
-
// Display GPU temperature(in °C)
-
void ShowGPUTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display the GPU temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU temperature support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->pVtbl->GPUTemperature(gpuMetrics, &temperature);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU temperature is: %f%cC\n", temperature, g_degree);
-
}
-
}
-
}
-
-
// Display GPU hotspot temperature(in °C)
-
void ShowGPUHotspotTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU hotspot temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU hotspot temperature support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double hotspotTemperature = 0;
-
res = gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics, &hotspotTemperature);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU hotspot temperature is: %f%cC\n", hotspotTemperature, g_degree);
-
}
-
}
-
}
-
-
// Display GPU power(in W)
-
void ShowGPUPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU power support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU power support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->pVtbl->GPUPower(gpuMetrics, &power);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU power is: %fW\n", power);
-
}
-
}
-
}
-
-
// Display GPU total board power(in W)
-
void ShowGPUTotalBoardPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU total board power support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTotalBoardPower(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU total board power support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->pVtbl->GPUTotalBoardPower(gpuMetrics, &power);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU total board power is: %fW\n", power);
-
}
-
}
-
}
-
-
// Display GPU temperature(in °C)
-
void ShowGPUIntakeTemperature (IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display the GPU temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUIntakeTemperature (gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf ("GPU intake temperature support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->pVtbl->GPUIntakeTemperature (gpuMetrics, &temperature);
-
if (ADLX_SUCCEEDED (res))
-
printf ("The GPU intake temperature is: %f%cC\n", temperature, g_degree);
-
}
-
}
-
}
-
-
// Display GPU fan speed (in RPM)
-
void ShowGPUFanSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU fan speed support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU fan speed support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int fanSpeed = 0;
-
res = gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics, &fanSpeed);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU fan speed is: %dRPM\n", fanSpeed);
-
}
-
}
-
}
-
-
// Display GPU VRAM (in MB)
-
void ShowGPUVRAM(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU VRAM support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU VRAM support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int VRAM = 0;
-
res = gpuMetrics->pVtbl->GPUVRAM(gpuMetrics, &VRAM);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU VRAM is: %dMB\n", VRAM);
-
}
-
}
-
}
-
-
// Display GPU Voltage (in mV)
-
void ShowGPUVoltage(IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU voltage support status
-
ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("GPU voltage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int Voltage = 0;
-
res = gpuMetrics->pVtbl->GPUVoltage(gpuMetrics, &Voltage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The GPU Voltage is: %dmV\n", Voltage);
-
}
-
}
-
}
-
-
// Display current GPU metrics
-
void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport *gpuMetricsSupport = NULL;
-
ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
-
// Accumulate and display current metrics for each of 10 loops
-
IADLXGPUMetrics *gpuMetrics = NULL;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current GPU metrics
-
ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetCurrentGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetrics);
-
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
printf("The current GPU metrics: \n");
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics);
-
}
-
Sleep(1000);
-
-
// Free
-
if (gpuMetrics != NULL)
-
{
-
gpuMetrics->pVtbl->Release(gpuMetrics);
-
gpuMetrics = NULL;
-
}
-
}
-
-
// Free
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
-
MainMenu();
-
}
-
-
void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to clear historical data\n");
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to start tracking performance metrics\n");
-
return;
-
}
-
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport* gpuMetricsSupport = NULL;
-
ADLX_RESULT metricsSupportRet = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
-
// Accumulate and display current metrics for each of 10 loops
-
adlx_int startMs = 0;
-
adlx_int stopMs = 0;
-
for (int it = 0; it < 10; ++it)
-
{
-
// Clear screen
-
system("cls");
-
-
IADLXGPUMetricsList* gpuMetricsList = NULL;
-
res = perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices, oneGPU, startMs, stopMs, &gpuMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display all the GPU metrics in the list
-
IADLXGPUMetrics* gpuMetrics = NULL;
-
for (int i = gpuMetricsList->pVtbl->Begin(gpuMetricsList); i != gpuMetricsList->pVtbl->End(gpuMetricsList); ++i)
-
{
-
res = gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList, i, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(metricsSupportRet) && ADLX_SUCCEEDED(res))
-
{
-
printf("The current GPU metrics: \n");
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics);
-
}
-
-
// Release IADLXGPUMetrics interface
-
if (gpuMetrics != NULL)
-
{
-
gpuMetrics->pVtbl->Release(gpuMetrics);
-
gpuMetrics = NULL;
-
}
-
}
-
}
-
-
// Release IADLXGPUMetricsList interface
-
if (gpuMetricsList != NULL)
-
{
-
gpuMetricsList->pVtbl->Release(gpuMetricsList);
-
gpuMetricsList = NULL;
-
}
-
-
Sleep(1000);
-
}
-
-
// Release IADLXGPUMetricsSupport interface
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to stop tracking performance metrics\n");
-
}
-
-
MainMenu();
-
}
-
-
// Display historical GPU Metrics
-
void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to clear historical data\n");
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to start tracking performance metrics\n");
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
printf("Wait for 10 seconds to accumulate metrics...\n");
-
Sleep(10000);
-
-
// Get GPU metrics history from 10 seconds ago(10000 ms: the third parameter) to the present time(0 ms: the fourth parameter)
-
IADLXGPUMetricsList* gpuMetricsList = NULL;
-
res = perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices, oneGPU, 10000, 0, &gpuMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupport* gpuMetricsSupport = NULL;
-
ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport);
-
-
// Display all the GPU metrics in the list
-
IADLXGPUMetrics* gpuMetrics = NULL;
-
for (int i = gpuMetricsList->pVtbl->Begin(gpuMetricsList); i != gpuMetricsList->pVtbl->End(gpuMetricsList); ++i)
-
{
-
printf("********** historical GPU metrics %d: **********\n", i + 1);
-
ADLX_RESULT res2 = gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList, i, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics);
-
}
-
printf("\n");
-
if (gpuMetrics != NULL)
-
{
-
gpuMetrics->pVtbl->Release(gpuMetrics);
-
gpuMetrics = NULL;
-
}
-
}
-
if (gpuMetricsSupport != NULL)
-
{
-
gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport);
-
gpuMetricsSupport = NULL;
-
}
-
}
-
if (gpuMetricsList != NULL)
-
{
-
gpuMetricsList->pVtbl->Release(gpuMetricsList);
-
gpuMetricsList = NULL;
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to stop tracking performance metrics\n");
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__perf_system_metrics.html b/vendor/adlx/SDKDoc/html/c__perf_system_metrics.html deleted file mode 100644 index 7b676f3..0000000 --- a/vendor/adlx/SDKDoc/html/c__perf_system_metrics.html +++ /dev/null @@ -1,595 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfSystemMetrics
-
-
-
- - - -

Demonstrates how to control system metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current system metrics.
2 Show historical system metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfSystemMetrics

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring1.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Display system metrics range
-
void ShowSystemMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Display current system metrics
-
void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
// Display historical system metrics
-
void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
IADLXPerformanceMonitoringServices *perfMonitoringServices = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringServices);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringServices);
-
}
-
else
-
printf("\tGet performance monitoring services failed\n");
-
if (perfMonitoringServices != NULL)
-
{
-
perfMonitoringServices->pVtbl->Release(perfMonitoringServices);
-
perfMonitoringServices = NULL;
-
}
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display the system metrics range\n");
-
printf("\t->Press 2 to display the current system metrics\n");
-
printf("\t->Press 3 to display the historical system metrics\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display system metrics range
-
case '1':
-
ShowSystemMetricsRange(perfMonitoringServices);
-
break;
-
-
// Display current metrics
-
case '2':
-
ShowCurrentSystemMetrics(perfMonitoringServices);
-
break;
-
-
// Display historical metrics
-
case '3':
-
ShowHistoricalSystemMetrics(perfMonitoringServices);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display system metrics range
-
void ShowSystemMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupport* systemMetricsSupport = NULL;
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int minValue = 0, maxValue = 0;
-
-
// Get CPU usage range
-
res = systemMetricsSupport->pVtbl->GetCPUUsageRange(systemMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The CPU usage range between %d%% and %d%%\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("CPU usage range not supported\n");
-
-
// Get system RAM range
-
res = systemMetricsSupport->pVtbl->GetSystemRAMRange(systemMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The system RAM range between %dMB and %dMB\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("System RAM range not supported\n");
-
-
// Get SmartShift range
-
res = systemMetricsSupport->pVtbl->GetSmartShiftRange(systemMetricsSupport, &minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
printf("The smart shift range between %d and %d\n", minValue, maxValue);
-
else if (res == ADLX_NOT_SUPPORTED)
-
printf("SmartShift range not supported\n");
-
}
-
if (systemMetricsSupport != NULL)
-
{
-
systemMetricsSupport->pVtbl->Release(systemMetricsSupport);
-
systemMetricsSupport = NULL;
-
}
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStamp(IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = systemMetrics->pVtbl->TimeStamp(systemMetrics, &timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
printf("The system timp stamp is: %lldms\n", timeStamp);
-
}
-
-
// Display CPU usage (in %)
-
void ShowCPUUsage(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display CPU usage support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("CPU usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_double cpuUsage = 0;
-
res = systemMetrics->pVtbl->CPUUsage(systemMetrics, &cpuUsage);
-
if (ADLX_SUCCEEDED(res))
-
printf("The CPU usage is: %f%%\n", cpuUsage);
-
}
-
}
-
}
-
-
// Display system RAM (in MB)
-
void ShowSystemRAM(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display system RAM usage support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("System RAM usage support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int systemRAM = 0;
-
res = systemMetrics->pVtbl->SystemRAM(systemMetrics, &systemRAM);
-
if (ADLX_SUCCEEDED(res))
-
printf("The system RAM is: %dMB\n", systemRAM);
-
}
-
}
-
}
-
-
// Show SmartShift
-
void ShowSmartShift(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display SmartShift support status
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("SmartShift support status: %d\n", supported);
-
if (supported)
-
{
-
adlx_int smartShift;
-
res = systemMetrics->pVtbl->SmartShift(systemMetrics, &smartShift);
-
if (ADLX_SUCCEEDED(res))
-
printf("The smart shift is: %d\n", smartShift);
-
}
-
}
-
}
-
-
// Show SmartShift Max
-
void ShowSmartShiftMax(IADLXSystemMetricsSupport* systemMetricsSupport, IADLXSystemMetrics* systemMetrics)
-
{
-
IADLXSystemMetricsSupport1* sysMetricsSupport1 = NULL;
-
ADLX_RESULT res = systemMetricsSupport->pVtbl->QueryInterface(systemMetricsSupport, IID_IADLXSystemMetricsSupport1(), (void**)&sysMetricsSupport1);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
// Display power distribution support status
-
res = sysMetricsSupport1->pVtbl->IsSupportedPowerDistribution(sysMetricsSupport1, &supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("PowerDistribution support status: %d\n", supported);
-
if (supported)
-
{
-
IADLXSystemMetrics1* sysMetrics1 = NULL;
-
res = systemMetrics->pVtbl->QueryInterface(systemMetrics, IID_IADLXSystemMetrics1(), (void*)&sysMetrics1);
-
if (ADLX_SUCCEEDED(res))
-
{
-
int apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit;
-
res = sysMetrics1->pVtbl->PowerDistribution(sysMetrics1, &apuShiftValue, &gpuShiftValue, &apuShiftLimit, &gpuShiftLimit, &totalShiftLimit);
-
if (ADLX_SUCCEEDED(res))
-
printf("The PowerDistribution is:\n apuShiftValue: %d , gpuShiftValue: %d , apuShiftLimit: %d , gpuShiftLimit: %d , totalShiftLimit: %d\n"
-
, apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit);
-
-
// Release IADLXSystemMetrics1 interface
-
sysMetrics1->pVtbl->Release(sysMetrics1);
-
}
-
else
-
{
-
printf("\tGet IADLXSystemMetrics1Ptr failed\n");
-
}
-
}
-
}
-
-
// Release IADLXSystemMetricsSupport1 interface
-
sysMetricsSupport1->pVtbl->Release(sysMetricsSupport1);
-
}
-
else
-
{
-
printf("\tGet IADLXSystemMetricsSupport1Ptr failed\n");
-
}
-
}
-
-
// Display current system metrics
-
void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupport* systemMetricsSupport = NULL;
-
ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport);
-
-
// Accumulate and display current metrics for each of the 10 loops
-
IADLXSystemMetrics* systemMetrics = NULL;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current system metrics
-
ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetCurrentSystemMetrics(perfMonitoringServices, &systemMetrics);
-
-
// Display timestamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
printf("The current system metrics: \n");
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
ShowSmartShiftMax(systemMetricsSupport, systemMetrics);
-
}
-
Sleep(1000);
-
-
// Free
-
if (systemMetrics != NULL)
-
{
-
systemMetrics->pVtbl->Release(systemMetrics);
-
systemMetrics = NULL;
-
}
-
}
-
-
// Free
-
if (systemMetricsSupport != NULL)
-
{
-
systemMetricsSupport->pVtbl->Release(systemMetricsSupport);
-
systemMetricsSupport = NULL;
-
}
-
-
MainMenu();
-
}
-
-
// Display historical system metrics
-
void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to clear historical data\n");
-
return;
-
}
-
-
// Get current max historical size (in s)
-
adlx_int maxHistorySize = 0;
-
res = perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices, &maxHistorySize);
-
if (ADLX_SUCCEEDED(res))
-
printf("The current max historical size is: %ds\n", maxHistorySize);
-
// Get the max historical size range. The max historical size must be set within this range.
- -
res = perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySizeRange(perfMonitoringServices, &range);
-
if (ADLX_SUCCEEDED(res))
-
printf("The range of max historical size is: (%d, %d)s\n", range.minValue, range.maxValue);
-
// Change max historical size to minimum value
-
res = perfMonitoringServices->pVtbl->SetMaxPerformanceMetricsHistorySize(perfMonitoringServices, range.minValue);
-
if (ADLX_SUCCEEDED(res))
-
{
-
perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices, &maxHistorySize);
-
printf("Set max historical size to minimum value succeeded, the current max historical is: %ds\n", maxHistorySize);
-
}
-
-
// Get current sampling interval (in ms)
-
adlx_int samplingInterval = 0;
-
res = perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices, &samplingInterval);
-
if (ADLX_SUCCEEDED(res))
-
printf("The current sampling interval is: %dms\n", samplingInterval);
-
// Get the sampling interval range. The sampling interval must be set within this range.
-
res = perfMonitoringServices->pVtbl->GetSamplingIntervalRange(perfMonitoringServices, &range);
-
if (ADLX_SUCCEEDED(res))
-
printf("The range of sampling interval is: (%d, %d)ms\n", range.minValue, range.maxValue);
-
// Change sampling interval to minimum value
-
res = perfMonitoringServices->pVtbl->SetSamplingInterval(perfMonitoringServices, range.minValue);
-
if (ADLX_SUCCEEDED(res))
-
{
-
perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices, &samplingInterval);
-
printf("Set sampling interval to minimum value succeeded, the current sampling interval is: %dms\n", samplingInterval);
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to start tracking performance metrics\n");
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
printf("Wait for 10 seconds to accumulate metrics...\n");
-
Sleep(10000);
-
-
// Check the current performance metrics historical size (in s) upon accumulation
-
adlx_int currentHistorySize = 0;
-
res = perfMonitoringServices->pVtbl->GetCurrentPerformanceMetricsHistorySize(perfMonitoringServices, &currentHistorySize);
-
if (ADLX_SUCCEEDED(res))
-
printf("The current historical size is: %ds\n", currentHistorySize);
-
-
// Get system metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter)
-
IADLXSystemMetricsList* systemMetricsList = NULL;
-
res = perfMonitoringServices->pVtbl->GetSystemMetricsHistory(perfMonitoringServices, 10000, 0, &systemMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the system metrics support
-
IADLXSystemMetricsSupport* systemMetricsSupport = NULL;
-
ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport);
-
-
// Display all the system metrics in the list
-
IADLXSystemMetrics* systemMetrics = NULL;
-
for (int i = systemMetricsList->pVtbl->Begin(systemMetricsList); i != systemMetricsList->pVtbl->End(systemMetricsList); ++i)
-
{
-
printf("********** historical system metrics %d: **********\n", i + 1);
-
ADLX_RESULT res2 = systemMetricsList->pVtbl->At_SystemMetricsList(systemMetricsList, i, &systemMetrics);
-
// Display first system metrics time stamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
ShowSmartShiftMax(systemMetricsSupport, systemMetrics);
-
}
-
printf("\n");
-
if (systemMetrics != NULL)
-
{
-
systemMetrics->pVtbl->Release(systemMetrics);
-
systemMetrics = NULL;
-
}
-
}
-
if (systemMetricsSupport != NULL)
-
{
-
systemMetricsSupport->pVtbl->Release(systemMetricsSupport);
-
systemMetricsSupport = NULL;
-
}
-
}
-
if (systemMetricsList != NULL)
-
{
-
systemMetricsList->pVtbl->Release(systemMetricsList);
-
systemMetricsList = NULL;
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices);
-
if (ADLX_FAILED(res))
-
{
-
printf("Failed to stop tracking performance metrics\n");
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__r_s_r.html b/vendor/adlx/SDKDoc/html/c__r_s_r.html deleted file mode 100644 index dea0cb9..0000000 --- a/vendor/adlx/SDKDoc/html/c__r_s_r.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RSR - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RSR
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Super Resolution support
2 Get current Radeon Super Resolution state and additional information
3 Enable and configure sharpness
4 Disable Radeon Super Resolution
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/RSR

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display Radeon Super Resolution support
-
void ShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution* rsr);
-
-
// Display current Radeon Super Resolution state
-
void GetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr);
-
-
// Set Radeon Super Resolution state
-
void SetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DRadeonSuperResolution* rsr);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get RadeonSuperResolution interface
-
IADLX3DRadeonSuperResolution* rsr = NULL;
-
res = d3dSettingSrv->pVtbl->GetRadeonSuperResolution(d3dSettingSrv, &rsr);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(rsr);
-
}
-
else
-
{
-
printf("Get RadeonSuperResolution res: %d\n", res);
-
}
-
-
// Release the RadeonSuperResolution interface
-
if (rsr != NULL)
-
{
-
rsr->pVtbl->Release(rsr);
-
rsr = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution* rsr)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = rsr->pVtbl->IsSupported(rsr, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void GetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = rsr->pVtbl->IsEnabled(rsr, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsEnabled: %d\n", enabled);
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange;
-
res = rsr->pVtbl->GetSharpness(rsr, &sharpness);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tCurrent sharpness: %d\n", sharpness);
-
res = rsr->pVtbl->GetSharpnessRange(rsr, &sharpnessRange);
-
if (ADLX_SUCCEEDED (res))
-
printf("\tSharpness limit [ %d , %d ], step: %d\n", sharpnessRange.minValue, sharpnessRange.maxValue, sharpnessRange.step);
-
}
-
-
void SetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr, int index)
-
{
-
ADLX_RESULT res = rsr->pVtbl->SetEnabled(rsr, index == 0);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange;
-
ADLX_RESULT res1 = rsr->pVtbl->GetSharpness(rsr, &sharpness);
-
ADLX_RESULT res2 = rsr->pVtbl->GetSharpnessRange(rsr, &sharpnessRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
if (sharpness != sharpnessRange.minValue)
-
{
-
res = rsr->pVtbl->SetSharpness(rsr, sharpnessRange.minValue);
-
printf("\tUse minimum sharpness limit, return code is: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = rsr->pVtbl->SetSharpness(rsr, sharpnessRange.maxValue);
-
printf("\tUse maximum sharpness limit, return code is: %d (0 means success)\n", res);
-
}
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display Radeon Super Resolution support\n");
-
printf("\t->Press 2 to display current Radeon Super Resolution state\n");
-
printf("\t->Press 3 to enable Radeon Super Resolution\n");
-
printf("\t->Press 4 to disable Radeon Super Resolution\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DRadeonSuperResolution* rsr)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Radeon Super Resolution support
-
case '1':
-
ShowRadeonSuperResolutionSupport(rsr);
-
break;
-
-
// Display current Radeon Super Resolution state
-
case '2':
-
GetRadeonSuperResolutionState(rsr);
-
break;
-
-
// Set Radeon Super Resolution
-
case '3':
-
case '4':
-
SetRadeonSuperResolutionState(rsr, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__reset_shader_cache.html b/vendor/adlx/SDKDoc/html/c__reset_shader_cache.html deleted file mode 100644 index 0e3f8e3..0000000 --- a/vendor/adlx/SDKDoc/html/c__reset_shader_cache.html +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ResetShaderCache
-
-
-
- - - -

Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Display reset shader cache support
2 Reset GPU shader cache
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/ResetShaderCache

- -

Code

-
C
-
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display reset shader cache support
-
void ShowSupport(IADLX3DResetShaderCache* resetShaderCache);
-
-
// Reset GPU shader cache
-
void ResetShaderCache(IADLX3DResetShaderCache* resetShaderCache);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DResetShaderCache* resetShaderCache);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get ResetShaderCache interface
-
IADLX3DResetShaderCache* resetShaderCache = NULL;
-
res = d3dSettingSrv->pVtbl->GetResetShaderCache(d3dSettingSrv, gpu, &resetShaderCache);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(resetShaderCache);
-
}
-
-
// Release the ResetShaderCache interface
-
if (resetShaderCache != NULL)
-
{
-
resetShaderCache->pVtbl->Release(resetShaderCache);
-
resetShaderCache = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSupport(IADLX3DResetShaderCache* resetShaderCache)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = resetShaderCache->pVtbl->IsSupported(resetShaderCache, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void ResetShaderCache(IADLX3DResetShaderCache* resetShaderCache)
-
{
-
ADLX_RESULT res = resetShaderCache->pVtbl->ResetShaderCache(resetShaderCache);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
printf("\t->Press 1 to display reset shader cache support\n");
-
printf("\t->Press 2 to reset GPU shader cache\n");
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DResetShaderCache* resetShaderCache)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display reset shader cache support
-
case '1':
-
ShowSupport(resetShaderCache);
-
break;
-
-
// Reset GPU shader cache
-
case '2':
-
ResetShaderCache(resetShaderCache);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__sync3_d_receive.html b/vendor/adlx/SDKDoc/html/c__sync3_d_receive.html deleted file mode 100644 index b1d0a7e..0000000 --- a/vendor/adlx/SDKDoc/html/c__sync3_d_receive.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Sync3DReceive - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Sync3DReceive
-
-
-
- - - -

Demonstrates how to receive notifications of changes in 3D settings using ADLX.
- To receive the event, another application must be used to change these settings, such as AntiLag. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/Sync3DReceive

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include "conio.h"
-
-
// Block event to verify call back
-
HANDLE blockEvent = NULL;
-
HANDLE quitEvent = NULL;
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName);
-
-
// Call back to handle changed events
-
adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedListener *pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent)
-
{
-
// Get the GPU interface
-
IADLXGPU* gpu = NULL;
-
p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent, &gpu);
-
-
//RadeonSuperResolution is a global feature (the GPU interface is NULL); skip printing its name
-
if (!p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent))
-
{
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
printf("GPU: %s get sync event\n", uniqueName);
-
}
-
ADLX_SYNC_ORIGIN origin = p3DSettingsChangedEvent->pVtbl->GetOrigin(p3DSettingsChangedEvent);
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
if (p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tAnti-Lag is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsChillChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tChill is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsBoostChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tBoost is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsImageSharpeningChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tImage Sharpening is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsEnhancedSyncChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tEnhanced Sync is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsWaitForVerticalRefreshChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tWait For Vertical Refresh is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsFrameRateTargetControlChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tFRTC is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsAntiAliasingChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tAnti-Aliasing is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsMorphologicalAntiAliasingChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tMorphological Anti-Aliasing is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsAnisotropicFilteringChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tAnisotropic Filtering is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsTessellationModeChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tTessellation Mode is changed\n");
-
}
-
else if (p3DSettingsChangedEvent->pVtbl->IsResetShaderCache(p3DSettingsChangedEvent))
-
{
-
printf("\tResetShaderCache\n");
-
}
-
}
-
-
if (origin == SYNC_ORIGIN_UNKNOWN)
-
{
-
if (p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent))
-
{
-
printf("\tget sync event, RSR changed\n");
-
}
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
-
// Wait for quit signal
-
DWORD WINAPI QuitWait(LPVOID lpParam)
-
{
-
adlx_bool* loopFlag = (adlx_bool*)lpParam;
-
while (true)
-
{
-
// Non-blocking checking if the I/O cache has characters
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(quitEvent);
-
break;
-
}
-
}
-
Sleep(100);
-
}
-
return 0;
-
}
-
-
static IADLX3DSettingsChangedListenerVtbl vtbl = {&On3DSettingsChanged};
-
static IADLX3DSettingsChangedListener eventListener = {&vtbl};
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create quit event
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create event array
-
HANDLE eventArray[] = { blockEvent, quitEvent };
-
-
// Get the System Services interface
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
-
// Get the 3D Settings Service interface
-
IADLX3DSettingsServices *d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the Change Handle interface
-
IADLX3DSettingsChangedHandling *changeHandle = NULL;;
-
res = d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv, &changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Add call back
-
changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle, &eventListener);
-
-
// Create a thread to detect quit input
-
adlx_bool loopFlag = true;
-
DWORD threadId = 0;
-
HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId);
-
-
printf("\nWaiting for 3DSetting change event... Press Q/q to quit\n");
-
while (true)
-
{
-
// Wait for change event or request to quit
-
DWORD waitRet = WaitForMultipleObjects(2, eventArray, FALSE, INFINITE);
-
if (!loopFlag)
-
{
-
CloseHandle(hThread);
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle, &eventListener);
-
}
-
// Release the Change Handle interface
-
if (changeHandle != NULL)
-
{
-
changeHandle->pVtbl->Release(changeHandle);
-
changeHandle = NULL;
-
}
-
// Release the 3DSettings Services interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings Services\n");
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
if (quitEvent)
-
CloseHandle(quitEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName)
-
{
-
if (NULL != gpu && NULL != uniqueName)
-
{
-
const char* gpuName = NULL;
-
gpu->pVtbl->Name(gpu, &gpuName);
-
adlx_int id;
-
gpu->pVtbl->UniqueId(gpu, &id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ SYNC_ORIGIN_UNKNOWN
Definition: ADLXDefines.h:897
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__sync_display_receive.html b/vendor/adlx/SDKDoc/html/c__sync_display_receive.html deleted file mode 100644 index bc02581..0000000 --- a/vendor/adlx/SDKDoc/html/c__sync_display_receive.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncDisplayReceive - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncDisplayReceive
-
-
-
- - - -

Demonstrates how to receive notifications of changes in display settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the DisplayFreeSync. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "SDK/Include/IDisplays1.h"
-
#include "SDK/Include/IDisplays2.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "conio.h"
-
-
// Block event to verify call back
-
HANDLE displaySettingsEvent = NULL;
-
HANDLE display3DLUTEvent = NULL;
-
// Quit event to exit
-
HANDLE quitEvent = NULL;
-
-
// Get the display unique name
-
void DisplayUniqueName(IADLXDisplay* display, char* uniqueName);
-
-
// Call back to handle changed events
-
adlx_bool ADLX_STD_CALL OnDisplaySettingsChanged(IADLXDisplaySettingsChangedListener* pThis, IADLXDisplaySettingsChangedEvent* pDisplaySettingsChangedEvent)
-
{
-
ADLX_SYNC_ORIGIN origin = pDisplaySettingsChangedEvent->pVtbl->GetOrigin(pDisplaySettingsChangedEvent);
-
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
IADLXDisplay *display = NULL;
-
pDisplaySettingsChangedEvent->pVtbl->GetDisplay(pDisplaySettingsChangedEvent, &display);
-
char displayName[128] = "Unknown";
-
DisplayUniqueName(display, displayName);
-
if (pDisplaySettingsChangedEvent->pVtbl->IsColorDepthChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Color Depth is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorBrightnessChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Color Brightness is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorContrastChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Color Contrast is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorHueChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Color Hue is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorSaturationChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Color Saturation is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorTemperatureChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Color Temperature is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomResolutionChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Custom Resolution is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsFreeSyncChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, FreeSync is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsGPUScalingChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, GPU Scaling is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsHDCPChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, HDCP is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsIntegerScalingChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Integer Scaling is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsPixelFormatChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Pixel Format is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsScalingModeChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, Scaling Mode is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsVariBrightChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, VariBright is changed\n", displayName);
-
}
-
else if (pDisplaySettingsChangedEvent->pVtbl->IsVSRChanged(pDisplaySettingsChangedEvent))
-
{
-
printf("Display %s get sync event, VSR is changed\n", displayName);
-
}
-
-
// Get IADLXDisplaySettingsChangedEvent1 interface
-
IADLXDisplaySettingsChangedEvent1* pDisplaySettingChangedEvent1 = NULL;
-
ADLX_RESULT res = pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent, IID_IADLXDisplaySettingsChangedEvent1(), &pDisplaySettingChangedEvent1);
-
if (!ADLX_SUCCEEDED(res) || NULL == pDisplaySettingChangedEvent1)
-
{
-
printf("IID_IADLXDisplaySettingsChangedEvent1 not supported");
-
}
-
else
-
{
-
if (pDisplaySettingChangedEvent1->pVtbl->IsDisplayBlankingChanged(pDisplaySettingChangedEvent1))
-
{
-
printf("Display %s get sync event, Display blanking is changed\n", displayName);
-
}
-
}
-
-
// Release the IADLXDisplaySettingsChangedEvent1 interface
-
if (pDisplaySettingChangedEvent1 != NULL)
-
{
-
pDisplaySettingChangedEvent1->pVtbl->Release(pDisplaySettingChangedEvent1);
-
pDisplaySettingChangedEvent1 = NULL;
-
}
-
-
// Get IADLXDisplaySettingsChangedEvent2 interface
-
IADLXDisplaySettingsChangedEvent2* pDisplaySettingChangedEvent2 = NULL;
-
res = pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent, IID_IADLXDisplaySettingsChangedEvent2(), &pDisplaySettingChangedEvent2);
-
if (!ADLX_SUCCEEDED(res) || NULL == pDisplaySettingChangedEvent2)
-
{
-
printf("IID_IADLXDisplaySettingsChangedEvent2 not supported");
-
}
-
else
-
{
-
if (pDisplaySettingChangedEvent2->pVtbl->IsDisplayConnectivityExperienceChanged(pDisplaySettingChangedEvent2))
-
{
-
printf("Display %s get sync event, Display connectivity experience is changed\n", displayName);
-
}
-
}
-
-
// Release the IADLXDisplaySettingsChangedEvent2 interface
-
if (pDisplaySettingChangedEvent2 != NULL)
-
{
-
pDisplaySettingChangedEvent2->pVtbl->Release(pDisplaySettingChangedEvent2);
-
pDisplaySettingChangedEvent2 = NULL;
-
}
-
-
// Release the Display interface
-
if (display != NULL)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
SetEvent(displaySettingsEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
-
adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener* pThis, IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent)
-
{
-
ADLX_SYNC_ORIGIN origin = pDisplay3DLUTChangedEvent->pVtbl->GetOrigin(pDisplay3DLUTChangedEvent);
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
IADLXDisplay* display = NULL;
-
pDisplay3DLUTChangedEvent->pVtbl->GetDisplay(pDisplay3DLUTChangedEvent, &display);
-
const char* displayName = NULL;
-
display->pVtbl->Name(display, &displayName);
-
if (pDisplay3DLUTChangedEvent->pVtbl->IsSCEChanged(pDisplay3DLUTChangedEvent))
-
{
-
printf("Display %s get sync event, SCE is changed\n", displayName);
-
}
-
else if (pDisplay3DLUTChangedEvent->pVtbl->IsCustom3DLUTChanged(pDisplay3DLUTChangedEvent))
-
{
-
printf("Display %s get sync event, Custom 3DLUT is changed\n", displayName);
-
}
-
-
// Release the Display interface
-
if (display != NULL)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
SetEvent(display3DLUTEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
-
static IADLXDisplaySettingsChangedListenerVtbl displaySettingsVtbl = {&OnDisplaySettingsChanged};
-
static IADLXDisplaySettingsChangedListener displaySettingsEventListener = {&displaySettingsVtbl};
-
static IADLXDisplay3DLUTChangedListenerVtbl display3DLUTVtbl = {&OnDisplay3DLUTChanged};
-
static IADLXDisplay3DLUTChangedListener display3DLUTEventListener = {&display3DLUTVtbl};
-
-
DWORD WINAPI QuitWait(LPVOID lpParam)
-
{
-
adlx_bool* loopFlag = (adlx_bool*)lpParam;
-
while (true)
-
{
-
// Non-blocking checking if the I/O cache has characters
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(quitEvent);
-
break;
-
}
-
}
-
Sleep(100);
-
}
-
return 0;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
displaySettingsEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
display3DLUTEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
// Create quit event
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create event array
-
HANDLE eventArray[] = { displaySettingsEvent, display3DLUTEvent, quitEvent };
-
-
// Get Display Services
-
IADLXSystem *sys = ADLXHelper_GetSystemServices();
-
IADLXDisplayServices *displayServices = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayServices);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the Change Handle interface
-
IADLXDisplayChangedHandling *changeHandle = NULL;
-
res = displayServices->pVtbl->GetDisplayChangedHandling(displayServices, &changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Add call back
-
changeHandle->pVtbl->AddDisplaySettingsEventListener(changeHandle, &displaySettingsEventListener);
-
changeHandle->pVtbl->AddDisplay3DLUTEventListener(changeHandle, &display3DLUTEventListener);
-
-
// Create a thread to detect quit input
-
adlx_bool loopFlag = true;
-
DWORD threadId = 0;
-
HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId);
-
-
printf("\nWaiting for display change event... Press Q/q to quit\n");
-
while (true)
-
{
-
// Wait for change event or request to quit
-
DWORD waitRet = WaitForMultipleObjects(3, eventArray, FALSE, INFINITE);
-
if (!loopFlag)
-
{
-
CloseHandle(hThread);
-
break;
-
}
-
}
-
-
// Remove call back
-
changeHandle->pVtbl->RemoveDisplaySettingsEventListener(changeHandle, &displaySettingsEventListener);
-
changeHandle->pVtbl->RemoveDisplay3DLUTEventListener(changeHandle, &display3DLUTEventListener);
-
}
-
// Release the Change Handle interface
-
if (changeHandle != NULL)
-
{
-
changeHandle->pVtbl->Release(changeHandle);
-
changeHandle = NULL;
-
}
-
// Release the Display Services interface
-
if (displayServices != NULL)
-
{
-
displayServices->pVtbl->Release(displayServices);
-
displayServices = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get Display Services\n");
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (displaySettingsEvent)
-
CloseHandle(displaySettingsEvent);
-
if (display3DLUTEvent)
-
CloseHandle(display3DLUTEvent);
-
if (quitEvent)
-
CloseHandle(quitEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void DisplayUniqueName(IADLXDisplay* display, char* uniqueName)
-
{
-
if (NULL != display && NULL != uniqueName)
-
{
-
const char* gpuName = NULL;
-
display->pVtbl->Name(display, &gpuName);
-
adlx_size id;
-
display->pVtbl->UniqueId(display, &id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%zu", gpuName, id);
-
}
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__sync_g_p_u_tuning.html b/vendor/adlx/SDKDoc/html/c__sync_g_p_u_tuning.html deleted file mode 100644 index 33fb74d..0000000 --- a/vendor/adlx/SDKDoc/html/c__sync_g_p_u_tuning.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncGPUTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncGPUTuning
-
-
-
- - - -

Demonstrates how to receive notifications of changes in GPU tuning settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the GPUAutoTuning. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncGPUTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IGPUTuning1.h"
-
-
// Block event to verify call back
-
HANDLE blockEvent = NULL;
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName);
-
-
// Call back to handle changed events
-
adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedListener* pthis, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent)
-
{
-
ADLX_SYNC_ORIGIN origin = pGPUTuningChangedEvent->pVtbl->GetOrigin(pGPUTuningChangedEvent);
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = NULL;
-
pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent, IID_IADLXGPUTuningChangedEvent1(), (void**)(&pGPUTuningChangedEvent1));
-
// Get the GPU interface
-
IADLXGPU* gpu = NULL;
-
pGPUTuningChangedEvent->pVtbl->GetGPU(pGPUTuningChangedEvent, &gpu);
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
printf("GPU: %s get sync event\n", uniqueName);
-
-
if (pGPUTuningChangedEvent->pVtbl->IsAutomaticTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tAutomaticTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent->pVtbl->IsPresetTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tPresetTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent->pVtbl->IsManualGPUCLKTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tManualGPUCLKTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent->pVtbl->IsManualVRAMTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tManualVRAMTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent->pVtbl->IsManualFanTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tManualFanTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent->pVtbl->IsManualPowerTuningChanged(pGPUTuningChangedEvent))
-
{
-
printf("\tManualPowerTuningChanged\n");
-
}
-
else if (pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1))
-
{
-
printf("\tSmartAccessMemoryChanged\n");
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
typedef struct GPUTuningChangedCall
-
{
-
adlx_bool(ADLX_STD_CALL* OnGPUTuningChanged)(IADLXGPUTuningChangedListener*, IADLXGPUTuningChangedEvent*);
-
} GPUTuningChangedCall;
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get the System Services interface
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get the GPU Tuning Service interface
-
IADLXGPUTuningServices* gpuTuningSrv = NULL;
-
res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the Change Handle interface
-
IADLXGPUTuningChangedHandling* changeHandle = NULL;
-
res = gpuTuningSrv->pVtbl->GetGPUTuningChangedHandling(gpuTuningSrv, &changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
GPUTuningChangedCall* call = (GPUTuningChangedCall*)malloc(sizeof(GPUTuningChangedCall));
-
call->OnGPUTuningChanged = &OnGPUTuningChanged;
-
-
// Add call back
-
changeHandle->pVtbl->AddGPUTuningEventListener(changeHandle, (IADLXGPUTuningChangedListener*)&call);
-
-
// Waits for GPUTuning sync with a timeout of 60s
-
while (true)
-
{
-
printf("\nWaiting for GPUTuning change event (60s)...\n");
-
DWORD waitRet = WaitForSingleObject(blockEvent, 60000);
-
if (waitRet == WAIT_TIMEOUT)
-
{
-
printf("== = Wait timeout(60s), ready to quit == = \n");
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->pVtbl->RemoveGPUTuningEventListener(changeHandle, (IADLXGPUTuningChangedListener*)&call);
-
-
// Release call back
-
free(call);
-
call = NULL;
-
}
-
-
// Release the Change Handle interface
-
if (changeHandle != NULL)
-
{
-
changeHandle->pVtbl->Release(changeHandle);
-
changeHandle = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get GPUTuning Services\n");
-
}
-
-
// Release the GPUTuning Service interface
-
if (gpuTuningSrv != NULL)
-
{
-
gpuTuningSrv->pVtbl->Release(gpuTuningSrv);
-
gpuTuningSrv = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPU* gpu, char* uniqueName)
-
{
-
if (NULL != gpu && NULL != uniqueName)
-
{
-
const char* gpuName = NULL;
-
gpu->pVtbl->Name(gpu, &gpuName);
-
adlx_int id;
-
gpu->pVtbl->UniqueId(gpu, &id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__sync_power_tuning.html b/vendor/adlx/SDKDoc/html/c__sync_power_tuning.html deleted file mode 100644 index a329c53..0000000 --- a/vendor/adlx/SDKDoc/html/c__sync_power_tuning.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncPowerTuning
-
-
-
- - - -

Demonstrates how to receive notifications of changes in power tuning settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the SmartShiftMax. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncPowerTuning

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPowerTuning.h"
-
#include "SDK/Include/ISystem1.h"
-
-
// Block event to verify call back
-
HANDLE blockEvent = NULL;
-
-
// Call back to handle changed events
-
adlx_bool ADLX_STD_CALL OnPowerTuningChanged(IADLXPowerTuningChangedListener* pthis, IADLXPowerTuningChangedEvent* pPoweruningChangedEvent)
-
{
-
ADLX_SYNC_ORIGIN origin = pPoweruningChangedEvent->pVtbl->GetOrigin(pPoweruningChangedEvent);
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
if (pPoweruningChangedEvent->pVtbl->IsSmartShiftMaxChanged(pPoweruningChangedEvent))
-
{
-
printf("\tSmartShiftMaxChanged\n");
-
}
-
}
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
typedef struct PowerTuningChangedCall
-
{
-
adlx_bool(ADLX_STD_CALL* OnPowerTuningChanged)(IADLXPowerTuningChangedListener*, IADLXPowerTuningChangedEvent*);
-
} PowerTuningChangedCall;
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get IADLXSystem1 interface
-
IADLXSystem1* system1 = NULL;
-
res = sys->pVtbl->QueryInterface(sys, IID_IADLXSystem1(), (void**)(&system1));
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get power tuning services
-
IADLXPowerTuningServices* powerTuningServices = NULL;
-
res = system1->pVtbl->GetPowerTuningServices(system1, &powerTuningServices);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the Change Handle interface
-
IADLXPowerTuningChangedHandling* changeHandle = NULL;
-
res = powerTuningServices->pVtbl->GetPowerTuningChangedHandling(powerTuningServices, &changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
PowerTuningChangedCall* call = (PowerTuningChangedCall*)malloc(sizeof(PowerTuningChangedCall));
-
call->OnPowerTuningChanged = &OnPowerTuningChanged;
-
-
// Add call back
-
changeHandle->pVtbl->AddPowerTuningEventListener(changeHandle, (IADLXPowerTuningChangedListener*)&call);
-
-
// Waits for power tuning sync with a timeout of 60s
-
while (true)
-
{
-
printf("\nWaiting for power tuning change event (60s)...\n");
-
DWORD waitRet = WaitForSingleObject(blockEvent, 60000);
-
if (waitRet == WAIT_TIMEOUT)
-
{
-
printf("== = Wait timeout(60s), ready to quit == = \n");
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->pVtbl->RemovePowerTuningEventListener(changeHandle, (IADLXPowerTuningChangedListener*)&call);
-
-
// Release call back
-
free(call);
-
call = NULL;
-
}
-
else
-
printf("Failed to get power tuning changed handling interface\n");
-
-
// Release the Change Handle interface
-
if (changeHandle != NULL)
-
{
-
changeHandle->pVtbl->Release(changeHandle);
-
changeHandle = NULL;
-
}
-
}
-
else
-
printf("Failed to get power tuning service\n");
-
-
// Release power tuning services interface
-
if (powerTuningServices != NULL)
-
{
-
powerTuningServices->pVtbl->Release(powerTuningServices);
-
powerTuningServices = NULL;
-
}
-
}
-
else
-
printf("Failed to get IADLXSystem1\n");
-
-
// Release IADLXSystem1 interface
-
if (system1 != NULL)
-
{
-
system1->pVtbl->Release(system1);
-
system1 = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__tessellation.html b/vendor/adlx/SDKDoc/html/c__tessellation.html deleted file mode 100644 index 07b99e3..0000000 --- a/vendor/adlx/SDKDoc/html/c__tessellation.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Tessellation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Tessellation
-
-
-
- - - -

Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display tessellation support
2 Get GPU tessellation state, mode, and level
3 Set tesellation mode: AMD optimized
4 Set tesellation mode: Use application settings
5 Set tesellation mode: Override application settings
6 Set tesellation level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Tessellation

- - -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display tessellation support
-
void ShowSupport(IADLX3DTessellation* tessellation);
-
-
// Get current tessellation state
-
void GetState(IADLX3DTessellation* tessellation);
-
-
// Set tessellation mode
-
void SetMode(IADLX3DTessellation* tessellation, int index);
-
-
// Set tessellation level
-
void SetLevel(IADLX3DTessellation* tessellation);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DTessellation* tessellation);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get the IADLX3DTessellation interface
-
IADLX3DTessellation* tessellation = NULL;
-
res = d3dSettingSrv->pVtbl->GetTessellation(d3dSettingSrv, gpu, &tessellation);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(tessellation);
-
}
-
-
// Release the IADLX3DTessellation interface
-
if (tessellation != NULL)
-
{
-
tessellation->pVtbl->Release(tessellation);
-
tessellation = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static char* getModeStr(ADLX_TESSELLATION_MODE mode)
-
{
-
switch (mode)
-
{
-
case T_MODE_AMD_OPTIMIZED:
-
return "AMD optimized";
-
case T_MODE_USE_APP_SETTINGS:
-
return "Use application settings";
-
case T_MODE_OVERRIDE_APP_SETTINGS:
-
return "Override application settings";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
static char* getLevelStr(ADLX_TESSELLATION_LEVEL level)
-
{
-
switch (level)
-
{
-
case T_LEVEL_OFF:
-
return "Off";
-
case T_LEVEL_2X:
-
return "2X";
-
case T_LEVEL_4X:
-
return "4X";
-
case T_LEVEL_6X:
-
return "6X";
-
case T_LEVEL_8X:
-
return "8X";
-
case T_LEVEL_16X:
-
return "16X";
-
case T_LEVEL_32X:
-
return "32X";
-
case T_LEVEL_64X:
-
return "64X";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
void ShowSupport(IADLX3DTessellation* tessellation)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = tessellation->pVtbl->IsSupported(tessellation, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetState(IADLX3DTessellation* tessellation)
-
{
- -
ADLX_RESULT res = tessellation->pVtbl->GetMode(tessellation, &mode);
-
printf("\tMode: %s, return code is: %d(0 means success)\n", getModeStr(mode), res);
- -
res = tessellation->pVtbl->GetLevel(tessellation, &level);
-
printf("\tLevel: %s, return code is: %d(0 means success)\n", getLevelStr(level), res);
-
}
-
-
void SetMode(IADLX3DTessellation* tessellation, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_TESSELLATION_MODE mode = T_MODE_AMD_OPTIMIZED;
-
mode = (ADLX_TESSELLATION_MODE)(mode + index);
-
res = tessellation->pVtbl->SetMode(tessellation, mode);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void SetLevel(IADLX3DTessellation* tessellation)
-
{
- -
tessellation->pVtbl->GetLevel(tessellation, &level);
-
level = (level == T_LEVEL_2X) ? T_LEVEL_4X : T_LEVEL_2X;
-
ADLX_RESULT res = tessellation->pVtbl->SetLevel(tessellation, level);
-
printf("\tSet level: %s, res is: %d\n", getLevelStr(level), res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display tessellation support\n");
-
printf("\t->Press 2 to get tessellation state\n");
-
printf("\t->Press 3 to set tessellation mode: AMD optimized\n");
-
printf("\t->Press 4 to set tessellation mode: Use application settings\n");
-
printf("\t->Press 5 to set tessellation mode: Override application settings\n");
-
-
printf("\t->Press 6 to set tessellation level\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DTessellation* tessellation)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display tessellation support
-
case '1':
-
ShowSupport(tessellation);
-
break;
-
-
// Get and display current tessellation state
-
case '2':
-
GetState(tessellation);
-
break;
-
-
// Set tessellation mode
-
case '3':
-
case '4':
-
case '5':
-
SetMode(tessellation, num - '3');
-
break;
-
-
// Set anti-aliasing level
-
case '6':
-
SetLevel(tessellation);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ T_LEVEL_OFF
Definition: ADLXDefines.h:838
-
@ T_LEVEL_2X
Definition: ADLXDefines.h:839
-
@ T_LEVEL_4X
Definition: ADLXDefines.h:840
-
@ T_LEVEL_32X
Definition: ADLXDefines.h:844
-
@ T_LEVEL_6X
Definition: ADLXDefines.h:841
-
@ T_LEVEL_16X
Definition: ADLXDefines.h:843
-
@ T_LEVEL_8X
Definition: ADLXDefines.h:842
-
@ T_LEVEL_64X
Definition: ADLXDefines.h:845
-
@ T_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:825
-
@ T_MODE_AMD_OPTIMIZED
Definition: ADLXDefines.h:823
-
@ T_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:824
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_TESSELLATION_LEVEL
Indicates the tessellation level on a GPU.
Definition: ADLXDefines.h:837
-
ADLX_TESSELLATION_MODE
Indicates the tessellation setting on a GPU.
Definition: ADLXDefines.h:822
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c__wait_for_vertical_refresh.html b/vendor/adlx/SDKDoc/html/c__wait_for_vertical_refresh.html deleted file mode 100644 index 6faa51a..0000000 --- a/vendor/adlx/SDKDoc/html/c__wait_for_vertical_refresh.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: WaitForVerticalRefresh - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
WaitForVerticalRefresh
-
-
-
- - - -

Demonstrates how to access VSync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Get VSync capability
2 Get the current VSync state and mode
3 Set VSync to Always Off
4 Set VSync to Off (unless specified by the application)
5 Set VSync to On (unless specified by the application)
6 Set VSync to Always On
M/m Display menu options
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/WaitForVerticalRefresh

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
-
// Display VSync support
-
void ShowvsyncSupport(IADLX3DWaitForVerticalRefresh* vsync);
-
-
// Get current VSync state
-
void GetvsyncState(IADLX3DWaitForVerticalRefresh* vsync);
-
-
// Set VSync mode
-
void SetvsyncMode(IADLX3DWaitForVerticalRefresh* vsync, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(IADLX3DWaitForVerticalRefresh* vsync);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPUs
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServices* d3dSettingSrv = NULL;
-
res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPU* gpu = NULL;
-
adlx_uint index = 0;
-
res = gpus->pVtbl->At_GPUList(gpus, index, &gpu);
-
-
// Get VSync interface
-
IADLX3DWaitForVerticalRefresh* vsync = NULL;
-
res = d3dSettingSrv->pVtbl->GetWaitForVerticalRefresh(d3dSettingSrv, gpu, &vsync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(vsync);
-
}
-
-
// Release VSync interface
-
if (vsync != NULL)
-
{
-
vsync->pVtbl->Release(vsync);
-
vsync = NULL;
-
}
-
-
// Release the GPU interface
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get 3DSettings services\n");
-
}
-
-
// Release the 3DSettingsService interface
-
if (d3dSettingSrv != NULL)
-
{
-
d3dSettingSrv->pVtbl->Release(d3dSettingSrv);
-
d3dSettingSrv = NULL;
-
}
-
-
// Release the GPUs list interface
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static char* getModeStr(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode)
-
{
-
switch (mode)
-
{
-
case WFVR_ALWAYS_OFF:
-
return "Always Off";
-
case WFVR_OFF_UNLESS_APP_SPECIFIES:
-
return "Off (unless specified by the application)";
-
case WFVR_ON_UNLESS_APP_SPECIFIES:
-
return "On (unless specified by the application)";
-
case WFVR_ALWAYS_ON:
-
return "Always On";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
void ShowvsyncSupport(IADLX3DWaitForVerticalRefresh* vsync)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = vsync->pVtbl->IsSupported(vsync, &supported);
-
printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res);
-
}
-
-
void GetvsyncState(IADLX3DWaitForVerticalRefresh* vsync)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = vsync->pVtbl->IsEnabled(vsync, &enabled);
-
printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res);
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF;
-
res = vsync->pVtbl->GetMode(vsync, &mode);
-
printf("\tMode: %s, return code is: %d(0 means success)\n", getModeStr(mode), res);
-
}
-
-
void SetvsyncMode(IADLX3DWaitForVerticalRefresh* vsync, int index)
-
{
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF;
-
mode = (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode + index);
-
ADLX_RESULT res = vsync->pVtbl->SetMode(vsync, mode);
-
printf("\tReturn code is: %d (0 means success)\n", res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display VSync support\n");
-
printf("\t->Press 2 to get current VSync state\n");
-
printf("\t->Press 3 to set VSync to Always Off\n");
-
printf("\t->Press 4 to set VSync to Off (unless specified by the application)\n");
-
printf("\t->Press 5 to set VSync to On (unless specified by the application)\n");
-
printf("\t->Press 6 to set VSync to Always On\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display menu options\n");
-
}
-
-
void MenuControl(IADLX3DWaitForVerticalRefresh* vsync)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display VSync support
-
case '1':
-
ShowvsyncSupport(vsync);
-
break;
-
-
// Get and display current VSync state
-
case '2':
-
GetvsyncState(vsync);
-
break;
-
-
// Set VSync model
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetvsyncMode(vsync, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ WFVR_ALWAYS_ON
Definition: ADLXDefines.h:744
-
@ WFVR_ALWAYS_OFF
Definition: ADLXDefines.h:741
-
@ WFVR_OFF_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:742
-
@ WFVR_ON_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:743
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE
Indicates the modes of VSync settings.
Definition: ADLXDefines.h:740
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__color_depth.html b/vendor/adlx/SDKDoc/html/c_display__color_depth.html deleted file mode 100644 index 6a103d2..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__color_depth.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayColorDepth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayColorDepth
-
-
-
- - - -

Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display color depth support.
2 Get color depth state.
3 Set current color depth to BPC_6.
4 Set current color depth to BPC_8.
5 Set current color depth to BPC_10.
6 Get support state for each color depth.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayColorDepth

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayColorDepthSupport
-
void ShowDisplayColorDepthSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayColorDepth state
-
void GetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayColorDepth
-
void SetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display services
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayColorDepthSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayColorDepth* pDisplayColorDepth = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get ColorDepth Supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayColorDepth->pVtbl->IsSupported(pDisplayColorDepth, &supported);
-
printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false");
-
}
-
-
if (pDisplayColorDepth != NULL)
-
{
-
pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth);
-
pDisplayColorDepth = NULL;
-
}
-
}
-
-
void GetSupportStateForEachColorDepth (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayColorDepth* pDisplayColorDepth = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth);
-
if (ADLX_SUCCEEDED (res) && pDisplayColorDepth)
-
{
-
printf(" === Get ColorDepth Support List ===\n");
-
-
adlx_bool isSupported = false;
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_6 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_6, result %d, BPC_6 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_8 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_8, result %d, BPC_8 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_10 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_10, result %d, BPC_10 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_12 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_12, result %d, BPC_12 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_14 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_14, result %d, BPC_14 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedBPC_16 (pDisplayColorDepth, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_16, result %d, BPC_16 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_6, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_6, result %d, BPC_6 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_8, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_8, result %d, BPC_8 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_10, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_10, result %d, BPC_10 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_12, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_12, result %d, BPC_12 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_14, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_14, result %d, BPC_14 support: %d\n", res, isSupported);
-
-
res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_16, &isSupported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedBPC_16, result %d, BPC_16 support: %d\n", res, isSupported);
-
-
//Release the DisplayColorDepth interface
-
pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth);
-
pDisplayColorDepth = NULL;
-
}
-
}
-
-
void GetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayColorDepth* pDisplayColorDepth = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get ColorDepth Enabled ===\n");
-
ADLX_COLOR_DEPTH cd = BPC_UNKNOWN;
-
res = pDisplayColorDepth->pVtbl->GetValue(pDisplayColorDepth, &cd);
-
char* cdStr = "BPC_Unknown";
-
switch (cd)
-
{
-
case BPC_6:
-
cdStr = "BPC_6";
-
break;
-
case BPC_8:
-
cdStr = "BPC_8";
-
break;
-
case BPC_10:
-
cdStr = "BPC_10";
-
break;
-
}
-
-
printf("\tGetValue, result %d, color depth: %s\n", res, cdStr);
-
}
-
-
if (pDisplayColorDepth != NULL)
-
{
-
pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth);
-
pDisplayColorDepth = NULL;
-
}
-
}
-
-
void SetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayColorDepth* pDisplayColorDepth = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set ColorDepth BPC_6
-
case 0:
-
printf(" === Set color depth: BPC_6\n");
-
res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_6);
-
break;
-
// Set ColorDepth BPC_8
-
case 1:
-
printf(" === Set color depth: BPC_8\n");
-
res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_8);
-
break;
-
// set ColorDepth BPC_10
-
case 2:
-
printf(" === Set color depth: BPC_10\n");
-
res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_10);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
}
-
-
if (pDisplayColorDepth != NULL)
-
{
-
pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth);
-
pDisplayColorDepth = NULL;
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options\n");
-
-
printf("\t->Press 1 to display color depth support\n");
-
-
printf("\t->Press 2 to get color depth state\n");
-
-
printf("\t->Press 3 to set current color depth to BPC_6\n");
-
printf("\t->Press 4 to set current color depth to BPC_8\n");
-
printf("\t->Press 5 to set current color depth to BPC_10\n");
-
-
printf("\t->Press 6 to get support state for each color depth\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayColorDepthSupport
-
case '1':
-
ShowDisplayColorDepthSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayColorDepth state
-
case '2':
-
GetColorDepthState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayColorDepth
-
case '3':
-
case '4':
-
case '5':
-
SetColorDepthState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
case '6':
-
GetSupportStateForEachColorDepth(pDisplayService, pDisplay);
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ BPC_8
Definition: ADLXDefines.h:682
-
@ BPC_6
Definition: ADLXDefines.h:681
-
@ BPC_10
Definition: ADLXDefines.h:683
-
@ BPC_16
Definition: ADLXDefines.h:686
-
@ BPC_12
Definition: ADLXDefines.h:684
-
@ BPC_14
Definition: ADLXDefines.h:685
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_COLOR_DEPTH
Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pix...
Definition: ADLXDefines.h:679
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__custom_color.html b/vendor/adlx/SDKDoc/html/c_display__custom_color.html deleted file mode 100644 index e1ea5bc..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__custom_color.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayCustomColor - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayCustomColor
-
-
-
- - - -

Demonstrates how to use custom color for display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Enter Hue settings.
2 Enter Saturation settings.
3 Enter Brightness settings.
4 Enter Contrast settings.
5 Enter Temperature settings.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayCustomColor

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Custom color types
-
enum
-
{
-
CUSTOM_COLOR_HUE = 1,
-
CUSTOM_COLOR_SATURATION,
-
CUSTOM_COLOR_BRIGHTNESS,
-
CUSTOM_COLOR_CONTRAST,
-
CUSTOM_COLOR_TEMPERATURE
-
};
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Handler for user input
-
void ExecuteCommand(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, const char* colorTypeString);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
ADLX_RESULT GetSupport(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_bool* supported)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->pVtbl->IsHueSupported(pDisplayColor_, supported);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->pVtbl->IsSaturationSupported(pDisplayColor_, supported);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->pVtbl->IsBrightnessSupported(pDisplayColor_, supported);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->pVtbl->IsContrastSupported(pDisplayColor_, supported);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->pVtbl->IsTemperatureSupported(pDisplayColor_, supported);
-
}
-
return ADLX_FAIL;
-
}
-
-
ADLX_RESULT GetRange(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, ADLX_IntRange* range)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->pVtbl->GetHueRange(pDisplayColor_, range);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->pVtbl->GetSaturationRange(pDisplayColor_, range);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->pVtbl->GetBrightnessRange(pDisplayColor_, range);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->pVtbl->GetContrastRange(pDisplayColor_, range);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->pVtbl->GetTemperatureRange(pDisplayColor_, range);
-
}
-
return ADLX_FAIL;
-
}
-
-
ADLX_RESULT GetValue(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_int* value)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->pVtbl->GetHue(pDisplayColor_, value);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->pVtbl->GetSaturation(pDisplayColor_, value);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->pVtbl->GetBrightness(pDisplayColor_, value);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->pVtbl->GetContrast(pDisplayColor_, value);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->pVtbl->GetTemperature(pDisplayColor_, value);
-
}
-
return ADLX_FAIL;
-
}
-
-
ADLX_RESULT SetValue(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_int value)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->pVtbl->SetHue(pDisplayColor_, value);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->pVtbl->SetSaturation(pDisplayColor_, value);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->pVtbl->SetBrightness(pDisplayColor_, value);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->pVtbl->SetContrast(pDisplayColor_, value);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->pVtbl->SetTemperature(pDisplayColor_, value);
-
}
-
return ADLX_FAIL;
-
}
-
-
void ExecuteCommand(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, const char* colorTypeString)
-
{
-
printf("\tChoose from following options for %s settings\n", colorTypeString);
-
printf("\t->Press 1 to display support\n");
-
printf("\t->Press 2 to get range data\n");
-
printf("\t->Press 3 to display current value\n");
-
printf("\t->Press 4 to set current value\n");
-
printf("\t->Press X/x to get back to main menu\n");
-
-
int num = 0;
-
while ((num = getchar()) != 'x' && num != 'X')
-
{
-
switch (num)
-
{
-
case '1':
-
{
-
adlx_bool supported = false;
-
printf(" === Get %s supported ===\n", colorTypeString);
-
GetSupport(pDisplayColor_, colorType_, &supported);
-
printf("\tIs %s supported: %s\n", colorTypeString, supported ? "true" : "false");
-
break;
-
}
-
case '2':
-
{
-
ADLX_IntRange range = { 0 };
-
printf(" === Get %s Range data ===\n", colorTypeString);
-
GetRange(pDisplayColor_, colorType_, &range);
-
printf("\tGet %s Range, minimum: %d, maximum: %d, step: %d\n", colorTypeString, range.minValue, range.maxValue, range.step);
-
break;
-
}
-
case '3':
-
{
-
adlx_int value = 0;
-
printf(" === Get current %s value ===\n", colorTypeString);
-
GetValue(pDisplayColor_, colorType_, &value);
-
printf("\tGet %s, value: %d\n", colorTypeString, value);
-
break;
-
}
-
case '4':
-
{
-
ADLX_IntRange range = { 0 };
-
GetRange(pDisplayColor_, colorType_, &range);
-
adlx_int currentValue = 0;
-
GetValue(pDisplayColor_, colorType_, &currentValue);
-
adlx_int baseValue = (range.minValue + range.maxValue) / 2;
-
adlx_int value = (currentValue == baseValue) ? baseValue + range.step : baseValue;
-
printf("\tSet %s, value: %d\n", colorTypeString, value);
-
auto res = SetValue(pDisplayColor_, colorType_, value);
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
break;
-
}
-
default:
-
break;
-
}
-
}
-
-
MainMenu();
-
}
-
-
void ShowCustomColorSettings(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int colorType)
-
{
-
IADLXDisplayCustomColor* pDisplayCustomColor = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetCustomColor(pDisplayService, pDisplay, &pDisplayCustomColor);
-
if (ADLX_SUCCEEDED(res))
-
{
-
switch (colorType)
-
{
-
case CUSTOM_COLOR_HUE:
-
ExecuteCommand(pDisplayCustomColor, colorType, "Hue");
-
break;
-
case CUSTOM_COLOR_SATURATION:
-
ExecuteCommand(pDisplayCustomColor, colorType, "Saturation");
-
break;
-
case CUSTOM_COLOR_BRIGHTNESS:
-
ExecuteCommand(pDisplayCustomColor, colorType, "Brightness");
-
break;
-
case CUSTOM_COLOR_CONTRAST:
-
ExecuteCommand(pDisplayCustomColor, colorType, "Contrast");
-
break;
-
case CUSTOM_COLOR_TEMPERATURE:
-
ExecuteCommand(pDisplayCustomColor, colorType, "Temperature");
-
break;
-
}
-
-
pDisplayCustomColor->pVtbl->Release(pDisplayCustomColor);
-
}
-
else
-
{
-
printf("Get custom color failed.\n");
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options\n");
-
-
printf("\t->Press 1 to enter Hue settings\n");
-
printf("\t->Press 2 to enter Saturation settings\n");
-
printf("\t->Press 3 to enter Brightness settings\n");
-
printf("\t->Press 4 to enter Contrast settings\n");
-
printf("\t->Press 5 to enter Temperature settings\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
case '1':
-
ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_HUE);
-
break;
-
// Display Saturation settings
-
case '2':
-
ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_SATURATION);
-
break;
-
// Display Brightness settings
-
case '3':
-
ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_BRIGHTNESS);
-
break;
-
// Display Contrast settings
-
case '4':
-
ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_CONTRAST);
-
break;
-
// Display Temperature settings
-
case '5':
-
ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_TEMPERATURE);
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__custom_resolution.html b/vendor/adlx/SDKDoc/html/c_display__custom_resolution.html deleted file mode 100644 index db67d02..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__custom_resolution.html +++ /dev/null @@ -1,534 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayCustomResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayCustomResolution
-
-
-
- - - -

Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display custom resolution support.
2 Get custom resolution list.
3 Get current applied resolution.
4 Create new customized resolution.
5 Delete avaible resolution.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayCustomResolution

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display custom resolution support
-
void ShowCustomResolutionSupport(IADLXDisplayCustomResolution* pCustomResolution);
-
-
// Display availabe display resolutions
-
void GetResolutionList(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolutionList** ppResolutionList);
-
-
// Display current display resolution
-
void GetCurrentResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution** ppResolution);
-
-
// Create new customized display resolution
-
void CreateNewResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution);
-
-
// Delete display resolution
-
void DeleteResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution);
-
-
// Print out given resolution
-
void PrintResolution(IADLXDisplayResolution* pResolution);
-
-
// Print out given resolution list
-
void PrintResolutions(IADLXDisplayResolutionList* pResolutionList);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Show a menu with options to chose from
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowCustomResolutionSupport(IADLXDisplayCustomResolution* pCustomResolution)
-
{
-
printf(" === Get custom resolution supported ===\n");
-
adlx_bool supported = false;
-
ADLX_RESULT res = pCustomResolution->pVtbl->IsSupported(pCustomResolution, &supported);
-
printf("\tIsSupported, result %d, supported: %s\n", res, supported ? "true" : "false");
-
}
-
-
void GetResolutionList(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolutionList** ppResolutionList)
-
{
-
ADLX_RESULT res = pCustomResolution->pVtbl->GetResolutionList(pCustomResolution, ppResolutionList);
-
if (ADLX_FAILED(res))
-
printf(" GetResolutionList, failed.\n");
-
}
-
-
void GetCurrentResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution** ppResolution)
-
{
-
ADLX_RESULT res = pCustomResolution->pVtbl->GetCurrentAppliedResolution(pCustomResolution, ppResolution);
-
if (ADLX_FAILED(res))
-
printf(" GetCurrentResolution, failed.\n");
-
}
-
-
void CreateNewResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution)
-
{
-
ADLX_RESULT res = pCustomResolution->pVtbl->CreateNewResolution(pCustomResolution, pResolution);
-
if (ADLX_FAILED(res))
-
printf(" CreateNewResolution, failed.\n");
-
}
-
-
void DeleteResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution)
-
{
-
PrintResolution(pResolution);
-
ADLX_RESULT res = pCustomResolution->pVtbl->DeleteResolution(pCustomResolution, pResolution);
-
if (ADLX_FAILED(res))
-
printf(" DeleteResolution, failed.\n");
-
}
-
-
void PrintResolution(IADLXDisplayResolution* pResolution)
-
{
- -
pResolution->pVtbl->GetValue(pResolution, &cr);
-
-
char* sPresention = (cr.presentation == INTERLACED) ? "Interlaced" : "Progressive";
-
char* sTimingStandard = "Manual";
-
char* sHPolarity = (cr.detailedTiming.hPolarity == POSITIVE) ? "Positive" : "Negative";
-
char* sVPolarity = (cr.detailedTiming.vPolarity == POSITIVE) ? "Positive" : "Negative";
-
-
switch (cr.timingStandard)
-
{
-
case MANUAL:
-
sTimingStandard = "Manual";
-
break;
-
case DMT:
-
sTimingStandard = "DMT";
-
break;
-
case GTF:
-
sTimingStandard = "GTF";
-
break;
-
case CVT_RB:
-
sTimingStandard = "CVT - Reduced Blanking";
-
break;
-
case CVT:
-
sTimingStandard = "CVT";
-
break;
-
default:
-
break;
-
}
-
-
char buff[1024] = {0};
-
int offset = snprintf(buff, sizeof(buff), "\n Resolution (Px)\t\t%d x %d\n", cr.resWidth, cr.resHeight);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Refresh Rate (Hz)\t\t%d\n", cr.refreshRate);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Presentation\t\t\t%s\n", sPresention);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Standard\t\t%s\n", sTimingStandard);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " G.Pixel Clock (kHz)\t\t%d\n", cr.GPixelClock);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Information\t\t\tHorizontal\tVertical\n");
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Total\t\t\t%d\t%d\n", cr.detailedTiming.hTotal, cr.detailedTiming.vTotal);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Display\t\t%d\t%d\n", cr.detailedTiming.hDisplay, cr.detailedTiming.vDisplay);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Front Porch\t\t%d\t%d\n", cr.detailedTiming.hFrontPorch, cr.detailedTiming.vFrontPorch);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Sync Width\t\t%d\t%d\n", cr.detailedTiming.hSyncWidth, cr.detailedTiming.vSyncWidth);
-
offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Polarity\t\t%s %s\n", sHPolarity, sVPolarity);
-
-
printf("%s\n", buff);
-
}
-
-
void PrintResolutions(IADLXDisplayResolutionList* pResolutionList)
-
{
-
printf(" Print out resolution list ==\n");
-
if (pResolutionList == NULL)
-
{
-
printf(" Resolution list is NULL\n");
-
return;
-
}
-
-
if (pResolutionList->pVtbl->Size(pResolutionList) == 0)
-
{
-
printf(" Resolution list is empty!\n");
-
return;
-
}
-
-
ADLX_RESULT res = ADLX_FAIL;
-
for (adlx_uint crt = 0; crt < pResolutionList->pVtbl->Size(pResolutionList); crt++)
-
{
-
IADLXDisplayResolution* pDispResolution = NULL;
-
res = pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList, crt, &pDispResolution);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" Resolution index: %d\n", crt);
-
PrintResolution(pDispResolution);
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options\n");
-
-
printf("\t->Press 1 to display custom resolution support\n");
-
-
printf("\t->Press 2 to get custom resolution list\n");
-
-
printf("\t->Press 3 to get current applied resolution\n");
-
printf("\t->Press 4 to create new customized resolution\n");
-
printf("\t->Press 5 to delete avaible resolution\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayCustomResolution* pCustomResolution = NULL;
-
pDisplayService->pVtbl->GetCustomResolution(pDisplayService, pDisplay, &pCustomResolution);
-
-
if (!pCustomResolution)
-
{
-
printf("Menu control: cannot retrive custom resolution instance!\n");
-
return;
-
}
-
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display custom resolution support
-
case '1':
-
ShowCustomResolutionSupport(pCustomResolution);
-
break;
-
-
// Display current available resolutions
-
case '2':
-
{
-
printf(" === Get Resolution List: ===\n");
-
IADLXDisplayResolutionList* pResolutionList = NULL;
-
GetResolutionList(pCustomResolution, &pResolutionList);
-
if (pResolutionList != NULL)
-
{
-
PrintResolutions(pResolutionList);
-
pResolutionList->pVtbl->Release(pResolutionList);
-
}
-
break;
-
}
-
-
// Get current applied resolution
-
case '3':
-
{
-
printf(" === Get current resolution: ===\n");
-
IADLXDisplayResolution* pDisplayResolution = NULL;
-
GetCurrentResolution(pCustomResolution, &pDisplayResolution);
-
if (pDisplayResolution != NULL)
-
{
-
PrintResolution(pDisplayResolution);
-
pDisplayResolution->pVtbl->Release(pDisplayResolution);
-
}
-
break;
-
}
-
// Create customized resolution
-
case '4':
-
{
-
printf(" === Create new resolution: ===\n");
-
IADLXDisplayResolution* pDisplayResolution = NULL;
-
GetCurrentResolution(pCustomResolution, &pDisplayResolution);
-
if (pDisplayResolution)
-
{
- -
pDisplayResolution->pVtbl->GetValue(pDisplayResolution, &customRes);
-
-
customRes.resWidth = 1920;
-
customRes.resHeight = 1080;
-
customRes.detailedTiming.hDisplay = 1920;
-
customRes.detailedTiming.vDisplay = 1080;
-
pDisplayResolution->pVtbl->SetValue(pDisplayResolution, customRes);
-
-
PrintResolution(pDisplayResolution);
-
CreateNewResolution(pCustomResolution, pDisplayResolution);
-
pDisplayResolution->pVtbl->Release(pDisplayResolution);
-
}
-
break;
-
}
-
// Delete available resolution
-
case '5':
-
{
-
printf(" === Delete resolution: ===\n");
-
IADLXDisplayResolutionList* pResolutionList = NULL;
-
GetResolutionList(pCustomResolution, &pResolutionList);
-
if (pResolutionList != NULL && pResolutionList->pVtbl->Size(pResolutionList) > 0)
-
{
-
IADLXDisplayResolution* pDisplayResolution = NULL;
-
ADLX_RESULT res = pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList, 0, &pDisplayResolution);
-
if (ADLX_SUCCEEDED(res))
-
{
-
DeleteResolution(pCustomResolution, pDisplayResolution);
-
pDisplayResolution->pVtbl->Release(pDisplayResolution);
-
}
-
pResolutionList->pVtbl->Release(pResolutionList);
-
}
-
break;
-
}
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
-
pCustomResolution->pVtbl->Release(pCustomResolution);
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ DMT
Definition: ADLXDefines.h:726
-
@ MANUAL
Definition: ADLXDefines.h:727
-
@ CVT_RB
Definition: ADLXDefines.h:723
-
@ CVT
Definition: ADLXDefines.h:722
-
@ GTF
Definition: ADLXDefines.h:725
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ POSITIVE
Definition: ADLXDefines.h:493
-
@ INTERLACED
Definition: ADLXDefines.h:479
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_TIMING_STANDARD timingStandard
Definition: ADLXStructures.h:136
-
adlx_int hTotal
Definition: ADLXStructures.h:104
-
adlx_int hSyncWidth
Definition: ADLXStructures.h:113
-
adlx_int resWidth
Definition: ADLXStructures.h:132
-
adlx_int vPolarity
Definition: ADLXStructures.h:117
-
ADLX_DISPLAY_SCAN_TYPE presentation
Definition: ADLXStructures.h:135
-
adlx_int vFrontPorch
Definition: ADLXStructures.h:111
-
adlx_int resHeight
Definition: ADLXStructures.h:133
-
adlx_int vSyncWidth
Definition: ADLXStructures.h:114
-
adlx_int vTotal
Definition: ADLXStructures.h:105
-
ADLX_TimingInfo detailedTiming
Definition: ADLXStructures.h:138
-
adlx_int refreshRate
Definition: ADLXStructures.h:134
-
adlx_int hPolarity
Definition: ADLXStructures.h:116
-
adlx_int hFrontPorch
Definition: ADLXStructures.h:110
-
adlx_int vDisplay
Definition: ADLXStructures.h:108
-
adlx_int hDisplay
Definition: ADLXStructures.h:107
-
adlx_long GPixelClock
Definition: ADLXStructures.h:137
-
This structure contains information for custom resolution parameters on a given display.
Definition: ADLXStructures.h:131
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__display_connectivity_experience.html b/vendor/adlx/SDKDoc/html/c_display__display_connectivity_experience.html deleted file mode 100644 index 2554168..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__display_connectivity_experience.html +++ /dev/null @@ -1,659 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayConnectivityExperience - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayConnectivityExperience
-
-
-
- - - -

Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display HDMI quality detection support.
2 Display DP link support.
3 Get HDMI quality detection status.
4 Set HDMI quality detection status to "Enable".
5 Set HDMI quality detection status to "Disable".
6 Display DP link rate.
7 Display number of active lanes.
8 Display number of total lanes.
9 Display relative pre-emphasis.
a Enter Relative Pre-emphasis setting menu.
b Display relative voltage swing.
c Enter the Relative Voltage Swing settings menu.
d Display if link protection is enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

-

Sample Path

/Samples/C/Display/DisplayConnectivityExperience -

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays2.h"
-
-
// Display supported HDMI quality detection
-
void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Display supported DP link
-
void ShowSupportedDPLink(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Display current HDMI quality detection state
-
void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Set displayVariBright status to enable/disable
-
void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, adlx_bool enableDisable);
-
-
// Display DP link rate value
-
void GetDPLinkRate(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Display number of active lanes
-
void GetNumberOfActiveLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Display number of total lanes
-
void GetNumberOfTotalLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Display relative pre-emphasis
-
void GetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Relative pre-emphasis setting menu control
-
void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Set relative pre-emphasis
-
void SetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativePreEmphasis);
-
-
// Display relative pre-emphasis
-
void GetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Relative voltage swing setting menu control
-
void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Set relative pre-emphasis
-
void SetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativeVoltageSwing);
-
-
// Display current link protection statue
-
void GetEnabledLinkProtection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get system service
-
IADLXSystem* sys = ADLXHelper_GetSystemServices ();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices (sys, &displayService);
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXDisplayServices2* displayServices2 = NULL;
-
ADLX_RESULT res2 = displayService->pVtbl->QueryInterface(displayService, IID_IADLXDisplayServices2(), (void**)&displayServices2);
-
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays (displayService, &displayList);
-
if (ADLX_SUCCEEDED (res) && ADLX_SUCCEEDED(res2))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList (displayList, it, &display);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Display main menu options
-
MainMenu ();
-
// Get and execute the choice
-
MenuControl (displayServices2, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release (display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release (displayList);
-
displayList = NULL;
-
}
-
-
if (NULL != displayServices2)
-
{
-
displayServices2->pVtbl->Release(displayServices2);
-
displayServices2 = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release (displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit ("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate ();
-
printf ("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
-
void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get HDMI quality detection Supported ===\n");
-
adlx_bool supported = false;
-
res = displayConnectivityExperience->pVtbl->IsSupportedHDMIQualityDetection(displayConnectivityExperience, &supported);
-
printf ("\tHDMI quality detection is supported on the display: %s, return code: %d (0 means success)\n", supported ? "true" : "false", res);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void ShowSupportedDPLink(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get DP Link Supported ===\n");
-
adlx_bool supported = false;
-
res = displayConnectivityExperience->pVtbl->IsSupportedDPLink(displayConnectivityExperience, &supported);
-
printf ("\tDP Link is supported on the display: %s, return code: %d (0 means success)\n", supported ? "true" : "false", res);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get HDMI quality detection enabled ===\n");
-
adlx_bool enabled = false;
-
res = displayConnectivityExperience->pVtbl->IsEnabledHDMIQualityDetection(displayConnectivityExperience, &enabled);
-
printf ("\tGetEnabled, result: %d enabled: %s\n", res, enabled ? "true" : "false");
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, adlx_bool enableDisable)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED (res))
-
{
-
if (!enableDisable)
-
{
-
res = displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection(displayConnectivityExperience, false);
-
printf ("\tSet enabled to false, result: %d (0 means success)\n", res);
-
}
-
else
-
{
-
res = displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection (displayConnectivityExperience, true);
-
printf ("\tSet enabled to true, result: %d (0 means success)\n", res);
-
}
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetDPLinkRate(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get DP link rate ===\n");
-
ADLX_DP_LINK_RATE DPLinkRate = DP_LINK_RATE_UNKNOWN;
-
res = displayConnectivityExperience->pVtbl->GetDPLinkRate(displayConnectivityExperience, &DPLinkRate);
-
char *DPLinkRateStr = "DP_LINK_RATE_UNKNOWN";
-
switch (DPLinkRate)
-
{
-
case DP_LINK_RATE_RBR:
-
DPLinkRateStr = "DP_LINK_RATE_RBR";
-
break;
-
case DP_LINK_RATE_2_16GBPS:
-
DPLinkRateStr = "DP_LINK_RATE_2_16GBPS";
-
break;
-
case DP_LINK_RATE_2_43GBPS:
-
DPLinkRateStr = "DP_LINK_RATE_2_16GBPS";
-
break;
-
case DP_LINK_RATE_HBR:
-
DPLinkRateStr = "DP_LINK_RATE_HBR";
-
break;
-
case DP_LINK_RATE_4_32GBPS:
-
DPLinkRateStr = "DP_LINK_RATE_4_32GBPS";
-
break;
-
case DP_LINK_RATE_HBR2:
-
DPLinkRateStr = "DP_LINK_RATE_HBR2";
-
break;
-
case DP_LINK_RATE_HBR3:
-
DPLinkRateStr = "DP_LINK_RATE_HBR3";
-
break;
-
case DP_LINK_RATE_UHBR10:
-
DPLinkRateStr = "DP_LINK_RATE_UHBR10";
-
break;
-
case DP_LINK_RATE_UHBR13D5:
-
DPLinkRateStr = "DP_LINK_RATE_UHBR13D5";
-
break;
-
case DP_LINK_RATE_UHBR20:
-
DPLinkRateStr = "DP_LINK_RATE_UHBR20";
-
break;
-
default:
-
break;
-
}
-
printf("\tThe DP link rate on the display is %s , return code: %d (0 means success)\n", DPLinkRateStr, res);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetNumberOfActiveLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get number of active lanes ===\n");
-
adlx_uint numberOfActiveLanes;
-
res = displayConnectivityExperience->pVtbl->GetNumberOfActiveLanes(displayConnectivityExperience, &numberOfActiveLanes);
-
printf ("\tGetValue, result: %d value: %d\n", res, numberOfActiveLanes);
-
}
-
}
-
-
void GetNumberOfTotalLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get number of total lanes ===\n");
-
adlx_uint numberOfTotalLanes;
-
res = displayConnectivityExperience->pVtbl->GetNumberOfTotalLanes(displayConnectivityExperience, &numberOfTotalLanes);
-
printf ("\tGetValue, result: %d value %d\n", res, numberOfTotalLanes);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get relative pre-emphasis ===\n");
-
adlx_int relativePreEmphasis;
-
res = displayConnectivityExperience->pVtbl->GetRelativePreEmphasis(displayConnectivityExperience, &relativePreEmphasis);
-
printf( "\tGetValue, result: %d value: %d\n", res, relativePreEmphasis);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
printf (" === relative pre-emphasis setting ===\n");
-
printf ("\t->Press integer in [-2:2] to set relative pre-emphasis or return main menu\n");
-
int num = 0;
-
if (scanf_s("%d", &num) && (-2 <= num && num <= 2))
-
{
-
SetRelativePreEmphasis(displayService2, display, num);
-
}
-
}
-
-
void SetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativePreEmphasis)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Set relative pre-emphasis ===\n");
-
res = displayConnectivityExperience->pVtbl->SetRelativePreEmphasis(displayConnectivityExperience, relativePreEmphasis);
-
printf ("\tReturn code is: %d (0 means success)\n", res);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get relative voltage swing ===\n");
-
adlx_int relativeVoltageSwing;
-
res = displayConnectivityExperience->pVtbl->GetRelativeVoltageSwing(displayConnectivityExperience, &relativeVoltageSwing);
-
printf ("\tGetValue, result: %d value: %d\n", res, relativeVoltageSwing);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
printf (" === relative voltage swing setting ===\n");
-
printf ("\t->Press integer in [-2:2] to set relative voltage swing or return main menu\n");
-
int num = 0;
-
if (scanf_s("%d", &num) && (-2 <= num && num <= 2))
-
{
-
SetRelativeVoltageSwing(displayService2, display, num);
-
}
-
}
-
-
void SetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativeVoltageSwing)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Set relative voltage swing ===\n");
-
res = displayConnectivityExperience->pVtbl->SetRelativeVoltageSwing(displayConnectivityExperience, relativeVoltageSwing);
-
printf ("\tReturn code is: %d (0 means success)\n", res);
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
void GetEnabledLinkProtection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
IADLXDisplayConnectivityExperience* displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf (" === Get link protection enabled ===\n");
-
adlx_bool enabled = false;
-
res = displayConnectivityExperience->pVtbl->IsEnabledLinkProtection(displayConnectivityExperience, &enabled);
-
printf ("\tGetEnabled, result: %d enabled: %s\n", res, enabled ? "true" : "false");
-
displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience);
-
}
-
}
-
-
-
void MainMenu()
-
{
-
printf ("\tChoose from following options\n");
-
-
printf ("\t->Press 1 to display HDMI quality detection support\n");
-
printf ("\t->Press 2 to display DP link support\n");
-
printf ("\t->Press 3 to get HDMI quality detection status\n");
-
printf ("\t->Press 4 to set HDMI quality detection status to Enable\n");
-
printf ("\t->Press 5 to set HDMI quality detection status to Disable\n");
-
printf ("\t->Press 6 to display DP link rate\n");
-
printf ("\t->Press 7 to display number of active lanes\n");
-
printf ("\t->Press 8 to display number of total lanes\n");
-
printf ("\t->Press 9 to display relative pre-emphasis\n");
-
printf ("\t->Press a to enter the Relative Pre-emphasis settings menu\n");
-
printf ("\t->Press b to display relative voltage swing\n");
-
printf ("\t->Press c to enter the Relative Voltage Swing settings menu\n");
-
printf ("\t->Press d to display is link protection is enabled\n");
-
-
printf ("\t->Press Q/q to terminate the application\n");
-
printf ("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display supported HDMI quality detection
-
case '1':
-
ShowSupportedHDMIQualityDetection(displayService2, display);
-
break;
-
-
// Display ssupported DP link
-
case '2':
-
ShowSupportedDPLink(displayService2, display);
-
break;
-
-
// Get HDMI quality detection enable
-
case '3':
-
GetEnabledHDMIQualityDetection(displayService2, display);
-
break;
-
-
// Set HDMI quality detection enable
-
case '4':
-
SetEnabledHDMIQualityDetection(displayService2, display, true);
-
break;
-
-
// Set HDMI quality detection disable
-
case '5':
-
SetEnabledHDMIQualityDetection(displayService2, display, false);
-
break;
-
-
// Display DP link rate
-
case '6':
-
GetDPLinkRate(displayService2, display);
-
break;
-
-
// Display number of active lanes
-
case '7':
-
GetNumberOfActiveLanes(displayService2, display);
-
break;
-
-
// Display number of totla lanes
-
case '8':
-
GetNumberOfTotalLanes(displayService2, display);
-
break;
-
-
// Display relative pre-emphasis
-
case '9':
-
GetRelativePreEmphasis(displayService2, display);
-
break;
-
-
// Enter relative pre-emphasis setting control
-
case 'a':
-
RelativePreEmphasisSettingMenuControl(displayService2, display);
-
break;
-
-
// Display relative voltage swing
-
case 'b':
-
GetRelativeVoltageSwing(displayService2, display);
-
break;
-
-
// Enter relative voltage swing setting control
-
case 'c':
-
RelativeVoltageSwingSettingMenuControl(displayService2, display);
-
break;
-
-
// Display link protection status
-
case 'd':
-
GetEnabledLinkProtection(displayService2, display);
-
break;
-
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf ("%s\n", msg);
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ DP_LINK_RATE_UNKNOWN
Definition: ADLXDefines.h:386
-
@ DP_LINK_RATE_HBR3
Definition: ADLXDefines.h:393
-
@ DP_LINK_RATE_4_32GBPS
Definition: ADLXDefines.h:391
-
@ DP_LINK_RATE_HBR
Definition: ADLXDefines.h:390
-
@ DP_LINK_RATE_2_43GBPS
Definition: ADLXDefines.h:389
-
@ DP_LINK_RATE_RBR
Definition: ADLXDefines.h:387
-
@ DP_LINK_RATE_HBR2
Definition: ADLXDefines.h:392
-
@ DP_LINK_RATE_UHBR10
Definition: ADLXDefines.h:394
-
@ DP_LINK_RATE_UHBR13D5
Definition: ADLXDefines.h:395
-
@ DP_LINK_RATE_2_16GBPS
Definition: ADLXDefines.h:388
-
@ DP_LINK_RATE_UHBR20
Definition: ADLXDefines.h:396
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DP_LINK_RATE
Indicates the DP link rate.
Definition: ADLXDefines.h:385
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__display_vari_bright.html b/vendor/adlx/SDKDoc/html/c_display__display_vari_bright.html deleted file mode 100644 index 0e088d2..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__display_vari_bright.html +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayVariBright - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayVariBright
-
-
-
- - - -

Demonstrates how to obtain the display Vari-Bright when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Check if Vari-Bright is supported on a display.
2 Get Vari-Bright Enable state.
3 Enable Vari-Bright.
4 Disable Vari-Bright.
5 Check if Vari-Bright mode is Maximized Brightness preset on the display.
6 Check if Vari-Bright mode is Optimized Brightness preset on the display.
7 Check if Vari-Bright mode is Balanced preset on the display.
8 Check if Vari-Bright mode is Optimized Battery preset on the display.
9 Check if Vari-Bright mode is Maximized Battery preset on the display.
a Set the Vari-Bright mode to Maximized Brightness preset on the display.
b Set the Vari-Bright mode to Optimized Brightness preset on the display.
c Set the Vari-Bright mode to Balanced preset on the display.
d Set the Vari-Bright mode to Optimized Battery preset on the display.
e Set the Vari-Bright mode to Maximized Battery preset on the display.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayVariBright

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayVari-Bright support
-
void ShowDisplayVariBrightSupport( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayVari-Bright state
-
void GetVariBrightEnabled( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set display Vari-Bright state to enable or disable
-
void SetVariBrightEnabled ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, adlx_bool enableDisable);
-
-
// Get display Vari-Bright current state
-
void GetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice);
-
-
// Get display Vari-Bright current state
-
void SetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit( char* msg, int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get system service
-
IADLXSystem* sys = ADLXHelper_GetSystemServices ();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices (sys, &displayService);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays (displayService, &displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList (displayList, it, &display);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Display main menu options
-
MainMenu ();
-
// Get and execute the choice
-
MenuControl (displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release (display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release (displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release (displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit ("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate ();
-
printf ("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayVariBrightSupport (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayVariBright* displayVariBright;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Get Vari-Bright supported ===\n");
-
adlx_bool supported = false;
-
res = displayVariBright->pVtbl->IsSupported (displayVariBright, &supported);
-
printf("\tVari-Bright is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res);
-
displayVariBright->pVtbl->Release (displayVariBright);
-
}
-
}
-
-
void GetVariBrightEnabled (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayVariBright* displayVariBright;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Get VariBright enabled ===\n");
-
adlx_bool enabled = false;
-
res = displayVariBright->pVtbl->IsEnabled (displayVariBright, &enabled);
-
printf("\t Vari-Bright is enabled on the display: %s , return code: %d (0 means success)\n", enabled ? "true" : "false", res);
-
displayVariBright->pVtbl->Release (displayVariBright);
-
}
-
}
-
-
void SetVariBrightEnabled (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, adlx_bool enableDisable)
-
{
-
IADLXDisplayVariBright* displayVariBright;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
if (!enableDisable)
-
{
-
res = displayVariBright->pVtbl->SetEnabled (displayVariBright, false);
-
printf ("\tSet enabled to false, result: %d\n", res);
-
}
-
else
-
{
-
res = displayVariBright->pVtbl->SetEnabled (displayVariBright, true);
-
printf ("\tSet enabled to true, result: %d\n", res);
-
}
-
displayVariBright->pVtbl->Release (displayVariBright);
-
}
-
}
-
-
void GetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice)
-
{
-
IADLXDisplayVariBright* displayVariBright;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
adlx_bool applied = false;
-
switch (userChoice)
-
{
-
case 0:
-
res = displayVariBright->pVtbl->IsCurrentMaximizeBrightness (displayVariBright, &applied);
-
printf("\tMaximize Brightness preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res);
-
break;
-
-
case 1:
-
res = displayVariBright->pVtbl->IsCurrentOptimizeBrightness (displayVariBright, &applied);
-
printf("\tOptimize Brightness preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res);
-
break;
-
-
case 2:
-
res = displayVariBright->pVtbl->IsCurrentBalanced (displayVariBright, &applied);
-
printf("\tBalanced preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res);
-
break;
-
-
case 3:
-
res = displayVariBright->pVtbl->IsCurrentOptimizeBattery (displayVariBright, &applied);
-
printf("\tOptimize Battery preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res);
-
break;
-
-
case 4:
-
res = displayVariBright->pVtbl->IsCurrentMaximizeBattery (displayVariBright, &applied);
-
printf("\tMaximize Battery preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res);
-
break;
-
}
-
displayVariBright->pVtbl->Release (displayVariBright);
-
}
-
}
-
-
void SetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice)
-
{
-
IADLXDisplayVariBright* displayVariBright;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
switch (userChoice)
-
{
-
case 0:
-
res = displayVariBright->pVtbl->SetMaximizeBrightness (displayVariBright);
-
printf ("\t Set Maximize Brightness preset , result: %d\n", res);
-
break;
-
-
case 1:
-
res = displayVariBright->pVtbl->SetOptimizeBrightness (displayVariBright);
-
printf ("\t Set Optimize Brightness preset , result: %d\n", res);
-
break;
-
-
case 2:
-
res = displayVariBright->pVtbl->SetBalanced (displayVariBright);
-
printf ("\t Set Balanced preset, result: %d\n", res);
-
break;
-
case 3:
-
res = displayVariBright->pVtbl->SetOptimizeBattery (displayVariBright);
-
printf ("\t Set Optimize Battery preset, result: %d\n", res);
-
break;
-
-
case 4:
-
res = displayVariBright->pVtbl->SetMaximizeBattery (displayVariBright);
-
printf ("\t Set Maximize Battery preset , result: %d\n", res);
-
break;
-
}
-
displayVariBright->pVtbl->Release (displayVariBright);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf ("\tChoose from the following options:\n");
-
-
printf ("\t->Press 1 to display Vari-Bright support\n");
-
printf ("\t->Press 2 to get Vari-Bright Enable state\n");
-
printf ("\t->Press 3 to enable Vari-Bright\n");
-
printf ("\t->Press 4 to Disbale Vari-Bright\n");
-
printf ("\t->Press 5 to check if Vari-Bright mode is maximized brightness preset on the display\n");
-
printf ("\t->Press 6 to check if Vari-Bright mode is optimized brightness preset on the display\n");
-
printf ("\t->Press 7 to check if Vari-Bright mode is balanced preseton the display\n");
-
printf ("\t->Press 8 to check if Vari-Bright mode is optimized battery preset on the display\n");
-
printf ("\t->Press 9 to check if Vari-Bright mode is maximized battery preset on the display\n");
-
printf ("\t->Press a to set the Vari-Bright mode to maximized brightness preset on the display\n");
-
printf ("\t->Press b to set the Vari-Bright mode to optimized brightness preset on the display\n");
-
printf ("\t->Press c to set the Vari-Bright mode to balanced preset on the display\n");
-
printf ("\t->Press d to set the Vari-Bright mode to optimized battery preset on the display\n");
-
printf ("\t->Press e to sets the Vari-Bright mode to maximized battery preset on the display\n");
-
-
printf ("\t->Press Q/q to terminate the application\n");
-
printf ("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayVariBright support
-
case '1':
-
ShowDisplayVariBrightSupport (pDisplayService, pDisplay);
-
break;
-
-
// Display current display VariBright state
-
case '2':
-
GetVariBrightEnabled (pDisplayService, pDisplay);
-
break;
-
-
// Set display VariBright enable
-
case '3':
-
SetVariBrightEnabled (pDisplayService, pDisplay, true);
-
break;
-
-
// Set display VariBright disable
-
case '4':
-
SetVariBrightEnabled (pDisplayService, pDisplay, false);
-
break;
-
-
case '5':
-
case '6':
-
case '7':
-
case '8':
-
case '9':
-
GetCurrentVariBright (pDisplayService, pDisplay, num - '5');
-
break;
-
-
case 'a':
-
case 'b':
-
case 'c':
-
case 'd':
-
case 'e':
-
SetCurrentVariBright (pDisplayService, pDisplay, num - 'a');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit( char* msg, int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf ("%s\n", msg);
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__free_sync.html b/vendor/adlx/SDKDoc/html/c_display__free_sync.html deleted file mode 100644 index 9fc2ca4..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__free_sync.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayFreeSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayFreeSync
-
-
-
- - - -

Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display FreeSync support.
2 Get FreeSync state.
3 Set current FreeSync to disabled.
4 Set current FreeSync to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayFreeSync

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayFreeSync Support
-
void ShowDisplayFreeSyncSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayFreeSync state
-
void GetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayFreeSync
-
void SetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu selection
-
MainMenu();
-
// Get and execute the selection
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayFreeSyncSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayFreeSync* pDisplayFreeSync = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get FreeSync supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayFreeSync->pVtbl->IsSupported(pDisplayFreeSync, &supported);
-
printf("\tIsSupported, res: %d, supported: %s\n", res, supported ? "true" : "false");
-
pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync);
-
}
-
}
-
-
void GetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayFreeSync* pDisplayFreeSync = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get FreeSync enabled ===\n");
-
adlx_bool enabled = false;
-
res = pDisplayFreeSync->pVtbl->IsEnabled(pDisplayFreeSync, &enabled);
-
printf("\tIsEnabled, res: %d, enabled: %d\n", res, enabled);
-
pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync);
-
}
-
}
-
-
void SetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayFreeSync* pDisplayFreeSync = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set FreeSync disabled
-
case 0:
-
printf(" === Set FreeSync to false\n");
-
res = pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync, false);
-
break;
-
// Set FreeSync enabled
-
case 1:
-
printf(" === Set FreeSync to true\n");
-
res = pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync, true);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options:\n");
-
-
printf("\t->Press 1 to Display FreeSync support\n");
-
-
printf("\t->Press 2 to get FreeSync state\n");
-
-
printf("\t->Press 3 to set current FreeSync to disabled\n");
-
printf("\t->Press 4 to set current FreeSync to enabled\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayFreeSync support
-
case '1':
-
ShowDisplayFreeSyncSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayFreeSync state
-
case '2':
-
GetFreeSyncState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayFreeSync
-
case '3':
-
case '4':
-
SetFreeSyncState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__g_p_u_scaling.html b/vendor/adlx/SDKDoc/html/c_display__g_p_u_scaling.html deleted file mode 100644 index d84a263..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__g_p_u_scaling.html +++ /dev/null @@ -1,367 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGPUScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGPUScaling
-
-
-
- - - -

Demonstrates how to obtain the display GPU scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display GPU scaling support.
2 Get GPU scaling state.
3 Set current GPU scaling to disabled.
4 Set current GPU scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGPUScaling

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayGPUScaling support
-
void ShowDisplayGPUScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayGPUScaling state
-
void GetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayGPUScaling
-
void SetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the selection
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayGPUScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get GPUScaling supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayGPUScaling->pVtbl->IsSupported(pDisplayGPUScaling, &supported);
-
printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false");
-
pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling);
-
}
-
}
-
-
void GetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get GPUScaling enabled ===\n");
-
adlx_bool enabled = false;
-
res = pDisplayGPUScaling->pVtbl->IsEnabled(pDisplayGPUScaling, &enabled);
-
printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false");
-
pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling);
-
}
-
}
-
-
void SetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Set GPU scaling ===\n");
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set GPU scaling disabled
-
case 0:
-
res = pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling, false);
-
break;
-
// Set GPU scaling enabled
-
case 1:
-
res = pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling, true);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options:\n");
-
-
printf("\t->Press 1 to display GPU scaling support\n");
-
-
printf("\t->Press 2 to get GPU scaling state\n");
-
-
printf("\t->Press 3 to set current GPU scaling to disabled\n");
-
printf("\t->Press 4 to set current GPU scaling to enabled\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayGPUScaling support
-
case '1':
-
ShowDisplayGPUScalingSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayGPUScaling state
-
case '2':
-
GetGPUScalingState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayGPUScaling
-
case '3':
-
case '4':
-
SetGPUScalingState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__h_d_c_p.html b/vendor/adlx/SDKDoc/html/c_display__h_d_c_p.html deleted file mode 100644 index bd6fb9d..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__h_d_c_p.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayHDCP - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayHDCP
-
-
-
- - - -

Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display HDCP support.
2 Get HDCP state.
3 Set current HDCP to disabled.
4 Set current HDCP to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayHDCP

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayHDCP support
-
void ShowDisplayHDCPSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayHDCP state
-
void GetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set display HDCP
-
void SetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the selection
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayHDCPSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayHDCP* pDisplayHDCP = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get HDCP supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayHDCP->pVtbl->IsSupported(pDisplayHDCP, &supported);
-
printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false");
-
pDisplayHDCP->pVtbl->Release(pDisplayHDCP);
-
}
-
}
-
-
void GetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayHDCP* pDisplayHDCP = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get HDCP enabled ===\n");
-
adlx_bool enabled = false;
-
res = pDisplayHDCP->pVtbl->IsEnabled(pDisplayHDCP, &enabled);
-
printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false");
-
pDisplayHDCP->pVtbl->Release(pDisplayHDCP);
-
}
-
}
-
-
void SetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayHDCP* pDisplayHDCP = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set HDCP disabled
-
case 0:
-
printf(" === Set HDCP enabled to false\n");
-
res = pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP, false);
-
break;
-
// Set HDCP enabled
-
case 1:
-
printf(" === Set HDCP enabled to true\n");
-
res = pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP, true);
-
break;
-
default:
-
break;
-
}
-
printf("\tReturn code is: %d (0 means Success)\n", res);
-
pDisplayHDCP->pVtbl->Release(pDisplayHDCP);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options:\n");
-
-
printf("\t->Press 1 to display HDCP support\n");
-
-
printf("\t->Press 2 to get HDCP state\n");
-
-
printf("\t->Press 3 to set current HDCP to disabled\n");
-
printf("\t->Press 4 to set current HDCP to enabled\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayHDCP support
-
case '1':
-
ShowDisplayHDCPSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayHDCP state
-
case '2':
-
GetHDCPState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayHDCP
-
case '3':
-
case '4':
-
SetHDCPState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__integer_scaling.html b/vendor/adlx/SDKDoc/html/c_display__integer_scaling.html deleted file mode 100644 index 79fc9d5..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__integer_scaling.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayIntegerScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayIntegerScaling
-
-
-
- - - -

Demonstrates how to obtain the display integer scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display integer scaling support.
2 Get integer scaling state.
3 Set current Integer scaling to disabled.
4 Set current Integer scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayIntegerScaling

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayIntegerScaling support
-
void ShowDisplayIntegerScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayIntegerScaling state
-
void GetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayIntegerScaling
-
void SetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Show a menu with options to chose from
-
MainMenu();
-
// Get and excute the selection
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayIntegerScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get IntegerScaling supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayIntegerScaling->pVtbl->IsSupported(pDisplayIntegerScaling, &supported);
-
printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false");
-
pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling);
-
}
-
}
-
-
void GetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get IntegerScaling enabled ===\n");
-
adlx_bool enabled = false;
-
res = pDisplayIntegerScaling->pVtbl->IsEnabled(pDisplayIntegerScaling, &enabled);
-
printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false");
-
pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling);
-
}
-
}
-
-
void SetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set IntegerScaling disabled
-
case 0:
-
printf(" === Set IntegerScaling enabled to false;\n");
-
res = pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling, false);
-
break;
-
// Set IntegerScaling enabled
-
case 1:
-
printf(" === Set IntegerScaling enabled to true;\n");
-
res = pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling, true);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from following options\n");
-
-
printf("\t->Press 1 to display integer scaling support\n");
-
-
printf("\t->Press 2 to get integer scaling state\n");
-
-
printf("\t->Press 3 to set current Integer Scaling to disabled\n");
-
printf("\t->Press 4 to set current Integer Scaling to enabled\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayIntegerScaling support
-
case '1':
-
ShowDisplayIntegerScalingSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayIntegerScaling state
-
case '2':
-
GetIntegerScalingState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayIntegerScaling
-
case '3':
-
case '4':
-
SetIntegerScalingState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__pixel_format.html b/vendor/adlx/SDKDoc/html/c_display__pixel_format.html deleted file mode 100644 index 6254371..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__pixel_format.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayPixelFormat - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayPixelFormat
-
-
-
- - - -

Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display pixel format support.
2 Get pixel format state.
3 Set current pixel format to RGB_444_FULL.
4 Set current pixel format to YCBCR_444.
5 Set current pixel format to YCBCR_422.
6 Set current pixel format to RGB_444_LIMITED.
7 Get support state for each pixel format.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayPixelFormat

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayPixelFormat support
-
void ShowDisplayPixelFormatSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayPixelFormat state
-
void GetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayPixelFormat
-
void SetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Get support state for each pixel format
-
void GetSupportStateForEachPixelFormat(IADLXDisplayServices* displayService, IADLXDisplay* display);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system service
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
//Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayPixelFormatSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get PixelFormat supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayPixelFormat->pVtbl->IsSupported(pDisplayPixelFormat, &supported);
-
printf("\tPixel format is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res);
-
pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat);
-
}
-
}
-
-
void GetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get PixelFormat enabled ===\n");
-
ADLX_PIXEL_FORMAT pf = FORMAT_UNKNOWN;
-
res = pDisplayPixelFormat->pVtbl->GetValue(pDisplayPixelFormat, &pf);
-
char* pfStr = "FORMAT_UNKNOWN";
-
switch (pf)
-
{
-
case RGB_444_FULL:
-
pfStr = "RGB_444_FULL";
-
break;
-
case YCBCR_444:
-
pfStr = "YCBCR_444";
-
break;
-
case YCBCR_422:
-
pfStr = "YCBCR_422";
-
break;
-
case RGB_444_LIMITED:
-
pfStr = "RGB_444_LIMITED";
-
break;
-
case YCBCR_420:
-
pfStr = "YCBCR_420";
-
break;
-
default:
-
break;
-
}
-
printf("\tThe pixel format on the display is %s , return code: %d (0 means success)\n", pfStr, res);
-
pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat);
-
}
-
}
-
-
void SetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set PixelFormat RGB_444_FULL
-
case 0:
-
printf(" === Set pixel format to RGB_444_FULL\n");
-
res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, RGB_444_FULL);
-
break;
-
// Set PixelFormat YCBCR_444
-
case 1:
-
printf(" === Set pixel format to YCBCR_444\n");
-
res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, YCBCR_444);
-
break;
-
// Set pixel format YCBCR_422
-
case 2:
-
printf(" === Set pixel format to YCBCR_422\n");
-
res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, YCBCR_422);
-
break;
-
// Set pixel format RGB_444_LIMITED
-
case 3:
-
printf(" === Set pixel format to RGB_444_LIMITED\n");
-
res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, RGB_444_LIMITED);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means success)\n", res);
-
pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat);
-
}
-
}
-
-
// Get support state for each pixel format
-
void GetSupportStateForEachPixelFormat(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
IADLXDisplayPixelFormat* displayPixelFormat = NULL;
-
ADLX_RESULT res = displayService->pVtbl->GetPixelFormat(displayService, display, &displayPixelFormat);
-
if (ADLX_SUCCEEDED(res) && displayPixelFormat)
-
{
-
printf(" === Get pixel format list === \n");
-
adlx_bool support = false;
-
-
res = displayPixelFormat->pVtbl->IsSupportedRGB444Full(displayPixelFormat, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support RGB 4:4:4 PC Standard (Full RGB): %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedYCbCr444(displayPixelFormat, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:4:4: %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedYCbCr422(displayPixelFormat, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:2:2: %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedRGB444Limited(displayPixelFormat, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support RGB 4:4:4 Studio (Limited RGB): %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedYCbCr420(displayPixelFormat, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:2:0: %d\n", support);
-
-
res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, RGB_444_FULL, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support RGB 4:4:4 PC Standard (Full RGB): %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_444, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:4:4: %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_422, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:2:2: %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, RGB_444_LIMITED, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support RGB 4:4:4 Studio (Limited RGB): %d\n", support);
-
res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_420, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs support YCbCr 4:2:0: %d\n", support);
-
-
displayPixelFormat->pVtbl->Release(displayPixelFormat);
-
displayPixelFormat = NULL;
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display pixel format support\n");
-
-
printf("\t->Press 2 to get pixel format state\n");
-
-
printf("\t->Press 3 to set current pixel format to RGB_444_FULL\n");
-
printf("\t->Press 4 to set current pixel format to YCBCR_444\n");
-
printf("\t->Press 5 to set current pixel format to YCBCR_422\n");
-
printf("\t->Press 6 to set current pixel format to RGB_444_LIMITED\n");
-
-
printf("\t->Press 7 to get support state for each pixel format\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayPixelFormat support
-
case '1':
-
ShowDisplayPixelFormatSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayPixelFormat state
-
case '2':
-
GetPixelFormatState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayPixelFormat
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetPixelFormatState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Get support state for each pixel format
-
case '7':
-
GetSupportStateForEachPixelFormat(pDisplayService, pDisplay);
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ YCBCR_420
Definition: ADLXDefines.h:706
-
@ FORMAT_UNKNOWN
Definition: ADLXDefines.h:701
-
@ RGB_444_FULL
Definition: ADLXDefines.h:702
-
@ YCBCR_444
Definition: ADLXDefines.h:703
-
@ RGB_444_LIMITED
Definition: ADLXDefines.h:705
-
@ YCBCR_422
Definition: ADLXDefines.h:704
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_PIXEL_FORMAT
Indicates the pixel format to encode images for the display.
Definition: ADLXDefines.h:700
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__scaling_mode.html b/vendor/adlx/SDKDoc/html/c_display__scaling_mode.html deleted file mode 100644 index 82dac0c..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__scaling_mode.html +++ /dev/null @@ -1,393 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayScalingMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayScalingMode
-
-
-
- - - -

Demonstrates how to obtain the display scaling mode when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display scaling mode support.
2 Get scaling mode state.
3 Set current scaling mode to PRESERVE_ASPECT_RATIO.
4 Set current scaling mode to FULL_PANEL.
5 Set current scaling mode to CENTERED.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayScalingMode

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayScalingMode support
-
void ShowDisplayScalingModeSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayScalingMode state
-
void GetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayScalingMode
-
void SetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system service
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayScalingModeSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayScalingMode* pDisplayScalingMode = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get scaling mode supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayScalingMode->pVtbl->IsSupported(pDisplayScalingMode, &supported);
-
printf("\tScaling mode is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res);
-
pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode);
-
}
-
}
-
-
void GetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayScalingMode* pDisplayScalingMode = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get scaling-mode mode ===\n");
-
ADLX_SCALE_MODE sm = PRESERVE_ASPECT_RATIO;
-
res = pDisplayScalingMode->pVtbl->GetMode(pDisplayScalingMode, &sm);
-
char* smStr = "Unknown";
-
switch (sm)
-
{
-
case PRESERVE_ASPECT_RATIO:
-
smStr = "PRESERVE_ASPECT_RATIO";
-
break;
-
case FULL_PANEL:
-
smStr = "FULL_PANEL";
-
break;
-
case CENTERED:
-
smStr = "CENTERED";
-
break;
-
}
-
printf("\tThe scaling mode on the display is %s , return code: %d (0 means success)\n", smStr, res);
-
pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode);
-
}
-
}
-
-
void SetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayScalingMode* pDisplayScalingMode = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set scaling mode to PRESERVE_ASPECT_RATIO
-
case 0:
-
printf(" === Set scaling mode to PRESERVE_ASPECT_RATIO ===\n");
-
res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, PRESERVE_ASPECT_RATIO);
-
break;
-
// Set scaling mode to FULL_PANEL
-
case 1:
-
printf(" === Set scaling mode to FULL_PANEL ===\n");
-
res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, FULL_PANEL);
-
break;
-
// set ScalingMode CENTERED
-
case 2:
-
printf(" === Set scaling mode to CENTERED ===\n");
-
res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, CENTERED);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means success)\n", res);
-
pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to Display scaling mode support\n");
-
-
printf("\t->Press 2 to get scaling mode state\n");
-
-
printf("\t->Press 3 to set current scaling mode to PRESERVE_ASPECT_RATIO\n");
-
printf("\t->Press 4 to set current scaling mode to FULL_PANEL\n");
-
printf("\t->Press 5 to set current scaling mode to CENTERED\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayScalingMode support
-
case '1':
-
ShowDisplayScalingModeSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayScalingMode state
-
case '2':
-
GetScalingModeState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayScalingMode
-
case '3':
-
case '4':
-
case '5':
-
SetScalingModeState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ FULL_PANEL
Definition: ADLXDefines.h:664
-
@ CENTERED
Definition: ADLXDefines.h:665
-
@ PRESERVE_ASPECT_RATIO
Definition: ADLXDefines.h:663
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SCALE_MODE
Indicates the methods to stretch and position the image to fit on the display.
Definition: ADLXDefines.h:662
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_display__v_s_r.html b/vendor/adlx/SDKDoc/html/c_display__v_s_r.html deleted file mode 100644 index 2e0584f..0000000 --- a/vendor/adlx/SDKDoc/html/c_display__v_s_r.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayVSR - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayVSR
-
-
-
- - - -

Demonstrates how to obtain the display VSR when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display VSR support.
2 Get VSR state.
3 Disable VSR.
4 Enabled VSR.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayVSR

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayVSR support
-
void ShowDisplayVSRSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Display current displayVSR state
-
void GetVirtualSuperResolutionState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Set displayVSR
-
void SetVSRState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system service
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayVSRSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayVSR* pDisplayVSR = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get VSR supported ===\n");
-
adlx_bool supported = false;
-
res = pDisplayVSR->pVtbl->IsSupported(pDisplayVSR, &supported);
-
printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false");
-
pDisplayVSR->pVtbl->Release(pDisplayVSR);
-
}
-
}
-
-
void GetVirtualSuperResolutionState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
IADLXDisplayVSR* pDisplayVSR = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get VSR enabled ===\n");
-
adlx_bool enabled = false;
-
res = pDisplayVSR->pVtbl->IsEnabled(pDisplayVSR, &enabled);
-
printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false");
-
pDisplayVSR->pVtbl->Release(pDisplayVSR);
-
}
-
}
-
-
void SetVSRState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key)
-
{
-
IADLXDisplayVSR* pDisplayVSR = NULL;
-
ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set VSR disabled
-
case 0:
-
printf(" === Set VSR enabled to false\n");
-
res = pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR, false);
-
break;
-
// Set VSR enabled
-
case 1:
-
printf(" === Set VSR enabled to true\n");
-
res = pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR, true);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code is: %d (0 means success)\n", res);
-
pDisplayVSR->pVtbl->Release(pDisplayVSR);
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display VSR support\n");
-
-
printf("\t->Press 2 to get VSR state\n");
-
-
printf("\t->Press 3 to set current VSR to disabled\n");
-
printf("\t->Press 4 to set current VSR to enabled\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayVSR support
-
case '1':
-
ShowDisplayVSRSupport(pDisplayService, pDisplay);
-
break;
-
-
// Display current displayVSR state
-
case '2':
-
GetVirtualSuperResolutionState(pDisplayService, pDisplay);
-
break;
-
-
// Set displayVSR
-
case '3':
-
case '4':
-
SetVSRState(pDisplayService, pDisplay, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sam.html b/vendor/adlx/SDKDoc/html/c_sam.html deleted file mode 100644 index 84fe86e..0000000 --- a/vendor/adlx/SDKDoc/html/c_sam.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SmartAccessMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SmartAccessMemory
-
-
-
- - - -

Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartAccess Memory support status on a GPU.
2 Display AMD SmartAccess Memory enabled status.
3 Set AMD SmartAccess Memory state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/SmartAccessMemory

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/ISmartAccessMemory.h"
-
#include "SDK/Include/IGPUTuning1.h"
-
-
static HANDLE SAMEvent = NULL;
-
-
static adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedListener* pGPUTuningChangedListener, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent)
-
{
-
IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = NULL;
-
pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent, IID_IADLXGPUTuningChangedEvent1(), &pGPUTuningChangedEvent1);
-
adlx_bool SAMChange = pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1);
-
if (SAMChange)
-
{
-
adlx_bool enabled = false, completed = false;
-
pGPUTuningChangedEvent1->pVtbl->GetSmartAccessMemoryStatus(pGPUTuningChangedEvent1, &enabled, &completed);
-
pGPUTuningChangedEvent1->pVtbl->Release(pGPUTuningChangedEvent1);
-
pGPUTuningChangedEvent1 = NULL;
-
}
-
-
SetEvent(SAMEvent);
-
return true;
-
}
-
static IADLXGPUTuningChangedListenerVtbl gpuTuningChangedVtable = { &OnGPUTuningChanged };
-
static IADLXGPUTuningChangedListener gpuTuningChangedListener = { &gpuTuningChangedVtable };
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus);
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode);
-
-
// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported
-
adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus);
-
-
// Display AMD SmartAccess Memory support status on a GPU
-
void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus);
-
-
// Display AMD SmartAccess Memory enabled status
-
void ShowSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus);
-
-
// Set AMD SmartAccess Memory state
-
void SetSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus);
-
-
int main ()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
IADLXGPUTuningServices* gpuTuningService = NULL;
-
IADLXGPUTuningServices1* gpuTuningService1 = NULL;
-
IADLXGPUTuningChangedHandling* gpuTuningHandling = NULL;
-
IADLXGPUList* gpus = NULL;
-
if (sys != NULL)
-
{
-
res = sys->pVtbl->GetGPUTuningServices (sys, &gpuTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get gpuTuningService1 via gpuTuningService::QueryInterface()
-
res = gpuTuningService->pVtbl->QueryInterface(gpuTuningService, IID_IADLXGPUTuningServices1(), &gpuTuningService1);
-
if (ADLX_SUCCEEDED(res))
-
{
-
-
res = gpuTuningService1->pVtbl->GetGPUTuningChangedHandling(gpuTuningService1, &gpuTuningHandling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Add listener
-
SAMEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
ADLX_RESULT eventRes = gpuTuningHandling->pVtbl->AddGPUTuningEventListener(gpuTuningHandling, &gpuTuningChangedListener);
-
-
// Menu
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(gpuTuningService1, gpus);
-
}
-
else
-
printf("Failed to get GPU list\n");
-
-
// Remove listener
-
if (ADLX_SUCCEEDED(eventRes))
-
eventRes = gpuTuningHandling->pVtbl->RemoveGPUTuningEventListener(gpuTuningHandling, &gpuTuningChangedListener);
-
}
-
else
-
printf("Failed to get GPU Tuning Changed Handling\n");
-
}
-
else
-
printf("Failed to get gpuTuningService1\n");
-
}
-
else
-
printf("Failed to get gpuTuningService\n");
-
}
-
else
-
printf("Failed to get systemService\n");
-
// Free
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
if (gpuTuningHandling != NULL)
-
{
-
gpuTuningHandling->pVtbl->Release(gpuTuningHandling);
-
gpuTuningHandling = NULL;
-
}
-
if (gpuTuningService1 != NULL)
-
{
-
gpuTuningService1->pVtbl->Release(gpuTuningService1);
-
gpuTuningService1 = NULL;
-
}
-
if (gpuTuningService != NULL)
-
{
-
gpuTuningService->pVtbl->Release(gpuTuningService);
-
gpuTuningService = NULL;
-
}
-
}
-
else
-
return WaitAndExit ("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
-
printf("\t->Press 1 to display AMD SmartAccess Memory supported GPUs\n");
-
printf("\t->Press 2 to display AMD SmartAccess Memory enabled status\n");
-
printf("\t->Press 3 to set the AMD SmartAccess Memory state\n");
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus)
-
{
-
int num = 0;
-
while ((num = getchar ()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display AMD SmartAccess Memory support status on a GPU
-
case '1':
-
ShowSmartAccessMemorySupport(gpuTuningService1, gpus);
-
break;
-
-
// Display AMD SmartAccess Memory enabled status
-
case '2':
-
ShowSmartAccessMemoryState(gpuTuningService1, gpus);
-
break;
-
-
// Set AMD SmartAccess Memory state
-
case '3':
-
SetSmartAccessMemoryState(gpuTuningService1, gpus);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu ();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system ("pause");
-
return retCode;
-
}
-
-
// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported
-
adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus)
-
{
-
adlx_uint supportedIndex= -1;
-
IADLXGPU* oneGPU = NULL;
-
IADLXSmartAccessMemory* smartAccessMemory = NULL;
-
for (auto index = gpus->pVtbl->Begin(gpus); index != gpus->pVtbl->End(gpus); ++index)
-
{
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the AMD SmartAccess Memory interface
-
res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = smartAccessMemory->pVtbl->IsSupported(smartAccessMemory, &supported);
-
if (ADLX_SUCCEEDED(res) && supported)
-
{
-
supportedIndex = index;
-
smartAccessMemory->pVtbl->Release(smartAccessMemory);
-
oneGPU->pVtbl->Release(oneGPU);
-
break;
-
}
-
}
-
}
-
if (smartAccessMemory != NULL)
-
{
-
smartAccessMemory->pVtbl->Release(smartAccessMemory);
-
smartAccessMemory = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
return supportedIndex;
-
}
-
-
// Display AMD SmartAccess Memory support status on a GPU
-
void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
printf("All GPUs doesn't support AMD SmartAccess Memory\n");
-
else
-
printf("The %dth GPU support AMD SmartAccess Memory\n", (index + 1));
-
}
-
-
// Display AMD SmartAccess Memory enabled status
-
void ShowSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
printf("All GPUs doesn't support AMD SmartAccess Memory\n");
-
else
-
{
-
IADLXGPU* oneGPU = NULL;
-
IADLXSmartAccessMemory* smartAccessMemory = NULL;
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool enabled = false;
-
res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("The AMD SmartAccess Memory is %s on the %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1));
-
else
-
printf("Call IsEnabled() failed\n");
-
}
-
else
-
printf("Failed to get smartAccessMemory\n");
-
}
-
else
-
printf("Failed to get the GPU\n");
-
-
if (smartAccessMemory != NULL)
-
{
-
smartAccessMemory->pVtbl->Release(smartAccessMemory);
-
smartAccessMemory = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
-
// Set AMD SmartAccess Memory state
-
void SetSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
printf("All GPUs doesn't support AMD SmartAccess Memory\n");
-
else
-
{
-
IADLXGPU* oneGPU = NULL;
-
IADLXSmartAccessMemory* smartAccessMemory = NULL;
-
ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool enabled = false;
-
res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("Currently AMD SmartAccess Memory is %s on %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1));
-
else
-
printf("Call IsEnabled() failed\n");
-
res = smartAccessMemory->pVtbl->SetEnabled(smartAccessMemory, !enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("Set AMD SmartAccess Memory to %s for %dth GPU\n", (!enabled ? "enabled" : "disabled"), (index + 1));
-
else
-
printf("Call SetEnabled() failed\n");
-
-
// First event received quickly before SAM start
-
WaitForSingleObject(SAMEvent, 2000);
-
-
// When receive the first event, avoid calling any other ADLX method, and if any UI application is running, we must close it to avoid crashing
-
// Close(application)......
-
-
// Second event received after SAM completed, the maximum consuming time less than 20 seconds.
-
WaitForSingleObject(SAMEvent, 20000);
-
-
// Now SAM completed, we can restart the UI application, and continue to call ADLX function
-
// Start(application)......
-
-
res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled);
-
if (ADLX_SUCCEEDED(res))
-
printf("After setting, AMD SmartAccess Memory is %s on %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1));
-
else
-
printf("Call IsEnabled() failed\n");
-
}
-
else
-
printf("Failed to get smartAccessMemory\n");
-
}
-
else
-
printf("Failed to get the GPU\n");
-
-
if (smartAccessMemory != NULL)
-
{
-
smartAccessMemory->pVtbl->Release(smartAccessMemory);
-
smartAccessMemory = NULL;
-
}
-
if (oneGPU != NULL)
-
{
-
oneGPU->pVtbl->Release(oneGPU);
-
oneGPU = NULL;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__async_event_handling.html b/vendor/adlx/SDKDoc/html/c_sample__async_event_handling.html deleted file mode 100644 index 12aa0b5..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__async_event_handling.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AsyncEventHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AsyncEventHandling
-
-
-
- - - -

Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/AsyncEventHandling

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplay3DLUT.h"
-
#include "SDK/Include/IDisplayGamma.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <windows.h>
-
-
// Handle thread
-
HANDLE thread = NULL;
-
-
// Gamut changed event
-
HANDLE gamutChangedEvent = NULL;
-
-
// Work thread
-
DWORD WINAPI WorkThread(LPVOID lpParam)
-
{
-
// Some time-consuming operations
-
Sleep(5000);
-
IADLXDisplayGamutChangedEvent* gamutChanged = (IADLXDisplayGamutChangedEvent*)(lpParam);
-
printf ("On the asynchronous thread: Thread Id: %d : After the time-consuming operations, get the display gamut changed event:\n", GetCurrentThreadId());
-
printf("\tColor space change: %d\n\tWhite point change: %d\n",
-
gamutChanged->pVtbl->IsColorSpaceChanged(gamutChanged),
-
gamutChanged->pVtbl->IsWhitePointChanged(gamutChanged));
-
-
// Release the interface when the task is completed.
-
gamutChanged->pVtbl->Release(gamutChanged);
-
-
SetEvent(gamutChangedEvent);
-
-
return 0;
-
}
-
-
// CallBack for displayGamut
-
adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedListener* pThis, IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent)
-
{
-
// Acquire the interface before passing to the asynchronous thread
-
pDisplayGamutChangedEvent->pVtbl->Acquire(pDisplayGamutChangedEvent);
-
thread = CreateThread(NULL, 0, WorkThread, pDisplayGamutChangedEvent, 0, NULL);
-
-
// Returns true will make ADLX continue to notify next listener or false to stop to notify
-
return true;
-
}
-
-
// CallBack struct for displayGamut
-
typedef struct DisplayGamutCallBack
-
{
-
adlx_bool(ADLX_STD_CALL* OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*, IADLXDisplayGamutChangedEvent*);
-
} DisplayGamutCallBack;
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create event
-
gamutChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display change handling
-
IADLXDisplayChangedHandling* displayChangeHandl = NULL;
-
res = displayService->pVtbl->GetDisplayChangedHandling(displayService, &displayChangeHandl);
-
if (ADLX_SUCCEEDED(res))
-
{
-
DisplayGamutCallBack* displayGamutCallBack = (DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack));
-
displayGamutCallBack->OnDisplayGamutChanged = &OnDisplayGamutChanged;
-
-
// ADD callback to the handl
-
ADLX_RESULT addListenerRes = ADLX_FAIL;
-
{
-
addListenerRes = displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack);
-
}
-
-
// Set gamut for the first display
-
IADLXDisplayList* displays = NULL;
-
displayService->pVtbl->GetDisplays(displayService , &displays);
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
displays->pVtbl->At_DisplayList(displays, it, &display);
-
IADLXDisplayGamut* dispGamut = NULL;
-
res = displayService->pVtbl->GetGamut(displayService, display, &dispGamut);
-
res = dispGamut->pVtbl->SetGamut_PW_PG(dispGamut, WHITE_POINT_5000K, GAMUT_SPACE_CIE_RGB);
-
printf("set gamut ret: %d\n", res);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("This will trigger gamut change and send gamut change in thread: %d\n", GetCurrentThreadId());
-
}
-
if (NULL != dispGamut)
-
{
-
dispGamut->pVtbl->Release(dispGamut);
-
}
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
if (NULL != displays)
-
{
-
displays->pVtbl->Release(displays);
-
displays = NULL;
-
}
-
-
if (ADLX_SUCCEEDED (addListenerRes))
-
{
-
// Wait for gamut change
-
WaitForSingleObject(gamutChangedEvent, INFINITE);
-
CloseHandle(thread);
-
-
// Remove and destroy callback
-
res = displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack);
-
if (ADLX_FAILED (res))
-
printf("Remove display gamut event listener failed\n");
-
}
-
-
if (NULL != displayGamutCallBack)
-
{
-
free(displayGamutCallBack);
-
displayGamutCallBack = NULL;
-
}
-
}
-
-
// Release the displayChangeHandl interface
-
if (NULL != displayChangeHandl)
-
{
-
displayChangeHandl->pVtbl->Release(displayChangeHandl);
-
displayChangeHandl = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Close event
-
if (gamutChangedEvent)
-
CloseHandle(gamutChangedEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ GAMUT_SPACE_CIE_RGB
Definition: ADLXDefines.h:547
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ WHITE_POINT_5000K
Definition: ADLXDefines.h:563
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__g_p_u_service_call.html b/vendor/adlx/SDKDoc/html/c_sample__g_p_u_service_call.html deleted file mode 100644 index 129b2f8..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__g_p_u_service_call.html +++ /dev/null @@ -1,620 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUServiceCall - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUServiceCall
-
-
-
- - - -

Background

-

User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.

-

This documentation demonstrates how to call ADLX functionalities in windows service call.

-

We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.

-

Usage

-

This executable is run as service (if you run it as a normal application it will abort with errors)

-

Install this service

-
    -
  1. Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:

  2. -
-
-

“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/C/build/bin/Debug/”

-
-
    -
  1. Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:

  2. -
-
-

Text Description automatically generated

-
-
    -
  1. Check if the service is installed:

  2. -
-
-

Open windows’ service settings by win+R with services.msc:

-

Graphical user interface, text, application Description automatically generated

-

Check service with name “ADLX GPU Service”

-

-
-

Uninstall “ADLX GPU Service”

-

Open windows command line utility with administrator permission, enter “GPUService.exe -remove”

-

-

The service is removed in OS.

-

Debug this service

-
    -
  1. Start the service:

  2. -
-

Graphical user interface, application Description automatically generated

-
    -
  1. Run the debugging executable (compiled with debug configuration)

  2. -
-

Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.

-
    -
  1. Set Dbgview.exe (admin mode) with below options:

  2. -
-

Graphical user interface, text, application, email Description automatically generated

-
    -
  1. Check the service outputs (with “ADLX Call Service:”prefix):

  2. -
-

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#pragma warning(suppress: 6248)
-
-
#include <Windows.h>
-
#include <TlHelp32.h>
-
#include <wchar.h>
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/ISystem.h"
-
#include "GlobalDefs.h"
-
#include <stdio.h>
-
-
void XTrace (wchar_t* lpszFormat, ...)
-
{
-
va_list args;
-
va_start (args, lpszFormat);
-
int nBuf;
-
WCHAR szBuffer[MAX_DEBUG_STR_LEN];
-
nBuf = _vsnwprintf_s (szBuffer, MAX_DEBUG_STR_LEN, _TRUNCATE, lpszFormat, args);
-
OutputDebugStringW (szBuffer);
-
va_end (args);
-
}
-
-
// Service name
-
#define ADLX_SERVICE_NAME L"ADLX GPU Service"
-
-
// Global variables for service routine
-
SERVICE_STATUS_HANDLE g_StatusHandle = NULL;
-
SERVICE_STATUS g_ServiceStatus = { 0 };
-
HANDLE g_ServiceStopEvent = INVALID_HANDLE_VALUE;
-
-
// Service routine
-
VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv);
-
VOID WINAPI ServiceCtrlHandler (DWORD);
-
DWORD WINAPI ServiceWorkerThread (LPVOID lpParam);
-
-
// Install/unistall this service
-
// N.B: Need admin permission
-
// User can also install/unistall this service by windows command line
-
// Usage: SC CREATE "ADLX GPU Service" "GPUService.exe"
-
// SC DELETE "ADLX GPU Service"
-
void InstallService ();
-
void RemoveService ();
-
-
// Invoker GPU information with ADLX in user process by share memory communication
-
extern BOOL GetUserProcessData (Messager* messager, ResponseData* responseData);
-
-
// ADLX executor to be run in user process
-
// Retrieve the first available GPU vender id and name
-
BOOL GetAdlxGpuInfo (WCHAR* resultBuffer)
-
{
-
if (resultBuffer == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetAdlxGpuInfo: invalid argument");
-
return FALSE;
-
}
-
-
if (ADLX_FAILED (ADLXHelper_Initialize ()))
-
{
-
XTrace (L"ADLX Call Service: GetAdlxGpuInfo: ADLX helper initalize failed.");
-
return FALSE;
-
}
-
-
BOOL ret = FALSE;
-
-
IADLXSystem* sys = ADLXHelper_GetSystemServices ();
-
IADLXGPUList* gpus = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetGPUs (sys, &gpus);
-
if (ADLX_SUCCEEDED (res) && !gpus->pVtbl->Empty(gpus))
-
{
-
IADLXGPU* gpu = NULL;
-
res = gpus->pVtbl->At_GPUList (gpus, 0, &gpu);
-
if (ADLX_SUCCEEDED (res) && gpu)
-
{
-
const char* vendorId = NULL;
-
res = gpu->pVtbl->VendorId (gpu, &vendorId);
-
if (ADLX_SUCCEEDED (res))
-
{
-
swprintf_s (resultBuffer, MAX_RESULT_LEN, L"VenderId=%hs ", vendorId);
-
}
-
-
const char* gpuName = NULL;
-
res = gpu->pVtbl->Name (gpu, &gpuName);
-
if (ADLX_SUCCEEDED (res))
-
{
-
swprintf_s (resultBuffer + wcslen(resultBuffer), MAX_RESULT_LEN - wcslen (resultBuffer), L"GpuName=%hs", gpuName);
-
}
-
-
gpu->pVtbl->Release (gpu);
-
ret = TRUE;
-
}
-
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release (gpus);
-
}
-
}
-
-
return ret;
-
}
-
-
// Get and dump GPU vender id and name
-
void ShowGPUInfo ()
-
{
-
ResponseData result;
-
Messager oneMessager;
-
oneMessager.adlxEntityName = ADLX_FUNCTION_NAME;
-
oneMessager.exector = GetAdlxGpuInfo;
-
-
if (GetUserProcessData (&oneMessager, &result))
-
{
-
// Dump results
-
XTrace (L"ADLX Call Service:ShowGPUInfo: %s", result.executedResults);
-
}
-
}
-
-
// Usage
-
void Usage ()
-
{
-
printf ("\n");
-
printf ("\tThis exe is a service executable, you can install/unistall it with:\n");
-
printf ("\t SC CREATE 'ADLX GPU Service' 'GPUService.exe'\n");
-
printf ("\t SC DELETE 'ADLX GPU Service'\n");
-
printf ("\n");
-
printf ("\tOr use the executable itself to install/uninstall:\n");
-
printf ("\t GPUService.exe -install or GPUService.exe /install\n");
-
printf ("\t GPUService.exe -remove or GPUService.exe /remove\n");
-
printf ("\n");
-
printf ("\t Use GPUService.exe -help, GPUService.exe /help to show this usage, or GPUService.exe ?\n");
-
printf ("\n");
-
}
-
-
int wmain (int argc, wchar_t* argv[])
-
{
-
XTrace (L"ADLX Call Service: Main: Entry");
-
XTrace (L"ADLX Call Service: Main: Args:%s", GetCommandLineW ());
-
-
if ((argc > 1))
-
{
-
if (((*argv[1] == '-') || (*argv[1] == '/')))
-
{
-
if (_wcsicmp (L"install", argv[1] + 1) == 0)
-
{
-
InstallService ();
-
return 0;
-
}
-
else if (_wcsicmp (L"remove", argv[1] + 1) == 0)
-
{
-
RemoveService ();
-
return 0;
-
}
-
else if (_wcsicmp (L"help", argv[1] + 1) == 0)
-
{
-
Usage ();
-
return 0;
-
}
-
}
-
else if (_wcsicmp (L"?", argv[1]) == 0)
-
{
-
Usage ();
-
return 0;
-
}
-
}
-
else if (_wcsicmp (L"GPUInfo", GetCommandLineW ()) == 0)
-
{
-
WCHAR eventPath[MAX_PATH] = { 0 };
-
WCHAR shmPath[MAX_PATH] = { 0 };
-
-
swprintf_s (eventPath, MAX_PATH, ADXL_EVENT_NAME, ADLX_FUNCTION_NAME);
-
swprintf_s (shmPath, MAX_PATH, ADXL_SHAREMENORY_NAME, ADLX_FUNCTION_NAME);
-
-
XTrace (L"ADLX Call Service: Main: GPUInfo evt: %s, shmpath: %s\n", eventPath, shmPath);
-
-
if (ShmCreate (shmPath, SHARE_MEMORY_MAX_SIZE))
-
{
-
Messager messager;
-
if (ShmReadBuffer (shmPath, (PVOID)&messager, sizeof (Messager)))
-
{
-
ResponseData result;
-
if (messager.exector (result.executedResults))
-
{
-
result.size = (int)wcslen (result.executedResults);
-
ShmWriteBuffer (shmPath, (PVOID*)&result, (ULONG)sizeof (result));
-
-
HANDLE hEvent = OpenEventW (EVENT_ALL_ACCESS, FALSE, eventPath);
-
if (hEvent)
-
{
-
SetEvent (hEvent);
-
CloseHandle (hEvent);
-
XTrace (L"ADLX Call Service: Main: GPUInfo, user app finished.");
-
}
-
}
-
}
-
}
-
-
return 0;
-
}
-
-
SERVICE_TABLE_ENTRYW ServiceTable[] =
-
{
-
{ ADLX_SERVICE_NAME, (LPSERVICE_MAIN_FUNCTIONW)ServiceMain },
-
{ NULL, NULL }
-
};
-
-
if (StartServiceCtrlDispatcherW (ServiceTable) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: Main: StartServiceCtrlDispatcher returned error.");
-
return GetLastError ();
-
}
-
-
XTrace (L"ADLX Call Service: Main: Exit");
-
-
return 0;
-
}
-
-
VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv)
-
{
-
DWORD Status = E_FAIL;
-
-
XTrace (L"ADLX Call Service: ServiceMain: Entry");
-
-
g_StatusHandle = RegisterServiceCtrlHandlerW (ADLX_SERVICE_NAME, ServiceCtrlHandler);
-
if (g_StatusHandle == NULL)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: RegisterServiceCtrlHandler returned error");
-
goto EXIT;
-
}
-
-
// Tell the service controller we are starting
-
ZeroMemory (&g_ServiceStatus, sizeof (g_ServiceStatus));
-
g_ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwServiceSpecificExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 0;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
/*
-
* Perform tasks neccesary to start the service here
-
*/
-
XTrace (L"ADLX Call Service: ServiceMain: Performing Service Start Operations");
-
-
// Create stop event to wait on later.
-
g_ServiceStopEvent = CreateEvent (NULL, TRUE, FALSE, NULL);
-
if (g_ServiceStopEvent == NULL)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: CreateEvent(g_ServiceStopEvent) returned error");
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOPPED;
-
g_ServiceStatus.dwWin32ExitCode = GetLastError ();
-
g_ServiceStatus.dwCheckPoint = 1;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
goto EXIT;
-
}
-
-
// Tell the service controller we are started
-
g_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
-
g_ServiceStatus.dwCurrentState = SERVICE_RUNNING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 0;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
// Start the thread that will perform the main task of the service
-
HANDLE hThread = CreateThread (NULL, 0, ServiceWorkerThread, NULL, 0, NULL);
-
-
XTrace (L"ADLX Call Service: ServiceMain: Waiting for Worker Thread to complete");
-
-
// Wait until our worker thread exits effectively signaling that the service needs to stop
-
WaitForSingleObject (hThread, INFINITE);
-
-
XTrace (L"ADLX Call Service: ServiceMain: Worker Thread Stop Event signaled");
-
-
/*
-
* Perform any cleanup tasks
-
*/
-
XTrace (L"ADLX Call Service: ServiceMain: Performing Cleanup Operations");
-
-
CloseHandle (g_ServiceStopEvent);
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOPPED;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 3;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
EXIT:
-
XTrace (L"ADLX Call Service: ServiceMain: Exit");
-
-
return;
-
}
-
-
VOID WINAPI ServiceCtrlHandler (DWORD CtrlCode)
-
{
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: Entry");
-
-
switch (CtrlCode)
-
{
-
case SERVICE_CONTROL_STOP:
-
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: SERVICE_CONTROL_STOP Request");
-
-
if (g_ServiceStatus.dwCurrentState != SERVICE_RUNNING)
-
break;
-
-
/*
-
* Perform tasks neccesary to stop the service here
-
*/
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 4;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: SetServiceStatus returned error");
-
}
-
-
// This will signal the worker thread to shut down
-
SetEvent (g_ServiceStopEvent);
-
break;
-
-
default:
-
break;
-
}
-
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: Exit");
-
}
-
-
DWORD WINAPI ServiceWorkerThread (LPVOID lpParam)
-
{
-
XTrace (L"ADLX Call Service: ServiceWorkerThread: Entry");
-
-
// Periodically check if the service has been requested to stop
-
while (WaitForSingleObject (g_ServiceStopEvent, 0) != WAIT_OBJECT_0)
-
{
-
ShowGPUInfo ();
-
Sleep (3 * 1000);
-
}
-
-
XTrace (L"ADLX Call Service: ServiceWorkerThread: Exit");
-
-
return ERROR_SUCCESS;
-
}
-
-
void InstallService ()
-
{
-
WCHAR path[512] = { 0 };
-
if (GetModuleFileNameW (NULL, path, 512) == 0)
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot get g_SharedFile path.");
-
return;
-
}
-
-
SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE);
-
if (serviceManager)
-
{
-
SC_HANDLE serviceHandle = CreateServiceW (
-
serviceManager, ADLX_SERVICE_NAME, ADLX_SERVICE_NAME, SERVICE_QUERY_STATUS,
-
SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS,
-
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path,
-
NULL, NULL, L"", NULL, NULL);
-
-
if (serviceHandle)
-
{
-
CloseServiceHandle (serviceHandle);
-
}
-
else
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot create service.");
-
}
-
-
CloseServiceHandle (serviceManager);
-
}
-
else
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot open service.");
-
}
-
}
-
-
void RemoveService ()
-
{
-
SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT);
-
if (!serviceManager)
-
{
-
XTrace (L"ADLX Call Service: RemoveService: Cannot open service manager.");
-
return;
-
}
-
-
SC_HANDLE serviceHandle = OpenServiceW (serviceManager, ADLX_SERVICE_NAME, DELETE | SERVICE_STOP);
-
if (!serviceHandle)
-
{
-
CloseServiceHandle (serviceManager);
-
XTrace (L"ADLX Call Service: RemoveService: Cannot open service.");
-
return;
-
}
-
-
if (!DeleteService (serviceHandle))
-
{
-
CloseServiceHandle (serviceHandle);
-
CloseServiceHandle (serviceManager);
-
XTrace (L"ADLX Call Service: RemoveService: Delete service failed.");
-
return;
-
}
-
-
XTrace (L"ADLX Call Service: RemoveService: Deleted service.");
-
-
SERVICE_STATUS serviceStatus = { 0 };
-
ControlService (serviceHandle, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&serviceStatus);
-
-
CloseServiceHandle (serviceHandle);
-
CloseServiceHandle (serviceManager);
-
}
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__invalid_object.html b/vendor/adlx/SDKDoc/html/c_sample__invalid_object.html deleted file mode 100644 index f5e27cc..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__invalid_object.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: InvalidObject - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
InvalidObject
-
-
-
- - - -

Demonstrates how to handle invalid objects when programming with ADLX.

-

Sample Path

-

/Samples/C/Generic/InvalidObject

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the display list and iterate through the list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_uint it = displayList->pVtbl->Begin(displayList);
-
IADLXDisplay* display = NULL;
-
for (; it != displayList->pVtbl->End(displayList); it++)
-
{
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Save the first display
-
break;
-
}
-
}
-
-
// Get the display name and prompt to unplug the display
-
const char* dispName;
-
res = display->pVtbl->Name(display, &dispName);
-
printf("Within 15 seconds, unplug the display %s. \n", dispName);
-
-
// Block for 15s
-
Sleep(15 * 1000);
-
-
// After 15 seconds, reading the display name again. If the display was unplugged, the method will fail and return ADLX_INVALID_OBJECT.
-
res = display->pVtbl->Name(display, &dispName);
-
printf ("Get display name return code is: %d (%d means that the method was called into an invalid object)\n", res, ADLX_INVALID_OBJECT);
-
if (ADLX_INVALID_OBJECT == res)
-
{
-
//To do: Handle the invalid display
-
printf ("The display is invalid.\n");
-
}
-
//Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ ADLX_INVALID_OBJECT
Definition: ADLXDefines.h:289
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__primary_adapter.html b/vendor/adlx/SDKDoc/html/c_sample__primary_adapter.html deleted file mode 100644 index cc5cb10..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__primary_adapter.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PrimaryAdapter - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PrimaryAdapter
-
-
-
- - - -

Demonstrates how to get the primary adapter when programming with ADLX.

-

Command Prompts

- - - - - - - - - -
Command PromptDescription
1 Display the Primary Adapter.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Desktop/PrimaryAdapter

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl();
-
-
// Display how to get primary adapter
-
void ShowPrimaryAdapter();
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl();
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display the Primary Adapter\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl()
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display the Primary Adapter
-
case '1':
-
ShowPrimaryAdapter();
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Display how to get primary adapter
-
void ShowPrimaryAdapter()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXDesktopServices* desktopsInfo = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXDesktopList* desktops = NULL;
-
res = desktopsInfo->pVtbl->GetDesktops(desktopsInfo, &desktops);
-
if (ADLX_SUCCEEDED(res))
-
{
-
for (adlx_uint crt = desktops->pVtbl->Begin(desktops); crt != desktops->pVtbl->End(desktops); ++crt)
-
{
-
IADLXDesktop* desktop = NULL;
-
res = desktops->pVtbl->At_DesktopList(desktops, crt, &desktop);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_Point point = { 0 };
-
res = desktop->pVtbl->TopLeft (desktop, &point);
-
if (ADLX_SUCCEEDED (res) && 0 == point.x && 0 == point.y)
-
{
-
IADLXDisplayList* displays = NULL;
-
res = desktop->pVtbl->GetDisplays (desktop, &displays);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get the first display
-
IADLXDisplay* display = NULL;
-
res = displays->pVtbl->At_DisplayList (displays, 0, &display);
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXGPU* gpu = NULL;
-
res = display->pVtbl->GetGPU (display, &gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
const char* gpuName;
-
gpu->pVtbl->Name (gpu, &gpuName);
-
printf("Primary Adapter: %s\n", gpuName);
-
}
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
if (display != NULL)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
if (displays != NULL)
-
{
-
displays->pVtbl->Release(displays);
-
displays = NULL;
-
}
-
}
-
}
-
else
-
printf("\tDesktop is NULL\n");
-
-
if (desktop != NULL)
-
{
-
desktop->pVtbl->Release(desktop);
-
desktop = NULL;
-
}
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop interface\n");
-
-
if (desktops != NULL)
-
{
-
desktops->pVtbl->Release(desktops);
-
desktops = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop Services interface\n");
-
-
if (desktopsInfo != NULL)
-
{
-
desktopsInfo->pVtbl->Release(desktopsInfo);
-
desktopsInfo = NULL;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int y
Definition: ADLXStructures.h:40
-
adlx_int x
Definition: ADLXStructures.h:39
-
This structure contains information on driver point coordinates, and is used to store the driver-poin...
Definition: ADLXStructures.h:38
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__share_memory.html b/vendor/adlx/SDKDoc/html/c_sample__share_memory.html deleted file mode 100644 index 61d21b6..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__share_memory.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ShareMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ShareMemory
-
-
-

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include <Windows.h>
-
#include "GlobalDefs.h"
-
-
static HANDLE g_SharedFile = NULL;
-
static PVOID g_SharedBuffer = NULL;
-
-
// Create shared memory
-
BOOL ShmCreate (WCHAR* shmFileName, ULONG sharedFilesize)
-
{
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
-
// N.B: After setting this permission, the general application does not have administrator privileges
-
// In order to start to open mapping g_SharedFile Otherwise Access Denny
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
HANDLE g_SharedFile = CreateFileMappingW (INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, sharedFilesize, shmFileName);
-
if (g_SharedFile == NULL)
-
{
-
XTrace (L"ADLX Call Service: ShareMem::Create: CreateFileMappingW, error: %d\n", GetLastError());
-
return FALSE;
-
}
-
-
LPVOID g_SharedBuffer = MapViewOfFile (g_SharedFile, FILE_MAP_ALL_ACCESS, 0, 0, sharedFilesize);
-
if (g_SharedBuffer == NULL)
-
{
-
XTrace (L"ADLX Call Service: ShareMem::Create: MapViewOfFile, error: %d\n", GetLastError ());
-
return FALSE;
-
}
-
-
XTrace (L"ADLX Call Service: ShareMem::Create: OK\n");
-
-
return TRUE;
-
}
-
-
// Destory shared memory
-
VOID ShmDestory ()
-
{
-
if (g_SharedBuffer)
-
{
-
UnmapViewOfFile (g_SharedBuffer);
-
g_SharedBuffer = NULL;
-
}
-
-
if (g_SharedFile)
-
{
-
CloseHandle (g_SharedFile);
-
g_SharedFile = NULL;
-
}
-
}
-
-
// Write data to shared memory
-
BOOL ShmWriteBuffer (WCHAR* shmFileName, PVOID buffer, ULONG size)
-
{
-
HANDLE shmFile = OpenFileMappingW (FILE_MAP_ALL_ACCESS, FALSE, shmFileName);
-
if (shmFile)
-
{
-
LPVOID g_SharedBuffer = MapViewOfFile (shmFile, FILE_MAP_ALL_ACCESS, 0, 0, size);
-
if (g_SharedBuffer)
-
{
-
memcpy_s (g_SharedBuffer, size, buffer, size);
-
return TRUE;
-
}
-
}
-
return FALSE;
-
}
-
-
// Read data from shared memory
-
BOOL ShmReadBuffer (WCHAR* shmFileName, PVOID buffer, ULONG size)
-
{
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
BOOL result = FALSE;
-
HANDLE g_SharedFile = OpenFileMappingW (FILE_MAP_ALL_ACCESS, FALSE, shmFileName);
-
if (g_SharedFile)
-
{
-
g_SharedBuffer = MapViewOfFile (g_SharedFile, FILE_MAP_ALL_ACCESS, 0, 0, size);
-
if (g_SharedBuffer)
-
{
-
memcpy_s (buffer, size, g_SharedBuffer, size);
-
result = TRUE;
-
}
-
}
-
-
return result;
-
}
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample__work_with_a_d_l.html b/vendor/adlx/SDKDoc/html/c_sample__work_with_a_d_l.html deleted file mode 100644 index c381c07..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample__work_with_a_d_l.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: WorkWithADL - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
WorkWithADL
-
-
-
- - - -

Demonstartes how to work with ADLX along ADL when programming with ADLX.

- -

Sample Path

-

/Samples/C/Generic/WorkWithADL

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
-
// ADL dll name
-
#ifndef _WIN64
-
#define ADL_DLL_Name L"atiadlxy.dll"
-
#else // WIN32
-
#define ADL_DLL_Name L"atiadlxx.dll"
-
#endif
-
-
typedef void*(__stdcall* ADL_MALLOC_CALL)(int);
-
typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL, int iEnumConnectedAdapter, void** context, int);
-
typedef int (*ADL_MAIN_CONTROL_DESTROY)(void*);
-
-
// Memory allocation callback for ADL
-
// iSize_ - number of bytes to be allocated
-
static void* __stdcall ADL_Client_Main_Memory_Alloc(int iSize_)
-
{
-
void* lpBuffer = malloc(iSize_);
-
return lpBuffer;
-
}
-
-
// Callback ADL for memory release
-
// lpBuffer_ - the memory buffer to dealocate and make NULL
-
static void __stdcall ADL_Main_Memory_Free_Client(void** lpBuffer_)
-
{
-
if (NULL != lpBuffer_ && NULL != *lpBuffer_)
-
{
-
free(*lpBuffer_);
-
*lpBuffer_ = NULL;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
//Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("Pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Define ADL context and ADL dll handle
-
void* adlContext = NULL;
-
HINSTANCE adlDll = NULL;
-
-
// Initialize ADL
-
adlDll = LoadLibraryW(ADL_DLL_Name);
-
if (NULL == adlDll)
-
return WaitAndExit("ADL initialization failed", 0);
-
ADL_MAIN_CONTROL_CREATE adlCreate = (ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll, "ADL2_Main_ControlX2_Create");
-
if (adlCreate)
-
adlCreate(ADL_Client_Main_Memory_Alloc, 1, &adlContext, 1);
-
printf("ADL initialized successfully\n");
-
-
// Initialize ADLX
-
res = ADLXHelper_InitializeWithCallerAdl(adlContext, ADL_Main_Memory_Free_Client);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("ADLX initialized successfully\n");
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
}
-
-
const char* adlxVersion = ADLXHelper_QueryVersion();
-
printf("ADLX version: %s\n", adlxVersion);
-
adlx_uint64 adlxFullVersion = ADLXHelper_QueryFullVersion();
-
printf("ADLX full version: %lld\n", adlxFullVersion);
-
-
// Demonstrates mapping between ADL and ADLX data
-
IADLXSystem* systemService = ADLXHelper_GetSystemServices();
-
IADLMapping* adlMapping = ADLXHelper_GetAdlMapping();
-
-
if (systemService && adlMapping)
-
{
-
adlx_uint totalRAM = 0;
-
systemService->pVtbl->TotalSystemRAM(systemService, &totalRAM);
-
printf("Total System RAM: %d MB\n", totalRAM);
-
// Map ADLX to ADL
-
IADLXGPUList* gpus = NULL;
-
systemService->pVtbl->GetGPUs(systemService, &gpus);
-
IADLXGPU* gpu = NULL;
-
adlx_uint it = 0;
-
gpus->pVtbl->At_GPUList(gpus, it, &gpu);
-
const char* name = NULL;
-
gpu->pVtbl->Name(gpu, &name);
-
adlx_int adapterIndex;
-
adlMapping->pVtbl->AdlAdapterIndexFromADLXGPU(adlMapping, gpu, &adapterIndex);
-
printf("ADL AdapterIndex from ADLXGPU: %s, adapterIndex is : %d\n", name, adapterIndex);
-
adlx_int bus = 0;
-
adlx_int device = 0;
-
adlx_int function = 0;
-
res = adlMapping->pVtbl->BdfFromADLXGPU (adlMapping, gpu, &bus, &device, &function);
-
printf("Get BDF from ADLXGPU bus: %d, device: %d, function: %d\n", bus, device, function);
-
-
if (gpu != NULL)
-
{
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
gpus = NULL;
-
}
-
-
// Map ADL to ADLX, get adapterIndex via ADL
-
IADLXGPU* gpuInfo = NULL;
-
adlMapping->pVtbl->GetADLXGPUFromAdlAdapterIndex(adlMapping, adapterIndex, &gpuInfo);
-
gpuInfo->pVtbl->Name(gpuInfo, &name);
-
printf(" ADLXGPU from adapterIndex: %d, the GPU name is : %s\n", adapterIndex, name);
-
-
if (gpuInfo != NULL)
-
{
-
gpuInfo->pVtbl->Release(gpuInfo);
-
gpuInfo = NULL;
-
}
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Destroy ADL
-
ADL_MAIN_CONTROL_DESTROY adlDestroy = (ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll, "ADL2_Main_Control_Destroy");
-
if (NULL != adlDestroy)
-
adlDestroy(adlContext);
-
FreeLibrary(adlDll);
-
adlDll = NULL;
-
adlContext = NULL;
-
printf("Destroy ADL\n");
-
-
// Pause to see the print out
-
system("Pause");
-
return 0;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_desktopevent.html b/vendor/adlx/SDKDoc/html/c_sample_desktopevent.html deleted file mode 100644 index 2282e86..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_desktopevent.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DesktopsEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DesktopsEvent
-
-
-
- - - -

Demonstrates how to access desktop changed handle options, add/remove call back for changed events, and perform related testing when programming with ADLX.
- To receive the event, another application must be used to change these settings, such as the Eyefinity. -

-

Sample Path

-

/Samples/C/Desktop/DesktopsEvent

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "conio.h"
-
-
// Event to verify call back
-
HANDLE hDesktopChangedEvent = NULL;
-
HANDLE hQuitSignal = NULL;
-
-
// Call back to handle changed events
-
adlx_bool ADLX_STD_CALL OnDesktopListChanged(IADLXDesktopListChangedListener* pThis, IADLXDesktopList* pDesktopList)
-
{
-
printf("Desktop list is changed\n");
-
ADLX_RESULT res = ADLX_FAIL;
-
adlx_bool slsActive = false;
-
IADLXDesktop* desktop = NULL;
-
for (adlx_uint crt = pDesktopList->pVtbl->Begin(pDesktopList); crt != pDesktopList->pVtbl->End(pDesktopList); crt++)
-
{
-
res = pDesktopList->pVtbl->At_DesktopList(pDesktopList, crt, &desktop);
-
if (NULL != desktop)
-
{
- -
desktop->pVtbl->Type(desktop, &adlxType);
-
if (adlxType == DESKTOP_EYEFINITY)
-
{
-
printf("Eyefinity Creation Event is received\n");
-
slsActive = true;
-
if (desktop != NULL)
-
{
-
desktop->pVtbl->Release(desktop);
-
desktop = NULL;
-
}
-
break;
-
}
-
if (desktop != NULL)
-
{
-
desktop->pVtbl->Release(desktop);
-
desktop = NULL;
-
}
-
}
-
}
-
-
if (false == slsActive)
-
{
-
printf("Eyefinity Destruction Event is received\n");
-
}
-
SetEvent(hDesktopChangedEvent);
-
-
return true;
-
}
-
-
// Thread to detect quit input
-
DWORD WINAPI QuitWait(LPVOID lpParam);
-
-
static IADLXDesktopListChangedListenerVtbl vtbl = {&OnDesktopListChanged};
-
static IADLXDesktopListChangedListener eventListener = {&vtbl};
-
-
int main()
-
{
-
// Add the following code to set environment variable
-
LPCSTR EnvironmentVariable = "ADL_4KWORKAROUND_CANCEL";
-
SetEnvironmentVariableA(EnvironmentVariable, "TRUE");
-
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
IADLXDesktopServices* desktopServices = NULL;
-
IADLXSimpleEyefinity* eyefinity = NULL;
-
IADLXDesktopChangedHandling* eventHandling = NULL;
-
IADLXEyefinityDesktop* eyefinityDesktop = NULL;
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create desktop changed event and user input event
-
hDesktopChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
hQuitSignal = CreateEvent(NULL, TRUE, FALSE, NULL);
-
HANDLE hSignalArray[2] = { hDesktopChangedEvent, hQuitSignal };
-
-
// Get desktop services
-
res = sys->pVtbl->GetDesktopsServices(sys, &desktopServices);
-
-
if (desktopServices != NULL && ADLX_SUCCEEDED(res))
-
{
-
adlx_uint numDesktop;
-
res = desktopServices->pVtbl->GetNumberOfDesktops(desktopServices, &numDesktop);
-
printf("The number of desktop is: %d\n", numDesktop);
-
-
desktopServices->pVtbl->GetSimpleEyefinity(desktopServices, &eyefinity);
-
if (eyefinity != NULL && ADLX_SUCCEEDED(res))
-
{
-
// Verify if Eyefinity is supported
-
adlx_bool supported = false;
-
eyefinity->pVtbl->IsSupported(eyefinity, &supported);
-
if (supported)
-
{
-
desktopServices->pVtbl->GetDesktopChangedHandling(desktopServices, &eventHandling);
-
eventHandling->pVtbl->AddDesktopListEventListener(eventHandling, &eventListener);
-
-
printf("Waiting for desktop event... Press Q/q to quit\n");
-
// create a thread to detect user's input for quit
-
adlx_bool loopFlag = true;
-
DWORD threadId = 0;
-
HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId);
-
-
res = eyefinity->pVtbl->Create(eyefinity, &eyefinityDesktop);
-
-
while (true)
-
{
-
// Waiting for receiving desktop event or user exit event
-
WaitForMultipleObjects(2, hSignalArray, FALSE, INFINITE);
-
if (!loopFlag)
-
{
-
CloseHandle(hThread);
-
break;
-
}
-
ResetEvent(hDesktopChangedEvent);
-
}
-
-
res = eyefinity->pVtbl->DestroyAll(eyefinity);
-
eventHandling->pVtbl->RemoveDesktopListEventListener(eventHandling, &eventListener);
-
}
-
else
-
{
-
printf("Do not support eyefinity\n");
-
}
-
}
-
else
-
{
-
printf("Get simple eyefinity failed\n");
-
}
-
}
-
else
-
{
-
printf("Failed to get the desktop Services\n");
-
}
-
}
-
else
-
{
-
printf("ADLX initialize failed\n");
-
return 0;
-
}
-
-
if (eyefinityDesktop != NULL)
-
{
-
eyefinityDesktop->pVtbl->Release(eyefinityDesktop);
-
eyefinityDesktop = NULL;
-
}
-
if (eventHandling != NULL)
-
{
-
eventHandling->pVtbl->Release(eventHandling);
-
eventHandling = NULL;
-
}
-
if (eyefinity != NULL)
-
{
-
eyefinity->pVtbl->Release(eyefinity);
-
eyefinity = NULL;
-
}
-
if (desktopServices != NULL)
-
{
-
desktopServices->pVtbl->Release(desktopServices);
-
desktopServices = NULL;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Close event
-
if (hDesktopChangedEvent)
-
CloseHandle(hDesktopChangedEvent);
-
if (hQuitSignal)
-
CloseHandle(hQuitSignal);
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
DWORD WINAPI QuitWait(LPVOID lpParam)
-
{
-
adlx_bool* loopFlag = (adlx_bool*)lpParam;
-
while (true)
-
{
-
// Non-block I/O, check I/O cache whether have characters.
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(hQuitSignal);
-
}
-
}
-
Sleep(100);
-
}
-
}
-
@ DESKTOP_EYEFINITY
Definition: ADLXDefines.h:617
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_DESKTOP_TYPE
Types of desktops in respect to display composition.
Definition: ADLXDefines.h:614
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_display3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/c_sample_display3_d_l_u_t.html deleted file mode 100644 index de41faa..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_display3_d_l_u_t.html +++ /dev/null @@ -1,779 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Display3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Display3DLUT
-
-
-
- - - -

Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display 3DLUT support.
2 Get 3DLUT state.
3 Set current SCE to disabled.
4 Set current SCE feature to Vivid Gaming profile.
5 Set current SCE feature to Dynamic Contrast profile.
6 Show user 3DLUT support.
7 Clear user 3DLUT.
8 Demonstrate SDR user 3DLUT.
9 Demonstrate HDR user 3DLUT.
a Demonstrate all user 3DLUT.
b Get user 3DLUT index.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/Display3DLUT

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplay3DLUT.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <math.h>
-
-
const adlx_int DefaultNumOfPoints = MAX_USER_3DLUT_NUM_POINTS;
-
-
// Display display3DLUT support
-
void ShowDisplay3DLUTSupport (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === 3D LUT supported status ===\n");
-
adlx_bool supported;
-
ADLX_RESULT res = display3DLUT->pVtbl->IsSupportedSCE (display3DLUT, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs SCE supported on this display: %d\n", supported);
-
res = display3DLUT->pVtbl->IsSupportedSCEVividGaming (display3DLUT, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs SCE Vivid Gaming preset supported on this display: %d\n", supported);
-
res = display3DLUT->pVtbl->IsSupportedSCEDynamicContrast(display3DLUT, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs SCE Dynamic Contrast supported on this display: %d\n", supported);
-
res = display3DLUT->pVtbl->IsSupportedUser3DLUT (display3DLUT, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs 3DLUT supported on this display: %d\n", supported);
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Display current display3DLUT state
-
void Get3DLUTState (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Get 3D LUT ===\n");
-
adlx_bool applied = false;
-
res = display3DLUT->pVtbl->IsCurrentSCEDisabled (display3DLUT, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs SCE used on this display: %d\n", applied);
-
res = display3DLUT->pVtbl->IsCurrentSCEVividGaming (display3DLUT, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf ("\tIs SCE Vivid Gaming preset used on this display: %d\n", applied);
-
res = display3DLUT->pVtbl->IsCurrentSCEDynamicContrast(display3DLUT, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs SCE Vivid Dynamic Contrast preset used on this display: %d\n", applied);
-
if (applied)
-
{
- -
display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT, &range);
-
printf("\t\tDynamic Contrast range is: [ %d, %d ]\n", range.minValue, range.maxValue);
-
adlx_int contrast;
-
display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT, &contrast);
-
printf("\t\tDynamic Contrast is: %d\n", contrast);
-
}
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Set display3DLUT
-
void Set3DLUTState (IADLXDisplayServices* displayService, IADLXDisplay* display, int key)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Set 3D LUT ===\n");
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set SCE disabled
-
case 0:
-
res = display3DLUT->pVtbl->SetSCEDisabled (display3DLUT);
-
break;
-
// Set SCE Vivid Gaming preset
-
case 1:
-
res = display3DLUT->pVtbl->SetSCEVividGaming (display3DLUT);
-
break;
-
// Set SCE Dynamic Contrast
-
case 2:
-
{
- -
display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT, &range);
-
adlx_int curContrast;
-
display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT, &curContrast);
-
adlx_int contrast;
-
if (curContrast != range.minValue)
-
{
-
contrast = range.minValue;
-
res = display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT, contrast);
-
printf ("\tUse minimum Dynamic Contrast\n");
-
}
-
else
-
{
-
contrast = range.maxValue;
-
res = display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT, contrast);
-
printf("\tUse maximum Dynamic Contrast\n");
-
}
-
}
-
break;
-
default:
-
break;
-
}
-
printf ("\treturn code(0 means Success) is: %d\n", res);
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Get user 3D LUT support
-
void IsSupportedUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === IsSupportedUser3DLUT ===\n");
-
adlx_bool supported = false;
-
res = display3DLUT->pVtbl->IsSupportedUser3DLUT (display3DLUT, &supported);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === IsSupportedUser3DLUT: %s\n", (supported ? "True" : "False"));
-
}
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Clear user 3D LUT
-
void ClearUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === ClearUser3DLUT ===\n");
-
res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === ClearUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === ClearUser3DLUT failed ===\n");
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Helper functions
-
inline double Inputvalue (int index, int bitDepth, int numOfPoints)
-
{
-
return fmin ((float)(index * pow (2, bitDepth) / (float)(numOfPoints - 1)), pow (2, bitDepth) - 1);
-
}
-
-
// Generate 3D LUT data
-
adlx_bool GenerateUser3DLUT_BW (IADLXDisplayServices* displayService, IADLXDisplay* display, adlx_int numOfPoints, ADLX_3DLUT_Data* user3DLUT)
-
{
-
adlx_bool ret = true;
-
const int bitDepth = 16;
-
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
ADLX_UINT16_RGB rgbCordinate = { 0, 0, 0 };
-
adlx_int index = 0;
-
-
for (int r = 0; r < numOfPoints; r++)
-
{
-
for (int g = 0; g < numOfPoints; g++)
-
{
-
for (int b = 0; b < numOfPoints; b++)
-
{
-
rgbCordinate.red = r;
-
rgbCordinate.green = g;
-
rgbCordinate.blue = b;
-
-
double temp = 0.25 * Inputvalue (r, bitDepth, numOfPoints) + 0.625 * Inputvalue (g, bitDepth, numOfPoints) + 0.125 * Inputvalue (b, bitDepth, numOfPoints);
-
res = display3DLUT->pVtbl->GetUser3DLUTIndex (display3DLUT, numOfPoints, &rgbCordinate, &index);
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
adlx_uint16 tValue = (adlx_uint16)(temp);
-
user3DLUT->data[index].red = tValue;
-
user3DLUT->data[index].green = tValue;
-
user3DLUT->data[index].blue = tValue;
-
}
-
else
-
{
-
ret = false;
-
goto EXIT;
-
}
-
}
-
}
-
}
-
}
-
-
// Release the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
-
EXIT:
-
return ret;
-
}
-
-
// Get or Set SDR user 3DLUT
-
void DemoSDRUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
// Generate data
-
if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
printf (" === SetSDRUser3DLUT ===\n");
-
res = display3DLUT->pVtbl->SetSDRUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === SetSDRUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === SetSDRUser3DLUT failed ===\n");
-
-
printf (" === GetSDRUser3DLUT ===\n");
-
res = display3DLUT->pVtbl->GetSDRUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === GetSDRUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === GetSDRUser3DLUT failed ===\n");
-
-
// Clear
-
res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Clear successful ===\n");
-
}
-
else
-
printf (" === Clear failed ===\n");
-
}
-
}
-
-
// Releae the display3DLUT interface
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Get or Set HDR user 3DLUT
-
void DemoHDRUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
// Generate data
-
if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
printf (" === SetHDRUser3DLUT ===\n");
-
-
res = display3DLUT->pVtbl->SetHDRUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === SetHDRUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === SetHDRUser3DLUT failed ===\n");
-
-
printf (" === GetHDRUser3DLUT ===\n");
-
res = display3DLUT->pVtbl->GetHDRUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === GetHDRUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === GetHDRUser3DLUT failed ===\n");
-
-
// Clear
-
res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Restore successful ===\n");
-
}
-
else
-
printf (" === Restore failed ===\n");
-
}
-
}
-
-
// Free display3DLUT
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Get/Set all user 3DLUT
-
void DemoAllUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
// Generate data
-
if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
printf (" === SetAllUser3DLUT ===\n");
-
-
res = display3DLUT->pVtbl->SetAllUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === SetAllUser3DLUT successful ===\n");
-
}
-
else
-
printf (" === SetAllUser3DLUT failed ===\n");
-
-
printf (" === GetAllUser3DLUT ===\n");
-
res = display3DLUT->pVtbl->GetAllUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === GetAllUser3DLUT succesful ===\n");
-
}
-
else
-
printf (" === GetAllUser3DLUT failed ===\n");
-
-
// Clear
-
display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Clear successful ===\n");
-
}
-
else
-
printf (" === Clear failed ===\n");
-
}
-
}
-
-
// Free display3DLUT
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Get 3DLUT index
-
void GetUser3DLUTIndex (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUT* display3DLUT = NULL;
-
ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Get user 3DLUT index ===\n");;
-
-
adlx_int index = 0;
-
adlx_int lutSize = 6; //5 <= lutSize <= 17
-
ADLX_UINT16_RGB rgb = { 0, 0, 0 };
-
-
res = display3DLUT->pVtbl->GetUser3DLUTIndex (display3DLUT, lutSize, &rgb, &index);
-
if (ADLX_SUCCEEDED (res))
-
{
-
printf (" === Get user3 DLUT index successful, index: %d===\n", index);
-
}
-
else
-
printf (" === Get user 3DLUT index failed ===\n");;
-
}
-
-
// Free display3DLUT
-
if (NULL != display3DLUT)
-
{
-
display3DLUT->pVtbl->Release (display3DLUT);
-
display3DLUT = NULL;
-
}
-
}
-
-
// Main menu
-
void MainMenu ()
-
{
-
printf ("\tChoose from following options\n");
-
-
printf ("\t->Press 1 to display 3DLUT support\n");
-
-
printf ("\t->Press 2 to get 3DLUT state\n");
-
-
printf ("\t->Press 3 to set current SCE to disabled\n");
-
printf ("\t->Press 4 to set current SCE feature to Vivid Gaming preset\n");
-
printf ("\t->Press 5 to set current SCE feature to Dynamic Contrast\n");
-
-
printf ("\t->Press 6 to get user 3DLUT support\n");
-
printf ("\t->Press 7 to clear user 3DLUT\n");
-
printf ("\t->Press 8 to show how to set/get SDR user 3DLUT\n");
-
printf ("\t->Press 9 to show how to set/get HDR user 3DLUT\n");
-
printf ("\t->Press a to show how to set/get all user 3DLUT\n");
-
printf ("\t->Press b to get 3DLUT index\n");
-
-
printf ("\t->Press Q/q to terminate the application\n");
-
printf ("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl (IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
int num = 0;
-
while ((num = getchar ()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
case '1':
-
ShowDisplay3DLUTSupport (displayService, display);
-
break;
-
case '2':
-
Get3DLUTState (displayService, display);
-
break;
-
case '3':
-
case '4':
-
case '5':
-
Set3DLUTState (displayService, display, num - '3');
-
break;
-
case '6':
-
IsSupportedUser3DLUT (displayService, display);
-
break;
-
case '7':
-
ClearUser3DLUT (displayService, display);
-
break;
-
case '8':
-
DemoSDRUser3DLUT (displayService, display);
-
break;
-
case '9':
-
DemoHDRUser3DLUT (displayService, display);
-
break;
-
case 'a':
-
DemoAllUser3DLUT (displayService, display);
-
break;
-
case 'b':
-
GetUser3DLUTIndex (displayService, display);
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu ();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf ("%s\n", msg);
-
-
system ("pause");
-
return retCode;
-
}
-
-
int main ()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices ();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices (sys, &displayService);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays (displayService, &displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList (displayList, it, &display);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Display main menu options
-
MainMenu ();
-
// Get and execute the choice
-
MenuControl (displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release (display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release (displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release (displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit ("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate ();
-
printf ("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
@ TF_SRGB
Definition: ADLXDefines.h:912
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ CS_SRGB
Definition: ADLXDefines.h:927
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
#define MAX_USER_3DLUT_NUM_POINTS
Definition: ADLXDefines.h:530
-
ADLX_3DLUT_TRANSFER_FUNCTION
Indicates the User 3D LUT transfer function.
Definition: ADLXDefines.h:911
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_3DLUT_COLORSPACE
Indicates the custom 3D LUT color space.
Definition: ADLXDefines.h:926
-
adlx_uint16 green
Definition: ADLXStructures.h:170
-
adlx_uint16 blue
Definition: ADLXStructures.h:171
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
ADLX_UINT16_RGB data[MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS]
Definition: ADLXStructures.h:186
-
adlx_uint16 red
Definition: ADLXStructures.h:169
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains custom 3D LUT information.
Definition: ADLXStructures.h:185
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
This structure contains UINT16 RGB information.
Definition: ADLXStructures.h:168
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_display_blanking.html b/vendor/adlx/SDKDoc/html/c_sample_display_blanking.html deleted file mode 100644 index 0856e23..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_display_blanking.html +++ /dev/null @@ -1,507 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayBlanking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayBlanking
-
-
-
- - - -

Demonstrates how to configure display blanking options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Check if display blanking is supported
2 Get display blanking state
3 Set the state of display blanking to "blanked"
4 Set the state of display blanking to "unblanked"
5 Set the state of display blanking to "blanked" for 20 seconds
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/Display/DisplayBlanking

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "SDK/Include/IDisplays1.h"
-
-
// Thread to quit event
-
static HANDLE quitEvent = NULL;
-
-
// Thread to quit flag
-
static int g_quit = 0;
-
-
// Thread to timeout
-
static HANDLE thread = NULL;
-
-
// Thread to unblank display
-
DWORD WINAPI ThreadUnBlankDisplay(LPVOID lpParam);
-
-
// Check if display blanking is supported
-
void ShowDisplayBlankingSupport(IADLXDisplayServices1* displayService1, IADLXDisplay* display);
-
-
// Get the current state of display blanking
-
void GetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display);
-
-
// Set the state of display blanking to "blanked" or "unblanked"
-
void SetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices1* displayService1, IADLXDisplay* display);
-
-
// Select display
-
IADLXDisplay* SelectDisplay(IADLXDisplayList* displays);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get System Services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get displayService
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
-
// Convert to displayService1
-
IADLXDisplayServices1* displayService1 = NULL;
-
displayService->pVtbl->QueryInterface(displayService, IID_IADLXDisplayServices1(), (void**)&displayService1);
-
-
if (ADLX_SUCCEEDED(res) && displayService1)
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService1->pVtbl->GetDisplays(displayService1, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Select the display to config
-
IADLXDisplay* display = SelectDisplay(displayList);
-
if (display)
-
{
-
// Display the main menu
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService1, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get displayService1\n");
-
}
-
-
// Release the displayService1 interface
-
if (NULL != displayService1)
-
{
-
displayService1->pVtbl->Release(displayService1);
-
displayService1 = NULL;
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
-
// Quit thread
-
if (thread)
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
WaitForSingleObject(thread, INFINITE);
-
CloseHandle(thread);
-
thread = NULL;
-
}
-
CloseHandle(quitEvent);
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowDisplayBlankingSupport(IADLXDisplayServices1* displayService1, IADLXDisplay* display)
-
{
-
IADLXDisplayBlanking* displayBlanking;
-
ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get state of display blanking support ===\n");
-
adlx_bool supported = false;
-
res = displayBlanking->pVtbl->IsSupported(displayBlanking , &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupported, result: %d supported: %s\n", res, (supported ? "true" : "false"));
-
displayBlanking->pVtbl->Release(displayBlanking);
-
displayBlanking = NULL;
-
}
-
}
-
-
void GetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display)
-
{
-
IADLXDisplayBlanking* displayBlanking;
-
ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Get the current state of display blanking ===\n");
-
adlx_bool blanked = false;
-
res = displayBlanking->pVtbl->IsCurrentBlanked(displayBlanking, &blanked);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentBlanked: %s\n", (blanked ? "true" : "false"));
-
adlx_bool unBlanked = false;
-
res = displayBlanking->pVtbl->IsCurrentUnblanked(displayBlanking, &unBlanked);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentUnblanked: %s\n", (unBlanked ? "true" : "false"));
-
displayBlanking->pVtbl->Release(displayBlanking);
-
displayBlanking = NULL;
-
}
-
}
-
-
void SetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display, const int key)
-
{
-
IADLXDisplayBlanking* displayBlanking;
-
ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set display to blanked
-
case 0:
-
if (thread)
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
WaitForSingleObject(thread, INFINITE);
-
CloseHandle(thread);
-
thread = NULL;
-
}
-
printf(" === Set display to blanked ===\n");
-
res = displayBlanking->pVtbl->SetBlanked(displayBlanking);
-
break;
-
-
// Set display to unblanked
-
case 1:
-
printf(" === Set display to unblanked ===\n");
-
res = displayBlanking->pVtbl->SetUnblanked(displayBlanking);
-
break;
-
-
// Set display to blanked for 20 seconds
-
case 2:
-
if (thread)
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
WaitForSingleObject(thread, INFINITE);
-
CloseHandle(thread);
-
thread = NULL;
-
}
-
printf(" === Set display to blanked for 20 seconds ===\n");
-
res = displayBlanking->pVtbl->SetBlanked(displayBlanking);
-
thread = CreateThread(NULL, 0, ThreadUnBlankDisplay, displayBlanking, 0, NULL);
-
g_quit = false;
-
break;
-
default:
-
break;
-
}
-
printf("\tReturn code is: %d (0 means Success)\n", res);
-
displayBlanking->pVtbl->Release(displayBlanking);
-
displayBlanking = NULL;
-
}
-
}
-
-
DWORD WINAPI ThreadUnBlankDisplay(LPVOID lpParam)
-
{
-
IADLXDisplayBlanking* displayBlanking = (IADLXDisplayBlanking*)(lpParam);
-
if (displayBlanking)
-
{
-
int opt = 0;
-
while (!g_quit)
-
{
-
displayBlanking->pVtbl->Acquire(displayBlanking);
-
DWORD r = WaitForSingleObject(quitEvent, 20000);
-
// Quit the thread
-
if (r == WAIT_OBJECT_0)
-
{
-
ResetEvent(quitEvent);
-
printf("\tThread quit.\n");
-
displayBlanking->pVtbl->Release(displayBlanking);
-
break;
-
}
-
// Restore display after 20 seconds
-
if (r == WAIT_TIMEOUT && !opt)
-
{
-
ADLX_RESULT res = displayBlanking->pVtbl->SetUnblanked(displayBlanking);
-
printf("\tRestore display after 20 seconds, return code is: %d (0 means success).\n", res);
-
displayBlanking->pVtbl->Release(displayBlanking);
-
opt = 1;
-
}
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options\n");
-
-
printf("\t->Press 1 to check if display blanking is supported\n");
-
-
printf("\t->Press 2 to get the current state of display blanking\n");
-
-
printf("\t->Press 3 to set the state of display blanking to blanked\n");
-
printf("\t->Press 4 to set the state of display blanking to unblanked\n");
-
printf("\t->Press 5 to set display to blanked for 20 seconds\n");
-
-
printf("\t->Press Q/q to quit the application\n");
-
printf("\t->Press M/m to display the main menu\n");
-
}
-
-
// Display action control
-
void MenuControl(IADLXDisplayServices1* displayService1, IADLXDisplay* display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Check if display blanking is supported
-
case '1':
-
ShowDisplayBlankingSupport(displayService1, display);
-
break;
-
-
// Get the current state of display blanking
-
case '2':
-
GetDisplayBlankingState(displayService1, display);
-
break;
-
-
// Set the state of display blanking to "blanked" or "unblanked"
-
case '3':
-
case '4':
-
case '5':
-
SetDisplayBlankingState(displayService1, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
IADLXDisplay* SelectDisplay(IADLXDisplayList* displays)
-
{
-
adlx_uint len = displays->pVtbl->Size(displays);
-
if (len == 0)
-
return NULL;
-
-
IADLXDisplay* display = NULL;
-
if (len < 2)
-
displays->pVtbl->At_DisplayList(displays, 0, &display);
-
else
-
{
-
printf("\tSelect the display using the key(from 1 to %d ).\n", len);
-
for (adlx_uint it = 0; it < len; it++)
-
{
-
displays->pVtbl->At_DisplayList(displays, it, &display);
-
const char* dispName;
-
display->pVtbl->Name(display, &dispName);
-
printf("\t->Press %d to select %s.\n", it + 1, dispName);
-
}
-
int num = 0;
-
num = getchar() - 48;
-
if (num < 1 || num > len)
-
printf("\tInvalid key. The first display will be used.\n");
-
else
-
displays->pVtbl->At(displays, num - 1, &display);
-
}
-
return display;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_display_events.html b/vendor/adlx/SDKDoc/html/c_sample_display_events.html deleted file mode 100644 index b2516a9..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_display_events.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayEvents - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayEvents
-
-
-
- - - -

Demonstrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/C/Display/DisplayEvents

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplay3DLUT.h"
-
#include "SDK/Include/IDisplayGamma.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <windows.h>
-
-
// Callback for displayListChanged
-
adlx_bool ADLX_STD_CALL OnDisplayListChanged(IADLXDisplayListChangedListener* pThis, IADLXDisplayList* pNewDisplays)
-
{
-
printf("Display list has been changed\n");
-
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
-
// Callback struct for displayListChanged
-
typedef struct DisplayListCallBack
-
{
-
adlx_bool(ADLX_STD_CALL* OnDisplayListChanged)(IADLXDisplayListChangedListener*, IADLXDisplayList*);
-
} DisplayListCallBack;
-
-
// Callback for displayGamut
-
adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedListener* pThis, IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent)
-
{
-
printf("Display gamut has been changed\n");
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
-
// Callback struct for displayGamut
-
typedef struct DisplayGamutCallBack
-
{
-
adlx_bool(ADLX_STD_CALL* OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*, IADLXDisplayGamutChangedEvent*);
-
} DisplayGamutCallBack;
-
-
// Callback for displayGammaChanged
-
adlx_bool ADLX_STD_CALL OnDisplayGammaChanged(IADLXDisplayGammaChangedListener* pThis, IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent)
-
{
-
printf("Display gamma has been changed\n");
-
//If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
printf("\tGamma ramp change: %d\n\tGamma coefficient change: %d\n\tRe-gamma change: %d\n\tDeGamma change: %d\n",
-
pDisplayGammaChangedEvent->pVtbl->IsGammaRampChanged(pDisplayGammaChangedEvent),
-
pDisplayGammaChangedEvent->pVtbl->IsGammaCoefficientChanged(pDisplayGammaChangedEvent),
-
pDisplayGammaChangedEvent->pVtbl->IsReGammaChanged(pDisplayGammaChangedEvent),
-
pDisplayGammaChangedEvent->pVtbl->IsDeGammaChanged(pDisplayGammaChangedEvent));
-
-
return true;
-
}
-
-
// CallBack struct for displayGammaChanged
-
typedef struct DisplayGammaCallBack
-
{
-
adlx_bool(ADLX_STD_CALL* OnDisplayGammaChanged)(IADLXDisplayGammaChangedListener*, IADLXDisplayGammaChangedEvent*);
-
} DisplayGammaCallBack;
-
-
// CallBack for display3DLUTChanged
-
adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener* pThis, IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent)
-
{
-
printf("Display 3DLUT has been changed\n");
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
-
// CallBack struct for display3DLUT
-
typedef struct Display3DLUTCallBack
-
{
-
adlx_bool(ADLX_STD_CALL* OnDisplay3DLUTChanged)(IADLXDisplay3DLUTChangedListener*, IADLXDisplay3DLUTChangedEvent*);
-
} Display3DLUTCallBack;
-
-
// loop thread
-
DWORD WINAPI LoopThread(LPVOID lpParam)
-
{
-
printf("Loop thread is currently running.\n");
-
printf("->Plug or unplug the display to trigger DisplayListChanged, which will further trigger other changes.\n");
-
printf("->Press Q/q to terminate the loop.\n");
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
printf("Wait for the event to get triggered. The display can be pluged or unpluged to trigger DisplayListChange.\n");
-
Sleep(1 * 1000);
-
num = getchar();
-
if (num == 'q' || num == 'Q')
-
break;
-
}
-
return 0;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display services
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get displayChangeHandling
-
IADLXDisplayChangedHandling* displayChangeHandl = NULL;
-
res = displayService->pVtbl->GetDisplayChangedHandling(displayService, &displayChangeHandl);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create callback
-
DisplayListCallBack* displayListCallBack = (DisplayListCallBack*)malloc(sizeof(DisplayListCallBack));
-
displayListCallBack->OnDisplayListChanged = &OnDisplayListChanged;
-
-
DisplayGamutCallBack* displayGamutCallBack = (DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack));
-
displayGamutCallBack->OnDisplayGamutChanged = &OnDisplayGamutChanged;
-
-
DisplayGammaCallBack* displayGammaCallBack = (DisplayGammaCallBack*)malloc(sizeof(DisplayGammaCallBack));
-
displayGammaCallBack->OnDisplayGammaChanged = &OnDisplayGammaChanged;
-
-
Display3DLUTCallBack* display3DLUTCallBack = (Display3DLUTCallBack*)malloc(sizeof(Display3DLUTCallBack));
-
display3DLUTCallBack->OnDisplay3DLUTChanged = &OnDisplay3DLUTChanged;
-
-
// Add callback to the handle
-
{
-
displayChangeHandl->pVtbl->AddDisplayListEventListener(displayChangeHandl, (IADLXDisplayListChangedListener*)&displayListCallBack);
-
displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack);
-
displayChangeHandl->pVtbl->AddDisplayGammaEventListener(displayChangeHandl, (IADLXDisplayGammaChangedListener*)&displayGammaCallBack);
-
displayChangeHandl->pVtbl->AddDisplay3DLUTEventListener(displayChangeHandl, (IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack);
-
}
-
-
// Create loop thread for wait event
-
HANDLE thread = CreateThread(NULL, 0, LoopThread, NULL, 0, NULL);
-
WaitForSingleObject(thread, INFINITE);
-
CloseHandle(thread);
-
-
// Remove and destroy callback
-
displayChangeHandl->pVtbl->RemoveDisplayListEventListener(displayChangeHandl, (IADLXDisplayListChangedListener*)&displayListCallBack);
-
displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack);
-
displayChangeHandl->pVtbl->RemoveDisplayGammaEventListener(displayChangeHandl, (IADLXDisplayGammaChangedListener*)&displayGammaCallBack);
-
displayChangeHandl->pVtbl->RemoveDisplay3DLUTEventListener(displayChangeHandl, (IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack);
-
-
if (NULL != displayListCallBack)
-
{
-
free(displayListCallBack);
-
displayListCallBack = NULL;
-
}
-
-
if (NULL != displayGamutCallBack)
-
{
-
free(displayGamutCallBack);
-
displayGamutCallBack = NULL;
-
}
-
-
if (NULL != displayGammaCallBack)
-
{
-
free(displayGammaCallBack);
-
displayGammaCallBack = NULL;
-
}
-
-
if (NULL != display3DLUTCallBack)
-
{
-
free(display3DLUTCallBack);
-
display3DLUTCallBack = NULL;
-
}
-
}
-
-
// Release the displayChangehandl interface
-
if (NULL != displayChangeHandl)
-
{
-
displayChangeHandl->pVtbl->Release(displayChangeHandl);
-
displayChangeHandl = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_display_gamma.html b/vendor/adlx/SDKDoc/html/c_sample_display_gamma.html deleted file mode 100644 index 30b36f8..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_display_gamma.html +++ /dev/null @@ -1,560 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGamma - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGamma
-
-
-
- - - -

Demonstrates how to obtain the display gamma when programming with ADLX and perform related operations.

- -

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Show display gamma support.
2 Display current gamma information.
3 Set ReGammaSRGB using predefined coefficients.
4 Set ReGamma using custom coefficients.
5 Set ReGamma using ramp from file[file path: output-night-light.txt].
6 ReGamma using ramp from memory.
7 Reset gamma ramp.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGamma

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplayGamma.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <math.h>
-
-
// Print gamma ramp
-
static void ShowGammaRamp(ADLX_GammaRamp gammaRamp)
-
{
-
for (int j = 0; j < 3; j++)
-
{
-
printf("\nGetGammaRamp [%c]:\n", (j == 0) ? 'R' : ((j == 1) ? 'G' : (j == 2) ? 'B'
-
: 'E'));
-
for (int i = 0; i < 256; i++)
-
{
-
printf("%05d ", gammaRamp.gamma[i + j * 256]);
-
if (i % 10 == 9)
-
printf("\n");
-
}
-
}
-
printf("\n");
-
}
-
-
// Create regamma ramp
-
ADLX_GammaRamp CreateReGammaRamp(const float fGamma)
-
{
- -
double g_fGammaRemapRGB[3] = { 1,1,0.5 };
-
for (int j = 0; j < 3; j++)
-
{
-
for (int i = 0; i < 256; i++)
-
{
-
-
float nAdj = i / 255.0f;
-
if (nAdj < 0.0031308f)
-
{
-
nAdj = nAdj * 12.92f;
-
}
-
else
-
{
-
nAdj = (1 + 0.055f) * powf(nAdj, 1 / fGamma) - 0.055f;
-
if (nAdj < 0.0f)
-
nAdj = 0.0f;
-
}
-
ramp.gamma[i + j * 256] = (unsigned short)(1 * g_fGammaRemapRGB[j] * (int)(nAdj * 0xFFFF));
-
}
-
}
-
return ramp;
-
}
-
-
// Display gamma support
-
void ShowDisplayGammaSupport(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display gamma
-
IADLXDisplayGamma* displayGamma = NULL;
-
ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma);
-
adlx_bool support = false;
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Re-Gamma supported status ===\n");
-
res = displayGamma->pVtbl->IsSupportedReGammaSRGB(displayGamma, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs sRGB re-gamma supported on this display: %d\n", support);
-
res = displayGamma->pVtbl->IsSupportedReGammaBT709(displayGamma, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs BT709 re-gamma supported on this display: %d\n", support);
-
res = displayGamma->pVtbl->IsSupportedReGammaPQ(displayGamma, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs PQ re-gamma supported on this display: %d\n", support);
-
res = displayGamma->pVtbl->IsSupportedReGammaPQ2084Interim(displayGamma, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs PQ2084Interim re-gamma supported on this display: %d\n", support);
-
res = displayGamma->pVtbl->IsSupportedReGamma36(displayGamma, &support);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs 3.6 re-gamma supported on this display:%d\n", support);
-
}
-
-
// Release the displayGamma interface
-
if (NULL != displayGamma)
-
{
-
displayGamma->pVtbl->Release(displayGamma);
-
displayGamma = NULL;
-
}
-
}
-
-
// Get current gamma state
-
void GetCurrentGammaState(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get display gamma
-
IADLXDisplayGamma* displayGamma;
-
ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Current gamma state ===\n");
-
adlx_bool applied = false;
-
ADLX_RESULT res = ADLX_FAIL;
- - -
-
res = displayGamma->pVtbl->IsCurrentReGammaSRGB(displayGamma, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\t Is sRGB re-gamma used by this display: %d\n", applied);
-
res = displayGamma->pVtbl->IsCurrentReGammaBT709(displayGamma, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs BT709 re-gamma used by this display: %d\n", applied);
-
res = displayGamma->pVtbl->IsCurrentReGammaPQ(displayGamma, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs PQ re-gamma used by this display: %d\n", applied);
-
res = displayGamma->pVtbl->IsCurrentReGammaPQ2084Interim(displayGamma, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs PQ2084Interim re-gamma used by this display %d\n", applied);
-
res = displayGamma->pVtbl->IsCurrentReGamma36(displayGamma, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs 3.6 re-gamma used by this display %d\n", applied);
-
-
adlx_bool curCoeff;
-
res = displayGamma->pVtbl->IsCurrentRegammaCoefficient(displayGamma, &curCoeff);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIs re-gamma coefficient used by this display %d\n", curCoeff);
-
-
adlx_bool reGammaRamp = false;
-
adlx_bool deGammaRamp = false;
-
displayGamma->pVtbl->IsCurrentReGammaRamp(displayGamma, &reGammaRamp);
-
displayGamma->pVtbl->IsCurrentDeGammaRamp(displayGamma, &deGammaRamp);
-
if (reGammaRamp)
-
{
-
displayGamma->pVtbl->GetGammaRamp(displayGamma, &ramp);
-
printf("\tCurrent regamma ramp");
-
ShowGammaRamp(ramp);
-
}
-
else if (deGammaRamp)
-
{
-
displayGamma->pVtbl->GetGammaRamp(displayGamma, &ramp);
-
printf("\tCurrent degamma ramp");
-
ShowGammaRamp(ramp);
-
}
-
else if (curCoeff)
-
{
-
displayGamma->pVtbl->GetGammaCoefficient(displayGamma, &coeff);
-
printf("\tCurrent gamma coefficent");
-
printf("\tGet gamma coefficient:\n"
-
"\tA0 %d, A1 %d, A2 %d, A3 %d, Gamma %d\n",
- -
coeff.coefficientA2, coeff.coefficientA3, coeff.gamma);
-
}
-
}
-
-
// Release the displayGamma interface
-
if (NULL != displayGamma)
-
{
-
displayGamma->pVtbl->Release(displayGamma);
-
displayGamma = NULL;
-
}
-
}
-
-
// If 0 is retuned SetGammaWithCustomcoeffient is succesfully set else an error occured.
-
ADLX_RESULT SetGammaWithCustomCoeffs(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get displayGamma
-
IADLXDisplayGamma* displayGamma;
-
ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("\t\tPlease enter five integer numbers, separated by spaces(eg: 31308 12920 55 55 2400): \n ");
-
-
ADLX_RESULT res = ADLX_OK;
-
ADLX_RegammaCoeff coeff = {0};
-
int userKey = 0;
-
int coeffs[5] = {31308, 12920, 55, 55, 2400};
-
-
for (int i = 0; i < 5; i++)
-
{
-
scanf_s("%d", &coeffs[i]);
-
}
-
coeff.coefficientA0 = coeffs[0];
-
coeff.coefficientA1 = coeffs[1];
-
coeff.coefficientA2 = coeffs[2];
-
coeff.coefficientA3 = coeffs[3];
-
coeff.gamma = coeffs[4];
-
res = displayGamma->pVtbl->SetReGammaCoefficient(displayGamma, coeff);
-
}
-
-
// Release the displayGamma interface
-
if (NULL != displayGamma)
-
{
-
displayGamma->pVtbl->Release(displayGamma);
-
displayGamma = NULL;
-
}
-
-
return res;
-
}
-
-
// Set Gamma
-
void SetGamma(IADLXDisplayServices* displayService, IADLXDisplay* display, int key)
-
{
-
// Get displayGamma
-
IADLXDisplayGamma* displayGamma = NULL;
-
ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf(" === Set gamma ===\n");
-
ADLX_RESULT res = ADLX_OK;
-
-
switch (key)
-
{
-
// Use preset coefficients for ReGammaSRGB
-
case 0:
-
res = displayGamma->pVtbl->SetReGammaSRGB(displayGamma);
-
break;
-
-
// Use custom coefficients
-
case 1:
-
res = SetGammaWithCustomCoeffs(displayService, display);
-
break;
-
-
// Use ramp form file, file path: output-night-light.txt
-
case 2:
-
res = displayGamma->pVtbl->SetReGammaRamp_File(displayGamma, "output-night-light.txt");
-
break;
-
-
// Use ramp from memory
-
case 3:
-
{
-
const float reGammaF = 2.4f;
-
ADLX_GammaRamp ramp = CreateReGammaRamp(reGammaF);
-
res = displayGamma->pVtbl->SetReGammaRamp_Memory(displayGamma, ramp);
-
}
-
break;
-
-
// Reset gamma ramp
-
case 4:
-
res = displayGamma->pVtbl->ResetGammaRamp(displayGamma);
-
break;
-
-
default:
-
break;
-
}
-
printf("\treturn is: %d (0 means Success)\n", res);
-
}
-
-
// Release the displayGamma interface
-
if (NULL != displayGamma)
-
{
-
displayGamma->pVtbl->Release(displayGamma);
-
displayGamma = NULL;
-
}
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from following options\n");
-
-
printf("\t->Press 1 to show display gamma support\n");
-
-
printf("\t->Press 2 to display current gamma info\n");
-
-
printf("\t->Press 3 to set ReGammaSRGB using predefined coefficients\n");
-
printf("\t->Press 4 to set ReGamma using custom coefficients\n");
-
printf("\t->Press 5 to set ReGamma using ramp from file[file path: ../output-night-light.txt]\n");
-
printf("\t->Press 6 to set ReGamma using ramp from memory\n");
-
printf("\t->Press 7 to reset gamma ramp\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display gamma support
-
case '1':
-
ShowDisplayGammaSupport(displayService, display);
-
break;
-
-
// Get current gamma state
-
case '2':
-
GetCurrentGammaState(displayService, display);
-
break;
-
-
// Set gamma
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
case '7':
-
case '8':
-
SetGamma(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display services
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService inetrface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int gamma
Definition: ADLXStructures.h:89
-
adlx_int coefficientA0
Definition: ADLXStructures.h:85
-
adlx_int coefficientA1
Definition: ADLXStructures.h:86
-
adlx_int coefficientA2
Definition: ADLXStructures.h:87
-
adlx_int coefficientA3
Definition: ADLXStructures.h:88
-
adlx_uint16 gamma[256 *3]
Definition: ADLXStructures.h:70
-
This structure contains the display gamma ramp used to program the re-gamma LUT.
Definition: ADLXStructures.h:69
-
This structure contains information on driver-supported re-gamma coefficients used to build the re-ga...
Definition: ADLXStructures.h:84
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_display_gamut.html b/vendor/adlx/SDKDoc/html/c_sample_display_gamut.html deleted file mode 100644 index 0d2a1db..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_display_gamut.html +++ /dev/null @@ -1,492 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGamut
-
-
-
- - - -

Demonstrates how to obtain the display gamut when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display gamut support.
2 Get current display gamut information
3 Set predefined white point and predefined gamut space.
4 Set custom white point and predefined gamut space.
5 Set predefined white point and custom gamut space.
6 Set custom white point and custom gamut space.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGamut

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Display displayGamutSupport
-
void ShowDisplayGamutSupport(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get displayGamut
-
IADLXDisplayGamut* displayGamut = NULL;
-
ADLX_RESULT res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
printf(" === Gamut space supported status ===\n");
-
res = displayGamut->pVtbl->IsSupportedCCIR709ColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedGamut_CCIR_709: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedCCIR601ColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedGamut_CCIR_601: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedAdobeRgbColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedGamut_Adobe_RGB: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedCIERgbColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedGamut_CIE_RGB: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedCCIR2020ColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedCCIR2020ColorSpace: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedCustomColorSpace(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedGamut_Custom: %d\n", supported);
-
-
printf(" === White point supported status ===\n");
-
res = displayGamut->pVtbl->IsSupported5000kWhitePoint(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedWhitePoint_5000k: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupported6500kWhitePoint(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedWhitePoint_6500k: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupported7500kWhitePoint(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedWhitePoint_7500k: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupported9300kWhitePoint(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedWhitePoint_9300k: %d\n", supported);
-
res = displayGamut->pVtbl->IsSupportedCustomWhitePoint(displayGamut, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsSupportedWhitePoint_Custom: %d\n", supported);
-
}
-
-
// Release the displayGamut interface
-
if (NULL != displayGamut)
-
{
-
displayGamut->pVtbl->Release(displayGamut);
-
displayGamut = NULL;
-
}
-
}
-
-
// Display gamut information, it contains white point and color space
-
void GetCurrentGamutInfo(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
// Get displayGamut
-
IADLXDisplayGamut* displayGamut = NULL;
-
ADLX_RESULT res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = ADLX_FAIL;
-
printf(" === Current white point status ===\n");
-
res = displayGamut->pVtbl->IsCurrent5000kWhitePoint(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentWhitePoint_5000k: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrent6500kWhitePoint(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentWhitePoint_6500k: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrent7500kWhitePoint(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentWhitePoint_7500k: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrent9300kWhitePoint(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentWhitePoint_9300k: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentCustomWhitePoint(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentWhitePoint_Custom: %d\n", applied);
-
ADLX_Point point = {0};
-
res = displayGamut->pVtbl->GetWhitePoint(displayGamut, &point);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tGetWhitePoint: ( %d, %d)\n", point.x, point.y);
-
-
printf(" === Current gamut space status ===\n");
-
res = displayGamut->pVtbl->IsCurrentCCIR709ColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentGamut_CCIR_709: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentCCIR601ColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentGamut_CCIR_601: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentAdobeRgbColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentGamut_Adobe_RGB: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentCIERgbColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentGamut_CIE_RGB: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentCCIR2020ColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentCCIR2020ColorSpace: %d\n", applied);
-
res = displayGamut->pVtbl->IsCurrentCustomColorSpace(displayGamut, &applied);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tIsCurrentCustomColorSpace: %d\n", applied);
-
ADLX_GamutColorSpace gamutCoordinates = {0};
-
res = displayGamut->pVtbl->GetGamutColorSpace(displayGamut, &gamutCoordinates);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tGetGamutColorSpace: R( %d, %d ), G( %d, %d ), B( %d, %d )\n",
-
gamutCoordinates.red.x, gamutCoordinates.red.y,
-
gamutCoordinates.green.x, gamutCoordinates.green.y,
-
gamutCoordinates.blue.x, gamutCoordinates.blue.y);
-
}
-
-
// Release the displayGamut interface
-
if (NULL != displayGamut)
-
{
-
displayGamut->pVtbl->Release(displayGamut);
-
displayGamut = NULL;
-
}
-
}
-
-
// Set gamut(white point and color space)
-
void SetGamut(IADLXDisplayServices* displayService, IADLXDisplay* display, int key)
-
{
-
printf(" === Set white point and gamut space ===\n");
-
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_WHITE_POINT predefinedWhitePoint = WHITE_POINT_6500K;
-
ADLX_GAMUT_SPACE predefinedGamutSpace = GAMUT_SPACE_ADOBE_RGB;
-
ADLX_RGB customWhitePoint = {0.654108, 0.767112, 1};
-
ADLX_GamutColorSpace customGamutSpace =
-
{
-
{6400, 3300}, {3000, 6000}, {1500, 600}
-
};
-
-
// Get displayGamut
-
IADLXDisplayGamut* displayGamut = NULL;
-
res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
-
switch (key)
-
{
-
// Set gamut with predefined white point and predefined gamut space
-
case 0:
-
res = displayGamut->pVtbl->SetGamut_PW_PG(displayGamut, predefinedWhitePoint, predefinedGamutSpace);
-
break;
-
-
// Set gamut with custom white point and predefined gamut space
-
case 1:
-
res = displayGamut->pVtbl->SetGamut_CW_PG(displayGamut, customWhitePoint, predefinedGamutSpace);
-
break;
-
-
// Set gamut with predefined white point and custom gamut space
-
case 2:
-
res = displayGamut->pVtbl->SetGamut_PW_CG(displayGamut, predefinedWhitePoint, customGamutSpace);
-
break;
-
-
// Set gamut with custom white point and custom gamut space
-
case 3:
-
res = displayGamut->pVtbl->SetGamut_CW_CG(displayGamut, customWhitePoint, customGamutSpace);
-
break;
-
default:
-
break;
-
}
-
printf("\treturn code(0 means Success) is: %d\n", res);
-
}
-
-
// Release the displayGamut interface
-
if (NULL != displayGamut)
-
{
-
displayGamut->pVtbl->Release(displayGamut);
-
displayGamut = NULL;
-
}
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from following options\n");
-
-
printf("\t->Press 1 to display gamut support\n");
-
-
printf("\t->Press 2 to get current display gamut information\n");
-
-
printf("\t->Press 3 to set predefined white point and predefined gamut space\n");
-
printf("\t->Press 4 to set custom white point and predefined gamut space\n");
-
printf("\t->Press 5 to set predefined white point and custom gamut space\n");
-
printf("\t->Press 6 to set custom white point and custom gamut space\n");
-
-
printf("\t->Press Q/q to terminate the application. \n");
-
printf("\t->Press M/m to display main menu options \n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXDisplayServices* displayService, IADLXDisplay* display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayGamutSupport
-
case '1':
-
ShowDisplayGamutSupport(displayService, display);
-
break;
-
-
// Get gamut information with white point and color space
-
case '2':
-
GetCurrentGamutInfo(displayService, display);
-
break;
-
-
// Set gamut with white point and color space
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetGamut(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplay* display = NULL;
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ GAMUT_SPACE_ADOBE_RGB
Definition: ADLXDefines.h:546
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ WHITE_POINT_6500K
Definition: ADLXDefines.h:564
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_GAMUT_SPACE
Indicates the predefined gamut space.
Definition: ADLXDefines.h:543
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_WHITE_POINT
Indicates the standardized white point setting.
Definition: ADLXDefines.h:562
-
adlx_int y
Definition: ADLXStructures.h:40
-
ADLX_Point red
Definition: ADLXStructures.h:54
-
ADLX_Point green
Definition: ADLXStructures.h:55
-
adlx_int x
Definition: ADLXStructures.h:39
-
ADLX_Point blue
Definition: ADLXStructures.h:56
-
This structure contains information on driver-supported gamut coordinates.
Definition: ADLXStructures.h:53
-
This structure contains information on driver point coordinates, and is used to store the driver-poin...
Definition: ADLXStructures.h:38
-
This structure contains RGB information.
Definition: ADLXStructures.h:22
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_displayinfo.html b/vendor/adlx/SDKDoc/html/c_sample_displayinfo.html deleted file mode 100644 index e8c4a22..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_displayinfo.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayInfo
-
-
-
- - - -

Demonstrates how to obtain the display info when programming with ADLX and perform related operations.

-

Sample Path

-

/Samples/C/Display/DisplayInfo

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Extra data
-
// Get display type string
-
static const char* GetDisplayTypeStr(const ADLX_DISPLAY_TYPE type)
-
{
-
switch (type)
-
{
-
case DISPLAY_TYPE_MONITOR:
-
return "CRT";
-
case DISPLAY_TYPE_TELEVISION:
-
return "TV";
-
case DISPLAY_TYPE_LCD_PANEL:
-
return "LCD";
-
case DISPLAY_TYPE_DIGITAL_FLAT_PANEL:
-
return "DFP";
-
case DISPLAY_TYPE_COMPONENT_VIDEO:
-
return "CV";
-
default:
-
return "UNKNOWN";
-
}
-
}
-
-
// Get display connect type string
-
static const char* GetDisplayConnectorStr(const ADLX_DISPLAY_CONNECTOR_TYPE type)
-
{
-
switch (type)
-
{
-
case DISPLAY_CONTYPE_UNKNOWN:
-
return "UNKNOWN";
-
case DISPLAY_CONTYPE_VGA:
-
return "VGA";
-
case DISPLAY_CONTYPE_DVI_D:
-
return "DVI D";
-
case DISPLAY_CONTYPE_DVI_I:
-
return "DVI I";
-
case DISPLAY_CONTYPE_CVDONGLE_NTSC:
-
return "ATICVDONGLE NTSC";
-
case DISPLAY_CONTYPE_CVDONGLE_JPN:
-
return "ATICVDONGLE JPN";
-
case DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN:
-
return "ATICVDONGLE NONI2C JPN";
-
case DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC:
-
return "ATICVDONGLE NONI2C NTSC";
-
case DISPLAY_CONTYPE_PROPRIETARY:
-
return "PROPRIETARY";
-
case DISPLAY_CONTYPE_HDMI_TYPE_A:
-
return "HDMI TYPE A";
-
case DISPLAY_CONTYPE_HDMI_TYPE_B:
-
return "HDMI TYPE B";
-
case DISPLAY_CONTYPE_SVIDEO:
-
return "SVIDEO";
-
case DISPLAY_CONTYPE_COMPOSITE:
-
return "COMPOSITE";
-
case DISPLAY_CONTYPE_RCA_3COMPONENT:
-
return "RCA 3COMPONENT";
-
case DISPLAY_CONTYPE_DISPLAYPORT:
-
return "DISPLAYPORT";
-
case DISPLAY_CONTYPE_EDP:
-
return "EDP";
-
case DISPLAY_CONTYPE_WIRELESSDISPLAY:
-
return "WIRELESSDISPLAY";
-
case DISPLAY_CONTYPE_USB_TYPE_C:
-
return "USB TYPE C";
-
default:
-
return "UNKNOWN";
-
}
-
};
-
-
// Get scan type string
-
static const char* GetScanTypeStr(const ADLX_DISPLAY_SCAN_TYPE type)
-
{
-
if (PROGRESSIVE == type)
-
{
-
return "PROGRESSIVE";
-
}
-
else if (INTERLACED == type)
-
{
-
return "INTERLACED";
-
}
-
return "UNKNOWN";
-
};
-
-
// Print displayInfo information
-
void ShowDisplayInfo(IADLXDisplay* display)
-
{
-
ADLX_RESULT res = ADLX_OK;
-
-
printf("\n === Display info ===\n");
-
const char* dispName;
-
res = display->pVtbl->Name(display, &dispName);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tDisplay name: %s\n", dispName);
-
-
adlx_uint manufacturerID;
-
res = display->pVtbl->ManufacturerID(display, &manufacturerID);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tManufacturer id: %d\n", manufacturerID);
-
-
ADLX_DISPLAY_TYPE displayType;
-
res = display->pVtbl->DisplayType(display, &displayType);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tDisplay type: %s\n", GetDisplayTypeStr(displayType));
-
- -
res = display->pVtbl->ConnectorType(display, &connectType);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tConnector type: %s\n", GetDisplayConnectorStr(connectType));
-
-
const char* edid;
-
res = display->pVtbl->EDID(display, &edid);
-
if (ADLX_OK != res)
-
printf("\tDisplay EDID, error code is: %d\n", res);
-
else
-
printf("\tEDID: %s\n", edid);
-
-
adlx_double refreshRate;
-
res = display->pVtbl->RefreshRate(display, &refreshRate);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tRefresh rate: %f\n", refreshRate);
-
-
adlx_uint pixelClock;
-
res = display->pVtbl->PixelClock(display, &pixelClock);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tPixel clock: %d\n", pixelClock);
-
-
adlx_int maxHResolution = 0;
-
adlx_int maxVResolution = 0;
-
res = display->pVtbl->NativeResolution(display, &maxHResolution, &maxVResolution);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tNative resolution[h*v]: %d %d\n", maxHResolution, maxVResolution);
-
- -
res = display->pVtbl->ScanType(display, &scanType);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tScan type: %s\n", GetScanTypeStr(scanType));
-
-
adlx_size id;
-
res = display->pVtbl->UniqueId(display, &id);
-
if (ADLX_SUCCEEDED(res))
-
printf("\tUniqueId: %zu\n", id);
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_OK != res)
-
return WaitAndExit("ADLX initialization failed", 0);
-
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get display service
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list and iterate through the list
-
IADLXDisplayList* displayList = NULL;
-
res = displayService->pVtbl->GetDisplays(displayService, &displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_uint it = displayList->pVtbl->Begin(displayList);
-
IADLXDisplay* display = NULL;
-
for (; it != displayList->pVtbl->End(displayList); it++)
-
{
-
res = displayList->pVtbl->At_DisplayList(displayList, it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display data on console for each display
-
ShowDisplayInfo(display);
-
}
-
-
// Release the display interface
-
if (NULL != display)
-
{
-
display->pVtbl->Release(display);
-
display = NULL;
-
}
-
}
-
}
-
-
// Release the displayList interface
-
if (NULL != displayList)
-
{
-
displayList->pVtbl->Release(displayList);
-
displayList = NULL;
-
}
-
}
-
-
// Release the  displayService interface
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ DISPLAY_CONTYPE_WIRELESSDISPLAY
Definition: ADLXDefines.h:443
-
@ DISPLAY_CONTYPE_HDMI_TYPE_A
Definition: ADLXDefines.h:436
-
@ DISPLAY_CONTYPE_HDMI_TYPE_B
Definition: ADLXDefines.h:437
-
@ DISPLAY_CONTYPE_UNKNOWN
Definition: ADLXDefines.h:427
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC
Definition: ADLXDefines.h:434
-
@ DISPLAY_CONTYPE_PROPRIETARY
Definition: ADLXDefines.h:435
-
@ DISPLAY_CONTYPE_RCA_3COMPONENT
Definition: ADLXDefines.h:440
-
@ DISPLAY_CONTYPE_DVI_D
Definition: ADLXDefines.h:429
-
@ DISPLAY_CONTYPE_EDP
Definition: ADLXDefines.h:442
-
@ DISPLAY_CONTYPE_CVDONGLE_NTSC
Definition: ADLXDefines.h:431
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN
Definition: ADLXDefines.h:433
-
@ DISPLAY_CONTYPE_DISPLAYPORT
Definition: ADLXDefines.h:441
-
@ DISPLAY_CONTYPE_DVI_I
Definition: ADLXDefines.h:430
-
@ DISPLAY_CONTYPE_SVIDEO
Definition: ADLXDefines.h:438
-
@ DISPLAY_CONTYPE_CVDONGLE_JPN
Definition: ADLXDefines.h:432
-
@ DISPLAY_CONTYPE_USB_TYPE_C
Definition: ADLXDefines.h:444
-
@ DISPLAY_CONTYPE_COMPOSITE
Definition: ADLXDefines.h:439
-
@ DISPLAY_CONTYPE_VGA
Definition: ADLXDefines.h:428
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ INTERLACED
Definition: ADLXDefines.h:479
-
@ PROGRESSIVE
Definition: ADLXDefines.h:478
-
@ DISPLAY_TYPE_DIGITAL_FLAT_PANEL
Definition: ADLXDefines.h:462
-
@ DISPLAY_TYPE_TELEVISION
Definition: ADLXDefines.h:460
-
@ DISPLAY_TYPE_LCD_PANEL
Definition: ADLXDefines.h:461
-
@ DISPLAY_TYPE_MONITOR
Definition: ADLXDefines.h:459
-
@ DISPLAY_TYPE_COMPONENT_VIDEO
Definition: ADLXDefines.h:463
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_DISPLAY_CONNECTOR_TYPE
Indicates the display connector type.
Definition: ADLXDefines.h:426
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DISPLAY_SCAN_TYPE
Indicates the display scan type.
Definition: ADLXDefines.h:477
-
ADLX_DISPLAY_TYPE
Indicates the display type.
Definition: ADLXDefines.h:457
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_eyefinity.html b/vendor/adlx/SDKDoc/html/c_sample_eyefinity.html deleted file mode 100644 index 65a9b98..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_eyefinity.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Eyefinity - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Eyefinity
-
-
-
- - - -

Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD Eyefinity support.
2 Create an AMD Eyefinity desktop with all the enabled displays.
3 Destroy all the AMD Eyefinity desktops.
4 Destroy the given AMD Eyefinity desktop.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Desktop/Eyefinity

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl();
-
-
// Display Eyefinity support
-
void ShowEyefinitySupport();
-
-
// Create an Eyefinity desktop
-
void CreateEyefinityDesktop();
-
-
// Destroy all the Eyefinity desktops
-
void DestroyAllEyefinityDesktop();
-
-
// Destroy the given Eyefinity desktop
-
void DestroyGivenEyefinityDesktop();
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl();
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX result: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display Eyefinity support\n");
-
printf("\t->Press 2 to create an Eyefinity desktop with all the enabled displays\n");
-
printf("\t->Press 3 to destroy all the Eyefinity desktops\n");
-
printf("\t->Press 4 to destroy the given Eyefinity desktop\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl()
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Eyefinity support
-
case '1':
-
ShowEyefinitySupport();
-
break;
-
-
// Create an Eyefinity desktop
-
case '2':
-
CreateEyefinityDesktop();
-
break;
-
-
// Destroy all the Eyefinity desktops
-
case '3':
-
DestroyAllEyefinityDesktop();
-
break;
-
-
// Destroy the given Eyefinity desktop
-
case '4':
-
DestroyGivenEyefinityDesktop();
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Display Eyefinity support status
-
void ShowEyefinitySupport()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXDesktopServices* desktopsInfo = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSimpleEyefinity* eyefinity = NULL;
-
res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = 0;
-
res = eyefinity->pVtbl->IsSupported(eyefinity, &supported);
-
if (ADLX_SUCCEEDED(res))
-
printf("\t Eyefinity is supported on the desktop: %s\n", supported ? "Yes" : "No");
-
}
-
else
-
printf("\tFailed to get simple Eyefinity\n");
-
-
if (eyefinity != NULL)
-
{
-
eyefinity->pVtbl->Release(eyefinity);
-
eyefinity = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop Services interface\n");
-
-
if (desktopsInfo != NULL)
-
{
-
desktopsInfo->pVtbl->Release(desktopsInfo);
-
desktopsInfo = NULL;
-
}
-
}
-
-
// Create an Eyefinity desktop
-
void CreateEyefinityDesktop()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXDesktopServices* desktopsInfo = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSimpleEyefinity* eyefinity = NULL;
-
res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXEyefinityDesktop* eyefinityDesktop = NULL;
-
res = eyefinity->pVtbl->Create(eyefinity, &eyefinityDesktop);
-
printf("\treturn code is: %d (0 means Success)\n", res);
-
if (eyefinityDesktop != NULL)
-
{
-
eyefinityDesktop->pVtbl->Release(eyefinityDesktop);
-
eyefinityDesktop = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get simple Eyefinity\n");
-
-
if (eyefinity != NULL)
-
{
-
eyefinity->pVtbl->Release(eyefinity);
-
eyefinity = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop Services interface\n");
-
-
if (desktopsInfo != NULL)
-
{
-
desktopsInfo->pVtbl->Release(desktopsInfo);
-
desktopsInfo = NULL;
-
}
-
}
-
-
// Destroy all the Eyefinity desktops
-
void DestroyAllEyefinityDesktop()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXDesktopServices* desktopsInfo = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSimpleEyefinity* eyefinity = NULL;
-
res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = eyefinity->pVtbl->DestroyAll(eyefinity);
-
printf("\treturn code is: %d (0 means success)\n", res);
-
}
-
else
-
printf("\tFailed to get simple Eyefinity\n");
-
-
if (eyefinity != NULL)
-
{
-
eyefinity->pVtbl->Release(eyefinity);
-
eyefinity = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop Services interface\n");
-
-
if (desktopsInfo != NULL)
-
{
-
desktopsInfo->pVtbl->Release(desktopsInfo);
-
desktopsInfo = NULL;
-
}
-
}
-
-
// Destroy the given Eyefinity desktop
-
void DestroyGivenEyefinityDesktop()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
IADLXDesktopServices* desktopsInfo = NULL;
-
ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSimpleEyefinity* eyefinity = NULL;
-
res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXDesktopList* desktops = NULL;
-
res = desktopsInfo->pVtbl->GetDesktops(desktopsInfo, &desktops);
-
if (ADLX_SUCCEEDED(res))
-
{
-
for (adlx_uint crt = desktops->pVtbl->Begin(desktops); crt != desktops->pVtbl->End(desktops); ++crt)
-
{
-
IADLXDesktop* desktop = NULL;
-
res = desktops->pVtbl->At_DesktopList(desktops, crt, &desktop);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXEyefinityDesktop* eyefinityDesktop = NULL;
-
void* pInterf = NULL;
-
res = desktop->pVtbl->QueryInterface(desktop, IID_IADLXEyefinityDesktop(), &pInterf);
-
if (ADLX_SUCCEEDED(res))
-
{
-
eyefinityDesktop = (IADLXEyefinityDesktop*)pInterf;
-
res = eyefinity->pVtbl->Destroy(eyefinity, eyefinityDesktop);
-
printf("\tReturn code for destroying Desktop %d is: %d (0 means Success)\n", crt, res);
-
}
-
else
-
printf("\tEyefinityDesktop is NULL\n");
-
-
if (eyefinityDesktop != NULL)
-
{
-
eyefinityDesktop->pVtbl->Release(eyefinityDesktop);
-
eyefinityDesktop = NULL;
-
}
-
}
-
else
-
printf("\tDesktop is NULL\n");
-
-
if (desktop != NULL)
-
{
-
desktop->pVtbl->Release(desktop);
-
desktop = NULL;
-
}
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop interface\n");
-
-
if (desktops != NULL)
-
{
-
desktops->pVtbl->Release(desktops);
-
desktops = NULL;
-
}
-
}
-
else
-
printf("\t Failed to get simple Eyefinity \n");
-
-
if (eyefinity != NULL)
-
{
-
eyefinity->pVtbl->Release(eyefinity);
-
eyefinity = NULL;
-
}
-
}
-
else
-
printf("\tFailed to get the Desktop Services interface\n");
-
-
if (desktopsInfo != NULL)
-
{
-
desktopsInfo->pVtbl->Release(desktopsInfo);
-
desktopsInfo = NULL;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_gpus.html b/vendor/adlx/SDKDoc/html/c_sample_gpus.html deleted file mode 100644 index 04eda6c..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_gpus.html +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUs - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUs
-
-
-
- - - -

Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.

-

Sample Path

-

/Samples/C/Generic/GPUs

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/ISystem1.h"
-
#include <stdio.h>
-
-
// Callback for GPU change event
-
adlx_bool ADLX_STD_CALL OnGPUListChanged(IADLXGPUsEventListener* pThis, IADLXGPUList* pNewGPUs)
-
{
-
printf("GPU list change event received\n");
-
if (pNewGPUs == NULL)
-
{
-
printf("GPU list does not exist\n");
-
return false;
-
}
-
-
printf("GPU list size: %d\n", pNewGPUs->pVtbl->Size(pNewGPUs));
-
-
return true;
-
}
-
-
// Display GPU information
-
void ShowGPUInfo(IADLXGPU* gpu);
-
-
// Show GPU hybrid graphic type
-
void ShowHybridGraphicType();
-
-
// Add event lister for GPU change
-
void AddGPUEventListener();
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPU* gpu);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get GPU list
-
IADLXGPUList* gpus = NULL;
-
res = sys->pVtbl->GetGPUs(sys, &gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPU* gpu = NULL;
-
res = gpus->pVtbl->At_GPUList(gpus, 0, &gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(gpu);
-
}
-
-
if (gpus != NULL)
-
{
-
gpus->pVtbl->Release(gpus);
-
}
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Display GPU information
-
void ShowGPUInfo(IADLXGPU* gpu)
-
{
-
if (gpu != NULL)
-
{
-
printf("\n==== GPU info ====\n");
-
// Show GPU info
-
const char* vendorId = NULL;
-
ADLX_RESULT ret = gpu->pVtbl->VendorId(gpu, &vendorId);
-
printf("VendorId: %s, return code is: %d(0 means success)\n", vendorId, ret);
-
-
ADLX_ASIC_FAMILY_TYPE asicFamilyType = ASIC_UNDEFINED;
-
ret = gpu->pVtbl->ASICFamilyType(gpu, &asicFamilyType);
-
printf("ASICFamilyType: %d, return code is: %d(0 means success)\n", asicFamilyType, ret);
-
-
ADLX_GPU_TYPE gpuType = GPUTYPE_UNDEFINED;
-
ret = gpu->pVtbl->Type(gpu, &gpuType);
-
printf("Type: %d, return code is: %d(0 means success)\n", gpuType, ret);
-
-
adlx_bool isExternal = false;
-
ret = gpu->pVtbl->IsExternal(gpu, &isExternal);
-
printf("IsExternal: %d, return code is: %d(0 means success)\n", isExternal, ret);
-
-
const char* gpuName = NULL;
-
ret = gpu->pVtbl->Name(gpu, &gpuName);
-
printf("Name: %s, return code is: %d(0 means success)\n", gpuName, ret);
-
-
const char* driverPath = NULL;
-
ret = gpu->pVtbl->DriverPath(gpu, &driverPath);
-
printf("DriverPath: %s, return code is: %d(0 means success)\n", driverPath, ret);
-
-
const char* pnpString = NULL;
-
ret = gpu->pVtbl->PNPString(gpu, &pnpString);
-
printf("PNPString: %s, return code is: %d(0 means success)\n", pnpString, ret);
-
-
adlx_bool hasDesktops = false;
-
ret = gpu->pVtbl->HasDesktops(gpu, &hasDesktops);
-
printf("HasDesktops: %d, return code is: %d(0 means success)\n", hasDesktops, ret);
-
-
adlx_uint totalVRAM = 0;
-
ret = gpu->pVtbl->TotalVRAM(gpu, &totalVRAM);
-
printf("TotalVRAM: %d MB, return code is: %d(0 means success)\n", totalVRAM, ret);
-
-
adlx_int id;
-
ret = gpu->pVtbl->UniqueId(gpu, &id);
-
printf("UniqueId: %d, return code is: %d(0 means success)\n", id, ret);
-
-
IADLXGPU1* gpu1 = NULL;
-
ret = gpu->pVtbl->QueryInterface(gpu, IID_IADLXGPU1(), &gpu1);
-
if (ADLX_SUCCEEDED(ret))
-
{
-
const char* productName = NULL;
-
ret = gpu1->pVtbl->ProductName(gpu1, &productName);
-
printf("ProductName: %s\n", productName);
-
-
ADLX_MGPU_MODE mode = MGPU_NONE;
-
ret = gpu1->pVtbl->MultiGPUMode(gpu1, &mode);
-
printf("Multi-GPU Mode: ");
-
if (mode == MGPU_PRIMARY)
-
printf("GPU is the primary GPU\n");
-
else if (mode == MGPU_SECONDARY)
-
printf("GPU is the secondary GPU\n");
-
else
-
printf("GPU is not in Multi-GPU\n");
-
-
ADLX_PCI_BUS_TYPE busType = UNDEFINED;
-
ret = gpu1->pVtbl->PCIBusType(gpu1, &busType);
-
printf("PCIBusType: %d\n", busType);
-
-
adlx_uint laneWidth = 0;
-
ret = gpu1->pVtbl->PCIBusLaneWidth(gpu1, &laneWidth);
-
printf("PCIBusLaneWidth: %d\n", laneWidth);
-
-
gpu1->pVtbl->Release(gpu1);
-
gpu1 = NULL;
-
}
-
-
gpu->pVtbl->Release(gpu);
-
gpu = NULL;
-
}
-
}
-
-
// Display GPU hybrid graphic type
-
void ShowHybridGraphicType()
-
{
-
ADLX_HG_TYPE hgType = NONE;
-
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
ADLX_RESULT res = sys->pVtbl->GetHybridGraphicsType(sys, &hgType);
-
if (ADLX_SUCCEEDED(res))
-
{
-
switch (hgType)
-
{
-
case NONE:
-
printf("The GPU hybrid type is: NONE\n");
-
break;
-
case AMD:
-
printf("The GPU hybrid type is: AMD\n");
-
break;
-
case OTHER:
-
printf("The GPU hybrid type is: OTHER\n");
-
break;
-
}
-
}
-
}
-
-
// Add GPU change event listener
-
void AddGPUEventListener()
-
{
-
IADLXGPUsEventListenerVtbl GPUsEventListenerVtbl = {&OnGPUListChanged};
-
IADLXGPUsEventListener gpuListener = {&GPUsEventListenerVtbl};
-
-
IADLXGPUsChangedHandling* gpusChangedHandling = NULL;
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
ADLX_RESULT res = sys->pVtbl->GetGPUsChangedHandling(sys, &gpusChangedHandling);
-
if (ADLX_SUCCEEDED(res) && gpusChangedHandling)
-
{
-
res = gpusChangedHandling->pVtbl->AddGPUsListEventListener(gpusChangedHandling, &gpuListener);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("Addition of GPU event listener successful\n");
-
}
-
-
// Enable or disable a GPU device using Windows Device Manager
-
Sleep(15 * 1000);
-
-
res = gpusChangedHandling->pVtbl->RemoveGPUsListEventListener(gpusChangedHandling, &gpuListener);
-
if (ADLX_SUCCEEDED(res))
-
{
-
printf("Removal of GPU event listener successful\n");
-
}
-
-
gpusChangedHandling->pVtbl->Release(gpusChangedHandling);
-
}
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose one from the following options\n");
-
-
printf("\t->Press 1 to display GPU information\n");
-
-
printf("\t->Press 2 to add GPU event listener\n");
-
-
printf("\t->Press 3 to display GPU hybrid graphic type\n");
-
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display the main menu options\n");
-
}
-
-
// Menu action control
-
void MenuControl(IADLXGPU* gpu)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display GPU information
-
case '1':
-
ShowGPUInfo(gpu);
-
break;
-
// Add GPU change event listener
-
case '2':
-
AddGPUEventListener();
-
break;
-
// Display GPU hybrid graphic type
-
case '3':
-
ShowHybridGraphicType();
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
@ NONE
Definition: ADLXDefines.h:330
-
@ AMD
Definition: ADLXDefines.h:331
-
@ OTHER
Definition: ADLXDefines.h:332
-
@ GPUTYPE_UNDEFINED
Definition: ADLXDefines.h:411
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ MGPU_SECONDARY
Definition: ADLXDefines.h:975
-
@ MGPU_PRIMARY
Definition: ADLXDefines.h:974
-
@ MGPU_NONE
Definition: ADLXDefines.h:973
-
@ ASIC_UNDEFINED
Definition: ADLXDefines.h:346
-
@ UNDEFINED
Definition: ADLXDefines.h:366
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_HG_TYPE
Indicates the type of Hybrid Graphic.
Definition: ADLXDefines.h:329
-
ADLX_GPU_TYPE
Indicates the GPU type.
Definition: ADLXDefines.h:410
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_MGPU_MODE
Indicates the AMD MGPU mode.
Definition: ADLXDefines.h:972
-
ADLX_ASIC_FAMILY_TYPE
Indicates the ASIC family type.
Definition: ADLXDefines.h:345
-
ADLX_PCI_BUS_TYPE
Indicates the PCI bus type.
Definition: ADLXDefines.h:365
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_log.html b/vendor/adlx/SDKDoc/html/c_sample_log.html deleted file mode 100644 index 243025f..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_log.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Log - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Log
-
-
-
- - - -

Demonstrates how to enable log and get log data when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Enable log with local file, file [./ADLX.log] is created.
2 Enable log with DebugView.
3 Eenable log with app handle.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Generic/Log

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
-
// CallBack to handle ADLX log
-
ADLX_RESULT ADLX_STD_CALL WriteLog(IADLXLog* pThis, const wchar_t* msg)
-
{
-
wprintf(L"%s", msg);
-
return ADLX_OK;
-
}
-
-
// Application's log struct demostration, application can capture ADLX log here
-
typedef struct AppHandlLog
-
{
-
ADLX_RESULT(ADLX_STD_CALL* WriteLog)
-
(IADLXLog* pThis, const wchar_t* msg);
-
} AppHandlLog;
-
-
// Local file, ADLX log data is saved to file
-
void UseLocalFile()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Log destination, severity, logfile
-
ADLX_LOG_DESTINATION mode = LOCALFILE;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
wchar_t logfile[] = L"./ADLX.log";
-
-
// Enable log
-
ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, NULL, logfile);
-
printf("Enabled log result: %d (0 means success)\n", res);
-
}
-
-
// Configure ADLX log to send errors, warnings and debug information messages to the DebugView
-
void UseDebugView()
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Log destination, severity
-
ADLX_LOG_DESTINATION mode = DBGVIEW;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
-
// Enable log
-
ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, NULL, NULL);
-
printf("Enabled log result : %d (0 means Success)\n", res);
-
}
-
-
// Application handle log, application's callback will handle the ADLX log
-
void UseAppHandlLog(AppHandlLog** appHandlLog)
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Log destination, severity
-
ADLX_LOG_DESTINATION mode = APPLICATION;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
-
// Enable log
-
ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, (IADLXLog*)appHandlLog, NULL);
-
printf("Enabled log result : %d (0 means Success)\n", res);
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
printf("\t->Press 1 to enable log with local file, file [./ADLX.log] will be created.\n");
-
printf("\t->Press 2 to enable log with DebugView\n");
-
printf("\t->Press 3 to enable log with app handle\n");
-
}
-
-
// Menu action control
-
void MenuControl(AppHandlLog** appHandlLog)
-
{
-
int num = 0;
-
num = getchar();
-
switch (num)
-
{
-
// Local file
-
case '1':
-
UseLocalFile();
-
break;
-
-
// DebugView
-
case '2':
-
UseDebugView();
-
break;
-
-
// App handle
-
case '3':
-
UseAppHandlLog(appHandlLog);
-
break;
-
-
default:
-
printf("Invalid input\n");
-
break;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (NULL != msg)
-
printf("%s\n", msg);
-
-
system("pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// App create object to handle ADLX log
-
AppHandlLog* appHandlLog = (AppHandlLog*)malloc(sizeof(AppHandlLog));
-
appHandlLog->WriteLog = &WriteLog;
-
-
// Menu
-
MainMenu();
-
MenuControl(&appHandlLog);
-
-
// Try get log by using some interfaces
-
// Get display service and display numbers
-
IADLXDisplayServices* displayService = NULL;
-
res = sys->pVtbl->GetDisplaysServices(sys, &displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_uint displayNum;
-
displayService->pVtbl->GetNumberOfDisplays(displayService, &displayNum);
-
}
-
if (NULL != displayService)
-
{
-
displayService->pVtbl->Release(displayService);
-
displayService = NULL;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// appHandlLog may be used throughout the life cycle of ADLX,
-
// So destroy appHandlLog after destroying ADLX
-
free(appHandlLog);
-
appHandlLog = NULL;
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ LDEBUG
Definition: ADLXDefines.h:631
-
@ DBGVIEW
Definition: ADLXDefines.h:648
-
@ APPLICATION
Definition: ADLXDefines.h:649
-
@ LOCALFILE
Definition: ADLXDefines.h:647
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_LOG_SEVERITY
Indicates the severity level for ADLX logs.
Definition: ADLXDefines.h:630
-
ADLX_LOG_DESTINATION
Indicates the location of the log traces that are generated from the internal code execution of ADLX.
Definition: ADLXDefines.h:646
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_sample_userprocess.html b/vendor/adlx/SDKDoc/html/c_sample_userprocess.html deleted file mode 100644 index 16bc5ff..0000000 --- a/vendor/adlx/SDKDoc/html/c_sample_userprocess.html +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: UserProcess - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UserProcess
-
-
-

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include <Windows.h>
-
#include <TlHelp32.h>
-
#include "GlobalDefs.h"
-
-
// Get process id
-
static DWORD GetProcessIdOfWinLogon (DWORD id);
-
-
// Get token by name
-
static HANDLE GetTokenByName ();
-
-
// Invoke process
-
static BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd);
-
-
// The thread to create user process
-
static DWORD WINAPI CreateUserProcess (LPVOID lpParam);
-
-
DWORD GetProcessIdOfWinLogon (DWORD id)
-
{
-
HANDLE hSnap = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
-
if (hSnap == INVALID_HANDLE_VALUE)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'CreateToolhelp32Snapshot' failed.");
-
return 0;
-
}
-
-
PROCESSENTRY32 ProcEntry = { 0 };
-
ProcEntry.dwSize = sizeof (PROCESSENTRY32);
-
-
if (!Process32First (hSnap, &ProcEntry))
-
{
-
CloseHandle (hSnap);
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'Process32First' failed.");
-
return 0;
-
}
-
-
DWORD processId = 0;
-
for (;;)
-
{
-
if (strcmp (ProcEntry.szExeFile, "winlogon.exe") == 0)
-
{
-
DWORD logonSessionId = 0;
-
if (!ProcessIdToSessionId (ProcEntry.th32ProcessID, &logonSessionId))
-
continue;
-
-
if (logonSessionId == id)
-
{
-
processId = ProcEntry.th32ProcessID;
-
break;
-
}
-
}
-
-
if (!Process32Next (hSnap, &ProcEntry))
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'Process32Next' failed.");
-
break;
-
}
-
}
-
CloseHandle (hSnap);
-
-
return processId;
-
}
-
-
HANDLE GetTokenByName ()
-
{
-
typedef BOOL (WINAPI* LPWTSQUERYUSERTOKEN)(DWORD, PHANDLE);
-
LPWTSQUERYUSERTOKEN fWTSQueryUserTokenPtr = NULL;
-
-
HMODULE hLib = NULL;
-
HANDLE hToken = NULL;
-
-
do
-
{
-
DWORD sessionId = WTSGetActiveConsoleSessionId ();
-
if (sessionId == 0xFFFFFFFF)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName:WTSGetActiveConsoleSessionId: failed.");
-
break;
-
}
-
-
if (fWTSQueryUserTokenPtr == NULL)
-
{
-
if (hLib == NULL)
-
hLib = LoadLibrary ("WtsApi32.dll");
-
-
if (hLib)
-
fWTSQueryUserTokenPtr = (LPWTSQUERYUSERTOKEN)GetProcAddress (hLib, "WTSQueryUserToken");
-
-
if (!fWTSQueryUserTokenPtr)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: Get symbol 'WTSQueryUserToken' failed.");
-
break;
-
}
-
}
-
-
if (!fWTSQueryUserTokenPtr (sessionId, &hToken))
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'fWTSQueryUserTokenPtr' failed, error code: %d.", GetLastError ());
-
break;
-
}
-
-
DWORD winLogonProcessId = GetProcessIdOfWinLogon (sessionId);
-
HANDLE hWinlogon = OpenProcess (MAXIMUM_ALLOWED, FALSE, winLogonProcessId);
-
if (hWinlogon == NULL)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'OpenProcess' failed.");
-
break;
-
}
-
-
BOOL bResult = OpenProcessToken (hWinlogon, TOKEN_ALL_ACCESS, &hToken);
-
CloseHandle (hWinlogon);
-
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'OpenProcessToken' failed.");
-
break;
-
}
-
-
HANDLE hTokenDup = NULL;
-
bResult = DuplicateTokenEx (hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup);
-
CloseHandle (hToken);
-
hToken = NULL;
-
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'DuplicateTokenEx' failed.");
-
break;
-
}
-
-
bResult = SetTokenInformation (hTokenDup, TokenSessionId, (void*)&sessionId, sizeof (DWORD));
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'SetTokenInformation' failed.");
-
break;
-
}
-
-
TOKEN_PRIVILEGES TokenPriv = { 0 };
-
LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &TokenPriv.Privileges[0].Luid);
-
-
TokenPriv.PrivilegeCount = 0;
-
TokenPriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
AdjustTokenPrivileges (hTokenDup, FALSE, &TokenPriv, sizeof (TokenPriv), NULL, NULL);
-
-
hToken = hTokenDup;
-
-
} while (0);
-
-
if (hLib)
-
FreeLibrary (hLib);
-
-
return hToken;
-
}
-
-
BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd)
-
{
-
if (image == NULL || cmd == NULL)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: parameter(s) invalid.");
-
return FALSE;
-
}
-
-
HANDLE hToken = GetTokenByName();
-
if (hToken == NULL) // "SVCHOST.EXE"
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: GetTokenByName failed.");
-
return FALSE;
-
}
-
-
XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'GetTokenByName', hToken:%d.", hToken);
-
XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'GetTokenByName', image:%s, cmd:%s", image, cmd);
-
-
STARTUPINFOW si;
-
ZeroMemory (&si, sizeof (STARTUPINFOW));
-
si.cb = sizeof (STARTUPINFOW);
-
si.lpDesktop = L"winsta0\\default";
-
-
PROCESS_INFORMATION pi;
-
BOOL ret = CreateProcessAsUserW (hToken, image, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
-
if (!ret)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'CreateProcessAsUserW' failed, error code:%d.", GetLastError());
-
return FALSE;
-
}
-
-
return ret;
-
}
-
-
DWORD WINAPI CreateUserProcess (LPVOID lpParam)
-
{
-
if (lpParam == NULL)
-
return FALSE;
-
-
wchar_t imagePath[MAX_RESULT_LEN] = { 0 };
-
GetModuleFileNameW (NULL, imagePath, MAX_PATH);
-
-
InvokeProcess (imagePath, (WCHAR*)lpParam);
-
-
return TRUE;
-
}
-
-
BOOL GetUserProcessData (Messager* messager, ResponseData* responseData)
-
{
-
if (messager == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetUserProcessData: invalid messager");
-
return FALSE;
-
}
-
-
if (responseData == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetUserProcessData: NULL responseData");
-
return FALSE;
-
}
-
-
WCHAR eventPath[MAX_PATH] = { 0 };
-
WCHAR shmPath[MAX_PATH] = { 0 };
-
-
swprintf_s (eventPath, MAX_PATH, ADXL_EVENT_NAME, messager->adlxEntityName);
-
swprintf_s (shmPath, MAX_PATH, ADXL_SHAREMENORY_NAME, messager->adlxEntityName);
-
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
HANDLE finishEvent = CreateEventW (&sa, FALSE, FALSE, eventPath);
-
-
XTrace (L"ADLX Call Service: Main: GetUserProcessData, evt: %s, shmpath: %s\n", eventPath, shmPath);
-
-
if (ShmCreate (shmPath, SHARE_MEMORY_MAX_SIZE))
-
{
-
if (ShmWriteBuffer (shmPath, (PVOID)messager, sizeof (Messager)))
-
{
-
// Create user process to call ADLX function
-
DWORD threadId = 0;
-
CreateThread (NULL, 0, CreateUserProcess, (LPVOID)messager->adlxEntityName, 0, &threadId);
-
// Wait user process to write result to shared memory
-
if (WAIT_TIMEOUT == WaitForSingleObject (finishEvent, INFINITE))
-
{
-
return FALSE;
-
}
-
// Get template structure from shared memory
-
if (ShmReadBuffer (shmPath, (PVOID)responseData, sizeof (ResponseData)))
-
{
-
XTrace (L"ADLX Call Service: Main: GetUserProcessData: Readback result: %s", responseData->executedResults);
-
ShmDestory ();
-
return TRUE;
-
}
-
}
-
}
-
return FALSE;
-
}
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/c_ssm.html b/vendor/adlx/SDKDoc/html/c_ssm.html deleted file mode 100644 index cc467a3..0000000 --- a/vendor/adlx/SDKDoc/html/c_ssm.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SmartShiftMax - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SmartShiftMax
-
-
-
- - - -

Demonstrates how to control AMD SmartShift Max when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartShift Max support.
2 Display AMD SmartShift Max bias value, bias mode, and bias range.
3 Set SmartShift Max bias mode to Manual.
4 Set SmartShift Max bias mode to Auto.
5 Set SmartShift Max bias value.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PowerTuning/SmartShiftMax

- -

Code

-
C
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h"
-
#include "SDK/Include/IPowerTuning.h"
-
#include "SDK/Include/ISystem1.h"
-
-
// Display AMD SmartShift max support
-
void ShowSmartShiftMaxSupport(IADLXSmartShiftMax* ssm);
-
-
// Display current AMD SmartShift max state
-
void ShowSmartShiftMaxSate(IADLXSmartShiftMax* ssm);
-
-
// Set AMD SmartShift max bias mode
-
void SetSmartShiftMaxBiasMode(IADLXSmartShiftMax* ssm, int index);
-
-
// Set AMD SmartShift max bias value
-
void SetSmartShiftMaxBiasValue(IADLXSmartShiftMax* ssm);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXSmartShiftMax* ssm);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = ADLXHelper_Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system services
-
IADLXSystem* sys = ADLXHelper_GetSystemServices();
-
-
// Get IADLXSystem1 interface
-
IADLXSystem1* system1 = NULL;
-
res = sys->pVtbl->QueryInterface(sys, IID_IADLXSystem1(), (void**)(&system1));
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get power tuning services
-
IADLXPowerTuningServices* powerTuningServices = NULL;
-
res = system1->pVtbl->GetPowerTuningServices(system1, &powerTuningServices);
-
-
// Get AMD SmartShift Max interface
-
IADLXSmartShiftMax* ssm = NULL;
-
res = powerTuningServices->pVtbl->GetSmartShiftMax(powerTuningServices, &ssm);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(ssm);
-
}
-
-
// Release AMD SmartShift Max interface
-
if (ssm != NULL)
-
{
-
ssm->pVtbl->Release(ssm);
-
ssm = NULL;
-
}
-
-
// Release power tuning services interface
-
if (powerTuningServices != NULL)
-
{
-
powerTuningServices->pVtbl->Release(powerTuningServices);
-
powerTuningServices = NULL;
-
}
-
}
-
else
-
{
-
printf("Failed to get IADLXSystem1 interface\n");
-
}
-
-
// Release IADLXSystem1 interface
-
if (system1 != NULL)
-
{
-
system1->pVtbl->Release(system1);
-
system1 = NULL;
-
}
-
}
-
else
-
{
-
printf("ADLX initialization failed\n");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelper_Terminate();
-
printf("Destroy ADLX res: %d\n", res);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSmartShiftMaxSupport(IADLXSmartShiftMax* ssm)
-
{
-
adlx_bool supported = false;
-
ssm->pVtbl->IsSupported(ssm, &supported);
-
printf("\tIsSupported: %d\n", supported);
-
}
-
-
void ShowSmartShiftMaxSate(IADLXSmartShiftMax* ssm)
-
{
- -
ADLX_RESULT ret = ssm->pVtbl->GetBiasMode(ssm, &mode);
-
if (ADLX_SUCCEEDED(ret))
-
printf("\tBias mode: %s\n", (mode == SSM_BIAS_MANUAL ? "manual" : "auto"));
-
else
-
printf("\tFailed to get bias mode, error code: %d\n", ret);
-
-
adlx_int bias = 0;
-
ret = ssm->pVtbl->GetBias(ssm, &bias);
-
if (ADLX_SUCCEEDED(ret))
-
printf("\tBias value: %d\n", bias);
-
else
-
printf("\tFailed to get bias value, error code: %d\n", ret);
-
- -
ret = ssm->pVtbl->GetBiasRange(ssm, &range);
-
if (ADLX_SUCCEEDED(ret))
-
printf("\tBias range: [ %d, %d ], step: %d\n", range.minValue, range.maxValue, range.step);
-
else
-
printf("\tFailed to get bias range, error code: %d\n", ret);
-
}
-
-
void SetSmartShiftMaxBiasMode(IADLXSmartShiftMax* ssm, int index)
-
{
-
ADLX_SSM_BIAS_MODE mode = index == 0 ? SSM_BIAS_MANUAL : SSM_BIAS_AUTO;
-
ADLX_RESULT res = ssm->pVtbl->SetBiasMode(ssm, mode);
-
printf("\tSet bias mode %s, return code: %d\n", (mode == SSM_BIAS_MANUAL ? "manual" : "auto"), res);
-
}
-
-
void SetSmartShiftMaxBiasValue(IADLXSmartShiftMax* ssm)
-
{
-
adlx_int bias = 0;
-
ssm->pVtbl->GetBias(ssm, &bias);
- -
ssm->pVtbl->GetBiasRange(ssm, &range);
-
adlx_int base = (range.maxValue + range.minValue) / 2;
-
adlx_int value = bias == base ? base + range.step : base;
-
ADLX_RESULT res = ssm->pVtbl->SetBias(ssm, value);
-
printf("\tSet bias value: %d, return code: %d\n", value, res);
-
}
-
-
void MainMenu()
-
{
-
printf("\tChoose from the following options:\n");
-
printf("\t->Press 1 to display AMD SmartShift Max support\n");
-
printf("\t->Press 2 to display AMD SmartShift Max bias value, bias mode, and bias range\n");
-
printf("\t->Press 3 to set AMD SmartShift Max bias mode to Manual\n");
-
printf("\t->Press 4 to set AMD SmartShift Max bias mode to Auto\n");
-
printf("\t->Press 5 to set AMD SmartShift Max bias value\n");
-
printf("\t->Press Q/q to terminate the application\n");
-
printf("\t->Press M/m to display main menu options\n");
-
}
-
-
void MenuControl(IADLXSmartShiftMax* ssm)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display AMD SmartShift max support
-
case '1':
-
ShowSmartShiftMaxSupport(ssm);
-
break;
-
-
// Display current AMD SmartShift max state
-
case '2':
-
ShowSmartShiftMaxSate(ssm);
-
break;
-
-
// Set AMD SmartShift max bias mode
-
case '3':
-
case '4':
-
SetSmartShiftMaxBiasMode(ssm, num - '3');
-
break;
-
-
// Set AMD SmartShift max bias value
-
case '5':
-
SetSmartShiftMaxBiasValue(ssm);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ SSM_BIAS_AUTO
Definition: ADLXDefines.h:943
-
@ SSM_BIAS_MANUAL
Definition: ADLXDefines.h:944
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_SSM_BIAS_MODE
AMD SmartShift Max bias mode.
Definition: ADLXDefines.h:942
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/classes.html b/vendor/adlx/SDKDoc/html/classes.html deleted file mode 100644 index aa28584..0000000 --- a/vendor/adlx/SDKDoc/html/classes.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Class Index - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- - - - - - - - diff --git a/vendor/adlx/SDKDoc/html/closed.png b/vendor/adlx/SDKDoc/html/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/vendor/adlx/SDKDoc/html/cpp_3_d_settings_event.html b/vendor/adlx/SDKDoc/html/cpp_3_d_settings_event.html deleted file mode 100644 index ff7e18c..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_3_d_settings_event.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: 3DSettingsEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
3DSettingsEvent
-
-
-
- - - -

Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.

-

Sample Path

-

/Samples/CPP/3DGraphics/3DSettingsEvent

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Block event to verify call back
-
HANDLE blockEvent = nullptr;
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName);
-
-
// Call back to handle changed events
-
class CallBack3DSettingsChanged : public IADLX3DSettingsChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) override
-
{
- -
IADLXGPUPtr gpu;
-
res = p3DSettingsChangedEvent->GetGPU(&gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
adlx_bool antiLagChanged = p3DSettingsChangedEvent->IsAntiLagChanged();
-
std::cout << "\tGPU: " << uniqueName << " AntiLag changed: " << antiLagChanged << std::endl;
-
}
-
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
};
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// GetGPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get change handle
-
IADLX3DSettingsChangedHandlingPtr changeHandle;
-
res = d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
IADLX3DSettingsChangedListener* call = new CallBack3DSettingsChanged;
-
-
// Add call back
-
ADLX_RESULT addListenerRes = changeHandle->Add3DSettingsEventListener(call);
-
-
// Change anti-lag state
-
IADLX3DAntiLagPtr antiLag;
-
d3dSettingSrv->GetAntiLag(gpuInfo, &antiLag);
-
adlx_bool enable;
-
antiLag->IsEnabled(&enable);
-
-
std::cout << "\nWaiting for 3DSettings change event (5s)...\n";
-
antiLag->SetEnabled(!enable);
-
WaitForSingleObject(blockEvent, 5000);
-
-
if (ADLX_SUCCEEDED (addListenerRes))
-
{
-
// Remove call back
-
res = changeHandle->Remove3DSettingsEventListener(call);
-
if (ADLX_FAILED (res))
-
std::cout << "\nRemove 3DSettings event listener failed" << std::endl;
-
}
-
-
// Delete call back
-
delete call;
-
call = nullptr;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get 3DSettings services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "ADLX initialization failed" << std::endl;
-
system("pause");
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName)
-
{
-
if (nullptr != gpu && nullptr != uniqueName)
-
{
-
const char* gpuName = nullptr;
-
ADLX_RESULT res1 = gpu->Name(&gpuName);
-
adlx_int id;
-
ADLX_RESULT res2 = gpu->UniqueId(&id);
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__anisotropic_filtering.html b/vendor/adlx/SDKDoc/html/cpp__anisotropic_filtering.html deleted file mode 100644 index e2e7750..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__anisotropic_filtering.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AnisotropicFiltering - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AnisotropicFiltering
-
-
-
- - - -

Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display anisotropic filtering support
2 Display current anisotropic filtering state and level
3 Enable and change anisotropic filtering levels
4 Disable anisotropic filtering
M/m Display main menu options
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AnisotropicFiltering

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <map>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display anisotropic filtering support
-
void ShowSupport(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering);
-
-
// Get anisotropic filtering current state
-
void GetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering);
-
-
// Set anisotropic filtering state
-
void SetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get AnisotropicFilteringPtr interface
-
IADLX3DAnisotropicFilteringPtr anisotropicFiltering;
-
res = d3dSettingSrv->GetAnisotropicFiltering(gpuInfo, &anisotropicFiltering);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(anisotropicFiltering);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static const std::map<ADLX_ANISOTROPIC_FILTERING_LEVEL, const char*> levelMap =
-
{
-
{AF_LEVEL_INVALID, "Invalid"},
-
{AF_LEVEL_X2, "2X"},
-
{AF_LEVEL_X4, "4X"},
-
{AF_LEVEL_X8, "8X"},
-
{AF_LEVEL_X16, "16X"}};
-
-
void ShowSupport(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = anisotropicFiltering->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = anisotropicFiltering->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsEnabled: " << enabled << std::endl;
- -
res = anisotropicFiltering->GetLevel(&level);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tLevel: " << levelMap.find(level)->second << std::endl;
-
}
-
-
void SetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
res = anisotropicFiltering->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success) "<< std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
- -
res = anisotropicFiltering->GetLevel(&level);
-
if (ADLX_SUCCEEDED (res))
-
{
-
level = (level == AF_LEVEL_X2) ? AF_LEVEL_X4 : AF_LEVEL_X2;
-
res = anisotropicFiltering->SetLevel(level);
-
std::cout << "\tSet level: " << levelMap.find(level)->second << "Return code is: " << res << " (0 means success) " << std::endl;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display anisotropic filtering support" << std::endl;
-
std::cout << "\t->Press 2 to display current anisotropic filtering state" << std::endl;
-
std::cout << "\t->Press 3 to enable and change anisotropic filtering levels" << std::endl;
-
std::cout << "\t->Press 4 to disable anisotropic filtering" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display anisotropic filtering support
-
case '1':
-
ShowSupport(anisotropicFiltering);
-
break;
-
-
// Display current anisotropic filtering state
-
case '2':
-
GetState(anisotropicFiltering);
-
break;
-
-
// Enable and change anisotropic filtering levels
-
case '3':
-
case '4':
-
SetState(anisotropicFiltering, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ AF_LEVEL_X16
Definition: ADLXDefines.h:810
-
@ AF_LEVEL_X4
Definition: ADLXDefines.h:808
-
@ AF_LEVEL_X2
Definition: ADLXDefines.h:807
-
@ AF_LEVEL_INVALID
Definition: ADLXDefines.h:806
-
@ AF_LEVEL_X8
Definition: ADLXDefines.h:809
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_ANISOTROPIC_FILTERING_LEVEL
Indicates the Anisotropic Filtering level.
Definition: ADLXDefines.h:805
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__anti_aliasing.html b/vendor/adlx/SDKDoc/html/cpp__anti_aliasing.html deleted file mode 100644 index 4d9453b..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__anti_aliasing.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AntiAliasing
-
-
-
- - - -

Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display anti-aliasing support
2 Display current anti-aliasing state, mode, method, and level
3 Set anti-aliasing mode: Use application settings
4 Set anti-aliasing mode: Enhance application settings
5 Set anti-aliasing mode: Override application settings
6 Set anti-aliasing method
7 Set anti-aliasing level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AntiAliasing

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <map>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display anti-aliasing support
-
void ShowAntiAliasingSupport(const IADLX3DAntiAliasingPtr& antiAliasing);
-
-
// Display anti-aliasing current state
-
void GetAntiAliasingState(const IADLX3DAntiAliasingPtr& antiAliasing);
-
-
// Set anti-aliasing mode
-
void SetAntiAliasingMode(const IADLX3DAntiAliasingPtr& antiAliasing, int index);
-
-
// Set anti-aliasing method
-
void SetAntiAliasingMethod(const IADLX3DAntiAliasingPtr& antiAliasing);
-
-
// Set anti-aliasing level
-
void SetAntiAliasingLevel(const IADLX3DAntiAliasingPtr& antiAliasing);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DAntiAliasingPtr& antiAliasing);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// GetGPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get AntiAliasing interface
-
IADLX3DAntiAliasingPtr antiAliasing;
-
res = d3dSettingSrv->GetAntiAliasing(gpuInfo, &antiAliasing);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(antiAliasing);
-
}
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the 3DSettings Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get GPU" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static const std::map<ADLX_ANTI_ALIASING_MODE, const char*> antiAliasingMode =
-
{
-
{AA_MODE_USE_APP_SETTINGS, "Use application settings"},
-
{AA_MODE_ENHANCE_APP_SETTINGS, "Enhance application settings"},
-
{AA_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"}};
-
-
static const std::map<ADLX_ANTI_ALIASING_METHOD, const char*> antiAliasingMethod =
-
{
-
{AA_METHOD_MULTISAMPLING, "Muti-Sampling"},
-
{AA_METHOD_ADAPTIVE_MULTISAMPLING, "Adaptive Muti-Sampling"},
-
{AA_METHOD_SUPERSAMPLING, "Super Sampling"}};
-
-
static const std::map<ADLX_ANTI_ALIASING_LEVEL, const char*> antiAliasingLevel =
-
{
-
{AA_LEVEL_INVALID, "Level Invalid"},
-
{AA_LEVEL_2X, "2X"},
-
{AA_LEVEL_2XEQ, "2XEQ"},
-
{AA_LEVEL_4X, "4X"},
-
{AA_LEVEL_4XEQ, "4XEQ"},
-
{AA_LEVEL_8X, "8X"},
-
{AA_LEVEL_8XEQ, "8XEQ"}};
-
-
void ShowAntiAliasingSupport(const IADLX3DAntiAliasingPtr& antiAliasing)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = antiAliasing->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetAntiAliasingState(const IADLX3DAntiAliasingPtr& antiAliasing)
-
{
- -
ADLX_RESULT res = antiAliasing->GetMode(&mode);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tMode: " << antiAliasingMode.find (mode)->second << std::endl;
- -
res = antiAliasing->GetMethod(&method);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tMethod: " << antiAliasingMethod.find (method)->second << std::endl;
- -
res = antiAliasing->GetLevel(&level);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tLevel: " << antiAliasingLevel.find(level)->second << std::endl;
-
}
-
-
void SetAntiAliasingMode(const IADLX3DAntiAliasingPtr& antiAliasing, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_ANTI_ALIASING_MODE mode = AA_MODE_USE_APP_SETTINGS;
-
mode = (ADLX_ANTI_ALIASING_MODE)(mode + index);
-
res = antiAliasing->SetMode(mode);
-
std::cout << "\tReturn code is : " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetAntiAliasingMethod(const IADLX3DAntiAliasingPtr& antiAliasing)
-
{
-
ADLX_ANTI_ALIASING_METHOD method = AA_METHOD_MULTISAMPLING;
-
ADLX_RESULT res = antiAliasing->GetMethod(&method);
-
if (ADLX_SUCCEEDED (res))
-
{
-
method = (ADLX_ANTI_ALIASING_METHOD)((method + 1) % 3);
-
res = antiAliasing->SetMethod(method);
-
std::cout << "\tSet method: " << antiAliasingMethod.find(method)->second << ", res is " << res << std::endl;
-
}
-
}
-
-
void SetAntiAliasingLevel(const IADLX3DAntiAliasingPtr& antiAliasing)
-
{
- -
ADLX_RESULT res = antiAliasing->GetLevel(&level);
-
if (ADLX_SUCCEEDED (res))
-
{
-
level = (level == AA_LEVEL_2X) ? AA_LEVEL_4X : AA_LEVEL_2X;
-
res = antiAliasing->SetLevel(level);
-
std::cout << "\tSet level: " << antiAliasingLevel.find(level)->second << ", res is " << res << std::endl;
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display anti-aliasing support" << std::endl;
-
std::cout << "\t->Press 2 to display current anti-aliasing state" << std::endl;
-
std::cout << "\t->Press 3 to set anti-aliasing mode: Use application settings" << std::endl;
-
std::cout << "\t->Press 4 to set anti-aliasing mode: Enhance application settings" << std::endl;
-
std::cout << "\t->Press 5 to set anti-aliasing mode: Override application settings" << std::endl;
-
-
std::cout << "\t->Press 6 to change anti-aliasing method" << std::endl;
-
std::cout << "\t->Press 7 to change anti-aliasing level" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DAntiAliasingPtr& antiAliasing)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display anti-aliasing support
-
case '1':
-
ShowAntiAliasingSupport(antiAliasing);
-
break;
-
-
// Display current anti-aliasing status
-
case '2':
-
GetAntiAliasingState(antiAliasing);
-
break;
-
-
// Set anti-aliasing mode
-
case '3':
-
case '4':
-
case '5':
-
SetAntiAliasingMode(antiAliasing, num - '3');
-
break;
-
-
// Set anti-aliasing method
-
case '6':
-
SetAntiAliasingMethod(antiAliasing);
-
break;
-
-
// Set anti-aliasing level
-
case '7':
-
SetAntiAliasingLevel(antiAliasing);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ AA_MODE_ENHANCE_APP_SETTINGS
Definition: ADLXDefines.h:758
-
@ AA_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:759
-
@ AA_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:757
-
@ AA_LEVEL_4XEQ
Definition: ADLXDefines.h:776
-
@ AA_LEVEL_8XEQ
Definition: ADLXDefines.h:778
-
@ AA_LEVEL_4X
Definition: ADLXDefines.h:775
-
@ AA_LEVEL_2XEQ
Definition: ADLXDefines.h:774
-
@ AA_LEVEL_INVALID
Definition: ADLXDefines.h:772
-
@ AA_LEVEL_8X
Definition: ADLXDefines.h:777
-
@ AA_LEVEL_2X
Definition: ADLXDefines.h:773
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ AA_METHOD_SUPERSAMPLING
Definition: ADLXDefines.h:793
-
@ AA_METHOD_MULTISAMPLING
Definition: ADLXDefines.h:791
-
@ AA_METHOD_ADAPTIVE_MULTISAMPLING
Definition: ADLXDefines.h:792
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_ANTI_ALIASING_MODE
Indicates the anti-aliasing mode.
Definition: ADLXDefines.h:756
-
ADLX_ANTI_ALIASING_LEVEL
Indicates the anti-aliasing level.
Definition: ADLXDefines.h:771
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_ANTI_ALIASING_METHOD
Indicates the anti-aliasing method.
Definition: ADLXDefines.h:790
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__anti_lag.html b/vendor/adlx/SDKDoc/html/cpp__anti_lag.html deleted file mode 100644 index 572ba7b..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__anti_lag.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AntiLag - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AntiLag
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Anti-Lag support
2 Display current Radeon Anti-Lag state
3 Enable Radeon Anti-Lag
4 Disable Radeon Anti-Lag
5 Enable Radeon Anti-Lag
6 Get Radeon Anti-Lag Level
7 Set Radeon Anti-Lag Level to Anti-Lag
8 Set Radeon Anti-Lag Level to Anti-Lag Next
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AntiLag

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Anti-Lag support
-
void ShowAntiLagSupport(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1);
-
-
// Display current Anti-Lag state
-
void GetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1);
-
-
// Set Anti-Lag state
-
void SetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1, int index);
-
-
// Display current Anti-Lag state
-
void GetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1);
-
-
// Set Anti-Lag state
-
void SetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1, ADLX_ANTILAG_STATE level);
-
-
// Menu
-
void MainMenu(bool alnSupported);
-
-
// Menu control
-
void MenuControl(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
ADLX_RESULT resALN = ADLX_FAIL;
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get AntiLag interface
-
IADLX3DAntiLagPtr d3dAntiLag;
-
-
res = d3dSettingSrv->GetAntiLag(gpuInfo, &d3dAntiLag);
-
IADLX3DAntiLag1Ptr d3dAntiLag1(d3dAntiLag);
-
if (ADLX_SUCCEEDED(res))
-
{
-
//resALN = d3dAntiLag->QueryInterface(IADLX3DAntiLag1::IID(), reinterpret_cast<void**>(&d3dAntiLag1));
-
-
MainMenu(d3dAntiLag1 != NULL);
-
MenuControl(d3dAntiLag, d3dAntiLag1);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowAntiLagSupport(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1)
-
{
-
adlx_bool supported = false;
-
if (d3dAntiLag1 != NULL)
-
d3dAntiLag1->IsSupported(&supported);
-
else
-
d3dAntiLag->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1)
-
{
-
adlx_bool enabled = false;
-
if (d3dAntiLag1 != NULL)
-
d3dAntiLag1->IsEnabled(&enabled);
-
else
-
d3dAntiLag->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << std::endl;
-
}
-
-
void SetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1, int index)
-
{
- -
if (d3dAntiLag1 != NULL)
-
res = d3dAntiLag1->SetEnabled(index == 0);
-
else
-
res = d3dAntiLag->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1)
-
{
- -
ADLX_RESULT res = d3dAntiLag1->GetLevel(&level);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tLevel: " << (level == ADLX_ANTILAG_STATE::ANTILAG ? "Anti-Lag" : "Anti-Lag Next") << std::endl;
-
}
-
-
void SetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1, ADLX_ANTILAG_STATE level)
-
{
-
ADLX_RESULT res = d3dAntiLag1->SetLevel(level);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu(bool alnSupported)
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Anti-Lag support" << std::endl;
-
std::cout << "\t->Press 2 to display current Anti-Lag state" << std::endl;
-
std::cout << "\t->Press 3 to enable Anti-Lag" << std::endl;
-
std::cout << "\t->Press 4 to disable Anti-Lag" << std::endl;
-
if (alnSupported)
-
{
-
std::cout << "\t->Press 5 to Get Level" << std::endl;
-
std::cout << "\t->Press 6 to Set Level to Anti-Lag" << std::endl;
-
std::cout << "\t->Press 7 to Set Level to Anti-Lag Next" << std::endl;
-
}
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1 )
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Anti-Lag support
-
case '1':
-
ShowAntiLagSupport(d3dAntiLag, d3dAntiLag1);
-
break;
-
-
// Display current Anti-Lag state
-
case '2':
-
GetAntiLagState(d3dAntiLag, d3dAntiLag1);
-
break;
-
-
// Set Anti-Lag state
-
case '3':
-
case '4':
-
SetAntiLagState(d3dAntiLag, d3dAntiLag1, num - '3');
-
break;
-
-
case '5':
-
GetAntiLagLevel(d3dAntiLag1);
-
break;
-
case '6':
-
SetAntiLagLevel(d3dAntiLag1, ADLX_ANTILAG_STATE::ANTILAG);
-
break;
-
case '7':
-
SetAntiLagLevel(d3dAntiLag1, ADLX_ANTILAG_STATE::ANTILAGNEXT);
-
break;
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(d3dAntiLag1 != NULL ? true : false);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ANTILAGNEXT
Definition: ADLXDefines.h:959
-
@ ANTILAG
Definition: ADLXDefines.h:958
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_ANTILAG_STATE
Indicates the state of Anti Lag.
Definition: ADLXDefines.h:957
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__boost.html b/vendor/adlx/SDKDoc/html/cpp__boost.html deleted file mode 100644 index 1e93d59..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__boost.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Boost - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Boost
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Boost support
2 Display current Radeon Boost state, current resolution, and resolution range
3 Enable Radeon Boost and change minimum resolution
4 Disable Radeon Boost
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Boost

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Boost support
-
void ShowBoostSupport(const IADLX3DBoostPtr& d3dBoost);
-
-
// Display current Boost state
-
void GetBoostState(const IADLX3DBoostPtr& d3dBoost);
-
-
// Set Boost state
-
void SetBoostState(const IADLX3DBoostPtr& d3dBoost, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DBoostPtr& d3dBoost);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get Boost interface
-
IADLX3DBoostPtr d3dBoost;
-
res = d3dSettingSrv->GetBoost(gpuInfo, &d3dBoost);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dBoost);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowBoostSupport(const IADLX3DBoostPtr& d3dBoost)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dBoost->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetBoostState(const IADLX3DBoostPtr& d3dBoost)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dBoost->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsEnabled: " << enabled << std::endl;
-
adlx_int resolution;
-
ADLX_IntRange resolutionRange;
-
res = d3dBoost->GetResolution(&resolution);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tCurrent Resolution:" << resolution << std::endl;
-
res = d3dBoost->GetResolutionRange(&resolutionRange);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tResolution limit [ " << resolutionRange.minValue << " ," << resolutionRange.maxValue << " ], step: " << resolutionRange.step << std::endl;
-
}
-
-
void SetBoostState(const IADLX3DBoostPtr& d3dBoost, int index)
-
{
-
ADLX_RESULT res = d3dBoost->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int resolution;
-
ADLX_IntRange resolutionRange;
-
ADLX_RESULT res1 = d3dBoost->GetResolution(&resolution);
-
ADLX_RESULT res2 = d3dBoost->GetResolutionRange(&resolutionRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
if (resolution != resolutionRange.minValue)
-
{
-
res = d3dBoost->SetResolution(resolutionRange.minValue);
-
std::cout << "\tSet minimum resolution limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
else
-
{
-
res = d3dBoost->SetResolution(resolutionRange.maxValue);
-
std::cout << "\tSet maximum resolution limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Boost support" << std::endl;
-
std::cout << "\t->Press 2 to display current Boost state" << std::endl;
-
std::cout << "\t->Press 3 to enable Boost" << std::endl;
-
std::cout << "\t->Press 4 to disable Boost" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DBoostPtr& d3dBoost)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Boost support
-
case '1':
-
ShowBoostSupport(d3dBoost);
-
break;
-
-
// Display current Boost state
-
case '2':
-
GetBoostState(d3dBoost);
-
break;
-
-
// Set Boost
-
case '3':
-
case '4':
-
SetBoostState(d3dBoost, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__chill.html b/vendor/adlx/SDKDoc/html/cpp__chill.html deleted file mode 100644 index 9a122fe..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__chill.html +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Chill - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Chill
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Chill support
2 Display current Radeon Chill state, current FPS, and FPS range
3 Enable Radeon Chill
4 Disable Radeon Chill
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Chill

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Chill support
-
void ShowChillSupport(const IADLX3DChillPtr& d3dChill);
-
-
// Display current Chill state
-
void GetChillState(const IADLX3DChillPtr& d3dChill);
-
-
// Set Chill state
-
void SetChillState(const IADLX3DChillPtr& d3dChill, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DChillPtr& d3dChill);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get Chill interface
-
IADLX3DChillPtr d3dChill;
-
res = d3dSettingSrv->GetChill(gpuInfo, &d3dChill);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dChill);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowChillSupport(const IADLX3DChillPtr& d3dChill)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dChill->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetChillState(const IADLX3DChillPtr& d3dChill)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dChill->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsEnabled: " << enabled << std::endl;
-
adlx_int minFPS, maxFPS;
-
ADLX_IntRange fpsRange;
-
res = d3dChill->GetMinFPS(&minFPS);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tCurrent MinFPS: " << minFPS << std::endl;
-
res = d3dChill->GetMaxFPS(&maxFPS);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tCurrent MaxFPS: " << maxFPS << std::endl;
-
res = d3dChill->GetFPSRange(&fpsRange);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tFPSSet limit [ " << fpsRange.minValue << " ," << fpsRange.maxValue << " ], step: " << fpsRange.step << std::endl;
-
}
-
-
void SetChillState(const IADLX3DChillPtr& d3dChill, int index)
-
{
-
ADLX_RESULT res = d3dChill->SetEnabled(index == 0);
-
std::cout << "\treturn code(0 is Success) is: " << res << std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int minFPS, maxFPS;
-
ADLX_IntRange fpsRange;
-
d3dChill->GetMinFPS(&minFPS);
-
d3dChill->GetMaxFPS(&maxFPS);
-
d3dChill->GetFPSRange(&fpsRange);
-
std::cout << "\t\tEnter two space delimited integers:[minFPS, maxFPS]" << std::endl;
-
-
int userKey = 0;
-
std::vector<adlx_int> coeffs;
-
while (std::cin >> userKey)
-
{
-
coeffs.push_back(userKey);
-
if (coeffs.size() > 1)
-
break;
-
}
-
std::cin.clear();
-
std::cin.ignore(INT_MAX, '\n');
-
-
if (coeffs.size() > 1)
-
{
-
res = d3dChill->SetMinFPS(coeffs[0]);
-
std::cout << "\tSet minimum FPS return code: " << res << "(0 means success)" << std::endl;
-
res = d3dChill->SetMaxFPS(coeffs[1]);
-
std::cout << "\tSet maximum FPS return code: " << res << "(0 means success)" << std::endl;
-
}
-
else
-
{
-
res = d3dChill->SetMinFPS(fpsRange.minValue);
-
std::cout << "\tUse FPS minimum limit, set minimum FPS return code is: " << res << "(0 means success)" << std::endl;
-
res = d3dChill->SetMaxFPS(fpsRange.maxValue);
-
std::cout << "\tUse FPS maximum limit, set maximum FPS return code is: " << res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Chill support" << std::endl;
-
std::cout << "\t->Press 2 to display current Chill state" << std::endl;
-
std::cout << "\t->Press 3 to enable Chill" << std::endl;
-
std::cout << "\t->Press 4 to disable Chill" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DChillPtr& d3dChill)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Chill support
-
case '1':
-
ShowChillSupport(d3dChill);
-
break;
-
-
// Display current Chill state
-
case '2':
-
GetChillState(d3dChill);
-
break;
-
-
// Set Chill state
-
case '3':
-
case '4':
-
SetChillState(d3dChill, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__enhanced_sync.html b/vendor/adlx/SDKDoc/html/cpp__enhanced_sync.html deleted file mode 100644 index 48a042c..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__enhanced_sync.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: EnhancedSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
EnhancedSync
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Enhanced Sync support
2 Get and display current Radeon Enhanced Sync state
3 Enable Radeon Enhanced Sync
4 Disable Radeon Enhanced Sync
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/EnhancedSync

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Enhanced Sync support
-
void ShowEnhancedSyncSupport(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync);
-
-
// Get current Enhanced Sync state
-
void GetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync);
-
-
// Set Enhanced Sync state
-
void SetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get EnhancedSync interface
-
IADLX3DEnhancedSyncPtr d3dEnhancedSync;
-
res = d3dSettingSrv->GetEnhancedSync(gpuInfo, &d3dEnhancedSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dEnhancedSync);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowEnhancedSyncSupport(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dEnhancedSync->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dEnhancedSync->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync, int index)
-
{
-
ADLX_RESULT res = d3dEnhancedSync->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Enhanced Sync support" << std::endl;
-
std::cout << "\t->Press 2 to get Enhanced Sync state" << std::endl;
-
std::cout << "\t->Press 3 to enable Enhanced Sync" << std::endl;
-
std::cout << "\t->Press 4 to disable Enhanced Sync" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Enhanced Sync support
-
case '1':
-
ShowEnhancedSyncSupport(d3dEnhancedSync);
-
break;
-
-
// Get and display current Enhanced Sync state
-
case '2':
-
GetEnhancedSyncState(d3dEnhancedSync);
-
break;
-
-
// Set Enhanced Sync state
-
case '3':
-
case '4':
-
SetEnhancedSyncState(d3dEnhancedSync, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__f_r_t_c.html b/vendor/adlx/SDKDoc/html/cpp__f_r_t_c.html deleted file mode 100644 index b26f328..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__f_r_t_c.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: FRTC - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
FRTC
-
-
-
- - - -

Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD FRTC support
2 Get and display current AMD FRTC state and additional information
3 Enable and configure AMD FRTC
4 Disable AMD FRTC
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/FRTC

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display FRTC support
-
void ShowFRTCSupport(const IADLX3DFrameRateTargetControlPtr& frtc);
-
-
// Get and display current FRTC state
-
void GetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc);
-
-
// Set FRTC state
-
void SetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DFrameRateTargetControlPtr& frtc);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get FRTC interface
-
IADLX3DFrameRateTargetControlPtr frtc;
-
res = d3dSettingSrv->GetFrameRateTargetControl(gpuInfo, &frtc);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(frtc);
-
}
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get 3DSettings services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get GPU" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowFRTCSupport(const IADLX3DFrameRateTargetControlPtr& frtc)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = frtc->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = frtc->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl;
-
adlx_int fps;
-
ADLX_IntRange range = {0};
-
res = frtc->GetFPS(&fps);
-
std::cout << "\tCurrent FPS:" << fps << ", return code is: " << res << "(0 means success)" << std::endl;
-
res = frtc->GetFPSRange(&range);
-
std::cout << "\tFPS limit [ " << range.minValue << " ," << range.maxValue << " ], step: " << range.step
-
<< ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc, int index)
-
{
-
ADLX_RESULT res = frtc->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int fps;
-
ADLX_IntRange range = {0};
-
frtc->GetFPS(&fps);
-
frtc->GetFPSRange(&range);
-
if (fps != range.minValue)
-
{
-
res = frtc->SetFPS(range.minValue);
-
std::cout << "\tUse minimum FPS limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
else
-
{
-
res = frtc->SetFPS(range.maxValue);
-
std::cout << "\tUse maximum FPS limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display FRTC support" << std::endl;
-
std::cout << "\t->Press 2 to get and display current FRTC state" << std::endl;
-
std::cout << "\t->Press 3 to enable FRTC" << std::endl;
-
std::cout << "\t->Press 4 to disable FRTC" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DFrameRateTargetControlPtr& frtc)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display FRTC support
-
case '1':
-
ShowFRTCSupport(frtc);
-
break;
-
-
// Get and display current FRTC state
-
case '2':
-
GetFRTCState(frtc);
-
break;
-
-
// Set FRTC state
-
case '3':
-
case '4':
-
SetFRTCState(frtc, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__g_p_u_auto_tuning.html b/vendor/adlx/SDKDoc/html/cpp__g_p_u_auto_tuning.html deleted file mode 100644 index 159173b..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__g_p_u_auto_tuning.html +++ /dev/null @@ -1,557 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUAutoTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUAutoTuning
-
-
-
- - - -

Demonstrates how to control GPU auto-tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Check GPU Tuning is at factory status.
2 Restore the given GPU Tuning to factory status.
3 Show GPU auto tuning support.
4 Show current GPU status.
5 Start Undervolt GPU tuning.
6 Start Overclock GPU tuning.
7 Start Overclock VRAM tuning
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/GPUAutoTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUAutoTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Event to verify call back.
-
HANDLE g_ADLXEvent = nullptr;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Check if current GPU tuning status is set to factory default
-
void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus);
-
-
// Restore GPU tuning status to factory default
-
void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus);
-
-
// Display GPU auto-tuning support status
-
void ShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus);
-
-
// Display current GPU status
-
void ShowCurrentGPUStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus);
-
-
// Derive from IADLXGPUAutoTuningCompleteListener
-
class GPUAutoTuningCompleteEvents;
-
// Start GPU auto-tuning
-
void StartGPUAutoTuning(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus, int num);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create event
-
g_ADLXEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("ADLXEvent"));
-
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(gpuTuningService, gpus);
-
}
-
else
-
std::cout << "\tGet GPU list failed" << std::endl;
-
}
-
else
-
std::cout << "\tGet GPU tuning services failed" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (g_ADLXEvent)
-
CloseHandle(g_ADLXEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to check if current GPU tuning status is set to factory default" << std::endl;
-
std::cout << "\t->Press 2 to restore the current GPU tuning status to factory default" << std::endl;
-
std::cout << "\t->Press 3 to display GPU auto-tuning support" << std::endl;
-
std::cout << "\t->Press 4 to display current GPU auto-tuning status" << std::endl;
-
std::cout << "\t->Press 5 to start undervolt GPU tuning" << std::endl;
-
std::cout << "\t->Press 6 to start overclock GPU tuning" << std::endl;
-
std::cout << "\t->Press 7 to start overclock VRAM tuning" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Check if current GPU tuning status is set to factory default
-
case '1':
-
CheckGPUTuningIsAtFactoryStatus(gpuTuningService, gpus);
-
break;
-
-
// Restore GPU tuning status to factory default
-
case '2':
-
RestoreGPUTuningToFactoryStatus(gpuTuningService, gpus);
-
break;
-
-
// Display GPU auto-tuning support status
-
case '3':
-
ShowGPUAutoTuningSupport(gpuTuningService, gpus);
-
break;
-
-
// Display current GPU status
-
case '4':
-
ShowCurrentGPUStatus(gpuTuningService, gpus);
-
break;
-
-
// Start undervolt GPU tuning
-
case '5':
-
// Start overclock GPU tuning
-
case '6':
-
// Start overclock VRAM tuning
-
case '7':
-
StartGPUAutoTuning(gpuTuningService, gpus, num - 5);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Check if current GPU tuning status is set to factory default
-
void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus)
-
{
-
IADLXGPUPtr oneGPU;
-
for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt)
-
{
-
ADLX_RESULT res = gpus->At(crt, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == nullptr)
-
{
-
std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
adlx_bool isFactory = false;
-
res = gpuTuningService->IsAtFactory(oneGPU, &isFactory);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tCheck of the GPU at location" << crt << " default tuning status failed" << std::endl;
-
break;
-
}
-
std::cout << "\tThe GPU at location" << crt << " default status: " << isFactory << std::endl;
-
}
-
}
-
-
// Reset the current GPU tuning status to factory default
-
void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus)
-
{
-
IADLXGPUPtr oneGPU;
-
for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt)
-
{
-
ADLX_RESULT res = gpus->At(crt, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == nullptr)
-
{
-
std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
adlx_bool isFactory = false;
-
res = gpuTuningService->ResetToFactory(oneGPU);
-
if (ADLX_FAILED(res))
-
std::cout << "\tReset the GPU at location" << crt << " to default failed" << std::endl;
-
else
-
std::cout << "\tReset the GPU at location" << crt << " to default successful" << std::endl;
-
}
-
}
-
-
// Display GPU auto-tuning support status
-
void ShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus)
-
{
-
IADLXGPUPtr oneGPU;
-
for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt)
-
{
-
ADLX_RESULT res = gpus->At(crt, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == nullptr)
-
{
-
std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
std::cout << "\tThe GPU at location" << crt << " does not support auto-tuning" << std::endl;
-
break;
-
}
-
IADLXInterfacePtr autoTuningIfc;
-
res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == nullptr)
-
{
-
std::cout << "\tGet auto-tuning for the GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc);
-
if (autoTuning)
-
{
-
// If ret != ADLX_OK, return default value(false).
-
supported = false;
-
res = autoTuning->IsSupportedUndervoltGPU(&supported);
-
std::cout << "\tIs the GPU at location" << crt << " supported undervolt: " << supported << std::endl;
-
supported = false;
-
res = autoTuning->IsSupportedOverclockGPU(&supported);
-
std::cout << "\tIs the GPU at location" << crt << " supported overclock: " << supported << std::endl;
-
supported = false;
-
res = autoTuning->IsSupportedOverclockVRAM(&supported);
-
std::cout << "\tIs the GPU at location" << crt << " supported overclock VRAM: " << supported << std::endl;
-
}
-
}
-
}
-
-
// Display current GPU status
-
void ShowCurrentGPUStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus)
-
{
-
IADLXGPUPtr oneGPU;
-
for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt)
-
{
-
ADLX_RESULT res = gpus->At(crt, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == nullptr)
-
{
-
std::cout << "\tGet GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
std::cout << "\tThe GPU at location" << crt << " does not support auto-tuning" << std::endl;
-
break;
-
}
-
IADLXInterfacePtr autoTuningIfc;
-
res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == nullptr)
-
{
-
std::cout << "\tGet auto-tuning for the GPU at location" << crt << " failed" << std::endl;
-
break;
-
}
-
IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc);
-
adlx_bool applied = false;
-
if (autoTuning)
-
{
-
// If ret != ADLX_OK, return default value(false).
-
applied = false;
-
res = autoTuning->IsCurrentUndervoltGPU(&applied);
-
std::cout << "\tIs the GPU at location" << crt << " undervolt applied: " << applied << std::endl;
-
applied = false;
-
res = autoTuning->IsCurrentOverclockGPU(&applied);
-
std::cout << "\tIs the GPU at location" << crt << " overclock applied: " << applied << std::endl;
-
applied = false;
-
res = autoTuning->IsCurrentOverclockVRAM(&applied);
-
std::cout << "\tIs the GPU at location" << crt << " overclock VRAM applied: " << applied << std::endl;
-
}
-
}
-
}
-
-
class GPUAutoTuningCompleteEvents : public IADLXGPUAutoTuningCompleteListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnGPUAutoTuningComplete(IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent)
-
{
-
adlx_bool change = false;
-
change = pGPUAutoTuningCompleteEvent->IsUndervoltGPUCompleted();
-
change = pGPUAutoTuningCompleteEvent->IsOverclockGPUCompleted();
-
change = pGPUAutoTuningCompleteEvent->IsOverclockVRAMCompleted();
-
SetEvent(g_ADLXEvent);
-
return true;
-
}
-
};
-
-
GPUAutoTuningCompleteEvents gpuAutoTuningCompleteEvents;
-
-
void StartGPUAutoTuning(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus, int num)
-
{
-
IADLXGPUPtr oneGPU;
-
// Set the first GPU auto-tuning
-
ADLX_RESULT res = gpus->At(0, &oneGPU);
-
if (ADLX_FAILED(res) || oneGPU == nullptr)
-
{
-
std::cout << "\tGet GPU failed" << std::endl;
-
return;
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported);
-
if (ADLX_FAILED(res) || supported == false)
-
{
-
std::cout << "\tThe GPU does not support auto-tuning" << std::endl;
-
return;
-
}
-
IADLXInterfacePtr autoTuningIfc;
-
res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc);
-
if (ADLX_FAILED(res) || autoTuningIfc == nullptr)
-
{
-
std::cout << "\tGet GPU auto-tuning failed" << std::endl;
-
return;
-
}
-
IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc);
-
if (autoTuning)
-
{
-
bool modeIsSupported = false;
-
switch (num)
-
{
-
case '0':
-
res = autoTuning->IsSupportedUndervoltGPU(&modeIsSupported);
-
if (!modeIsSupported) {
-
std::cout << "\tUndervolt profile is not supported" << std::endl;
-
}
-
else {
-
res = autoTuning->StartUndervoltGPU(&gpuAutoTuningCompleteEvents);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tStart undervolt GPU successful" << std::endl;
-
else
-
std::cout << "\tStart undervolt GPU failed" << std::endl;
-
}
-
break;
-
case '1':
-
res = autoTuning->IsSupportedOverclockGPU(&modeIsSupported);
-
if (!modeIsSupported) {
-
std::cout << "\tGPU Overclock profile is not supported" << std::endl;
-
}
-
else {
-
res = autoTuning->StartOverclockGPU(&gpuAutoTuningCompleteEvents);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tStart overclock GPU successful" << std::endl;
-
else
-
std::cout << "\tStart overclock GPU failed" << std::endl;
-
}
-
break;
-
case '2':
-
res = autoTuning->IsSupportedOverclockVRAM(&modeIsSupported);
-
if (!modeIsSupported) {
-
std::cout << "\tVRAM overclock profile is not supported" << std::endl;
-
}
-
else {
-
res = autoTuning->StartOverclockVRAM(&gpuAutoTuningCompleteEvents);
-
WaitForSingleObject(g_ADLXEvent, 1000);
-
ResetEvent(g_ADLXEvent);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tStart overclock VRAM successful" << std::endl;
-
else
-
std::cout << "\tStart overclock VRAM failed" << std::endl;
-
}
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__g_p_u_preset_tuning.html b/vendor/adlx/SDKDoc/html/cpp__g_p_u_preset_tuning.html deleted file mode 100644 index 97b0aff..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__g_p_u_preset_tuning.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUPresetTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUPresetTuning
-
-
-
- - - -

Demonstrates how to control GPU preset tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU tuning support states.
2 Get current GPU tuning states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/GPUPresetTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUPresetTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUPresetTuningPtr gpuPresetTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Display GPU tuning support states
-
void ShowIsSupported(IADLXGPUPresetTuningPtr gpuPresetTuning);
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXGPUPresetTuningPtr gpuPresetTuning);
-
-
// Set GPU states
-
void SetGPUStates(IADLXGPUPresetTuningPtr gpuPresetTuning);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXGPUPtr oneGPU;
-
res = gpus->At(0, &oneGPU);
-
if (ADLX_SUCCEEDED (res) && oneGPU != nullptr)
-
{
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedPresetTuning(oneGPU, &supported);
-
if (ADLX_SUCCEEDED (res) && supported)
-
{
-
IADLXInterfacePtr gpuPresetTuningIfc;
-
res = gpuTuningService->GetPresetTuning(oneGPU, &gpuPresetTuningIfc);
-
if (ADLX_SUCCEEDED (res) && gpuPresetTuningIfc != nullptr)
-
{
-
IADLXGPUPresetTuningPtr gpuPresetTuning(gpuPresetTuningIfc);
-
if (gpuPresetTuning != nullptr)
-
{
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(gpuPresetTuning);
-
}
-
else
-
{
-
std::cout << "\tGet GPU preset tuning failed" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tGet GPU preset tuning interface failed" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tGPU preset tuning is not supported by this GPU" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tGet GPU failed" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tGet GPU list failed" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tGet GPU tuning services failed" << std::endl;
-
}
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display GPU tuning support states" << std::endl;
-
std::cout << "\t->Press 2 to display current GPU tuning states" << std::endl;
-
std::cout << "\t->Press 3 to set GPU states" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(IADLXGPUPresetTuningPtr gpuPresetTuning)
-
{
-
char num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display GPU tuning support states
-
case '1':
-
ShowIsSupported(gpuPresetTuning);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates(gpuPresetTuning);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates(gpuPresetTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU tuning support states
-
void ShowIsSupported(IADLXGPUPresetTuningPtr gpuPresetTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = gpuPresetTuning->IsSupportedPowerSaver(&supported);
-
std::cout << "\tIs Power Saver supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
supported = false;
-
res = gpuPresetTuning->IsSupportedQuiet(&supported);
-
std::cout << "\tIs Quiet supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
supported = false;
-
res = gpuPresetTuning->IsSupportedBalanced(&supported);
-
std::cout << "\tIs Balanced supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
supported = false;
-
res = gpuPresetTuning->IsSupportedTurbo(&supported);
-
std::cout << "\tIs Turbo supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
supported = false;
-
res = gpuPresetTuning->IsSupportedRage(&supported);
-
std::cout << "\tIs Rage supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXGPUPresetTuningPtr gpuPresetTuning)
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = gpuPresetTuning->IsCurrentPowerSaver(&applied);
-
std::cout << "\tIs Power Saver applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->IsCurrentQuiet(&applied);
-
std::cout << "\tIs Quiet applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->IsCurrentBalanced(&applied);
-
std::cout << "\tIs Balanced applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->IsCurrentTurbo(&applied);
-
std::cout << "\tIs Turbo applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->IsCurrentRage(&applied);
-
std::cout << "\tIs Rage applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
// Set GPU states
-
void SetGPUStates(IADLXGPUPresetTuningPtr gpuPresetTuning)
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = gpuPresetTuning->SetPowerSaver();
-
res = gpuPresetTuning->IsCurrentPowerSaver(&applied);
-
std::cout << "\tSet Power Saver preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->SetQuiet();
-
res = gpuPresetTuning->IsCurrentQuiet(&applied);
-
std::cout << "\tSet Quiet preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->SetBalanced();
-
res = gpuPresetTuning->IsCurrentBalanced(&applied);
-
std::cout << "\tSet Balanced preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->SetTurbo();
-
res = gpuPresetTuning->IsCurrentTurbo(&applied);
-
std::cout << "\tSet Turbo preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl;
-
applied = false;
-
res = gpuPresetTuning->SetRage();
-
res = gpuPresetTuning->IsCurrentRage(&applied);
-
std::cout << "\tSet Rage preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__i2_c.html b/vendor/adlx/SDKDoc/html/cpp__i2_c.html deleted file mode 100644 index a292d78..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__i2_c.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: I2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
I2C
-
-
-
- - - -

Demonstrates how to read and write data with I2C when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display version.
2 Read.
3 Repeated read.
4 Write.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/I2C/I2C

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/II2C.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
constexpr int DATA_SIZE = 2;
-
-
// Display version
-
void ShowVersion(const IADLXI2CPtr& i2c);
-
-
// Read
-
void Read(const IADLXI2CPtr& i2c);
-
-
// Repeated read
-
void RepeatedRead(const IADLXI2CPtr& i2c);
-
-
// Write
-
void Write(const IADLXI2CPtr& i2c);
-
-
// Capability
-
void Capability(const IADLXI2CPtr& i2c);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLXI2CPtr& i2c);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// GetGPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get I2C interface
-
IADLXI2CPtr i2c;
-
res = g_ADLXHelp.GetSystemServices()->GetI2C(gpuInfo, &i2c);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(i2c);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the GPU list", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowVersion(const IADLXI2CPtr& i2c)
-
{
-
adlx_int major;
-
adlx_int minor;
-
ADLX_RESULT res = i2c->Version(&major, &minor);
-
std::cout << "\tI2C version, major: " << major << " , minor: " << minor << std::endl;
-
std::cout << "\tres is: " << res << std::endl;
-
}
-
-
void Read(const IADLXI2CPtr& i2c)
-
{
-
// The following is hardware specific
-
adlx_byte data[DATA_SIZE] = { 0 };
-
ADLX_RESULT res = i2c->Read(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
std::cout << "\tI2C read info:\n"
-
<< "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: "
-
<< DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl;
-
std::cout << "\tres is: " << res << std::endl;
-
}
-
-
void RepeatedRead(const IADLXI2CPtr& i2c)
-
{
-
// The following is hardware specific
-
adlx_byte data[DATA_SIZE] = { 0 };
-
ADLX_RESULT res = i2c->RepeatedStartRead(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
std::cout << "\tI2C read info:\n"
-
<< "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: "
-
<< DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl;
-
std::cout << "\tres is: " << res << std::endl;
-
}
-
-
void Write(const IADLXI2CPtr& i2c)
-
{
-
// The following is hardware specific
-
adlx_byte data[DATA_SIZE] = { 0 };
-
data[0] = 176;
-
ADLX_RESULT res = i2c->Write(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data);
-
std::cout << "\tI2C write info:\n"
-
<< "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: "
-
<< DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl;
-
std::cout << "\tres is: " << res << std::endl;
-
}
-
-
void Capability(const IADLXI2CPtr& i2c)
-
{
-
adlx_bool isSupported = false;
-
ADLX_RESULT res = i2c->IsSupported(I2C_LINE_OEM2, 0x93, &isSupported);
-
std::cout << "\tI2C support info:\n"
-
<< "\t\tline: I2C_LINE_OEM2\n\t\taddress: 0x93\n\t\tisSupported: " << isSupported
-
<< "\n\tres is: " << res << std::endl;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display version" << std::endl;
-
std::cout << "\t->Press 2 to read" << std::endl;
-
std::cout << "\t->Press 3 to repeated read" << std::endl;
-
std::cout << "\t->Press 4 to write" << std::endl;
-
std::cout << "\t->Press 5 to display capability" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLXI2CPtr& i2c)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display version
-
case '1':
-
ShowVersion(i2c);
-
break;
-
-
// Read
-
case '2':
-
Read(i2c);
-
break;
-
-
// Repeated read
-
case '3':
-
RepeatedRead(i2c);
-
break;
-
-
// Write
-
case '4':
-
Write(i2c);
-
break;
-
-
// Capability
-
case '5':
-
Capability(i2c);
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ I2C_LINE_OEM2
Definition: ADLXDefines.h:880
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__image_sharpening.html b/vendor/adlx/SDKDoc/html/cpp__image_sharpening.html deleted file mode 100644 index 2682d5a..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__image_sharpening.html +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ImageSharpening - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ImageSharpening
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Image Sharpening support
2 Get current Radeon Image Sharpening state and additional information
3 Enable and configure Radeon Image Sharpening
4 Disable Radeon Image Sharpening
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/ImageSharpening

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Image Sharpening support
-
void ShowImageSharpenSupport(const IADLX3DImageSharpeningPtr& d3dImageSharpen);
-
-
// Get current Image Sharpening state and additional information
-
void GetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen);
-
-
// Set Image Sharpening state
-
void SetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DImageSharpeningPtr& d3dImageSharpen);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Image Sharpening interface
-
IADLX3DImageSharpeningPtr d3dImageSharpen;
-
res = d3dSettingSrv->GetImageSharpening(gpuInfo, &d3dImageSharpen);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(d3dImageSharpen);
-
}
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get 3DSettings services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the GPU" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowImageSharpenSupport(const IADLX3DImageSharpeningPtr& d3dImageSharpen)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = d3dImageSharpen->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
void GetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = d3dImageSharpen->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << ", return code is: "<< res << "(0 means success)" << std::endl;
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange = {0};
-
res = d3dImageSharpen->GetSharpness(&sharpness);
-
std::cout << "\tCurrent Sharpness:" << sharpness
-
<< ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = d3dImageSharpen->GetSharpnessRange(&sharpnessRange);
-
std::cout << "\tSharpness limit [ " << sharpnessRange.minValue << " ," << sharpnessRange.maxValue << " ], step: " << sharpnessRange.step
-
<< ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
void SetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen, int index)
-
{
-
ADLX_RESULT res = d3dImageSharpen->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange = {0};
-
d3dImageSharpen->GetSharpness(&sharpness);
-
d3dImageSharpen->GetSharpnessRange(&sharpnessRange);
-
if (sharpness != sharpnessRange.minValue)
-
{
-
res = d3dImageSharpen->SetSharpness(sharpnessRange.minValue);
-
std::cout << "\tUse minimum Sharpness limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
else
-
{
-
res = d3dImageSharpen->SetSharpness(sharpnessRange.maxValue);
-
std::cout << "\tUse maximum Sharpness limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Image Sharpening support" << std::endl;
-
std::cout << "\t->Press 2 to get current Image Sharpening state and additional information" << std::endl;
-
std::cout << "\t->Press 3 to enable and configure Image Sharpening" << std::endl;
-
std::cout << "\t->Press 4 to disable Image Sharpening" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DImageSharpeningPtr& d3dImageSharpen)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Image Sharpening support
-
case '1':
-
ShowImageSharpenSupport(d3dImageSharpen);
-
break;
-
-
// Get current Image Sharpening state and additional information
-
case '2':
-
GetImageSharpenState(d3dImageSharpen);
-
break;
-
-
// Set Image Sharpening state
-
case '3':
-
case '4':
-
SetImageSharpenState(d3dImageSharpen, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__manual_fan_tuning.html b/vendor/adlx/SDKDoc/html/cpp__manual_fan_tuning.html deleted file mode 100644 index 52f0255..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__manual_fan_tuning.html +++ /dev/null @@ -1,510 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualFanTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualFanTuning
-
-
-
- - - -

Demonstrates how to control manual fan tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Get and set fan setting.
2 Get and set ZeroRPM setting.
3 Get and set MinAcoustic setting.
4 Get and set MinFanSpeed setting.
5 Get and set TargetFanSpeed setting.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualFanTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualFanTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu ();
-
-
// Menu action control
-
void MenuControl (IADLXManualFanTuningPtr manualFanTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode);
-
-
// Display and set fan settings
-
void ShowGetAndSetFan (IADLXManualFanTuningPtr manualFanTuning);
-
-
// Display and set ZeroRPM settings
-
void ShowGetAndSetZeroRPM (IADLXManualFanTuningPtr manualFanTuning);
-
-
// Display and set MinAcoustic settings
-
void ShowGetAndSetMinAcoustic (IADLXManualFanTuningPtr manualFanTuning);
-
-
// Display and set MinFanSpeed settings
-
void ShowGetAndSetMinFanSpeed (IADLXManualFanTuningPtr manualFanTuning);
-
-
// Display and set TargetFanSpeed settings
-
void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuningPtr manualFanTuning);
-
-
int main ()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize ();
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices ()->GetGPUTuningServices (&gpuTuningService);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU tuning services failed", 0);
-
}
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices ()->GetGPUs (&gpus);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU list failed", 0);
-
}
-
IADLXGPUPtr oneGPU;
-
res = gpus->At (0, &oneGPU);
-
if (ADLX_FAILED (res) || oneGPU == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU failed", 0);
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedManualFanTuning (oneGPU, &supported);
-
if (ADLX_FAILED (res) || supported == false)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tThis GPU doesn't supported manual fan tuning", 0);
-
}
-
IADLXInterfacePtr manualFanTuningIfc;
-
res = gpuTuningService->GetManualFanTuning (oneGPU, &manualFanTuningIfc);
-
if (ADLX_FAILED (res) || manualFanTuningIfc == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual fan tuning interface failed", 0);
-
}
-
IADLXManualFanTuningPtr manualFanTuning (manualFanTuningIfc);
-
if (manualFanTuning == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual fan tuning failed", 0);
-
}
-
// Display main menu options
-
MainMenu ();
-
-
// Get and execute the choice
-
MenuControl (manualFanTuning);
-
}
-
else
-
return WaitAndExit ("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system ("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu ()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display and set fan settings" << std::endl;
-
std::cout << "\t->Press 2 to display and set ZeroRPM settings" << std::endl;
-
std::cout << "\t->Press 3 to display and set MinAcoustic settings" << std::endl;
-
std::cout << "\t->Press 4 to display and set MinFanSpeed settings" << std::endl;
-
std::cout << "\t->Press 5 to display and set TargetFanSpeed settings" << std::endl;
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
int num = 0;
-
while ((num = getchar ()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display and set fan settings
-
case '1':
-
ShowGetAndSetFan (manualFanTuning);
-
break;
-
-
// Display and set ZeroRPM settings
-
case '2':
-
ShowGetAndSetZeroRPM (manualFanTuning);
-
break;
-
-
// Display and set MinAcoustic settings
-
case '3':
-
ShowGetAndSetMinAcoustic (manualFanTuning);
-
break;
-
-
// Display and set MinFanSpeed settings
-
case '4':
-
ShowGetAndSetMinFanSpeed (manualFanTuning);
-
break;
-
-
// Display and set TargetFanSpeed settings
-
case '5':
-
ShowGetAndSetTargetFanSpeed (manualFanTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu ();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit (const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system ("pause");
-
return retCode;
-
}
-
-
// Display and set fan settings
-
void ShowGetAndSetFan (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
// Display manual fan tuning ranges (speed, temperature)
-
ADLX_IntRange fanSpeedRange, fanTemperatureRange;
-
ADLX_RESULT res = manualFanTuning->GetFanTuningRanges (&fanSpeedRange, &fanTemperatureRange);
-
std::cout << "\tFan speed range is: (" << fanSpeedRange.minValue
-
<< ", " << fanSpeedRange.maxValue << ")" << std::endl;
-
std::cout << "\tFan temperature range is: (" << fanTemperatureRange.minValue
-
<< ", " << fanTemperatureRange.maxValue << ")" << std::endl;
-
std::cout << "\tReturn code is: "<< res << "(0 means success)" << std::endl;
-
-
// Display current fan tuning states
-
IADLXManualFanTuningStateListPtr states;
-
IADLXManualFanTuningStatePtr oneState;
-
res = manualFanTuning->GetFanTuningStates (&states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt)
-
{
-
res = states->At (crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
oneState->GetFanSpeed (&speed);
-
oneState->GetTemperature (&temperature);
-
std::cout << "\tThe current " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl;
-
}
-
}
-
-
-
// Set empty fan tuning states
-
res = manualFanTuning->GetEmptyFanTuningStates (&states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt)
-
{
-
res = states->At (crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
int fanSpeedStep = (fanSpeedRange.maxValue - fanSpeedRange.minValue) / states->Size ();
-
int fanTemperatureStep = (fanTemperatureRange.maxValue - fanTemperatureRange.minValue) / states->Size ();
-
oneState->SetFanSpeed (fanSpeedRange.minValue + fanSpeedStep * crt);
-
oneState->GetFanSpeed (&speed);
-
oneState->SetTemperature (fanTemperatureRange.minValue + fanTemperatureStep * crt);
-
oneState->GetTemperature (&temperature);
-
std::cout << "\tSet empty " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl;
-
}
-
}
-
-
// Set empty fan tuning states to current fan tuning states
-
adlx_int errorIndex;
-
res = manualFanTuning->IsValidFanTuningStates (states, &errorIndex);
-
std::cout << "\tIsValidGPUTuningStates, errorIndex is :" << errorIndex << std::endl;
-
if (ADLX_SUCCEEDED (res))
-
{
-
manualFanTuning->SetFanTuningStates (states);
-
}
-
res = manualFanTuning->GetFanTuningStates (&states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << "\tAfter setting:" << std::endl;
-
for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt)
-
{
-
res = states->At (crt, &oneState);
-
adlx_int speed = 0, temperature = 0;
-
oneState->GetFanSpeed (&speed);
-
oneState->GetTemperature (&temperature);
-
std::cout << "\tThe current " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl;
-
}
-
}
-
}
-
-
// Display and set ZeroRPM settings
-
void ShowGetAndSetZeroRPM (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->IsSupportedZeroRPM (&supported);
-
std::cout << "\tIs ZeroRPM supported: " << supported << std::endl;
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
adlx_bool isZeroRPMStateSet = false;
-
res = manualFanTuning->SetZeroRPMState (true);
-
std::cout << "\tSet ZeroRPM state" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualFanTuning->GetZeroRPMState (&isZeroRPMStateSet);
-
std::cout << "\tIs ZeroRPM state set: " << isZeroRPMStateSet << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualFanTuning->SetZeroRPMState (false);
-
std::cout << "\tReset ZeroRPM state" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualFanTuning->GetZeroRPMState (&isZeroRPMStateSet);
-
std::cout << "\tIs ZeroRPM state set: " << isZeroRPMStateSet << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display and set MinAcoustic settings
-
void ShowGetAndSetMinAcoustic (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->IsSupportedMinAcousticLimit (&supported);
-
std::cout << "\tIs MinAcousticLimit supported: " << supported << std::endl;
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->GetMinAcousticLimitRange (&tuningRange);
-
std::cout << "\tDisplay MinAcoustic limit range: (" << tuningRange.minValue
-
<< ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
-
adlx_int minAcousticLimit;
-
res = manualFanTuning->GetMinAcousticLimit (&minAcousticLimit);
-
std::cout << "\tDisplay current min acoustic limit: " << minAcousticLimit << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualFanTuning->SetMinAcousticLimit (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->GetMinAcousticLimit (&minAcousticLimit);
-
std::cout << "\tSet current min acoustic limit to: " << minAcousticLimit << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display and set MinFanSpeed settings
-
void ShowGetAndSetMinFanSpeed (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->IsSupportedMinFanSpeed (&supported);
-
-
std::cout << "\tIs MinFanSpeed supported: " << supported << std::endl;
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->GetMinFanSpeedRange (&tuningRange);
-
std::cout << "\tDisplay MinFanSpeed range: (" << tuningRange.minValue
-
<< ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
-
adlx_int minFanSpeed = 0;
-
res = manualFanTuning->GetMinFanSpeed (&minFanSpeed);
-
std::cout << "\tDisplay current MinFanSpeed: " << minFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl;
-
-
res = manualFanTuning->SetMinAcousticLimit (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->GetMinFanSpeed (&minFanSpeed);
-
std::cout << "\tSet current MinFanSpeed to: " << minFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display and set TargetFanSpeed settings
-
void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuningPtr manualFanTuning)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = manualFanTuning->IsSupportedTargetFanSpeed (&supported);
-
-
std::cout << "\tIs TargetFanSpeed supported: " << supported << std::endl;
-
if (ADLX_FAILED (res) || !supported)
-
return;
-
-
ADLX_IntRange tuningRange;
-
res = manualFanTuning->GetTargetFanSpeedRange (&tuningRange);
-
std::cout << "\tDisplay TargetFanSpeed range: (" << tuningRange.minValue
-
<< ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
-
adlx_int targetFanSpeed = 0;
-
res = manualFanTuning->GetTargetFanSpeed (&targetFanSpeed);
-
std::cout << "\tDisplay current TargetFanSpeed: " << targetFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl;
-
-
res = manualFanTuning->SetTargetFanSpeed (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2);
-
res = manualFanTuning->GetTargetFanSpeed (&targetFanSpeed);
-
std::cout << "\tSet current TargetFanSpeed to: " << targetFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__manual_graphics_tuning.html b/vendor/adlx/SDKDoc/html/cpp__manual_graphics_tuning.html deleted file mode 100644 index 3ddc0d0..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__manual_graphics_tuning.html +++ /dev/null @@ -1,505 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualGraphicsTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualGraphicsTuning
-
-
-
- - - -

Demonstrates how to control manual graphics tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU frequency and voltage.
2 Get current GPU states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualGraphicsTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualGFXTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2);
-
-
// Menu action control
-
void MenuControl(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
/***** The first is pre-Navi, the second is post-Navi *****/
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1Ptr manualGFXTuning1);
-
void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2Ptr manualGFXTuning2);
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1);
-
void GetCurrentStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2);
-
// Set GPU states
-
void SetGPUStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1);
-
void SetGPUStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU tuning services failed", 0);
-
}
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU list failed", 0);
-
}
-
IADLXGPUPtr oneGPU;
-
res = gpus->At(0, &oneGPU);
-
if (ADLX_FAILED (res) || oneGPU == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU failed", 0);
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedManualGFXTuning(oneGPU, &supported);
-
if (ADLX_FAILED (res) || supported == false)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tThis GPU doesn't supported manual graphics tuning", 0);
-
}
-
IADLXInterfacePtr manualGFXTuningIfc;
-
res = gpuTuningService->GetManualGFXTuning(oneGPU, &manualGFXTuningIfc);
-
if (ADLX_FAILED (res) || manualGFXTuningIfc == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual graphics tuning interface failed", 0);
-
}
-
// Pre-Navi ASIC
-
IADLXManualGraphicsTuning1Ptr manualGFXTuning1(manualGFXTuningIfc);
-
// Post-Navi ASIC
-
IADLXManualGraphicsTuning2Ptr manualGFXTuning2(manualGFXTuningIfc);
-
if (manualGFXTuning1 == nullptr && manualGFXTuning2 == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual graphics tuning failed", 0);
-
}
-
// Display main menu options
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
-
// Get and execute the choice
-
MenuControl(manualGFXTuning1, manualGFXTuning2);
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2)
-
{
-
-
if (manualGFXTuning1)
-
std::cout << "\tThe current GPU is pre-Navi. Choose from the following options:" << std::endl;
-
else if (manualGFXTuning2)
-
std::cout << "\tThe current GPU is post-Navi. Choose from the following options:" << std::endl;
-
std::cout << "\t->Press 1 to display GPU frequency and voltage" << std::endl;
-
std::cout << "\t->Press 2 to display current GPU states" << std::endl;
-
std::cout << "\t->Press 3 to set GPU states" << std::endl;
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2)
-
{
-
char num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
// Pre-Navi Menu action control
-
if (manualGFXTuning1)
-
{
-
switch (num)
-
{
-
// Display GPU frequency and voltage range
-
case '1':
-
ShowFrequencyAndVoltageRange(manualGFXTuning1);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates(manualGFXTuning1);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates(manualGFXTuning1);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
break;
-
default:
-
break;
-
}
-
}
-
// Post-Navi Menu action control
-
else
-
{
-
switch (num)
-
{
-
// Display GPU frequency and voltage range
-
case '1':
-
ShowFrequencyAndVoltageRange(manualGFXTuning2);
-
break;
-
-
// Display current GPU tuning states
-
case '2':
-
GetCurrentStates(manualGFXTuning2);
-
break;
-
-
// Set GPU states
-
case '3':
-
SetGPUStates(manualGFXTuning2);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(manualGFXTuning1, manualGFXTuning2);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1Ptr manualGFXTuning1)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res = manualGFXTuning1->GetGPUTuningRanges(&freqRange, &voltRange);
-
std::cout << "\tFrequency range: (" << freqRange.minValue
-
<< ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
std::cout << "\tVoltage range: (" << voltRange.minValue
-
<< ", " << voltRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1)
-
{
-
IADLXManualTuningStateListPtr states;
-
IADLXManualTuningStatePtr oneState;
-
ADLX_RESULT res = manualGFXTuning1->GetGPUTuningStates(&states);
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt)
-
{
-
states->At(crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
res = oneState->GetFrequency(&freq);
-
std::cout << "\tThe current state " << crt << ": frequency is " << freq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = oneState->GetVoltage(&volt);
-
std::cout << "\tThe current state " << crt << ": voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
-
// Set GPU states
-
void SetGPUStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1)
-
{
-
IADLXManualTuningStateListPtr states;
-
IADLXManualTuningStatePtr oneState;
-
ADLX_RESULT res1 = manualGFXTuning1->GetEmptyGPUTuningStates(&states);
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res2 = manualGFXTuning1->GetGPUTuningRanges(&freqRange, &voltRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt)
-
{
-
states->At(crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
int freqStep = (freqRange.maxValue - freqRange.minValue) / (states->Size());
-
// The Step should not be too large
-
if (freqStep >= 60)
-
freqStep = 60;
-
int voltStep = (voltRange.maxValue - voltRange.minValue) / (states->Size());
-
// The Step should not be too large
-
if (voltStep >= 20)
-
voltStep = 20;
-
ADLX_RESULT res = oneState->SetFrequency(freqRange.minValue + freqStep * crt);
-
res = oneState->GetFrequency(&freq);
-
res = oneState->SetVoltage(voltRange.minValue + voltStep * crt);
-
res = oneState->GetVoltage(&volt);
-
std::cout << "\tSet empty state " << crt << ": frequency is " << freq << ", voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
}
-
-
adlx_int errorIndex;
-
ADLX_RESULT res = manualGFXTuning1->IsValidGPUTuningStates(states, &errorIndex);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = manualGFXTuning1->SetGPUTuningStates(states);
-
std::cout << "\tSet GPU tuning states " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl;
-
}
-
else
-
std::cout << "\tIsValidGPUTuningStates, errorIndex is : " << errorIndex << std::endl;
-
-
res = manualGFXTuning1->GetGPUTuningStates(&states);
-
std::cout << "\tAfter setting:" << std::endl;
-
if (ADLX_SUCCEEDED (res))
-
{
-
for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt)
-
{
-
res = states->At(crt, &oneState);
-
adlx_int freq = 0, volt = 0;
-
res = oneState->GetFrequency(&freq);
-
res = oneState->GetVoltage(&volt);
-
std::cout << "\tThe current state " << crt << ": frequency is " << freq << ", voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU frequency and voltage range
-
void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2Ptr manualGFXTuning2)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange);
-
std::cout << "\tGPU min frequency range: (" << freqRange.minValue
-
<< ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUMaxFrequencyRange(&freqRange);
-
std::cout << "\tGPU max frequency range: (" << freqRange.minValue
-
<< ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUVoltageRange(&voltRange);
-
std::cout << "\tVoltage range: (" << voltRange.minValue
-
<< ", " << voltRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display current GPU tuning states
-
void GetCurrentStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2)
-
{
-
adlx_int minFreq = 0, maxFreq = 0, volt = 0;
-
ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequency(&minFreq);
-
std::cout << "\tCurrent GPU min frequency: " << minFreq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUMaxFrequency(&maxFreq);
-
std::cout << "\tCurrent GPU max frequency: " << maxFreq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUVoltage(&volt);
-
std::cout << "\tCurrent GPU clock voltage: " << volt << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Set GPU states
-
void SetGPUStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2)
-
{
-
ADLX_IntRange freqRange, voltRange;
-
ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange);
-
res = manualGFXTuning2->GetGPUVoltageRange(&voltRange);
-
res = manualGFXTuning2->SetGPUMinFrequency(freqRange.minValue);
-
std::cout << "\tSet GPU min frequency " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl;
-
res = manualGFXTuning2->SetGPUMaxFrequency(freqRange.minValue + 100);
-
std::cout << "\tSet GPU max frequency " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl;
-
res = manualGFXTuning2->SetGPUVoltage(voltRange.minValue + (voltRange.maxValue - voltRange.minValue) / 2);
-
std::cout << "\tSet GPU voltage " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl;
-
std::cout << "\tAfter setting:" << std::endl;
-
adlx_int minFreq = 0, maxFreq = 0, volt = 0;
-
res = manualGFXTuning2->GetGPUMinFrequency(&minFreq);
-
std::cout << "\tCurrent GPU min frequency: " << minFreq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUMaxFrequency(&maxFreq);
-
std::cout << "\tCurrent GPU max frequency: " << maxFreq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = manualGFXTuning2->GetGPUVoltage(&volt);
-
std::cout << "\tCurrent GPU clock voltage: " << volt << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__manual_power_tuning.html b/vendor/adlx/SDKDoc/html/cpp__manual_power_tuning.html deleted file mode 100644 index eaef81b..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__manual_power_tuning.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualPowerTuning
-
-
-
- - - -

Demonstrates how to control manual power tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Get power limit range.
2 Get current power limit.
3 Set power limit.
4 Check TDC limit supported.
5 Get TDC limit range.
6 Get current TDC limit.
7 Set TDC limit.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualPowerTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualPowerTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Display power limit range
-
void ShowGetPowerLimitRange(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Display current power limit
-
void ShowGetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Set power limit
-
void ShowSetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
//Show to check TDC limit is supported
-
void ShowTDCLimitSupported(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Show how to get TDC limit range.
-
void ShowGetTDCLimitRange(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Show how to get current TDC limit.
-
void ShowGetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
// Show how to set TDC limit.
-
void ShowSetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU tuning services failed", 0);
-
}
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU list failed", 0);
-
}
-
IADLXGPUPtr oneGPU;
-
res = gpus->At(0, &oneGPU);
-
if (ADLX_FAILED (res) || oneGPU == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet GPU failed", 0);
-
}
-
adlx_bool supported = false;
-
res = gpuTuningService->IsSupportedManualPowerTuning(oneGPU, &supported);
-
if (ADLX_FAILED (res) || supported == false)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tThis GPU does not support manual power tuning", 0);
-
}
-
IADLXInterfacePtr manualPowerTuningIfc;
-
res = gpuTuningService->GetManualPowerTuning(oneGPU, &manualPowerTuningIfc);
-
if (ADLX_FAILED (res) || manualPowerTuningIfc == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual power tuning interface failed", 0);
-
}
-
IADLXManualPowerTuningPtr manualPowerTuning(manualPowerTuningIfc);
-
if (manualPowerTuning == nullptr)
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("\tGet manual power tuning failed", 0);
-
}
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(manualPowerTuning);
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to show how to get power limit range" << std::endl;
-
std::cout << "\t->Press 2 to show how to get current power limit" << std::endl;
-
std::cout << "\t->Press 3 to show how to set power limit" << std::endl;
-
std::cout << "\t->Press 4 to show TDC Limit is supported" << std::endl;
-
std::cout << "\t->Press 5 to show how to get TDC limit range" << std::endl;
-
std::cout << "\t->Press 6 to show how to get current TDC limit" << std::endl;
-
std::cout << "\t->Press 7 to show how to set TDC limit" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display power limit range
-
case '1':
-
ShowGetPowerLimitRange(manualPowerTuning);
-
break;
-
-
// Display current power limit
-
case '2':
-
ShowGetPowerLimit(manualPowerTuning);
-
break;
-
-
// Set power limit
-
case '3':
-
ShowSetPowerLimit(manualPowerTuning);
-
break;
-
// Show to check if TDCLimit is supported
-
case '4':
-
ShowTDCLimitSupported(manualPowerTuning);
-
break;
-
// Show how to get TDC limit range.
-
case '5':
-
ShowGetTDCLimitRange(manualPowerTuning);
-
break;
-
-
// Show how to get current TDC limit.
-
case '6':
-
ShowGetTDCLimit(manualPowerTuning);
-
break;
-
-
// Show how to set TDC limit.
-
case '7':
-
ShowSetTDCLimit(manualPowerTuning);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display power limit range
-
void ShowGetPowerLimitRange(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
ADLX_IntRange powerRange;
-
ADLX_RESULT res = manualPowerTuning->GetPowerLimitRange(&powerRange);
-
std::cout << "\tPower limit range: (" << powerRange.minValue
-
<< ", " << powerRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Display current power limit
-
void ShowGetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
adlx_int powerLimit;
-
ADLX_RESULT res = manualPowerTuning->GetPowerLimit(&powerLimit);
-
std::cout << "\tCurrent power limit: " << powerLimit << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Set power limit
-
void ShowSetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
ADLX_IntRange powerRange;
-
ADLX_RESULT res = manualPowerTuning->GetPowerLimitRange(&powerRange);
-
res = manualPowerTuning->SetPowerLimit(powerRange.step + powerRange.minValue + (powerRange.maxValue - powerRange.minValue) / 2);
-
std::cout << "\tSet power limit " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl;
-
adlx_int powerLimit;
-
res = manualPowerTuning->GetPowerLimit(&powerLimit);
-
std::cout << "\tSet current power limit to: " << powerLimit << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Show TDCLimit is supported.
-
void ShowTDCLimitSupported(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
adlx_bool supportedTDC;
-
ADLX_RESULT res = manualPowerTuning->IsSupportedTDCLimit(&supportedTDC);
-
std::cout << "\tTDC limit is supported: " << supportedTDC << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
// Show how to get tdc limit range.
-
void ShowGetTDCLimitRange(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
ADLX_IntRange tdcRange;
-
ADLX_RESULT res = manualPowerTuning->GetTDCLimitRange(&tdcRange);
-
std::cout << "\tGet TDC limit range is: (" << tdcRange.minValue
-
<< ", " << tdcRange.maxValue << "), return code (0 is Success) is: " << res << std::endl;
-
}
-
-
// Show how to get current TDC limit.
-
void ShowGetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
adlx_int tdcLimit;
-
ADLX_RESULT res = manualPowerTuning->GetTDCLimit(&tdcLimit);
-
std::cout << "\tThe current TDC limit is: " << tdcLimit << ", return code (0 is Success) is: " << res << std::endl;
-
}
-
-
// Show how to set TDC limit.
-
void ShowSetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning)
-
{
-
ADLX_IntRange tdcRange;
-
ADLX_RESULT res = manualPowerTuning->GetTDCLimitRange(&tdcRange);
-
-
res = manualPowerTuning->SetTDCLimit(tdcRange.step + tdcRange.minValue + (tdcRange.maxValue - tdcRange.minValue) / 2);
-
adlx_int tdcLimit;
-
res = manualPowerTuning->GetTDCLimit (&tdcLimit);
-
std::cout << "\tSet current TDC limit to: " << tdcLimit << ", return code (0 is Success) is: " << res << std::endl;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__manual_v_r_a_m_tuning.html b/vendor/adlx/SDKDoc/html/cpp__manual_v_r_a_m_tuning.html deleted file mode 100644 index c272cb4..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__manual_v_r_a_m_tuning.html +++ /dev/null @@ -1,575 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ManualVRAMTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ManualVRAMTuning
-
-
-
- - - -

Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Get Memory Timing support.
2 Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable
3 Set Memory Timing level.
4 Set VRAMTuning state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualVRAMTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUManualVRAMTuning.h"
-
#include "SDK/Include/IGPUTuning.h"
-
#include <iostream>
-
#include <map>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Memory Timing support
-
void ShowSupport(IADLXInterfacePtr& vramTuningIfc);
-
-
// Get VRAM state
-
void GetState(IADLXInterfacePtr& vramTuningIfc);
-
-
// Set Memory Timing Level
-
void SetTimingLevel(IADLXInterfacePtr& vramTuningIfc);
-
-
// Set VRAM state
-
void SetState(IADLXInterfacePtr& vramTuningIfc);
-
-
// Main menu
-
void MainMenu(IADLXInterfacePtr& vramTuningIfc);
-
-
// Menu action control
-
void MenuControl(IADLXInterfacePtr vramTuningIfc);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Get GPU tuning service
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpu;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get manual VRAM tuning support
-
adlx_bool supported;
-
res = gpuTuningService->IsSupportedManualVRAMTuning(gpu, &supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tGPU manual VRAM tuning support status: " << supported << std::endl;
-
if (supported)
-
{
-
// Get manual VRAM tuning interface
-
IADLXInterfacePtr vramTuningIfc;
-
res = gpuTuningService->GetManualVRAMTuning(gpu, &vramTuningIfc);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu(vramTuningIfc);
-
MenuControl(vramTuningIfc);
-
}
-
}
-
else
-
{
-
return WaitAndExit("\nThis GPU Doesn't support Manual VRAM Tuning", 0);
-
}
-
}
-
}
-
else
-
std::cout << "Failed to get GPU tuning services" << std::endl;
-
}
-
else
-
std::cout << "Failed to get GPU" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static std::map<ADLX_MEMORYTIMING_DESCRIPTION, const char*> descMap =
-
{
-
{MEMORYTIMING_DEFAULT, "Default"},
-
{MEMORYTIMING_FAST_TIMING, "Fast Timing"},
-
{MEMORYTIMING_FAST_TIMING_LEVEL_2, "Fast Timing Level2"},
-
{MEMORYTIMING_AUTOMATIC, "Automatic"},
-
{MEMORYTIMING_MEMORYTIMING_LEVEL_1, "Memory Timing Level1"},
-
{MEMORYTIMING_MEMORYTIMING_LEVEL_2, "Memory Timing Level2"}};
-
-
void ShowSupport(IADLXInterfacePtr& vramTuningIfc)
-
{
-
adlx_bool supported = false;
-
IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc);
-
IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc);
-
ADLX_RESULT res = ADLX_FAIL;
-
if (vramTuning2)
-
{
-
res = vramTuning2->IsSupportedMemoryTiming(&supported);
-
}
-
else if (vramTuning1)
-
{
-
res = vramTuning1->IsSupportedMemoryTiming(&supported);
-
}
-
std::cout << "\tIsSupported: " << supported << ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
-
void GetState(IADLXInterfacePtr& vramTuningIfc)
-
{
-
IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc);
-
IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc);
- -
IADLXMemoryTimingDescriptionListPtr descList;
-
if (vramTuning2)
-
{
-
vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList);
-
vramTuning2->GetMemoryTimingDescription(&desc);
-
-
adlx_int freq;
- -
ADLX_RESULT res = vramTuning2->GetMaxVRAMFrequency(&freq);
-
std::cout << "\tMax VRAM frequency: " << freq << ", return code is: "<< res << "(0 means success)" << std::endl;
-
res = vramTuning2->GetMaxVRAMFrequencyRange(&rang);
-
std::cout << "\tMax VRAM frequency range: [" << rang.minValue << " , " << rang.maxValue << " ], step: " << rang.step
-
<< ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
else if (vramTuning1)
-
{
-
vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList);
-
vramTuning1->GetMemoryTimingDescription(&desc);
-
-
IADLXManualTuningStateListPtr states;
-
vramTuning1->GetVRAMTuningStates(&states);
-
adlx_uint s = states->Begin();
-
std::cout << "\tState is:" << std::endl;
-
for (; s != states->End(); s++)
-
{
-
IADLXManualTuningStatePtr state;
-
adlx_int frequency;
-
adlx_int voltage;
-
states->At(s, &state);
-
state->GetFrequency(&frequency);
-
state->GetVoltage(&voltage);
-
std::cout << "\t\tfrequency: " << frequency << " voltage: " << voltage << std::endl;
-
}
-
-
ADLX_IntRange frequencyRange;
-
ADLX_IntRange voltageRange;
-
ADLX_RESULT res = vramTuning1->GetVRAMTuningRanges(&frequencyRange, &voltageRange);
-
std::cout << "\tFrequency range: [" << frequencyRange.minValue << " , " << frequencyRange.maxValue << " ], step: " << frequencyRange.step
-
<< ", return code is: "<< res << "(0 means success)" << std::endl;
-
std::cout << "\tVoltage range: [" << voltageRange.minValue << " , " << voltageRange.maxValue << " ], step: " << voltageRange.step
-
<< ", return code is: "<< res << "(0 means success)" << std::endl;
-
}
-
if (descList)
-
{
-
std::cout << "\tCurrent timing desc: " << descMap[desc] << std::endl;
-
std::cout << "\tSupported Memory Timing desc list:" << std::endl;
-
for (adlx_uint s = 0; s != descList->End (); s++)
-
{
-
IADLXMemoryTimingDescriptionPtr item;
-
descList->At (s, &item);
-
item->GetDescription (&desc);
-
std::cout << "\t " << descMap[desc] << std::endl;
-
}
-
}
-
std::cout << std::endl;
-
}
-
-
void SetTimingLevel(IADLXInterfacePtr& vramTuningIfc)
-
{
- -
IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc);
-
IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc);
-
ADLX_MEMORYTIMING_DESCRIPTION desc, currentDesc;
-
IADLXMemoryTimingDescriptionListPtr descList;
-
bool supported = false;
-
if (vramTuning2)
-
{
-
//If MemoryTiming is supported, then only will get the MemoryTimingDescriptionList
-
res = vramTuning2->IsSupportedMemoryTiming(&supported);
-
if (supported)
-
{
-
vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList);
-
if (descList)
-
{
-
vramTuning2->GetMemoryTimingDescription(&currentDesc);
-
for (adlx_uint s = 0; s != descList->End(); s++)
-
{
-
IADLXMemoryTimingDescriptionPtr item;
-
descList->At(s, &item);
-
item->GetDescription(&desc);
-
if (currentDesc != desc)
-
{
-
res = vramTuning2->SetMemoryTimingDescription(desc);
-
std::cout << "\tSet Memory Timing description to " << descMap[desc] << ": return code is: " << res << " (0 means success)" << std::endl;
-
break;
-
}
-
}
-
}
-
else
-
{
-
std::cout << "\tFailed to get the Supported Memory Timing Description List." << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tMemory Timing Level not Supported, so cannot set Memory Timing Description List." << std::endl;
-
}
-
}
-
else if (vramTuning1)
-
{
-
//If MemoryTiming is supported, then only will get the MemoryTimingDescriptionList
-
res = vramTuning1->IsSupportedMemoryTiming(&supported);
-
if (supported)
-
{
-
vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList);
-
if (descList)
-
{
-
vramTuning1->GetMemoryTimingDescription(&currentDesc);
-
for (adlx_uint s = 0; s != descList->End(); s++)
-
{
-
IADLXMemoryTimingDescriptionPtr item;
-
descList->At(s, &item);
-
item->GetDescription(&desc);
-
if (currentDesc != desc)
-
{
-
res = vramTuning1->SetMemoryTimingDescription(desc);
-
std::cout << "\tSet Memory Timing description to " << descMap[desc] << ": return code is: " << res << " (0 means success)" << std::endl;
-
break;
-
}
-
}
-
}
-
else
-
{
-
std::cout << "\tFailed to get the Supported Memory Timing Description List." << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tMemory Timing Level not Supported, so cannot set Memory Timing Description List." << std::endl;
-
}
-
}
-
}
-
-
void SetState(IADLXInterfacePtr& vramTuningIfc)
-
{
- -
IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc);
-
IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc);
-
bool supported = false;
-
if (vramTuning2)
-
{
-
//If MemoryTiming is supported, then only will set the MemoryTimingState
-
res = vramTuning2->IsSupportedMemoryTiming(&supported);
-
if (supported)
-
{
-
adlx_int freq;
- -
vramTuning2->GetMaxVRAMFrequency(&freq);
-
vramTuning2->GetMaxVRAMFrequencyRange(&rang);
-
if (freq != rang.minValue)
-
{
-
res = vramTuning2->SetMaxVRAMFrequency(rang.minValue);
-
std::cout << "\tUse min Frequency to set, return code(0 is Success) is: " << res << std::endl;
-
}
-
else
-
{
-
res = vramTuning2->SetMaxVRAMFrequency(rang.minValue + rang.step * 2);
-
std::cout << "\tUse max Frequency to set, return code(0 is Success) is: " << res << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "\tTuning not Supported, so cannot change the State." << std::endl;
-
}
-
}
-
else if (vramTuning1)
-
{
-
//If MemoryTiming is supported, then only will set the MemoryTimingState
-
res = vramTuning1->IsSupportedMemoryTiming(&supported);
-
if (supported)
-
{
-
ADLX_IntRange frequencyRange;
-
ADLX_IntRange voltageRange;
-
vramTuning1->GetVRAMTuningRanges(&frequencyRange, &voltageRange);
-
IADLXManualTuningStateListPtr states;
-
vramTuning1->GetVRAMTuningStates(&states);
-
adlx_uint s = states->Size() - 1;
-
for (; s != states->End(); s++)
-
{
-
IADLXManualTuningStatePtr state;
-
adlx_int frequency;
-
adlx_int voltage;
-
states->At(s, &state);
-
state->GetFrequency(&frequency);
-
state->GetVoltage(&voltage);
-
// Only change the last
-
res = state->SetFrequency(frequencyRange.maxValue - frequencyRange.step * 10);
-
res = state->SetVoltage(voltageRange.maxValue - voltageRange.step * 10);
-
break;
-
}
-
res = vramTuning1->SetVRAMTuningStates(states);
-
std::cout << "\tChange VRAM tuning states, return code(0 is Success) is: " << res << std::endl;
-
}
-
else
-
{
-
std::cout << "\tTuning not Supported, so cannot change the State." << std::endl;
-
}
-
}
-
}
-
-
void MainMenu(IADLXInterfacePtr& vramTuningIfc)
-
{
-
// Acquire to ManualVRAMTuning1
-
IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc);
-
// Acquire to ManualVRAMTuning2
-
IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc);
-
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Memory Timing support" << std::endl;
-
if (vramTuning2)
-
std::cout << "\t->Press 2 to get Memory Timing level and frequency range" << std::endl;
-
else if (vramTuning1)
-
std::cout << "\t->Press 2 to get Memory Timing level, VRAM frequency, and the voltage global range for all states" << std::endl;
-
-
std::cout << "\t->Press 3 to change current Memory Timing Level" << std::endl;
-
-
if (vramTuning2)
-
std::cout << "\t->Press 4 to change current VRAM max frequency value" << std::endl;
-
else if (vramTuning1)
-
std::cout << "\t->Press 4 to change VRAM states" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(IADLXInterfacePtr vramTuningIfc)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Get Memory Timing support
-
case '1':
-
ShowSupport(vramTuningIfc);
-
break;
-
-
// Get VRAM state
-
case '2':
-
GetState(vramTuningIfc);
-
break;
-
-
// Set timing level
-
case '3':
-
SetTimingLevel(vramTuningIfc);
-
break;
-
-
// Set VRAM state
-
case '4':
-
SetState(vramTuningIfc);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu(vramTuningIfc);
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ MEMORYTIMING_MEMORYTIMING_LEVEL_2
Definition: ADLXDefines.h:864
-
@ MEMORYTIMING_AUTOMATIC
Definition: ADLXDefines.h:862
-
@ MEMORYTIMING_FAST_TIMING_LEVEL_2
Definition: ADLXDefines.h:861
-
@ MEMORYTIMING_MEMORYTIMING_LEVEL_1
Definition: ADLXDefines.h:863
-
@ MEMORYTIMING_FAST_TIMING
Definition: ADLXDefines.h:860
-
@ MEMORYTIMING_DEFAULT
Definition: ADLXDefines.h:859
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_MEMORYTIMING_DESCRIPTION
Indicates the priority of the log entry.
Definition: ADLXDefines.h:858
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__morphologic_anti_aliasing.html b/vendor/adlx/SDKDoc/html/cpp__morphologic_anti_aliasing.html deleted file mode 100644 index 81c1162..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__morphologic_anti_aliasing.html +++ /dev/null @@ -1,326 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: MorphologicAntiAliasing - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MorphologicAntiAliasing
-
-
-
- - - -

Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display morphological anti-aliasing support
2 Get current morphological anti-aliasing state of the GPU
3 Enable morphological anti-aliasing
4 Disable morphological anti-aliasing
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/MorphologicAntiAliasing

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display morphological anti-aliasing support
-
void ShowSupport(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing);
-
-
// Get current morphological anti-aliasing state of the GPU
-
void GetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing);
-
-
// Set morphological anti-aliasing state
-
void SetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get MorphologicAntiAliasing interface
-
IADLX3DMorphologicalAntiAliasingPtr mAntiAliasing;
-
res = d3dSettingSrv->GetMorphologicalAntiAliasing(gpuInfo, &mAntiAliasing);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(mAntiAliasing);
-
}
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the 3DSettings Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the GPU" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSupport(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = mAntiAliasing->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = mAntiAliasing->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing, int index)
-
{
-
ADLX_RESULT res = mAntiAliasing->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display morphological anti-aliasing support" << std::endl;
-
std::cout << "\t->Press 2 to get current morphological anti-aliasing state of the GPU" << std::endl;
-
std::cout << "\t->Press 3 to enable morphological anti-aliasing" << std::endl;
-
std::cout << "\t->Press 4 to disable morphological anti-aliasing" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display morphological anti-aliasing support
-
case '1':
-
ShowSupport(mAntiAliasing);
-
break;
-
-
// Get and display current morphological anti-aliasing state of the GPU
-
case '2':
-
GetState(mAntiAliasing);
-
break;
-
-
// Set morphological anti-aliasing state
-
case '3':
-
case '4':
-
SetState(mAntiAliasing, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__perf_all_metrics.html b/vendor/adlx/SDKDoc/html/cpp__perf_all_metrics.html deleted file mode 100644 index 6e5a99a..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__perf_all_metrics.html +++ /dev/null @@ -1,720 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfAllMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfAllMetrics
-
-
-
- - - -

Demonstrates how to control all metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current all metrics.
2 Show historical all metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfAllMetrics

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// ASCII °
-
static const signed char g_degree = 248;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Display all current metrics
-
void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
// Display all historical metrics
-
void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXPerformanceMonitoringServicesPtr perfMonitoringService;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUListPtr gpus;
-
// Get GPU list
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Use the first GPU in the list
-
IADLXGPUPtr oneGPU;
-
res = gpus->At(gpus->Begin(), &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringService, oneGPU);
-
}
-
else
-
std::cout << "\tGet particular GPU failed" << std::endl;
-
}
-
else
-
std::cout << "\tGet GPU list failed" << std::endl;
-
}
-
else
-
std::cout << "\tGet performance monitoring services failed" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display current all metrics" << std::endl;
-
std::cout << "\t->Press 2 to display historical all metrics" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display all current metrics
-
case '1':
-
ShowCurrentAllMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display all historical metrics
-
case '2':
-
ShowHistoricalAllMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStamp(IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = systemMetrics->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The system time stamp is: " << timeStamp << "ms" << std::endl;
-
}
-
-
// Show CPU usage(in %)
-
void ShowCPUUsage(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display CPU usage support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedCPUUsage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "CPU usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double cpuUsage = 0;
-
res = systemMetrics->CPUUsage(&cpuUsage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The CPU usage is: " << cpuUsage << "%" << std::endl;
-
}
-
}
-
}
-
-
// Display system RAM (in MB)
-
void ShowSystemRAM(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display system RAM usage support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedSystemRAM(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "System RAM usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int systemRAM = 0;
-
res = systemMetrics->SystemRAM(&systemRAM);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The system RAM is: " << systemRAM << "MB" << std::endl;
-
}
-
}
-
}
-
-
// Display SmartShift
-
void ShowSmartShift(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display SmartShift support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedSmartShift(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "SmartShift support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int smartShift;
-
res = systemMetrics->SmartShift(&smartShift);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The SmartShift is: " << smartShift << std::endl;
-
}
-
}
-
}
-
-
// Display the GPU metrics time stamp (in ms)
-
void GetTimeStamp(IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = gpuMetrics->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU time stamp is: " << timeStamp << "ms" << std::endl;
-
}
-
-
// Display GPU usage (in %)
-
void ShowGPUUsage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU usage support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUUsage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double usage = 0;
-
res = gpuMetrics->GPUUsage(&usage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU usage is: " << usage << "%" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU clock speed (in MHz)
-
void ShowGPUClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU clock speed is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int gpuClock = 0;
-
res = gpuMetrics->GPUClockSpeed(&gpuClock);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU clock speed is: " << gpuClock << "MHz" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU VRAM clock speed(MHz)
-
void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU VRAM clock speed is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU VRAM clock speed is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int memoryClock = 0;
-
res = gpuMetrics->GPUVRAMClockSpeed(&memoryClock);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM clock speed is: " << memoryClock << "MHz" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU temperature(°C)
-
void ShowGPUTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU tempetature is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTemperature(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU temperture is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->GPUTemperature(&temperature);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU temperature is: " << temperature << g_degree << "C" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU hotspot temperature(°C)
-
void ShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU hotspot temperature is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU hotspot temperature is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double hotspotTemperature = 0;
-
res = gpuMetrics->GPUHotspotTemperature(&hotspotTemperature);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU hotspot temperature is: " << hotspotTemperature << g_degree << "C" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU power(W)
-
void ShowGPUPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU power is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUPower(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU power is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->GPUPower(&power);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU power is: " << power << "W" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU fan speed(RPM)
-
void ShowGPUFanSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU fan speed is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU fan speed is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int fanSpeed = 0;
-
res = gpuMetrics->GPUFanSpeed(&fanSpeed);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU fan speed is: " << fanSpeed << "RPM" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU VRAM(MB)
-
void ShowGPUVRAM(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU VRAM is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAM(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU VRAM is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int VRAM = 0;
-
res = gpuMetrics->GPUVRAM(&VRAM);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM is: " << VRAM << "MB" << std::endl;
-
}
-
}
-
}
-
-
// Show GPU Voltage(mV)
-
void ShowGPUVoltage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Get if the GPU voltage is supported
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVoltage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Get if the GPU voltage is supported: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int voltage = 0;
-
res = gpuMetrics->GPUVoltage(&voltage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU voltage is: " << voltage << "mV" << std::endl;
-
}
-
}
-
}
-
-
// Show current all metrics
-
void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupportPtr systemMetricsSupport;
-
ADLX_RESULT res2 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport);
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
res2 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
-
// Loop 10 time to accumulate data and show the current metrics in each loop
-
IADLXAllMetricsPtr allMetrics;
-
IADLXSystemMetricsPtr systemMetrics;
-
IADLXGPUMetricsPtr gpuMetrics;
-
IADLXFPSPtr oneFPS;
-
for (int i = 0; i < 10; ++i)
-
{
-
// clear screen when show current metrics
-
system("cls");
-
// Get current All metrics
-
ADLX_RESULT res1 = perfMonitoringServices->GetCurrentAllMetrics(&allMetrics);
-
if (ADLX_SUCCEEDED(res1))
-
{
-
std::cout << "The current all metrics: " << std::endl;
-
// Get current system metrics.
-
res1 = allMetrics->GetSystemMetrics(&systemMetrics);
-
// Show timestamp, CPU usage, system RAM and smart shift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << std::boolalpha; // display bool variable as true of false
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
std::cout << std::noboolalpha;
-
}
-
// Get current GPU metrics
-
res1 = allMetrics->GetGPUMetrics(oneGPU, &gpuMetrics);
-
// Show timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << std::boolalpha; // display bool variable as true of false
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
std::cout << std::noboolalpha;
-
}
-
// Get current FPS metrics
-
res1 = allMetrics->GetFPS(&oneFPS);
-
if (ADLX_SUCCEEDED(res1))
-
{
-
adlx_int64 timeStamp = 0;
-
res1 = oneFPS->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res1))
-
std::cout << "The current metric time stamp is: " << timeStamp << "ms\n";
-
adlx_int fpsData = 0;
-
res1 = oneFPS->FPS(&fpsData);
-
if (ADLX_SUCCEEDED(res1))
-
std::cout << "The current metric FPS is: " << fpsData << std::endl;
-
else if (res1 == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support FPS" << std::endl;
-
}
-
}
-
Sleep(1000);
-
}
-
-
MainMenu();
-
}
-
-
// Show historical all metrics
-
void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Clear historical data failed" << std::endl;
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->StartPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Start tracking performance metrics failed" << std::endl;
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl;
-
Sleep(10000);
-
-
// Grab the all metrics history from 10 seconds ago(10000 ms: the first parameter) to the present time(0 ms: the second parameter)
-
IADLXAllMetricsListPtr allMetricsList;
-
res = perfMonitoringServices->GetAllMetricsHistory(10000, 0, &allMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupportPtr systemMetricsSupport;
-
ADLX_RESULT systemRes = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport);
-
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
ADLX_RESULT gpuRes = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
-
// Display each all metrics in the list
-
IADLXAllMetricsPtr allMetrics;
-
IADLXSystemMetricsPtr systemMetrics;
-
IADLXGPUMetricsPtr gpuMetrics;
-
IADLXFPSPtr oneFPS;
-
for (int i = allMetricsList->Begin(); i != allMetricsList->End(); ++i)
-
{
-
std::cout << "********** historical system metrics " << i + 1 << ": **********" << std::endl;
-
res = allMetricsList->At(i, &allMetrics);
-
if (ADLX_SUCCEEDED(res))
-
{
-
res = allMetrics->GetSystemMetrics(&systemMetrics);
-
// Show time stamp, CPU usage, system RAM, smart shift of first system metrics
-
if (ADLX_SUCCEEDED(systemRes) && ADLX_SUCCEEDED(res))
-
{
-
std::cout << std::boolalpha; // display bool variable as true of false
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
std::cout << std::noboolalpha;
-
}
-
res = allMetrics->GetGPUMetrics(oneGPU, &gpuMetrics);
-
// Show timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(gpuRes) && ADLX_SUCCEEDED(res))
-
{
-
std::cout << std::boolalpha; // display bool variable as true of false
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
std::cout << std::noboolalpha;
-
}
-
res = allMetrics->GetFPS(&oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The time stamp is: " << timeStamp << "ms" << std::endl;
-
adlx_int fpsData = 0;
-
res = oneFPS->FPS(&fpsData);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The FPS is: " << fpsData << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support FPS" << std::endl;
-
}
-
std::cout << std::endl;
-
}
-
}
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->StopPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Stop tracking performance metrics failed" << std::endl;
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__perf_f_p_s_metrics.html b/vendor/adlx/SDKDoc/html/cpp__perf_f_p_s_metrics.html deleted file mode 100644 index af49655..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__perf_f_p_s_metrics.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfFPSMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfFPSMetrics
-
-
-
- - - -

Demonstrates how to control FPS metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current FPS metrics.
2 Show historical FPS metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Show current FPS metrics
-
void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
// Show historical FPS metrics
-
void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXPerformanceMonitoringServicesPtr perfMonitoringServices;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringServices);
-
}
-
else
-
std::cout << "\tGet performance monitoring services failed" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display current FPS metrics" << std::endl;
-
std::cout << "\t->Press 2 to display historical FPS metrics" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show current metrics
-
case '1':
-
ShowCurrentFPSMetrics(perfMonitoringServices);
-
break;
-
-
// Show historical metrics
-
case '2':
-
ShowHistoricalFPSMetrics(perfMonitoringServices);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display current FPS metrics
-
void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
// Accumulate and display current metrics for each of 10 loops
-
IADLXFPSPtr oneFPS;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current FPS metrics
-
ADLX_RESULT res = perfMonitoringServices->GetCurrentFPS(&oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The current metric time stamp is: " << timeStamp << "ms\n";
-
adlx_int fpsData = 0;
-
res = oneFPS->FPS(&fpsData);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The current metric FPS is: " << fpsData << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support FPS" << std::endl;
-
}
-
Sleep(1000);
-
}
-
-
MainMenu();
-
}
-
-
// Show historical FPS metrics
-
void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Clear historical data failed" << std::endl;
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->StartPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Start tracking performance metrics failed" << std::endl;
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl;
-
Sleep(10000);
-
-
// Get FPS metrics history from 10 seconds ago (10000 ms: the first parameter) to the present time(0 ms: the second parameter)
-
IADLXFPSListPtr fpsList;
-
res = perfMonitoringServices->GetFPSHistory(10000, 0, &fpsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display all listed FPS metrics
-
IADLXFPSPtr oneFPS;
-
for (int i = fpsList->Begin(); i != fpsList->End(); ++i)
-
{
-
std::cout << "********** historical FPS metrics "<< i + 1 << ": **********" << std::endl;
-
res = fpsList->At(i, &oneFPS);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int64 timeStamp = 0;
-
res = oneFPS->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The time stamp is: " << timeStamp << "ms" << std::endl;
-
adlx_int fpsData = 0;
-
res = oneFPS->FPS(&fpsData);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The FPS is: " << fpsData << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support FPS" << std::endl;
-
}
-
std::cout << std::endl;
-
}
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->StopPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Stop tracking performance metrics failed" << std::endl;
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__perf_g_p_u_metrics.html b/vendor/adlx/SDKDoc/html/cpp__perf_g_p_u_metrics.html deleted file mode 100644 index 459ef2e..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__perf_g_p_u_metrics.html +++ /dev/null @@ -1,806 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfGPUMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfGPUMetrics
-
-
-
- - - -

Demonstrates how to control GPU metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Show GPU metrics range.
2 Show current GPU metrics.
3 Show current GPU metrics from historical data.
4 Show historical GPU metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// ASCII °
-
static const signed char g_degree = 248;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Show GPU metrics range
-
void ShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Show current GPU metrics
-
void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
// Show historical GPU metrics
-
void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXPerformanceMonitoringServicesPtr perfMonitoringService;
-
res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUListPtr gpus;
-
// Get GPU list
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Use the first GPU in the list
-
IADLXGPUPtr oneGPU;
-
res = gpus->At(gpus->Begin(), &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringService, oneGPU);
-
}
-
else
-
std::cout << "\tGet particular GPU failed" << std::endl;
-
}
-
else
-
std::cout << "\tGet GPU list failed" << std::endl;
-
}
-
else
-
std::cout << "\tGet performance monitoring services failed" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display GPU metrics range" << std::endl;
-
std::cout << "\t->Press 2 to display current GPU metrics" << std::endl;
-
std::cout << "\t->Press 3 to display current GPU metrics from historical data" << std::endl;
-
std::cout << "\t->Press 4 to display historical GPU metrics" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show GPU metrics range
-
case '1':
-
ShowGPUMetricsRange(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display current GPU metrics
-
case '2':
-
ShowCurrentGPUMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display current GPU metrics from historical data
-
case '3':
-
ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display historical GPU metrics
-
case '4':
-
ShowHistoricalGPUMetrics(perfMonitoringServices, oneGPU);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display GPU metrics range
-
void ShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
ADLX_RESULT res = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int minValue = 0, maxValue = 0;
-
-
// Get GPU usage range
-
res = gpuMetricsSupport->GetGPUUsageRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU usage range between " << minValue << "% and " << maxValue << "%" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU usage range" << std::endl;
-
-
// Get GPU clock speed range
-
res = gpuMetricsSupport->GetGPUClockSpeedRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU clock speed range between " << minValue << "MHz and " << maxValue << "MHz" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU clock speed range" << std::endl;
-
-
// Get GPU VRAM clock speed range
-
res = gpuMetricsSupport->GetGPUVRAMClockSpeedRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM clock speed range between " << minValue << "MHz and " << maxValue << "MHz" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU VRAM clock speed range" << std::endl;
-
-
// Get GPU temperature range
-
res = gpuMetricsSupport->GetGPUTemperatureRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU temperature range" << std::endl;
-
-
// Get GPU hotspot temperature range
-
res = gpuMetricsSupport->GetGPUHotspotTemperatureRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU hotspot temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU hotspot temperature range" << std::endl;
-
-
// Get GPU power range
-
res = gpuMetricsSupport->GetGPUPowerRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU power range between " << minValue << "W and " << maxValue << "W" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU power range" << std::endl;
-
-
// Get GPU fan speed range
-
res = gpuMetricsSupport->GetGPUFanSpeedRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU fan speed range between " << minValue << "RPM and " << maxValue << "RPM" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU fan speed range" << std::endl;
-
-
// Get GPU VRAM range
-
res = gpuMetricsSupport->GetGPUVRAMRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM range between " << minValue << "MB and " << maxValue << "MB" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU VRAM range" << std::endl;
-
-
// Get GPU voltage range
-
res = gpuMetricsSupport->GetGPUVoltageRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU voltage range between " << minValue << "mV and " << maxValue << "mV" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU voltage range" << std::endl;
-
-
// Get GPU total board power range
-
res = gpuMetricsSupport->GetGPUTotalBoardPowerRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU total board power range between " << minValue << "W and " << maxValue << "W" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU total board power range" << std::endl;
-
-
// Get GPU intake temperature range
-
res = gpuMetricsSupport->GetGPUIntakeTemperatureRange (&minValue, &maxValue);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "The GPU intake temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support GPU intake temperature range" << std::endl;
-
}
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStamp(IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = gpuMetrics->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU timp stamp is: " << timeStamp << "ms" << std::endl;
-
}
-
-
// Display GPU usage (in %)
-
void ShowGPUUsage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU usage support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUUsage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double usage = 0;
-
res = gpuMetrics->GPUUsage(&usage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU usage is: " << usage << "%" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU clock speed (in MHz)
-
void ShowGPUClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU clock speed support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int gpuClock = 0;
-
res = gpuMetrics->GPUClockSpeed(&gpuClock);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU clock speed is: " << gpuClock << "MHz" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU VRAM clock speed (in MHz)
-
void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display the GPU VRAM clock speed support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU VRAM clock speed support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int memoryClock = 0;
-
res = gpuMetrics->GPUVRAMClockSpeed(&memoryClock);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM clock speed is: " << memoryClock << "MHz" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU temperature(in °C)
-
void ShowGPUTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
-
// Display the GPU temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTemperature(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU temperature support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->GPUTemperature(&temperature);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU temperature is: " << temperature << g_degree <<"C" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU hotspot temperature(in °C)
-
void ShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
-
// Display GPU hotspot temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU hotspot temperature support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double hotspotTemperature = 0;
-
res = gpuMetrics->GPUHotspotTemperature(&hotspotTemperature);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU hotspot temperature is: " << hotspotTemperature << g_degree <<"C" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU power(in W)
-
void ShowGPUPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU power support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUPower(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU power support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->GPUPower(&power);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU power is: " << power << "W" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU total board power(in W)
-
void ShowGPUTotalBoardPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU total board power support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTotalBoardPower(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU total board power support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double power = 0;
-
res = gpuMetrics->GPUTotalBoardPower(&power);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU total board power is: " << power << "W" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU intake temperature(in °C)
-
void ShowGPUIntakeTemperature (IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
-
// Display the GPU temperature support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUIntakeTemperature (&supported);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << "GPU intake temperature support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double temperature = 0;
-
res = gpuMetrics->GPUIntakeTemperature (&temperature);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "The GPU intake temperature is: " << temperature << g_degree << "C" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU fan speed (in RPM)
-
void ShowGPUFanSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU fan speed support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU fan speed support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int fanSpeed = 0;
-
res = gpuMetrics->GPUFanSpeed(&fanSpeed);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU fan speed is: " << fanSpeed << "RPM" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU VRAM (in MB)
-
void ShowGPUVRAM(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU VRAM support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAM(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU VRAM support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int VRAM = 0;
-
res = gpuMetrics->GPUVRAM(&VRAM);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU VRAM is: " << VRAM << "MB" << std::endl;
-
}
-
}
-
}
-
-
// Display GPU Voltage (in mV)
-
void ShowGPUVoltage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics)
-
{
-
adlx_bool supported = false;
-
// Display GPU voltage support status
-
ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVoltage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "GPU voltage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int voltage = 0;
-
res = gpuMetrics->GPUVoltage(&voltage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The GPU voltage is: " << voltage << "mV" << std::endl;
-
}
-
}
-
}
-
-
// Display current GPU metrics
-
void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
ADLX_RESULT res1 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
-
// Accumulate and display current metrics for each of 10 loops
-
IADLXGPUMetricsPtr gpuMetrics;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current GPU metrics
-
ADLX_RESULT res2 = perfMonitoringServices->GetCurrentGPUMetrics(oneGPU, &gpuMetrics);
-
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << "The current GPU metrics: " << std::endl;
-
std::cout << std::boolalpha; // Display boolean variable as true or false
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics);
-
std::cout << std::noboolalpha;
-
}
-
Sleep(1000);
-
}
-
-
MainMenu();
-
}
-
-
void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Clear historical data failed" << std::endl;
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->StartPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Start tracking performance metrics failed" << std::endl;
-
return;
-
}
-
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
ADLX_RESULT metricsSupportRet = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
-
// Accumulate and display current metrics for each of 10 loops
-
adlx_int startMs = 0;
-
adlx_int stopMs = 0;
-
for (int it = 0; it < 10; ++it)
-
{
-
// Clear screen
-
system("cls");
-
-
IADLXGPUMetricsListPtr gpuMetricsList;
-
res = perfMonitoringServices->GetGPUMetricsHistory(oneGPU, startMs, stopMs, &gpuMetricsList);
-
-
// Display all the GPU metrics in the list
-
IADLXGPUMetricsPtr gpuMetrics;
-
for (int i = gpuMetricsList->Begin(); i != gpuMetricsList->End(); ++i)
-
{
-
res = gpuMetricsList->At(i, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(metricsSupportRet) && ADLX_SUCCEEDED(res))
-
{
-
std::cout << "The current GPU metrics: " << std::endl;
-
std::cout << std::boolalpha; // Display boolean variable as true or false
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics);
-
std::cout << std::noboolalpha;
-
}
-
std::cout << std::endl;
-
}
-
-
Sleep(1000);
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->StopPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Stop tracking performance metrics failed" << std::endl;
-
}
-
-
MainMenu();
-
}
-
-
// Display historical GPU Metrics
-
void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Clear historical data failed" << std::endl;
-
return;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->StartPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Start tracking performance metrics failed" << std::endl;
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl;
-
Sleep(10000);
-
-
// Get GPU metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter)
-
IADLXGPUMetricsListPtr gpuMetricsList;
-
res = perfMonitoringServices->GetGPUMetricsHistory(oneGPU, 10000, 0, &gpuMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU metrics support
-
IADLXGPUMetricsSupportPtr gpuMetricsSupport;
-
ADLX_RESULT res1 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport);
-
-
// Display all the GPU metrics in the list
-
IADLXGPUMetricsPtr gpuMetrics;
-
for (int i = gpuMetricsList->Begin(); i != gpuMetricsList->End(); ++i)
-
{
-
std::cout << "********** historical GPU metrics " << i + 1 << ": **********" << std::endl;
-
ADLX_RESULT res2 = gpuMetricsList->At(i, &gpuMetrics);
-
// Display timestamp and GPU metrics
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << std::boolalpha; // Display boolean variable as true or false
-
GetTimeStamp(gpuMetrics);
-
ShowGPUUsage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics);
-
ShowGPUPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVRAM(gpuMetricsSupport, gpuMetrics);
-
ShowGPUVoltage(gpuMetricsSupport, gpuMetrics);
-
ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics);
-
ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics);
-
std::cout << std::noboolalpha;
-
}
-
std::cout << std::endl;
-
}
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->StopPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Stop tracking performance metrics failed" << std::endl;
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__perf_system_metrics.html b/vendor/adlx/SDKDoc/html/cpp__perf_system_metrics.html deleted file mode 100644 index ae03ccd..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__perf_system_metrics.html +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PerfSystemMetrics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PerfSystemMetrics
-
-
-
- - - -

Demonstrates how to control system metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current system metrics.
2 Show historical system metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPerformanceMonitoring1.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Display system metrics range
-
void ShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
/*
-
* If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function.
-
* If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set.
-
*/
-
// Display current system metrics
-
void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
// Display historical system metrics
-
void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Performance Monitoring services
-
IADLXPerformanceMonitoringServicesPtr perfMonitoringServices;
-
res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(perfMonitoringServices);
-
}
-
else
-
std::cout << "\tGet performance monitoring services failed" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display the system metrics range" << std::endl;
-
std::cout << "\t->Press 2 to display the current system metrics" << std::endl;
-
std::cout << "\t->Press 3 to display the historical system metrics" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display system metrics range
-
case '1':
-
ShowSystemMetricsRange(perfMonitoringServices);
-
break;
-
-
// Display current metrics
-
case '2':
-
ShowCurrentSystemMetrics(perfMonitoringServices);
-
break;
-
-
// Display historical metrics
-
case '3':
-
ShowHistoricalSystemMetrics(perfMonitoringServices);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Display system metrics range
-
void ShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupportPtr systemMetricsSupport;
-
ADLX_RESULT res = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_int minValue = 0, maxValue = 0;
-
-
// Get CPU usage range
-
res = systemMetricsSupport->GetCPUUsageRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The CPU usage range between " << minValue << "% and " << maxValue << "%" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support CPU usage range" << std::endl;
-
-
// Get system RAM range
-
res = systemMetricsSupport->GetSystemRAMRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The system RAM range between " << minValue << "MB and " << maxValue << "MB" << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support system RAM range" << std::endl;
-
-
// Get SmartShift range
-
res = systemMetricsSupport->GetSmartShiftRange(&minValue, &maxValue);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The smart shift range between " << minValue << " and " << maxValue << std::endl;
-
else if (res == ADLX_NOT_SUPPORTED)
-
std::cout << "Don't support smart shift range" << std::endl;
-
}
-
}
-
-
// Display the system time stamp (in ms)
-
void GetTimeStamp(IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_int64 timeStamp = 0;
-
ADLX_RESULT res = systemMetrics->TimeStamp(&timeStamp);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The system time stamp is: " << timeStamp << "ms" << std::endl;
-
}
-
-
// Show CPU usage (in %)
-
void ShowCPUUsage(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display CPU usage support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedCPUUsage(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "CPU usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_double cpuUsage = 0;
-
res = systemMetrics->CPUUsage(&cpuUsage);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The CPU usage is: " << cpuUsage << "%" << std::endl;
-
}
-
}
-
}
-
-
// Display system RAM (in MB)
-
void ShowSystemRAM(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display system RAM usage support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedSystemRAM(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "System RAM usage support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int systemRAM = 0;
-
res = systemMetrics->SystemRAM(&systemRAM);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The system RAM is: " << systemRAM << "MB" << std::endl;
-
}
-
}
-
}
-
-
// Show SmartShift
-
void ShowSmartShift(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
// Display SmartShift support status
-
ADLX_RESULT res = systemMetricsSupport->IsSupportedSmartShift(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "SmartShift support status: " << supported << std::endl;
-
if (supported)
-
{
-
adlx_int smartShift;
-
res = systemMetrics->SmartShift(&smartShift);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The SmartShift is: " << smartShift << std::endl;
-
}
-
}
-
}
-
-
// Show SmartShift Max
-
void ShowSmartShiftMax(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics)
-
{
-
adlx_bool supported = false;
-
IADLXSystemMetricsSupport1Ptr sysMetricsSupport1(systemMetricsSupport);
-
IADLXSystemMetrics1Ptr sysMetrics1(systemMetrics);
-
if (!sysMetricsSupport1)
-
{
-
std::cout << "\tGet IADLXSystemMetricsSupport1Ptr failed" << std::endl;
-
return;
-
}
-
if (!sysMetrics1)
-
{
-
std::cout << "\tGet IADLXSystemMetrics1Ptr failed" << std::endl;
-
return;
-
}
-
-
// Display power distribution support status
-
ADLX_RESULT res = sysMetricsSupport1->IsSupportedPowerDistribution(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "PowerDistribution support status: " << supported << std::endl;
-
if (supported)
-
{
-
int apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit;
-
res = sysMetrics1->PowerDistribution(&apuShiftValue, &gpuShiftValue, &apuShiftLimit, &gpuShiftLimit, &totalShiftLimit);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The PowerDistribution is:\n"
-
<< " apuShiftValue: " << apuShiftValue
-
<< " ,gpuShiftValue: " << gpuShiftValue
-
<< " ,apuShiftLimit: " << apuShiftLimit
-
<< " ,gpuShiftLimit: " << gpuShiftLimit
-
<< " ,totalShiftLimit: " << totalShiftLimit << std::endl;
-
}
-
}
-
}
-
-
// Display current system metrics
-
void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
// Get system metrics support
-
IADLXSystemMetricsSupportPtr systemMetricsSupport;
-
ADLX_RESULT res1 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport);
-
-
// Accumulate and display current metrics for each of the 10 loops
-
IADLXSystemMetricsPtr systemMetrics;
-
for (int i = 0; i < 10; ++i)
-
{
-
// Clear screen
-
system("cls");
-
// Get current system metrics
-
ADLX_RESULT res2 = perfMonitoringServices->GetCurrentSystemMetrics(&systemMetrics);
-
-
// Display timestamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << "The current system metrics: " << std::endl;
-
std::cout << std::boolalpha; // Display boolean variable as true or false
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
ShowSmartShiftMax(systemMetricsSupport, systemMetrics);
-
std::cout << std::noboolalpha;
-
}
-
Sleep(1000);
-
}
-
-
MainMenu();
-
}
-
-
// Display historical system metrics
-
void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices)
-
{
-
// Clear historical performance metrics data
-
ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Clear historical data failed" << std::endl;
-
return;
-
}
-
-
// Get current max historical size (in s)
-
adlx_int maxHistorySize = 0;
-
res = perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The current max historical size is: " << maxHistorySize << "s" << std::endl;
-
// Get the configurable maximum historical size range
- -
res = perfMonitoringServices->GetMaxPerformanceMetricsHistorySizeRange(&range);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The range of max historical size is: (" << range.minValue << ", " << range.maxValue << ")s" << std::endl;
-
// Change max historical size to minimum value
-
res = perfMonitoringServices->SetMaxPerformanceMetricsHistorySize(range.minValue);
-
if (ADLX_SUCCEEDED(res))
-
{
-
perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize);
-
std::cout << "Set max historical size to minimum value successfully, the current max historical is: " << maxHistorySize << "s" << std::endl;
-
}
-
-
// Get current sampling interval (in ms)
-
adlx_int samplingInterval = 0;
-
res = perfMonitoringServices->GetSamplingInterval(&samplingInterval);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The current sampling interval is: " << samplingInterval << "ms" << std::endl;
-
// Get the sampling interval range. The sampling interval must be set within this range.
-
res = perfMonitoringServices->GetSamplingIntervalRange(&range);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The range of sampling interval is: (" << range.minValue << ", " << range.maxValue << ")ms" << std::endl;
-
// Change sampling interval to minimum value
-
res = perfMonitoringServices->SetSamplingInterval(range.minValue);
-
if (ADLX_SUCCEEDED(res))
-
{
-
perfMonitoringServices->GetSamplingInterval(&samplingInterval);
-
std::cout << "Set sampling interval to minimum value successfully, the current sampling interval is: " << samplingInterval << "ms" << std::endl;
-
}
-
-
// Start tracking performance metrics
-
res = perfMonitoringServices->StartPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Start tracking performance metrics failed" << std::endl;
-
return;
-
}
-
-
// Wait for 10 seconds to accumulate metrics
-
std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl;
-
Sleep(10000);
-
-
// Check the current performance metrics historical size (in s) upon accumulation
-
adlx_int currentHistorySize = 0;
-
res = perfMonitoringServices->GetCurrentPerformanceMetricsHistorySize(&currentHistorySize);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The current historical size is: " << currentHistorySize << "s" << std::endl;
-
-
// Get system metrics history from 10 seconds ago(10000 ms: the first parameter) to the present time(0 ms: the second parameter)
-
IADLXSystemMetricsListPtr systemMetricsList;
-
res = perfMonitoringServices->GetSystemMetricsHistory(10000, 0, &systemMetricsList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the system metrics support
-
IADLXSystemMetricsSupportPtr systemMetricsSupport;
-
ADLX_RESULT res1 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport);
-
-
// Display all the system metrics in the list
-
IADLXSystemMetricsPtr systemMetrics;
-
for (int i = systemMetricsList->Begin(); i != systemMetricsList->End(); ++i)
-
{
-
std::cout << "********** historical system metrics " << i + 1 << ": **********" << std::endl;
-
ADLX_RESULT res2 = systemMetricsList->At(i, &systemMetrics);
-
// Display first system metrics time stamp, CPU usage, system RAM, and SmartShift
-
if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2))
-
{
-
std::cout << std::boolalpha; // Display boolean variable as true or false
-
GetTimeStamp(systemMetrics);
-
ShowCPUUsage(systemMetricsSupport, systemMetrics);
-
ShowSystemRAM(systemMetricsSupport, systemMetrics);
-
ShowSmartShift(systemMetricsSupport, systemMetrics);
-
ShowSmartShiftMax(systemMetricsSupport, systemMetrics);
-
std::cout << std::noboolalpha;
-
}
-
std::cout << std::endl;
-
}
-
}
-
-
// Stop tracking performance metrics
-
res = perfMonitoringServices->StopPerformanceMetricsTracking();
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "Stop tracking performance metrics failed" << std::endl;
-
return;
-
}
-
}
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__r_s_r.html b/vendor/adlx/SDKDoc/html/cpp__r_s_r.html deleted file mode 100644 index 7869ce8..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__r_s_r.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: RSR - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
RSR
-
-
-
- - - -

Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Super Resolution support
2 Get current Radeon Super Resolution state and additional information
3 Enable and configure sharpness
4 Disable Radeon Super Resolution
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/RSR

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display Radeon Super Resolution support
-
void ShowRadeonSuperResolutionSupport(const IADLX3DRadeonSuperResolutionPtr& rsr);
-
-
// Display current Radeon Super Resolution state
-
void GetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr);
-
-
// Set Radeon Super Resolution state
-
void SetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DRadeonSuperResolutionPtr& rsr);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get RadeonSuperResolution interface
-
IADLX3DRadeonSuperResolutionPtr rsr;
-
res = d3dSettingSrv->GetRadeonSuperResolution(&rsr);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(rsr);
-
}
-
else
-
{
-
std::cout << "Get RadeonSuperResolution res: " << res << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowRadeonSuperResolutionSupport(const IADLX3DRadeonSuperResolutionPtr& rsr)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = rsr->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void GetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = rsr->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsEnabled: " << enabled << std::endl;
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange;
-
res = rsr->GetSharpness(&sharpness);
-
if (ADLX_SUCCEEDED (res))
-
std::cout << "\tCurrent sharpness:" << sharpness << std::endl;
-
res = rsr->GetSharpnessRange(&sharpnessRange);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tSharpness limit [ " << sharpnessRange.minValue << " ," << sharpnessRange.maxValue << " ], step: " << sharpnessRange.step << std::endl;
-
}
-
-
void SetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr, int index)
-
{
-
ADLX_RESULT res = rsr->SetEnabled(index == 0);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
-
if (index == 0 && ADLX_SUCCEEDED(res))
-
{
-
adlx_int sharpness;
-
ADLX_IntRange sharpnessRange;
-
ADLX_RESULT res1 = rsr->GetSharpness(&sharpness);
-
ADLX_RESULT res2 = rsr->GetSharpnessRange(&sharpnessRange);
-
if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2))
-
{
-
if (sharpness != sharpnessRange.minValue)
-
{
-
res = rsr->SetSharpness(sharpnessRange.minValue);
-
std::cout << "\tSet minimum sharpness limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
else
-
{
-
res = rsr->SetSharpness(sharpnessRange.maxValue);
-
std::cout << "\tSet maximum sharpness limit: return code is: " << res << "(0 means success)" << std::endl;
-
}
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Radeon Super Resolution support" << std::endl;
-
std::cout << "\t->Press 2 to display current Radeon Super Resolution state" << std::endl;
-
std::cout << "\t->Press 3 to enable Radeon Super Resolution" << std::endl;
-
std::cout << "\t->Press 4 to disable Radeon Super Resolution" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DRadeonSuperResolutionPtr& d3dRadeonSuperResolution)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Radeon Super Resolution support
-
case '1':
-
ShowRadeonSuperResolutionSupport(d3dRadeonSuperResolution);
-
break;
-
-
// Display current Radeon Super Resolution state
-
case '2':
-
GetRadeonSuperResolutionState(d3dRadeonSuperResolution);
-
break;
-
-
// Set Radeon Super Resolution
-
case '3':
-
case '4':
-
SetRadeonSuperResolutionState(d3dRadeonSuperResolution, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__reset_shader_cache.html b/vendor/adlx/SDKDoc/html/cpp__reset_shader_cache.html deleted file mode 100644 index 2be798d..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__reset_shader_cache.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ResetShaderCache - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ResetShaderCache
-
-
-
- - - -

Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Display reset shader cache support
2 Reset GPU shader cache
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/ResetShaderCache

- -

Code

-
C++
-
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display reset shader cache support
-
void ShowSupport(const IADLX3DResetShaderCachePtr& resetShaderCache);
-
-
// Reset GPU shader cache
-
void ResetShaderCache(const IADLX3DResetShaderCachePtr& resetShaderCache);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DResetShaderCachePtr& resetShaderCache);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get ResetShaderCache interface
-
IADLX3DResetShaderCachePtr resetShaderCache;
-
res = d3dSettingSrv->GetResetShaderCache(gpuInfo, &resetShaderCache);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(resetShaderCache);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSupport(const IADLX3DResetShaderCachePtr& resetShaderCache)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = resetShaderCache->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void ResetShaderCache(const IADLX3DResetShaderCachePtr& resetShaderCache)
-
{
-
ADLX_RESULT res = resetShaderCache->ResetShaderCache();
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
std::cout << "\t->Press 1 to display reset shader cache support" << std::endl;
-
std::cout << "\t->Press 2 to reset GPU shader cache" << std::endl;
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DResetShaderCachePtr& resetShaderCache)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display reset shader cache support
-
case '1':
-
ShowSupport(resetShaderCache);
-
break;
-
-
// Reset GPU shader cache
-
case '2':
-
ResetShaderCache(resetShaderCache);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__sync3_d_receive.html b/vendor/adlx/SDKDoc/html/cpp__sync3_d_receive.html deleted file mode 100644 index c41b909..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__sync3_d_receive.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Sync3DReceive - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Sync3DReceive
-
-
-
- - - -

Demonstrates how to receive notifications of changes in 3D settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the AntiLag. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include "conio.h"
-
#include <iostream>
-
#include <string>
-
#include <map>
-
#include <thread>
-
-
// Use ADLX namespace.
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Block event to verify call back.
-
HANDLE blockEvent = nullptr;
-
HANDLE quitEvent = nullptr;
-
-
// AnisotropicFiltering level map
-
static const std::map<ADLX_ANISOTROPIC_FILTERING_LEVEL, const char*> levelMap =
-
{
-
{AF_LEVEL_INVALID, "Invalid"},
-
{AF_LEVEL_X2, "2X"},
-
{AF_LEVEL_X4, "4X"},
-
{AF_LEVEL_X8, "8X"},
-
{AF_LEVEL_X16, "16X"} };
-
-
// WaitForVerticalRefresh mode
-
static const std::map<ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE, const char*> vsyncMode =
-
{
-
{WFVR_ALWAYS_OFF, "Always off"},
-
{WFVR_OFF_UNLESS_APP_SPECIFIES, "Off, unless application specifies"},
-
{WFVR_ON_UNLESS_APP_SPECIFIES, "On, unless application specifies"},
-
{WFVR_ALWAYS_ON, "Always on"} };
-
-
// antiAliasing mode
-
static const std::map<ADLX_ANTI_ALIASING_MODE, const char*> antiAliasingMode =
-
{
-
{AA_MODE_USE_APP_SETTINGS, "Use application settings"},
-
{AA_MODE_ENHANCE_APP_SETTINGS, "Enhance application settings"},
-
{AA_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"} };
-
-
// antiAliasing method
-
static const std::map<ADLX_ANTI_ALIASING_METHOD, const char*> antiAliasingMethod =
-
{
-
{AA_METHOD_MULTISAMPLING, "Muti-Sampling"},
-
{AA_METHOD_ADAPTIVE_MULTISAMPLING, "Adaptive Muti-Sampling"},
-
{AA_METHOD_SUPERSAMPLING, "Super Sampling"} };
-
-
// antiAliasing level
-
static const std::map<ADLX_ANTI_ALIASING_LEVEL, const char*> antiAliasingLevel =
-
{
-
{AA_LEVEL_INVALID, "Level Invalid"},
-
{AA_LEVEL_2X, "2X"},
-
{AA_LEVEL_2XEQ, "2XEQ"},
-
{AA_LEVEL_4X, "4X"},
-
{AA_LEVEL_4XEQ, "4XEQ"},
-
{AA_LEVEL_8X, "8X"},
-
{AA_LEVEL_8XEQ, "8XEQ"} };
-
-
// TessellationMode mode
-
static const std::map<ADLX_TESSELLATION_MODE, const char*> Modes =
-
{
-
{T_MODE_AMD_OPTIMIZED, "AMD optimized"},
-
{T_MODE_USE_APP_SETTINGS, "Use application settings"},
-
{T_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"} };
-
-
// TessellationMode level
-
static const std::map<ADLX_TESSELLATION_LEVEL, const char*> Levels =
-
{
-
{T_LEVEL_OFF, "Off"},
-
{T_LEVEL_2X, "2X"},
-
{T_LEVEL_4X, "4X"},
-
{T_LEVEL_6X, "6X"},
-
{T_LEVEL_8X, "8X"},
-
{T_LEVEL_16X, "16X"},
-
{T_LEVEL_32X, "32X"},
-
{T_LEVEL_64X, "64X"} };
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName);
-
-
// Call back to handl changed events
-
class CallBack3DSettingsChanged : public IADLX3DSettingsChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) override
-
{
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
// Get the GPU interface
-
IADLXGPUPtr gpu;
-
p3DSettingsChangedEvent->GetGPU(&gpu);
-
//RadeonSuperResolution is a global feature (the GPU interface is nullptr); skip printing its name
-
if (!p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged())
-
{
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
std::cout << "GPU: " << uniqueName << ", Get sync event, 3D settings changed event was fired" << std::endl;
-
}
-
ADLX_SYNC_ORIGIN origin = p3DSettingsChangedEvent->GetOrigin();
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
if (p3DSettingsChangedEvent->IsAntiLagChanged())
-
{
-
// Get AntiLag interface
-
IADLX3DAntiLagPtr d3dAntiLag;
-
d3dSettingSrv->GetAntiLag(gpu, &d3dAntiLag);
-
adlx_bool enabled;
-
d3dAntiLag->IsEnabled(&enabled);
-
std::cout <<"\tAntiLag changed\n\tIsEnabled: " << enabled << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsChillChanged())
-
{
-
// Get Chill interface
-
IADLX3DChillPtr d3dChill;
-
d3dSettingSrv->GetChill(gpu, &d3dChill);
-
adlx_bool enabled;
-
d3dChill->IsEnabled(&enabled);
-
adlx_int minFPS, maxFPS;
-
d3dChill->GetMinFPS(&minFPS);
-
d3dChill->GetMaxFPS(&maxFPS);
-
std::cout << "\tChill changed\n\tIsEnabled: " << enabled << " , FPS: [ " << minFPS << " , " << maxFPS << " ]" << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsBoostChanged())
-
{
-
// Get Boost interface
-
IADLX3DBoostPtr d3dBoost;
-
d3dSettingSrv->GetBoost(gpu, &d3dBoost);
-
adlx_bool enabled;
-
d3dBoost->IsEnabled(&enabled);
-
adlx_int minRes;
-
d3dBoost->GetResolution(&minRes);
-
std::cout << "\tBoost changed\n\tIsEnabled: " << enabled << " , minResolution: " << minRes << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsImageSharpeningChanged())
-
{
-
// Get ImageSharpen interface
-
IADLX3DImageSharpeningPtr d3dImageSharpen;
-
d3dSettingSrv->GetImageSharpening(gpu, &d3dImageSharpen);
-
adlx_bool enabled;
-
d3dImageSharpen->IsEnabled(&enabled);
-
adlx_int min;
-
d3dImageSharpen->GetSharpness(&min);
-
std::cout << "\tImageSharpening changed\n\tIsEnabled: " << enabled << " , Sharpness: " << min << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsEnhancedSyncChanged())
-
{
-
// Get EnhancedSync interface
-
IADLX3DEnhancedSyncPtr d3dEnhancedSync;
-
d3dSettingSrv->GetEnhancedSync(gpu, &d3dEnhancedSync);
-
adlx_bool enabled;
-
d3dEnhancedSync->IsEnabled(&enabled);
-
std::cout << "\tEnhancedSync changed\n\tIsEnabled: " << enabled << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsWaitForVerticalRefreshChanged())
-
{
-
// Get Vsync interface
-
IADLX3DWaitForVerticalRefreshPtr vsync;
-
d3dSettingSrv->GetWaitForVerticalRefresh(gpu, &vsync);
-
adlx_bool enabled;
-
vsync->IsEnabled(&enabled);
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF;
-
vsync->GetMode(&mode);
-
std::cout << "\tWaitForVerticalRefresh changed\n\tIsEnabled: " << enabled << " , Mode: " << vsyncMode.find(mode)->second << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsFrameRateTargetControlChanged())
-
{
-
// Get FRTC interface
-
IADLX3DFrameRateTargetControlPtr frtc;
-
d3dSettingSrv->GetFrameRateTargetControl(gpu, &frtc);
-
adlx_bool enabled;
-
frtc->IsEnabled(&enabled);
-
adlx_int fps;
-
frtc->GetFPS(&fps);
-
std::cout << "\tFRTC changed\n\tIsEnabled: " << enabled << " , fps: " << fps << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsAntiAliasingChanged())
-
{
-
// Get AntiAliasing interface
-
IADLX3DAntiAliasingPtr antiAliasing;
-
d3dSettingSrv->GetAntiAliasing(gpu, &antiAliasing);
- -
antiAliasing->GetMode(&mode);
- -
antiAliasing->GetMethod(&method);
- -
antiAliasing->GetLevel(&level);
-
std::cout << "\tAntiAliasing changed\n" << std::endl
-
<< "\tMode: " << antiAliasingMode.find(mode)->second << std::endl
-
<< "\tMethod: " << antiAliasingMethod.find(method)->second << std::endl
-
<< "\tLevel: " << antiAliasingLevel.find(level)->second << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsMorphologicalAntiAliasingChanged())
-
{
-
// Get MorphologicAntiAliasing interface
-
IADLX3DMorphologicalAntiAliasingPtr mAntiAliasing;
-
d3dSettingSrv->GetMorphologicalAntiAliasing(gpu, &mAntiAliasing);
-
adlx_bool enabled;
-
mAntiAliasing->IsEnabled(&enabled);
-
std::cout << "\tMorphologicalAntiAliasing changed\n\tIsEnabled: " << enabled << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsAnisotropicFilteringChanged())
-
{
-
// Get AnisotropicFilteringPtr interface
-
IADLX3DAnisotropicFilteringPtr anisotropicFiltering;
-
d3dSettingSrv->GetAnisotropicFiltering(gpu, &anisotropicFiltering);
-
adlx_bool enabled;
-
anisotropicFiltering->IsEnabled(&enabled);
- -
anisotropicFiltering->GetLevel(&level);
-
std::cout << "\tAnisotropicFiltering changed\n\tIsEnabled: " << enabled << std::endl
-
<< "\tLevel: " << levelMap.find(level)->second << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsTessellationModeChanged())
-
{
-
// Get IADLX3DTessellation interface
-
IADLX3DTessellationPtr tessellation;
-
d3dSettingSrv->GetTessellation(gpu, &tessellation);
- -
tessellation->GetMode(&mode);
- -
tessellation->GetLevel(&level);
-
std::cout << "\tTessellationMode changed\n" << std::endl
-
<< "\tMode: " << Modes.find(mode)->second << std::endl
-
<< "\tLevel: " << Levels.find(level)->second << std::endl;
-
}
-
else if (p3DSettingsChangedEvent->IsResetShaderCache())
-
{
-
std::cout << "\tResetShaderCache" << std::endl;
-
}
-
}
-
-
if (origin == SYNC_ORIGIN_UNKNOWN)
-
{
-
if (p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged())
-
{
-
// Get IADLX3DRadeonSuperResolution interface
-
IADLX3DRadeonSuperResolutionPtr rsr;
-
d3dSettingSrv->GetRadeonSuperResolution(&rsr);
-
adlx_bool enabled = false;
-
rsr->IsEnabled(&enabled);
-
adlx_int sharpness;
-
rsr->GetSharpness(&sharpness);
-
std::cout << "\tRSR changed\n\tIsEnabled: " << enabled << " , Sharpness: " << sharpness << std::endl;
-
}
-
}
-
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
};
-
-
// Wait for quit signal
-
void QuitWait(adlx_bool* loopFlag)
-
{
-
while (true)
-
{
-
// Non-blocking checking if the I/O cache has characters
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(quitEvent);
-
break;
-
}
-
}
-
Sleep(100);
-
}
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create quit event
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create event array
-
HANDLE eventArray[] = { blockEvent, quitEvent };
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Change handle
-
IADLX3DSettingsChangedHandlingPtr changeHandle;
-
res = d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
IADLX3DSettingsChangedListener* call = new CallBack3DSettingsChanged;
-
-
// Add call back
-
changeHandle->Add3DSettingsEventListener(call);
-
-
// Create a thread to check quit event
-
bool loopFlag = true;
-
std::thread t{ QuitWait, &loopFlag};
-
-
std::cout << "\nWaiting for 3DSetting change event... Press Q/q to quit" << std::endl;
-
while (true)
-
{
-
// Wait for change event or request to quit
-
DWORD waitRet = WaitForMultipleObjects(2, eventArray, FALSE, INFINITE);
-
if (!loopFlag)
-
{
-
if (t.joinable())
-
{
-
t.join();
-
}
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->Remove3DSettingsEventListener(call);
-
-
// Delete call back
-
delete call;
-
call = nullptr;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the 3DSettings Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "ADLX initialization failed" << std::endl;
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
if (quitEvent)
-
CloseHandle(quitEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName)
-
{
-
if (nullptr != gpu && nullptr != uniqueName)
-
{
-
const char* gpuName = nullptr;
-
gpu->Name(&gpuName);
-
adlx_int id;
-
gpu->UniqueId(&id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ WFVR_ALWAYS_ON
Definition: ADLXDefines.h:744
-
@ WFVR_ALWAYS_OFF
Definition: ADLXDefines.h:741
-
@ WFVR_OFF_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:742
-
@ WFVR_ON_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:743
-
@ AA_MODE_ENHANCE_APP_SETTINGS
Definition: ADLXDefines.h:758
-
@ AA_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:759
-
@ AA_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:757
-
@ T_LEVEL_OFF
Definition: ADLXDefines.h:838
-
@ T_LEVEL_2X
Definition: ADLXDefines.h:839
-
@ T_LEVEL_4X
Definition: ADLXDefines.h:840
-
@ T_LEVEL_32X
Definition: ADLXDefines.h:844
-
@ T_LEVEL_6X
Definition: ADLXDefines.h:841
-
@ T_LEVEL_16X
Definition: ADLXDefines.h:843
-
@ T_LEVEL_8X
Definition: ADLXDefines.h:842
-
@ T_LEVEL_64X
Definition: ADLXDefines.h:845
-
@ T_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:825
-
@ T_MODE_AMD_OPTIMIZED
Definition: ADLXDefines.h:823
-
@ T_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:824
-
@ SYNC_ORIGIN_UNKNOWN
Definition: ADLXDefines.h:897
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ AA_LEVEL_4XEQ
Definition: ADLXDefines.h:776
-
@ AA_LEVEL_8XEQ
Definition: ADLXDefines.h:778
-
@ AA_LEVEL_4X
Definition: ADLXDefines.h:775
-
@ AA_LEVEL_2XEQ
Definition: ADLXDefines.h:774
-
@ AA_LEVEL_INVALID
Definition: ADLXDefines.h:772
-
@ AA_LEVEL_8X
Definition: ADLXDefines.h:777
-
@ AA_LEVEL_2X
Definition: ADLXDefines.h:773
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ AF_LEVEL_X16
Definition: ADLXDefines.h:810
-
@ AF_LEVEL_X4
Definition: ADLXDefines.h:808
-
@ AF_LEVEL_X2
Definition: ADLXDefines.h:807
-
@ AF_LEVEL_INVALID
Definition: ADLXDefines.h:806
-
@ AF_LEVEL_X8
Definition: ADLXDefines.h:809
-
@ AA_METHOD_SUPERSAMPLING
Definition: ADLXDefines.h:793
-
@ AA_METHOD_MULTISAMPLING
Definition: ADLXDefines.h:791
-
@ AA_METHOD_ADAPTIVE_MULTISAMPLING
Definition: ADLXDefines.h:792
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE
Indicates the modes of VSync settings.
Definition: ADLXDefines.h:740
-
ADLX_ANTI_ALIASING_MODE
Indicates the anti-aliasing mode.
Definition: ADLXDefines.h:756
-
ADLX_TESSELLATION_LEVEL
Indicates the tessellation level on a GPU.
Definition: ADLXDefines.h:837
-
ADLX_TESSELLATION_MODE
Indicates the tessellation setting on a GPU.
Definition: ADLXDefines.h:822
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_ANTI_ALIASING_LEVEL
Indicates the anti-aliasing level.
Definition: ADLXDefines.h:771
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_ANISOTROPIC_FILTERING_LEVEL
Indicates the Anisotropic Filtering level.
Definition: ADLXDefines.h:805
-
ADLX_ANTI_ALIASING_METHOD
Indicates the anti-aliasing method.
Definition: ADLXDefines.h:790
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__sync_display_receive.html b/vendor/adlx/SDKDoc/html/cpp__sync_display_receive.html deleted file mode 100644 index bc9f0b7..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__sync_display_receive.html +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncDisplayReceive - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncDisplayReceive
-
-
-
- - - -

Demonstrates how to receive notifications of changes in display settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the DisplayFreeSync. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "SDK/Include/IDisplays1.h"
-
#include "SDK/Include/IDisplays2.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "conio.h"
-
#include <iostream>
-
#include <string>
-
#include <map>
-
#include <thread>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Block event to verify call back
-
HANDLE displaySettingsEvent = nullptr;
-
HANDLE display3DLUTEvent = nullptr;
-
// Quit event to exit
-
HANDLE quitEvent = nullptr;
-
-
// Get the display unique name
-
void DisplayUniqueName(IADLXDisplayPtr display, char* uniqueName);
-
-
// Call back to handle changed events
-
class CallBackDisplaySettingsChanged : public IADLXDisplaySettingsChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplaySettingsChanged(IADLXDisplaySettingsChangedEvent* pDisplaySettingsChangedEvent) override
-
{
-
ADLX_SYNC_ORIGIN origin = pDisplaySettingsChangedEvent->GetOrigin();
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
IADLXDisplayServicesPtr displayServices;
-
g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices);
-
IADLXDisplayPtr display;
-
pDisplaySettingsChangedEvent->GetDisplay(&display);
-
char displayName[128] = "Unknown";
-
DisplayUniqueName(display, displayName);
-
if (pDisplaySettingsChangedEvent->IsColorDepthChanged())
-
{
-
std::cout << "Display " << displayName << " Get sync event, color depth is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomColorBrightnessChanged())
-
{
-
std::cout << "Display " << displayName << " Get sync event, custom color brightness is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomColorContrastChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, custom color contrast is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomColorHueChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, custom color hue is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomColorSaturationChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, custom color saturation is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomColorTemperatureChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, custom color temperature is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsCustomResolutionChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, custom resolution is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsFreeSyncChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, free sync is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsGPUScalingChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, GPU scaling is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsHDCPChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, HDCP is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsIntegerScalingChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, integer scaling is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsPixelFormatChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, pixel is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsScalingModeChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, scaling mode is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsVariBrightChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, vari bright is changed" << std::endl;
-
}
-
else if (pDisplaySettingsChangedEvent->IsVSRChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, VSR is changed" << std::endl;
-
}
-
-
// Get IADLXDisplaySettingsChangedEvent1 interface
-
IADLXDisplaySettingsChangedEvent1Ptr pDisplaySettingChangedEvent1(pDisplaySettingsChangedEvent);
-
if (nullptr == pDisplaySettingChangedEvent1)
-
{
-
std::cout << "IADLXDisplaySettingsChangedEvent1 not supported" << std::endl;
-
}
-
else
-
{
-
if (pDisplaySettingChangedEvent1->IsDisplayBlankingChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, Display blanking is changed" << std::endl;
-
}
-
}
-
-
// Get IADLXDisplaySettingsChangedEvent2 interface
-
IADLXDisplaySettingsChangedEvent2Ptr pDisplaySettingChangedEvent2(pDisplaySettingsChangedEvent);
-
if (nullptr == pDisplaySettingChangedEvent2)
-
{
-
std::cout << "IADLXDisplaySettingsChangedEvent2 not supported" << std::endl;
-
}
-
else
-
{
-
if (pDisplaySettingChangedEvent2->IsDisplayConnectivityExperienceChanged())
-
{
-
std::cout << "Display " << displayName << "Get sync event, Display connectivity experience is changed" << std::endl;
-
}
-
}
-
}
-
SetEvent(displaySettingsEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification.
-
return true;
-
}
-
};
-
-
class CallBackDisplay3DLUTChanged : public IADLXDisplay3DLUTChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) override
-
{
-
ADLX_SYNC_ORIGIN origin = pDisplay3DLUTChangedEvent->GetOrigin();
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
IADLXDisplayPtr display;
-
pDisplay3DLUTChangedEvent->GetDisplay(&display);
-
char displayName[128] = "Unknown";
-
DisplayUniqueName(display, displayName);
-
if (pDisplay3DLUTChangedEvent->IsSCEChanged())
-
{
-
std::cout << "Display " << displayName << " Get sync event, SCE is changed" << std::endl;
-
}
-
else if (pDisplay3DLUTChangedEvent->IsCustom3DLUTChanged())
-
{
-
std::cout << "Display " << displayName << " Get sync event, custom 3D LUT is changed" << std::endl;
-
}
-
}
-
SetEvent(display3DLUTEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification
-
return true;
-
}
-
};
-
-
// Wait for exit with error message
-
void QuitWait(adlx_bool* loopFlag)
-
{
-
while (true)
-
{
-
// Non-blocking checking if the I/O cache has characters
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(quitEvent);
-
break;
-
}
-
}
-
Sleep(100);
-
}
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
displaySettingsEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
display3DLUTEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
// Create quit event
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
// Create event array
-
HANDLE eventArray[] = { displaySettingsEvent, display3DLUTEvent, quitEvent };
-
-
// Get display service
-
IADLXDisplayServicesPtr displayServices;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Change handle
-
IADLXDisplayChangedHandlingPtr changeHandle;
-
res = displayServices->GetDisplayChangedHandling(&changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
IADLXDisplaySettingsChangedListener *displaySettingsChangedCallBack = new CallBackDisplaySettingsChanged;
-
IADLXDisplay3DLUTChangedListener* display3DLUTChangedCallBack = new CallBackDisplay3DLUTChanged;
-
-
// Add call back
-
changeHandle->AddDisplaySettingsEventListener(displaySettingsChangedCallBack);
-
changeHandle->AddDisplay3DLUTEventListener(display3DLUTChangedCallBack);
-
-
// Create a thread to check quit event
-
bool loopFlag = true;
-
std::thread t{ QuitWait, &loopFlag};
-
-
std::cout << "\nWaiting for display change event... Press Q/q to quit\n" << std::endl;
-
while (true)
-
{
-
// Wait for change event or request to quit
-
DWORD waitRet = WaitForMultipleObjects(3, eventArray, FALSE, INFINITE);
-
if (!loopFlag)
-
{
-
if (t.joinable())
-
{
-
t.join();
-
}
-
break;
-
}
-
}
-
-
// Remove call back
-
changeHandle->RemoveDisplaySettingsEventListener(displaySettingsChangedCallBack);
-
changeHandle->RemoveDisplay3DLUTEventListener(display3DLUTChangedCallBack);
-
-
// Delete call back
-
delete displaySettingsChangedCallBack;
-
delete display3DLUTChangedCallBack;
-
displaySettingsChangedCallBack = nullptr;
-
display3DLUTChangedCallBack = nullptr;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the Display Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "ADLX initialization failed" << std::endl;
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (displaySettingsEvent)
-
CloseHandle(displaySettingsEvent);
-
if (display3DLUTEvent)
-
CloseHandle(display3DLUTEvent);
-
if (quitEvent)
-
CloseHandle(quitEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void DisplayUniqueName(IADLXDisplayPtr display, char* uniqueName)
-
{
-
if (nullptr != display && nullptr != uniqueName)
-
{
-
const char* gpuName = nullptr;
-
display->Name(&gpuName);
-
adlx_size id;
-
display->UniqueId(&id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%zu", gpuName, id);
-
}
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__sync_g_p_u_tuning.html b/vendor/adlx/SDKDoc/html/cpp__sync_g_p_u_tuning.html deleted file mode 100644 index 7f9045c..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__sync_g_p_u_tuning.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncGPUTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncGPUTuning
-
-
-
- - - -

Demonstrates how to receive notifications of changes in GPU tuning using ADLX.
- To receive the event, another application must be used to change these settings, such as the GPUAutoTuning. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IGPUTuning1.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Block event to verify call back
-
HANDLE blockEvent = nullptr;
-
-
// Get the GPU unique name
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName);
-
-
// Call back to handle changed events
-
class CallBackGPUTuningChanged : public IADLXGPUTuningChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) override
-
{
-
IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = nullptr;
-
pGPUTuningChangedEvent->QueryInterface(L"IADLXGPUTuningChangedEvent1", reinterpret_cast<void**>(&pGPUTuningChangedEvent1));
-
ADLX_SYNC_ORIGIN origin = pGPUTuningChangedEvent->GetOrigin();
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
// Get GPU
-
IADLXGPUPtr gpu;
-
pGPUTuningChangedEvent->GetGPU(&gpu);
-
char uniqueName[128] = "Unknown";
-
GPUUniqueName(gpu, uniqueName);
-
std::cout << "GPU: " << uniqueName << "Get sync event, update required" << std::endl;
-
-
if (pGPUTuningChangedEvent->IsAutomaticTuningChanged())
-
{
-
std::cout << "\tAutomaticTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent->IsPresetTuningChanged())
-
{
-
std::cout << "\tPresetTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent->IsManualGPUCLKTuningChanged())
-
{
-
std::cout << "\tManualGPUCLKTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent->IsManualVRAMTuningChanged())
-
{
-
std::cout << "\tManualVRAMTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent->IsManualFanTuningChanged())
-
{
-
std::cout << "\tManualFanTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent->IsManualPowerTuningChanged())
-
{
-
std::cout << "\tManualPowerTuningChanged" << std::endl;
-
}
-
else if (pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged())
-
{
-
std::cout << "\tSmartAccessMemoryChanged" << std::endl;
-
}
-
}
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification.
-
return true;
-
}
-
};
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get GPUTuning service
-
IADLXGPUTuningServicesPtr gpuTuningSrv;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningSrv);
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Change handle
-
IADLXGPUTuningChangedHandlingPtr changeHandle;
-
res = gpuTuningSrv->GetGPUTuningChangedHandling(&changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
IADLXGPUTuningChangedListener* call = new CallBackGPUTuningChanged;
-
-
// Add call back
-
changeHandle->AddGPUTuningEventListener(call);
-
-
// Waits for GPUTuning sync with a timeout of 60s
-
while (true)
-
{
-
std::cout << "\nWaiting for GPUTuning change event (60s)...\n";
-
DWORD waitRet = WaitForSingleObject(blockEvent, 60000);
-
if (waitRet == WAIT_TIMEOUT)
-
{
-
std::cout << "=== Wait timeout(60s), ready to quit ===\n";
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->RemoveGPUTuningEventListener(call);
-
-
// Delete call back
-
delete call;
-
call = nullptr;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get GPUTuning Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to init ADLX" << std::endl;
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName)
-
{
-
if (nullptr != gpu && nullptr != uniqueName)
-
{
-
const char* gpuName = nullptr;
-
gpu->Name(&gpuName);
-
adlx_int id;
-
gpu->UniqueId(&id);
-
sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id);
-
}
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__sync_power_tuning.html b/vendor/adlx/SDKDoc/html/cpp__sync_power_tuning.html deleted file mode 100644 index 58fe618..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__sync_power_tuning.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SyncPowerTuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SyncPowerTuning
-
-
-
- - - -

Demonstrates how to receive notifications of changes in power tuning using ADLX.
- To receive the event, another application must be used to change these settings, such as the SmartShiftMax. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPowerTuning.h"
-
#include "SDK/Include/ISystem1.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Block event to verify call back
-
HANDLE blockEvent = nullptr;
-
-
// Call back to handle changed events
-
class CallBackPowerTuningChanged : public IADLXPowerTuningChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnPowerTuningChanged(IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent)
-
{
-
ADLX_SYNC_ORIGIN origin = pPowerTuningChangedEvent->GetOrigin();
-
if (origin == SYNC_ORIGIN_EXTERNAL)
-
{
-
if (pPowerTuningChangedEvent->IsSmartShiftMaxChanged())
-
{
-
std::cout << "\tSmartShiftMaxChanged" << std::endl;
-
}
-
}
-
SetEvent(blockEvent);
-
-
// Return true for ADLX to continue notifying the next listener, or false to stop notification.
-
return true;
-
}
-
};
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create block event
-
blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get IADLXSystem1 interface via IADLXSystem::QueryInterface
-
IADLXSystem1Ptr system1;
-
res = g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(), reinterpret_cast<void**>(&system1));
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get power tuning service
-
IADLXPowerTuningServicesPtr powerTuningService;
-
res = system1->GetPowerTuningServices(&powerTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get Change handle
-
IADLXPowerTuningChangedHandlingPtr changeHandle;
-
res = powerTuningService->GetPowerTuningChangedHandling(&changeHandle);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create call back
-
IADLXPowerTuningChangedListener* call = new CallBackPowerTuningChanged;
-
-
// Add call back
-
changeHandle->AddPowerTuningEventListener(call);
-
-
// Waits for power tuning sync with a timeout of 60s
-
while (true)
-
{
-
std::cout << "\nWaiting for power tuning change event (60s)...\n";
-
DWORD waitRet = WaitForSingleObject(blockEvent, 60000);
-
if (waitRet == WAIT_TIMEOUT)
-
{
-
std::cout << "=== Wait timeout(60s), ready to quit ===\n";
-
break;
-
}
-
ResetEvent(blockEvent);
-
}
-
-
// Remove call back
-
changeHandle->RemovePowerTuningEventListener(call);
-
-
// Delete call back
-
delete call;
-
call = nullptr;
-
}
-
else
-
std::cout << "Failed to get power tuning changed handling interface" << std::endl;
-
}
-
else
-
std::cout << "Failed to get power tuning service" << std::endl;
-
}
-
else
-
std::cout << "Failed to get IADLXSystem1" << std::endl;
-
}
-
else
-
{
-
std::cout << "Failed to init ADLX" << std::endl;
-
return 0;
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (blockEvent)
-
CloseHandle(blockEvent);
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
@ SYNC_ORIGIN_EXTERNAL
Definition: ADLXDefines.h:899
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SYNC_ORIGIN
Indicates the origin of an event.
Definition: ADLXDefines.h:896
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__tessellation.html b/vendor/adlx/SDKDoc/html/cpp__tessellation.html deleted file mode 100644 index 46a43ed..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__tessellation.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Tessellation - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Tessellation
-
-
-
- - - -

Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display tessellation support
2 Get GPU tessellation state, mode, and level
3 Set tesellation mode: AMD optimized
4 Set tesellation mode: Use application settings
5 Set tesellation mode: Override application settings
6 Set tesellation level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Tessellation

- - -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <map>
-
#include <string>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// so we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display tessellation support
-
void ShowSupport(const IADLX3DTessellationPtr& tessellation);
-
-
// Get current tessellation state
-
void GetState(const IADLX3DTessellationPtr& tessellation);
-
-
// Set tessellation mode
-
void SetMode(const IADLX3DTessellationPtr& tessellation, int index);
-
-
// Set tessellation level
-
void SetLevel(const IADLX3DTessellationPtr& tessellation);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DTessellationPtr& tessellation);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get IADLX3DTessellation interface
-
IADLX3DTessellationPtr tessellation;
-
res = d3dSettingSrv->GetTessellation(gpuInfo, &tessellation);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(tessellation);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the 3DSettings Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static const std::map<ADLX_TESSELLATION_MODE, const char*> Modes =
-
{
-
{T_MODE_AMD_OPTIMIZED, "AMD optimized"},
-
{T_MODE_USE_APP_SETTINGS, "Use application settings"},
-
{T_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"}};
-
-
static const std::map<ADLX_TESSELLATION_LEVEL, const char*> Levels =
-
{
-
{T_LEVEL_OFF, "Off"},
-
{T_LEVEL_2X, "2X"},
-
{T_LEVEL_4X, "4X"},
-
{T_LEVEL_6X, "6X"},
-
{T_LEVEL_8X, "8X"},
-
{T_LEVEL_16X, "16X"},
-
{T_LEVEL_32X, "32X"},
-
{T_LEVEL_64X, "64X"}};
-
-
void ShowSupport(const IADLX3DTessellationPtr& tessellation)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = tessellation->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetState(const IADLX3DTessellationPtr& tessellation)
-
{
- -
ADLX_RESULT res = tessellation->GetMode(&mode);
-
std::cout << "\tMode: " << Modes.find(mode)->second << ", return code is: " << res << "(0 means success)" << std::endl;
-
- -
res = tessellation->GetLevel(&level);
-
std::cout << "\tLevel: " << Levels.find(level)->second << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetMode(const IADLX3DTessellationPtr& tessellation, int index)
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_TESSELLATION_MODE mode = T_MODE_AMD_OPTIMIZED;
-
mode = (ADLX_TESSELLATION_MODE)(mode + index);
-
res = tessellation->SetMode(mode);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetLevel(const IADLX3DTessellationPtr& tessellation)
-
{
- -
tessellation->GetLevel(&level);
-
level = (level == T_LEVEL_2X) ? T_LEVEL_4X : T_LEVEL_2X;
-
ADLX_RESULT res = tessellation->SetLevel(level);
-
std::cout << "\tSet level: " << Levels.find(level)->second << " res is " << res << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display tessellation support" << std::endl;
-
std::cout << "\t->Press 2 to get tessellation state" << std::endl;
-
std::cout << "\t->Press 3 to set tessellation mode: AMD optimized" << std::endl;
-
std::cout << "\t->Press 4 to set tessellation mode: Use application settings" << std::endl;
-
std::cout << "\t->Press 5 to set tessellation mode: Override application settings" << std::endl;
-
-
std::cout << "\t->Press 6 to set tessellation change level" << std::endl;
-
-
std::cout << "\t->Press Q/q quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DTessellationPtr& tessellation)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display tessellation support
-
case '1':
-
ShowSupport(tessellation);
-
break;
-
-
// Get and display current tessellation state
-
case '2':
-
GetState(tessellation);
-
break;
-
-
// Set tessellation mode
-
case '3':
-
case '4':
-
case '5':
-
SetMode(tessellation, num - '3');
-
break;
-
-
// Set anti-aliasing level
-
case '6':
-
SetLevel(tessellation);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ T_LEVEL_OFF
Definition: ADLXDefines.h:838
-
@ T_LEVEL_2X
Definition: ADLXDefines.h:839
-
@ T_LEVEL_4X
Definition: ADLXDefines.h:840
-
@ T_LEVEL_32X
Definition: ADLXDefines.h:844
-
@ T_LEVEL_6X
Definition: ADLXDefines.h:841
-
@ T_LEVEL_16X
Definition: ADLXDefines.h:843
-
@ T_LEVEL_8X
Definition: ADLXDefines.h:842
-
@ T_LEVEL_64X
Definition: ADLXDefines.h:845
-
@ T_MODE_OVERRIDE_APP_SETTINGS
Definition: ADLXDefines.h:825
-
@ T_MODE_AMD_OPTIMIZED
Definition: ADLXDefines.h:823
-
@ T_MODE_USE_APP_SETTINGS
Definition: ADLXDefines.h:824
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_TESSELLATION_LEVEL
Indicates the tessellation level on a GPU.
Definition: ADLXDefines.h:837
-
ADLX_TESSELLATION_MODE
Indicates the tessellation setting on a GPU.
Definition: ADLXDefines.h:822
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp__wait_for_vertical_refresh.html b/vendor/adlx/SDKDoc/html/cpp__wait_for_vertical_refresh.html deleted file mode 100644 index a08d3a0..0000000 --- a/vendor/adlx/SDKDoc/html/cpp__wait_for_vertical_refresh.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: WaitForVerticalRefresh - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
WaitForVerticalRefresh
-
-
-
- - - -

Demonstrates how to access VSync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Get VSync capability
2 Get the current VSync state and mode
3 Set VSync to Always Off
4 Set VSync to Off (unless specified by the application)
5 Set VSync to On (unless specified by the application)
6 Set VSync to Always On
M/m Display menu options
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/WaitForVerticalRefresh

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/I3DSettings.h"
-
#include <iostream>
-
#include <map>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display VSync support
-
void ShowvsyncSupport(const IADLX3DWaitForVerticalRefreshPtr& vsync);
-
-
// Get current VSync state
-
void GetvsyncState(const IADLX3DWaitForVerticalRefreshPtr& vsync);
-
-
// Set VSync mode
-
void SetvsyncMode(const IADLX3DWaitForVerticalRefreshPtr& vsync, int index);
-
-
// Menu
-
void MainMenu();
-
-
// Menu control
-
void MenuControl(const IADLX3DWaitForVerticalRefreshPtr& vsync);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPUs
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
-
// Get 3DSettings service
-
IADLX3DSettingsServicesPtr d3dSettingSrv;
-
res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv);
-
-
if (!gpus->Empty() && ADLX_SUCCEEDED(res))
-
{
-
// Get GPU interface
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At(index, &gpuInfo);
-
-
// Get VSync interface
-
IADLX3DWaitForVerticalRefreshPtr vsync;
-
res = d3dSettingSrv->GetWaitForVerticalRefresh(gpuInfo, &vsync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
MainMenu();
-
MenuControl(vsync);
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get 3DSettings services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
static const std::map<ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE, const char*> vsyncMode =
-
{
-
{WFVR_ALWAYS_OFF, "Always off"},
-
{WFVR_OFF_UNLESS_APP_SPECIFIES, "Off (unless specified by the application)"},
-
{WFVR_ON_UNLESS_APP_SPECIFIES, "On (unless specified by the application)"},
-
{WFVR_ALWAYS_ON, "Always on"}};
-
-
void ShowvsyncSupport(const IADLX3DWaitForVerticalRefreshPtr& vsync)
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = vsync->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void GetvsyncState(const IADLX3DWaitForVerticalRefreshPtr& vsync)
-
{
-
adlx_bool enabled = false;
-
ADLX_RESULT res = vsync->IsEnabled(&enabled);
-
std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl;
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF;
-
res = vsync->GetMode(&mode);
-
std::cout << "\tMode: " << vsyncMode.find(mode)->second << ", return code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
void SetvsyncMode(const IADLX3DWaitForVerticalRefreshPtr& vsync, int index)
-
{
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF;
-
mode = (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode + index);
-
ADLX_RESULT res = vsync->SetMode(mode);
-
std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl;
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Print out the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display VSync support" << std::endl;
-
std::cout << "\t->Press 2 to get current VSync state" << std::endl;
-
std::cout << "\t->Press 3 to set VSync to Always Off" << std::endl;
-
std::cout << "\t->Press 4 to set VSync to Off (unless specified by the application)" << std::endl;
-
std::cout << "\t->Press 5 to set VSync to On (unless specified by the application)" << std::endl;
-
std::cout << "\t->Press 6 to set VSync to Always On" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit the application" << std::endl;
-
std::cout << "\t->Press M/m to display menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLX3DWaitForVerticalRefreshPtr& vsync)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display VSync support
-
case '1':
-
ShowvsyncSupport(vsync);
-
break;
-
-
// Get and display current VSync state
-
case '2':
-
GetvsyncState(vsync);
-
break;
-
-
// Set VSync model
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetvsyncMode(vsync, num - '3');
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
@ WFVR_ALWAYS_ON
Definition: ADLXDefines.h:744
-
@ WFVR_ALWAYS_OFF
Definition: ADLXDefines.h:741
-
@ WFVR_OFF_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:742
-
@ WFVR_ON_UNLESS_APP_SPECIFIES
Definition: ADLXDefines.h:743
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE
Indicates the modes of VSync settings.
Definition: ADLXDefines.h:740
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__color_depth.html b/vendor/adlx/SDKDoc/html/cpp_display__color_depth.html deleted file mode 100644 index a467e44..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__color_depth.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayColorDepth - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayColorDepth
-
-
-
- - - -

Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display color depth support.
2 Get color depth state.
3 Set current color depth to BPC_6.
4 Set current color depth to BPC_8.
5 Set current color depth to BPC_10.
6 Get support state for each color depth.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayColorDepth

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <unordered_map>
-
#include <algorithm>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface. 
-
static ADLXHelper g_ADLXHelp;
-
-
// Display DisplayColorDepthSupport
-
void ShowDisplayColorDepthSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current display color depth state
-
void GetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set display color depth
-
void SetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit("Failed to get display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the printout
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayColorDepthSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayColorDepthPtr displayColorDepth;
-
ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get color depth supported status ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayColorDepth->IsSupported(&supported);
-
std::cout << "\tIsSupported, res " << res << ", supported: " << supported << std::endl;
-
}
-
}
-
void GetSupportStateForEachColorDepth (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayColorDepthPtr displayColorDepth;
-
ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth);
-
if (ADLX_SUCCEEDED (res) && displayColorDepth)
-
{
-
std::cout << " === Get color depth support list ===" << std::endl;
-
adlx_bool isSupported = false;
-
res = displayColorDepth->IsSupportedBPC_6 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_6, result " << res << " BPC_6 support: " << isSupported << std::endl;
-
res = displayColorDepth->IsSupportedBPC_8 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_6, result " << res << " BPC_8 support: " << isSupported << std::endl;
-
res = displayColorDepth->IsSupportedBPC_10 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_10, result " << res << " BPC_10 support: " << isSupported << std::endl;
-
res = displayColorDepth->IsSupportedBPC_12 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_12, result " << res << " BPC_12 support: " << isSupported << std::endl;
-
res = displayColorDepth->IsSupportedBPC_14 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_14, result " << res << " BPC_14 support: " << isSupported << std::endl;
-
res = displayColorDepth->IsSupportedBPC_16 (&isSupported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedBPC_16, result " << res << " BPC_16 support: " << isSupported << std::endl;
-
-
const std::unordered_map<ADLX_COLOR_DEPTH, std::string> colorDepthMap{
-
{BPC_6, "BPC_6"},
-
{BPC_8, "BPC_8"},
-
{BPC_10, "BPC_10"},
-
{BPC_12, "BPC_12"},
-
{BPC_14, "BPC_14"},
-
{BPC_16, "BPC_16"}
-
};
-
for_each (colorDepthMap.begin (), colorDepthMap.end (), [&](auto colorDepth) {
-
res = displayColorDepth->IsSupportedColorDepth (colorDepth.first, &isSupported);
-
std::cout << "\tIsSupported" << colorDepth.second << ": " << isSupported << std::endl;
-
});
-
}
-
}
-
-
void GetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
const std::unordered_map<int, std::string> colorDepthMap = {{0, "BPC_UNKNOWN"}, {1, "BPC_6"}, {2, "BPC_8"}, {3, "BPC_10"}};
-
IADLXDisplayColorDepthPtr displayColorDepth;
-
ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get color depth enabled status ===" << std::endl;
-
ADLX_COLOR_DEPTH cd = BPC_UNKNOWN;
-
res = displayColorDepth->GetValue(&cd);
-
std::string cdStr = "BPC_Unknown";
-
auto searchIter = colorDepthMap.find(cd);
-
if (searchIter != colorDepthMap.end())
-
{
-
cdStr = searchIter->second;
-
}
-
std::cout << "\tGetValue, result " << res << " color depth: " << cdStr.c_str() << std::endl;
-
}
-
}
-
-
void SetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayColorDepthPtr displayColorDepth;
-
ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Set color depth ===" << std::endl;
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// set ColorDepth BPC_6
-
case 0:
-
res = displayColorDepth->SetValue(BPC_6);
-
break;
-
// set ColorDepth BPC_8
-
case 1:
-
res = displayColorDepth->SetValue(BPC_8);
-
break;
-
// set ColorDepth BPC_10
-
case 2:
-
res = displayColorDepth->SetValue(BPC_10);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<"(0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display color depth support" << std::endl;
-
-
std::cout << "\t->Press 2 to get color depth state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current color depth to BPC_6" << std::endl;
-
std::cout << "\t->Press 4 to set current color depth to BPC_8" << std::endl;
-
std::cout << "\t->Press 5 to set current color depth to BPC_10" << std::endl;
-
-
std::cout << "\t->Press 6 to get support state for each color depth" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display DisplayColorDepthSupport
-
case '1':
-
ShowDisplayColorDepthSupport(displayService, display);
-
break;
-
-
// Display current display color depth state
-
case '2':
-
GetColorDepthState(displayService, display);
-
break;
-
-
// Set display color depth
-
case '3':
-
case '4':
-
case '5':
-
SetColorDepthState(displayService, display, num - '3');
-
break;
-
-
case '6':
-
GetSupportStateForEachColorDepth(displayService, display);
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ BPC_8
Definition: ADLXDefines.h:682
-
@ BPC_6
Definition: ADLXDefines.h:681
-
@ BPC_10
Definition: ADLXDefines.h:683
-
@ BPC_16
Definition: ADLXDefines.h:686
-
@ BPC_12
Definition: ADLXDefines.h:684
-
@ BPC_14
Definition: ADLXDefines.h:685
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_COLOR_DEPTH
Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pix...
Definition: ADLXDefines.h:679
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__custom_color.html b/vendor/adlx/SDKDoc/html/cpp_display__custom_color.html deleted file mode 100644 index 6f381bd..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__custom_color.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayCustomColor - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayCustomColor
-
-
-
- - - -

Demonstrates how to use custom color for display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Enter Hue settings.
2 Enter Saturation settings.
3 Enter Brightness settings.
4 Enter Contrast settings.
5 Enter Temperature settings.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayCustomColor

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <unordered_map>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// Types of Custom Color
-
constexpr auto CUSTOM_COLOR_HUE = 1;
-
constexpr auto CUSTOM_COLOR_SATURATION = 2;
-
constexpr auto CUSTOM_COLOR_BRIGHTNESS = 3;
-
constexpr auto CUSTOM_COLOR_CONTRAST = 4;
-
constexpr auto CUSTOM_COLOR_TEMPERATURE = 5;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// so we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Executor class for getting and setting Custom Color properties
-
class CustomColorExecutor;
-
-
// Handler for user input
-
void ExecuteCommand(CustomColorExecutor& executor, const std::string& colorTypeString);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result : " << res << std::endl;
-
return WaitAndExit("Failed to get display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the printout
-
system("Pause");
-
-
return 0;
-
}
-
-
class CustomColorExecutor
-
{
-
public:
-
CustomColorExecutor() = default;
-
CustomColorExecutor(IADLXDisplayCustomColorPtr pInst, int ct)
-
: pDisplayColor_(pInst), colorType_(ct)
-
{
-
if (pInst == nullptr)
-
{
-
std::cout << "custom color executor: custom color instance is null!" << std::endl;
-
std::exit(0);
-
}
-
}
-
ADLX_RESULT GetSupport(adlx_bool* supported)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->IsHueSupported(supported);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->IsSaturationSupported(supported);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->IsBrightnessSupported(supported);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->IsContrastSupported(supported);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->IsTemperatureSupported(supported);
-
}
-
return ADLX_FAIL;
-
}
-
ADLX_RESULT GetRange(ADLX_IntRange* range)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->GetHueRange(range);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->GetSaturationRange(range);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->GetBrightnessRange(range);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->GetContrastRange(range);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->GetTemperatureRange(range);
-
}
-
return ADLX_FAIL;
-
}
-
ADLX_RESULT GetValue(adlx_int* value)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->GetHue(value);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->GetSaturation(value);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->GetBrightness(value);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->GetContrast(value);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->GetTemperature(value);
-
}
-
return ADLX_FAIL;
-
}
-
ADLX_RESULT SetValue(adlx_int value)
-
{
-
switch (colorType_)
-
{
-
case CUSTOM_COLOR_HUE:
-
return pDisplayColor_->SetHue(value);
-
case CUSTOM_COLOR_SATURATION:
-
return pDisplayColor_->SetSaturation(value);
-
case CUSTOM_COLOR_BRIGHTNESS:
-
return pDisplayColor_->SetBrightness(value);
-
case CUSTOM_COLOR_CONTRAST:
-
return pDisplayColor_->SetContrast(value);
-
case CUSTOM_COLOR_TEMPERATURE:
-
return pDisplayColor_->SetTemperature(value);
-
}
-
return ADLX_FAIL;
-
}
-
-
private:
-
int colorType_;
-
IADLXDisplayCustomColorPtr pDisplayColor_;
-
};
-
-
void ExecuteCommand(CustomColorExecutor& executor, const std::string& colorTypeString)
-
{
-
std::cout << "\tChoose from the following options:" << colorTypeString.c_str() << " settings" << std::endl;
-
std::cout << "\t->Press 1 to display support" << std::endl;
-
std::cout << "\t->Press 2 to get range data" << std::endl;
-
std::cout << "\t->Press 3 to display current value" << std::endl;
-
std::cout << "\t->Press 4 to set current value" << std::endl;
-
std::cout << "\t->Press X/x to get back to main menu" << std::endl;
-
-
int num = 0;
-
while ((num = getchar()) != 'x' && num != 'X')
-
{
-
switch (num)
-
{
-
case '1':
-
{
-
std::string str1 = " === Get " + colorTypeString + " Supported ===";
-
std::string str2 = "\tIs " + colorTypeString + " Supported: ";
-
adlx_bool supported = false;
-
std::cout << str1.c_str() << std::endl;
-
executor.GetSupport(&supported);
-
std::cout << str2.c_str() << supported << std::endl;
-
break;
-
}
-
case '2':
-
{
-
std::string str1 = " === Get " + colorTypeString + " Range data ===";
-
std::string str2 = "\tGet" + colorTypeString + "Range: ";
-
ADLX_IntRange range = {0};
-
std::cout << " === Get Hue Range data ===" << std::endl;
-
executor.GetRange(&range);
-
std::cout << str2.c_str() << " min: " << range.minValue << " max: " << range.maxValue << " step: " << range.step << std::endl;
-
break;
-
}
-
case '3':
-
{
-
std::string str1 = " === Get current " + colorTypeString + " value ===";
-
std::string str2 = "\tGet" + colorTypeString + ": ";
-
adlx_int value = 0;
-
std::cout << str1.c_str() << std::endl;
-
executor.GetValue(&value);
-
std::cout << str2.c_str() << " value: " << value << std::endl;
-
break;
-
}
-
case '4':
-
{
-
ADLX_IntRange range = {0};
-
executor.GetRange(&range);
-
adlx_int currentValue = 0;
-
executor.GetValue(&currentValue);
-
adlx_int baseValue = (range.minValue + range.maxValue) / 2;
-
adlx_int value = (currentValue == baseValue) ? baseValue + range.step : baseValue;
-
std::string str1 = "\tSet" + colorTypeString + ": ";
-
std::cout << str1.c_str() << " value: " << value << std::endl;
-
auto res = executor.SetValue(value);
-
std::cout << "\tReturn code(0 is Success) is: " << res <<"(0 means success)" << std::endl;
-
break;
-
}
-
default:
-
break;
-
}
-
}
-
MainMenu();
-
}
-
-
void ShowCustomColorSettings(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int colorType)
-
{
-
static const std::unordered_map<int, std::string> colorTypeStringMap =
-
{
-
{CUSTOM_COLOR_HUE, "Hue"},
-
{CUSTOM_COLOR_SATURATION, "Saturation"},
-
{CUSTOM_COLOR_BRIGHTNESS, "Brightness"},
-
{CUSTOM_COLOR_CONTRAST, "Contrast"},
-
{CUSTOM_COLOR_TEMPERATURE, "Temperature"}};
-
-
IADLXDisplayCustomColorPtr displayCustomColor;
-
ADLX_RESULT res = displayService->GetCustomColor(display, &displayCustomColor);
-
if (ADLX_SUCCEEDED(res))
-
{
-
auto executor = CustomColorExecutor(displayCustomColor, colorType);
-
try
-
{
-
ExecuteCommand(executor, colorTypeStringMap.at(colorType));
-
} catch (...)
-
{
-
std::cout << "Show custom color settings: color type is invalid!" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "GetCustomColor: failed." << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to enter Hue settings" << std::endl;
-
std::cout << "\t->Press 2 to enter Saturation settings" << std::endl;
-
std::cout << "\t->Press 3 to enter Brightness settings" << std::endl;
-
std::cout << "\t->Press 4 to enter Contrast settings" << std::endl;
-
std::cout << "\t->Press 5 to enter Temperature settings" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the command prompt menu" << std::endl;
-
}
-
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
case '1':
-
ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_HUE);
-
break;
-
// Display Saturation settings
-
case '2':
-
ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_SATURATION);
-
break;
-
// Display Brightness settings
-
case '3':
-
ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_BRIGHTNESS);
-
break;
-
// Display Contrast settings
-
case '4':
-
ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_CONTRAST);
-
break;
-
// Display Temperature settings
-
case '5':
-
ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_TEMPERATURE);
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__custom_resolution.html b/vendor/adlx/SDKDoc/html/cpp_display__custom_resolution.html deleted file mode 100644 index 91953cf..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__custom_resolution.html +++ /dev/null @@ -1,510 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayCustomResolution - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayCustomResolution
-
-
-
- - - -

Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display custom resolution support.
2 Get custom resolution list.
3 Get current applied resolution.
4 Create new customized resolution.
5 Delete available resolution.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayCustomResolution

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <unordered_map>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display custom resolution support
-
void ShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtr pCustomResolution);
-
-
// Display available display resolutions
-
void GetResolutionList(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionList** ppResolutionList);
-
-
// Display current display resolution
-
void GetCurrentResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolution** ppResolution);
-
-
// Create new customized display resolution
-
void CreateNewResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution);
-
-
// Delete display resolution
-
void DeleteResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution);
-
-
// Print out specified resolution
-
void PrintResolution(IADLXDisplayResolutionPtr pResolution);
-
-
// Print out specified resolution list
-
void PrintResolutions(IADLXDisplayResolutionListPtr pResolutionList);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the Display Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtr pCustomResolution)
-
{
-
std::cout << " === custom resolution supported ===" << std::endl;
-
adlx_bool supported = false;
-
ADLX_RESULT res = pCustomResolution->IsSupported(&supported);
-
std::cout << "\tIsSupported result: " << res << ", supported: " << supported << std::endl;
-
}
-
-
void GetResolutionList(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionList** ppResolutionList)
-
{
-
ADLX_RESULT res = pCustomResolution->GetResolutionList(ppResolutionList);
-
if (ADLX_FAILED(res))
-
std::cout << " GetResolutionList: failed" << std::endl;
-
-
}
-
-
void GetCurrentResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolution** ppResolution)
-
{
-
ADLX_RESULT res = pCustomResolution->GetCurrentAppliedResolution(ppResolution);
-
if (ADLX_FAILED(res))
-
std::cout << " GetCurrentAppliedResolution: failed" << std::endl;
-
}
-
-
void CreateNewResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution)
-
{
-
ADLX_RESULT res = pCustomResolution->CreateNewResolution(pResolution);
-
if (ADLX_FAILED(res))
-
std::cout << " CreateNewResolution: failed." << std::endl;
-
}
-
-
void DeleteResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution)
-
{
-
PrintResolution(pResolution);
-
ADLX_RESULT res = pCustomResolution->DeleteResolution(pResolution);
-
if (ADLX_FAILED(res))
-
std::cout << " DeleteResolution: failed." << std::endl;
-
}
-
-
void PrintResolution(IADLXDisplayResolutionPtr pResolution)
-
{
- -
pResolution->GetValue(&cr);
-
-
std::string sPresention = (cr.presentation == ADLX_DISPLAY_SCAN_TYPE::INTERLACED) ? "Interlaced" : "Progressive";
-
std::string sTimingStandard = "Manual";
-
std::string sHPolarity = (cr.detailedTiming.hPolarity == ADLX_DISPLAY_TIMING_POLARITY::POSITIVE) ? "Positive" : "Negative";
-
std::string sVPolarity = (cr.detailedTiming.vPolarity == ADLX_DISPLAY_TIMING_POLARITY::POSITIVE) ? "Positive" : "Negative";
-
try
-
{
-
const std::unordered_map<ADLX_TIMING_STANDARD, std::string> timingStandardMap =
-
{
-
{MANUAL, "Manual"}, {DMT, "DMT"}, {GTF, "GTF"}, {CVT_RB, "CVT - Reduced Blanking"}, {CVT, "CVT"}};
-
-
sTimingStandard = timingStandardMap.at(cr.timingStandard);
-
} catch (...)
-
{
-
std::cout << " Timing standard out of range!" << std::endl;
-
return;
-
}
-
-
char buff[1024] = {0};
-
int offset = std::snprintf(buff, sizeof(buff), "\n resolution (Px)\t\t%d x %d\n", cr.resWidth, cr.resHeight);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Refresh Rate (Hz)\t\t%d\n", cr.refreshRate);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Presentation\t\t\t%s\n", sPresention.c_str());
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Standard\t\t%s\n", sTimingStandard.c_str());
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " G.Pixel Clock (kHz)\t\t%d\n", cr.GPixelClock);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Info\t\t\tHorizontal\tVertical\n");
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Total\t\t\t%d\t%d\n", cr.detailedTiming.hTotal, cr.detailedTiming.vTotal);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Display\t\t%d\t%d\n", cr.detailedTiming.hDisplay, cr.detailedTiming.vDisplay);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Front Porch\t\t%d\t%d\n", cr.detailedTiming.hFrontPorch, cr.detailedTiming.vFrontPorch);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Sync Width\t\t%d\t%d\n", cr.detailedTiming.hSyncWidth, cr.detailedTiming.vSyncWidth);
-
offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Polarity\t\t%s %s\n", sHPolarity.c_str(), sVPolarity.c_str());
-
-
std::cout << buff << std::endl;
-
}
-
-
void PrintResolutions(IADLXDisplayResolutionListPtr pResolutionList)
-
{
-
std::cout << " Print out resolution list ==" << std::endl;
-
if (pResolutionList == nullptr)
-
{
-
std::cout << " resolution list is null" << std::endl;
-
return;
-
}
-
-
if (pResolutionList->Size() == 0)
-
{
-
std::cout << " resolution list is empty!" << std::endl;
-
return;
-
}
-
-
ADLX_RESULT res = ADLX_FAIL;
-
for (adlx_uint crt = 0; crt < pResolutionList->Size(); crt++)
-
{
-
IADLXDisplayResolutionPtr pDispResolution = nullptr;
-
res = pResolutionList->At(crt, &pDispResolution);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " resolution index: " << crt << std::endl;
-
PrintResolution(pDispResolution);
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display custom Resolution support" << std::endl;
-
-
std::cout << "\t->Press 2 to get custom Resolution list" << std::endl;
-
-
std::cout << "\t->Press 3 to get current applied Resolution" << std::endl;
-
std::cout << "\t->Press 4 to create new customized Resolution" << std::endl;
-
std::cout << "\t->Press 5 to delete avaible Resolution" << std::endl;
-
-
std::cout << "\t->Press Q/q terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the command prompt menu" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayCustomResolutionPtr pCustomResolution;
-
displayService->GetCustomResolution(display, &pCustomResolution);
-
-
if (!pCustomResolution)
-
{
-
std::cout << "Menu control: cannot retrive custom resolution instance!" << std::endl;
-
return;
-
}
-
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display custom resolution support
-
case '1':
-
ShowCustomResolutionSupport(pCustomResolution);
-
break;
-
-
// Get current resolution
-
case '2':
-
{
-
std::cout << " === Get resolution list: ===" << std::endl;
-
IADLXDisplayResolutionListPtr pResolutionList;
-
GetResolutionList(pCustomResolution, &pResolutionList);
-
PrintResolutions(pResolutionList);
-
break;
-
}
-
-
// Get current applied resolution
-
case '3':
-
{
-
std::cout << " === Get current resolution: ===" << std::endl;
-
IADLXDisplayResolutionPtr pDisplayResolution;
-
GetCurrentResolution(pCustomResolution, &pDisplayResolution);
-
PrintResolution(pDisplayResolution);
-
break;
-
}
-
// Create new customized resolution
-
case '4':
-
{
-
std::cout << " === Create new resolution: ===" << std::endl;
-
IADLXDisplayResolutionPtr pDisplayResolution;
-
GetCurrentResolution(pCustomResolution, &pDisplayResolution);
-
-
if (pDisplayResolution)
-
{
-
ADLX_CustomResolution customRes = {};
-
pDisplayResolution->GetValue(&customRes);
-
-
customRes.resWidth = 1920;
-
customRes.resHeight = 1080;
-
customRes.detailedTiming.hDisplay = 1920;
-
customRes.detailedTiming.vDisplay = 1080;
-
pDisplayResolution->SetValue(customRes);
-
-
PrintResolution(pDisplayResolution);
-
CreateNewResolution(pCustomResolution, pDisplayResolution);
-
}
-
break;
-
}
-
// Delete available resolution
-
case '5':
-
{
-
std::cout << " === Delete resolution: ===" << std::endl;
-
IADLXDisplayResolutionListPtr pResolutionList;
-
GetResolutionList(pCustomResolution, &pResolutionList);
-
if (pResolutionList->Size() > 0)
-
{
-
IADLXDisplayResolutionPtr pDisplayResolution;
-
ADLX_RESULT res = pResolutionList->At(0, &pDisplayResolution);
-
if (ADLX_SUCCEEDED(res))
-
DeleteResolution(pCustomResolution, pDisplayResolution);
-
}
-
break;
-
}
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ DMT
Definition: ADLXDefines.h:726
-
@ MANUAL
Definition: ADLXDefines.h:727
-
@ CVT_RB
Definition: ADLXDefines.h:723
-
@ CVT
Definition: ADLXDefines.h:722
-
@ GTF
Definition: ADLXDefines.h:725
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ POSITIVE
Definition: ADLXDefines.h:493
-
@ INTERLACED
Definition: ADLXDefines.h:479
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_TIMING_STANDARD timingStandard
Definition: ADLXStructures.h:136
-
adlx_int hTotal
Definition: ADLXStructures.h:104
-
adlx_int hSyncWidth
Definition: ADLXStructures.h:113
-
adlx_int resWidth
Definition: ADLXStructures.h:132
-
adlx_int vPolarity
Definition: ADLXStructures.h:117
-
ADLX_DISPLAY_SCAN_TYPE presentation
Definition: ADLXStructures.h:135
-
adlx_int vFrontPorch
Definition: ADLXStructures.h:111
-
adlx_int resHeight
Definition: ADLXStructures.h:133
-
adlx_int vSyncWidth
Definition: ADLXStructures.h:114
-
adlx_int vTotal
Definition: ADLXStructures.h:105
-
ADLX_TimingInfo detailedTiming
Definition: ADLXStructures.h:138
-
adlx_int refreshRate
Definition: ADLXStructures.h:134
-
adlx_int hPolarity
Definition: ADLXStructures.h:116
-
adlx_int hFrontPorch
Definition: ADLXStructures.h:110
-
adlx_int vDisplay
Definition: ADLXStructures.h:108
-
adlx_int hDisplay
Definition: ADLXStructures.h:107
-
adlx_long GPixelClock
Definition: ADLXStructures.h:137
-
This structure contains information for custom resolution parameters on a given display.
Definition: ADLXStructures.h:131
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__display_connectivity_experience.html b/vendor/adlx/SDKDoc/html/cpp_display__display_connectivity_experience.html deleted file mode 100644 index ac0a71e..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__display_connectivity_experience.html +++ /dev/null @@ -1,611 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayConnectivityExperience - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayConnectivityExperience
-
-
-
- - - -

Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display HDMI quality detection support.
2 Display DP link support.
3 Get HDMI quality detection status.
4 Set HDMI quality detection status to "Enabled".
5 Set HDMI quality detection status to "Disabled".
6 Display DP link rate.
7 Display number of active lanes.
8 Display number of total lanes.
9 Display relative pre-emphasis.
a Enter the Relative Pre-emphasis settings menu.
b Display relative voltage swing.
c Enter the Relative Voltage Swing settings menu.
d Display if link protection enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

-

Sample Path

/Samples/CPP/Display/DisplayConnectivityExperience -

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays2.h"
-
#include <iostream>
-
#include <unordered_map>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display supported HDMI quality detection
-
void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Display supported DP link
-
void ShowSupportedDPLink(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Display current HDMI quality detection state
-
void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Set displayVariBright status to enable/disable
-
void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, adlx_bool enableDisable);
-
-
// Display DP link rate value
-
void GetDPLinkRate(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Display number of active lanes
-
void GetNumberOfActiveLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Display number of total lanes
-
void GetNumberOfTotalLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Display relative pre-emphasis
-
void GetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Relative pre-emphasis setting menu control
-
void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Set relative pre-emphasis
-
void SetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativePreEmphasis);
-
-
// Display relative pre-emphasis
-
void GetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Relative voltage swing setting menu control
-
void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Set relative pre-emphasis
-
void SetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativeVoltageSwing);
-
-
// Display current link protection statue
-
void GetEnabledLinkProtection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServices2Ptr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXDisplayServices2Ptr displayServices1(displayService);
-
-
if (nullptr != displayServices1)
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display list", 0);
-
}
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayServices1, display);
-
}
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get HDMI quality detection Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayConnectivityExperience->IsSupportedHDMIQualityDetection(&supported);
-
std::cout << "\tHDMI quality detection is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl;
-
}
-
}
-
-
void ShowSupportedDPLink(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get DP Link Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayConnectivityExperience->IsSupportedDPLink(&supported);
-
std::cout << "\tDP Link is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl;
-
}
-
}
-
-
void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get HDMI quality detection enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayConnectivityExperience->IsEnabledHDMIQualityDetection(&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, adlx_bool enableDisable)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED (res))
-
{
-
if (!enableDisable)
-
{
-
res = displayConnectivityExperience->SetEnabledHDMIQualityDetection(false);
-
std::cout << "\tSet enabled to false, result: " << res << " (0 means success)" << std::endl;
-
}
-
else
-
{
-
res = displayConnectivityExperience->SetEnabledHDMIQualityDetection (true);
-
std::cout << "\tSet enabled to true, result: " << res << " (0 means success)" << std::endl;
-
}
-
}
-
}
-
-
void GetDPLinkRate(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
const std::unordered_map<int, std::string> DPLinkRateMap =
-
{
-
{0, "DP_LINK_RATE_RBR"},
-
{1, "DP_LINK_RATE_2_16GBPS"},
-
{2, "DP_LINK_RATE_2_43GBPS"},
-
{3, "DP_LINK_RATE_HBR"},
-
{4, "DP_LINK_RATE_4_32GBPS"},
-
{5, "DP_LINK_RATE_HBR2"},
-
{6, "DP_LINK_RATE_HBR3"},
-
{7, "DP_LINK_RATE_UHBR10"},
-
{8, "DP_LINK_RATE_UHBR13D5"},
-
{9, "DP_LINK_RATE_UHBR20"}};
-
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get DP link rate ===" << std::endl;
-
ADLX_DP_LINK_RATE DPLinkRate = ADLX_DP_LINK_RATE::DP_LINK_RATE_UNKNOWN;
-
res = displayConnectivityExperience->GetDPLinkRate(&DPLinkRate);
-
std::string DPLinkRateStr = 0 != DPLinkRateMap.count(DPLinkRate) ? DPLinkRateMap.at(DPLinkRate) : "DP_LINK_RATE_UNKNOWN";
-
std::cout << "\tGetValue, result: " << res << " mode: " << DPLinkRateStr.c_str() << std::endl;
-
}
-
}
-
-
void GetNumberOfActiveLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get number of active lanes ===" << std::endl;
-
adlx_uint numberOfActiveLanes;
-
res = displayConnectivityExperience->GetNumberOfActiveLanes(&numberOfActiveLanes);
-
std::cout << "\tGetValue, result: " << res << " value: " << numberOfActiveLanes << std::endl;
-
}
-
}
-
-
void GetNumberOfTotalLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get number of total lanes ===" << std::endl;
-
adlx_uint numberOfTotalLanes;
-
res = displayConnectivityExperience->GetNumberOfTotalLanes(&numberOfTotalLanes);
-
std::cout << "\tGetValue, result: " << res << " value: " << numberOfTotalLanes << std::endl;
-
}
-
}
-
-
void GetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get relative pre-emphasis ===" << std::endl;
-
adlx_int relativePreEmphasis;
-
res = displayConnectivityExperience->GetRelativePreEmphasis(&relativePreEmphasis);
-
std::cout << "\tGetValue, result: " << res << " value: " << relativePreEmphasis << std::endl;
-
}
-
}
-
-
void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
printf (" === relative pre-emphasis setting ===\n");
-
printf ("\t->Press integer in [-2:2] to set relative pre-emphasis or return main menu\n");
-
int num = 0;
-
if ((std::cin >> num) && (-2 <= num && num <= 2))
-
{
-
SetRelativePreEmphasis(displayService2, display, num);
-
}
-
}
-
-
void SetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativePreEmphasis)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Set relative pre-emphasis ===" << std::endl;
-
res = displayConnectivityExperience->SetRelativePreEmphasis(relativePreEmphasis);
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void GetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get relative voltage swing ===" << std::endl;
-
adlx_int relativeVoltageSwing;
-
res = displayConnectivityExperience->GetRelativeVoltageSwing(&relativeVoltageSwing);
-
std::cout << "\tGetValue, result: " << relativeVoltageSwing << std::endl;
-
}
-
}
-
-
void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
printf (" === relative voltage swing setting ===\n");
-
printf ("\t->Press integer in [-2:2] to set relative voltage swing or return main menu\n");
-
int num = 0;
-
if ((std::cin >> num) && (-2 <= num && num <= 2))
-
{
-
SetRelativeVoltageSwing(displayService2, display, num);
-
}
-
}
-
-
void SetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativeVoltageSwing)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Set relative voltage swing ===" << std::endl;
-
res = displayConnectivityExperience->SetRelativeVoltageSwing(relativeVoltageSwing);
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void GetEnabledLinkProtection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience;
-
ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get link protection enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayConnectivityExperience->IsEnabledLinkProtection(&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display HDMI quality detection support" << std::endl;
-
std::cout << "\t->Press 2 to display DP link support" << std::endl;
-
std::cout << "\t->Press 3 to get HDMI quality detection status" << std::endl;
-
std::cout << "\t->Press 4 to set HDMI quality detection to Enable" << std::endl;
-
std::cout << "\t->Press 5 to set HDMI quality detection status to Disable" << std::endl;
-
std::cout << "\t->Press 6 to display DP link rate" << std::endl;
-
std::cout << "\t->Press 7 to display number of active lanes" << std::endl;
-
std::cout << "\t->Press 8 to display number of total lanes" << std::endl;
-
std::cout << "\t->Press 9 to display relative pre-emphasis" << std::endl;
-
std::cout << "\t->Press a to enter the Relative Pre-emphasis settings menu" << std::endl;
-
std::cout << "\t->Press b to display relative voltage swing" << std::endl;
-
std::cout << "\t->Press c to enter the Relative Voltage Swing settings menu" << std::endl;
-
std::cout << "\t->Press d to display if link protection is enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display supported HDMI quality detection
-
case '1':
-
ShowSupportedHDMIQualityDetection(displayService2, display);
-
break;
-
-
// Display ssupported DP link
-
case '2':
-
ShowSupportedDPLink(displayService2, display);
-
break;
-
-
// Get HDMI quality detection enable
-
case '3':
-
GetEnabledHDMIQualityDetection(displayService2, display);
-
break;
-
-
// Set HDMI quality detection enable
-
case '4':
-
SetEnabledHDMIQualityDetection(displayService2, display, true);
-
break;
-
-
// Set HDMI quality detection disable
-
case '5':
-
SetEnabledHDMIQualityDetection(displayService2, display, false);
-
break;
-
-
// Display DP link rate
-
case '6':
-
GetDPLinkRate(displayService2, display);
-
break;
-
-
// Display number of active lanes
-
case '7':
-
GetNumberOfActiveLanes(displayService2, display);
-
break;
-
-
// Display number of totla lanes
-
case '8':
-
GetNumberOfTotalLanes(displayService2, display);
-
break;
-
-
// Display relative pre-emphasis
-
case '9':
-
GetRelativePreEmphasis(displayService2, display);
-
break;
-
-
// Enter relative pre-emphasis setting control
-
case 'a':
-
RelativePreEmphasisSettingMenuControl(displayService2, display);
-
break;
-
-
// Display relative voltage swing
-
case 'b':
-
GetRelativeVoltageSwing(displayService2, display);
-
break;
-
-
// Enter relative voltage swing setting control
-
case 'c':
-
RelativeVoltageSwingSettingMenuControl(displayService2, display);
-
break;
-
-
// Display link protection status
-
case 'd':
-
GetEnabledLinkProtection(displayService2, display);
-
break;
-
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ DP_LINK_RATE_UNKNOWN
Definition: ADLXDefines.h:386
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DP_LINK_RATE
Indicates the DP link rate.
Definition: ADLXDefines.h:385
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__display_vari_bright.html b/vendor/adlx/SDKDoc/html/cpp_display__display_vari_bright.html deleted file mode 100644 index ceac2af..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__display_vari_bright.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayVariBright - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayVariBright
-
-
-
- - - -

Demonstrates how to obtain Vari-Bright when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Vari-Bright support.
2 Get Vari-Bright Enable state.
3 Enable VariBright.
4 Disable VariBright.
5 Check if Vari-Bright mode is Maximized Brightness preset on a display.
6 Check if Vari-Bright mode is Optimized Brightness preset on a display.
7 Check if Vari-Bright mode is Balanced preset on a display.
8 Check if Vari-Bright mode is Optimized Battery preset on a display.
9 Check if Vari-Bright mode is Maximized Battery preset on a display.
a Set the Vari-Bright mode to Maximized Brightness preset on a display.
b Set the Vari-Bright mode to Optimized Brightness preset on a display.
c Set the Vari-Bright mode to Balanced preset on a display.
d Set the Vari-Bright mode to Optimized Battery preset on a display.
e Set the Vari-Bright mode to Maximized Battery preset on a display.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayVariBright

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayVariBright support
-
void ShowDisplayVariBrightSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayVariBright state
-
void GetVariBrightEnabled(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayVariBright enable/disable
-
void SetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_bool enableDisable);
-
-
// Get displayVariBright current state
-
void GetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice);
-
-
// Get displayVariBright current state
-
void SetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayVariBrightSupport (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayVariBrightPtr displayVariBright;
-
ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === Get VariBright Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayVariBright->IsSupported (&supported);
-
std::cout << "\tVari-Bright is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl;
-
}
-
}
-
-
void GetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayVariBrightPtr displayVariBright;
-
ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === Get VariBright enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayVariBright->IsEnabled (&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_bool enableDisable)
-
{
-
IADLXDisplayVariBrightPtr displayVariBright;
-
ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
if (!enableDisable)
-
{
-
res = displayVariBright->SetEnabled (false);
-
std::cout << "\tSet enabled to false, result: " << res << std::endl;
-
}
-
else
-
{
-
res = displayVariBright->SetEnabled (true);
-
std::cout << "\tSet enabled to true, result: " << res << std::endl;
-
}
-
}
-
}
-
-
void GetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice)
-
{
-
IADLXDisplayVariBrightPtr displayVariBright;
-
ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
adlx_bool applied = false;
-
switch (userChoice)
-
{
-
case 0:
-
res = displayVariBright->IsCurrentMaximizeBrightness (&applied);
-
std::cout << "\tMaximize Brightness preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl;
-
break;
-
-
case 1:
-
res = displayVariBright->IsCurrentOptimizeBrightness (&applied);
-
std::cout << "\t Optimize Brightness preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl;
-
break;
-
-
case 2:
-
res = displayVariBright->IsCurrentBalanced (&applied);
-
std::cout << "\t Balanced preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl;
-
break;
-
-
case 3:
-
res = displayVariBright->IsCurrentOptimizeBattery (&applied);
-
std::cout << "\t Optimize Battery preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl;
-
break;
-
-
case 4:
-
res = displayVariBright->IsCurrentMaximizeBattery (&applied);
-
std::cout << "\t Maximize Battery preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl;
-
break;
-
}
-
}
-
}
-
-
void SetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice)
-
{
-
IADLXDisplayVariBrightPtr displayVariBright;
-
ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright);
-
if (ADLX_SUCCEEDED (res))
-
{
-
switch (userChoice)
-
{
-
case 0:
-
res = displayVariBright->SetMaximizeBrightness ();
-
std::cout << "\t Set Maximize Brightness , result: " << res << std::endl;
-
break;
-
-
case 1:
-
res = displayVariBright->SetOptimizeBrightness ();
-
std::cout << "\t Set Optimize Brightness, result: " << res << std::endl;
-
break;
-
-
case 2:
-
res = displayVariBright->SetBalanced ();
-
std::cout << "\t Set Balanced, result: " << res << std::endl;
-
break;
-
case 3:
-
res = displayVariBright->SetOptimizeBattery ();
-
std::cout << "\t Set Optimize Battery, result: " << res << std::endl;
-
break;
-
-
case 4:
-
res = displayVariBright->SetMaximizeBattery ();
-
std::cout << "\t Set Maximize Battery, result: " << res << std::endl;
-
break;
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display VariBright support" << std::endl;
-
std::cout << "\t->Press 2 to get VariBright enable state" << std::endl;
-
std::cout << "\t->Press 3 to set VariBright enable" << std::endl;
-
std::cout << "\t->Press 4 to set VariBright disable" << std::endl;
-
std::cout << "\t->Press 5 to check if Vari-Bright mode is Maximized Brightness preset on a display" << std::endl;
-
std::cout << "\t->Press 6 to check if Vari-Bright mode is Optimized Brightness preset on a display" << std::endl;
-
std::cout << "\t->Press 7 to check if Vari-Bright mode is Balanced preset on a display" << std::endl;
-
std::cout << "\t->Press 8 to check if Vari-Bright mode is Optimized Battery preset on a display" << std::endl;
-
std::cout << "\t->Press 9 to check if Vari-Bright mode is Maximized Battery preset on a display" << std::endl;
-
std::cout << "\t->Press a to set the Vari-Bright mode to Maximized Brightness preset on a display" << std::endl;
-
std::cout << "\t->Press b to set the Vari-Bright mode to Optimized Brightness preset on a display" << std::endl;
-
std::cout << "\t->Press c to set the Vari-Bright mode to Balanced preset on a display" << std::endl;
-
std::cout << "\t->Press d to set the Vari-Bright mode to Optimized Battery preset on a display" << std::endl;
-
std::cout << "\t->Press e to set the Vari-Bright mode to Maximized Battery preset on a display" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayVariBright support
-
case '1':
-
ShowDisplayVariBrightSupport (displayService, display);
-
break;
-
-
// Display current displayVariBright state
-
case '2':
-
GetVariBrightEnabled (displayService, display);
-
break;
-
-
// Set displayVariBright enable
-
case '3':
-
SetVariBrightEnabled (displayService, display, true);
-
break;
-
-
// Set displayVariBright enable
-
case '4':
-
SetVariBrightEnabled (displayService, display, false);
-
break;
-
-
case '5':
-
case '6':
-
case '7':
-
case '8':
-
case '9':
-
GetCurrentVariBright (displayService, display, num - '5');
-
break;
-
-
case 'a':
-
case 'b':
-
case 'c':
-
case 'd':
-
case 'e':
-
SetCurrentVariBright (displayService, display, num - 'a');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__free_sync.html b/vendor/adlx/SDKDoc/html/cpp_display__free_sync.html deleted file mode 100644 index 86a3b6d..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__free_sync.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayFreeSync - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayFreeSync
-
-
-
- - - -

Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display FreeSync support.
2 Get FreeSync state.
3 Set current FreeSync to disabled.
4 Set current FreeSync to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayFreeSync

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// so we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Dispalay displayFreeSync support
-
void ShowDisplayFreeSyncSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayFreeSync state
-
void GetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayFreeSync
-
void SetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayFreeSyncSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayFreeSyncPtr displayFreeSync;
-
ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get FreeSync Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayFreeSync->IsSupported(&supported);
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayFreeSyncPtr displayFreeSync;
-
ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get FreeSync Enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayFreeSync->IsEnabled(&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << enabled << std::endl;
-
}
-
}
-
-
void SetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayFreeSyncPtr displayFreeSync;
-
ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set FreeSync disabled
-
case 0:
-
std::cout << " === Set FreeSync Enabled: false" << std::endl;
-
res = displayFreeSync->SetEnabled(false);
-
break;
-
// Set FreeSync enabled
-
case 1:
-
std::cout << " === Set FreeSync Enabled: true" << std::endl;
-
res = displayFreeSync->SetEnabled(true);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display FreeSync support" << std::endl;
-
-
std::cout << "\t->Press 2 to get FreeSync state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current FreeSync to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current FreeSync to enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayFreeSync support
-
case '1':
-
ShowDisplayFreeSyncSupport(displayService, display);
-
break;
-
-
// Display current displayFreeSync state
-
case '2':
-
GetFreeSyncState(displayService, display);
-
break;
-
-
// Set displayFreeSync
-
case '3':
-
case '4':
-
SetFreeSyncState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__g_p_u_scaling.html b/vendor/adlx/SDKDoc/html/cpp_display__g_p_u_scaling.html deleted file mode 100644 index 8d3746c..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__g_p_u_scaling.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGPUScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGPUScaling
-
-
-
- - - -

Demonstrates how to obtain the display GPUScaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display GPUScaling support.
2 Get GPUScaling state.
3 Set current GPUScaling to disabled.
4 Set current GPUScaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGPUScaling

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayGPUScaling support
-
void ShowDisplayGPUScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayGPUScaling state
-
void GetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayGPUScaling
-
void SetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayGPUScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayGPUScalingPtr displayGPUScaling;
-
ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get GPUScaling Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayGPUScaling->IsSupported(&supported);
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayGPUScalingPtr displayGPUScaling;
-
ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get GPUScaling Enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayGPUScaling->IsEnabled(&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayGPUScalingPtr displayGPUScaling;
-
ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set GPUScaling disabled
-
case 0:
-
std::cout << " === Set GPUScaling enabled: false" << std::endl;
-
res = displayGPUScaling->SetEnabled(false);
-
break;
-
// Set GPUScaling enabled
-
case 1:
-
std::cout << " === Set GPUScaling enabled: true" << std::endl;
-
res = displayGPUScaling->SetEnabled(true);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display GPUScaling support" << std::endl;
-
-
std::cout << "\t->Press 2 to get GPUScaling state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current GPUScaling to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current GPUScaling to enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show displayGPUScaling support
-
case '1':
-
ShowDisplayGPUScalingSupport(displayService, display);
-
break;
-
-
// Display current displayGPUScaling state
-
case '2':
-
GetGPUScalingState(displayService, display);
-
break;
-
-
// Set displayGPUScaling
-
case '3':
-
case '4':
-
SetGPUScalingState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__h_d_c_p.html b/vendor/adlx/SDKDoc/html/cpp_display__h_d_c_p.html deleted file mode 100644 index 7dd1209..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__h_d_c_p.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayHDCP - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayHDCP
-
-
-
- - - -

Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display HDCP support.
2 Get HDCP state.
3 Set current HDCP to disabled.
4 Set current HDCP to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayHDCP

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// so we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display display HDCP support
-
void ShowDisplayHDCPSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current display HDCP state
-
void GetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set display HDCP
-
void SetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayHDCPSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayHDCPPtr displayHDCP;
-
ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get HDCP Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayHDCP->IsSupported(&supported);
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayHDCPPtr displayHDCP;
-
ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get HDCP Enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayHDCP->IsEnabled(&enabled);
-
std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayHDCPPtr displayHDCP;
-
ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set HDCP disabled
-
case 0:
-
std::cout << " === Set HDCP Enabled: false" << std::endl;
-
res = displayHDCP->SetEnabled(false);
-
break;
-
// Set HDCP enabled
-
case 1:
-
std::cout << " === Set HDCP Enabled: true" << std::endl;
-
res = displayHDCP->SetEnabled(true);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display HDCP support" << std::endl;
-
-
std::cout << "\t->Press 2 to get HDCP state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current HDCP to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current HDCP to enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayHDCP support
-
case '1':
-
ShowDisplayHDCPSupport(displayService, display);
-
break;
-
-
// Display current displayHDCP state
-
case '2':
-
GetHDCPState(displayService, display);
-
break;
-
-
// Set displayHDCP
-
case '3':
-
case '4':
-
SetHDCPState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__integer_scaling.html b/vendor/adlx/SDKDoc/html/cpp_display__integer_scaling.html deleted file mode 100644 index 8bc7e5f..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__integer_scaling.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayIntegerScaling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayIntegerScaling
-
-
-
- - - -

Demonstrates how to obtain integer scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display integer scaling support.
2 Get integer scaling state.
3 Set current integer scaling to disabled.
4 Set current integer scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayIntegerScaling

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayIntegerScaling support
-
void ShowDisplayIntegerScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayIntegerScaling state
-
void GetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayIntegerScaling
-
void SetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the displays list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayIntegerScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayIntegerScalingPtr displayIntegerScaling;
-
ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get IntegerScaling supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayIntegerScaling->IsSupported(&supported);
-
std::cout << "\tIsSupported, res: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayIntegerScalingPtr displayIntegerScaling;
-
ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get IntegerScaling enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayIntegerScaling->IsEnabled(&enabled);
-
std::cout << "\tGetEnabled, res: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayIntegerScalingPtr displayIntegerScaling;
-
ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set integer scaling disabled
-
case 0:
-
std::cout << " === Set IntegerScaling Enabled: false" << std::endl;
-
res = displayIntegerScaling->SetEnabled(false);
-
break;
-
// Set integer scaling enabled
-
case 1:
-
std::cout << " === Set IntegerScaling Enabled: true" << std::endl;
-
res = displayIntegerScaling->SetEnabled(true);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display integer scaling support" << std::endl;
-
-
std::cout << "\t->Press 2 to get integer scaling state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current integer scaling to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current integer scaling to enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayIntegerScaling support
-
case '1':
-
ShowDisplayIntegerScalingSupport(displayService, display);
-
break;
-
-
// Display current displayIntegerScaling state
-
case '2':
-
GetIntegerScalingState(displayService, display);
-
break;
-
-
// Set displayIntegerScaling
-
case '3':
-
case '4':
-
SetIntegerScalingState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__pixel_format.html b/vendor/adlx/SDKDoc/html/cpp_display__pixel_format.html deleted file mode 100644 index 4c39554..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__pixel_format.html +++ /dev/null @@ -1,446 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayPixelFormat - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayPixelFormat
-
-
-
- - - -

Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display pixel format support.
2 Get pixel format state.
3 Set current pixel format to RGB_444_FULL.
4 Set current pixel format to YCBCR_444.
5 Set current pixel format to YCBCR_422.
6 Set current pixel format to RGB_444_LIMITED.
7 Get support state for each pixel format.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayPixelFormat

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <unordered_map>
-
#include <algorithm>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayPixelFormat support
-
void ShowDisplayPixelFormatSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayPixelFormat state
-
void GetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayPixelFormat
-
void SetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Get support state for each pixel format
-
void GetSupportStateForEachPixelFormat(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayPixelFormatSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayPixelFormatPtr displayPixelFormat;
-
ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get pixel format supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayPixelFormat->IsSupported(&supported);
-
std::cout << "\tPixel format is supported on the display: " << supported << " , return code: " << res << " (0 means success)\n" << std::endl;
-
}
-
}
-
-
void GetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
const std::unordered_map<int, std::string> PixelFormatMap = {{0, "FORMAT_UNKNOWN"}, {1, "RGB_444_FULL"}, {2, "YCBCR_444"}, {3, "YCBCR_422"}, {4, "RGB_444_LIMITED"}};
-
IADLXDisplayPixelFormatPtr displayPixelFormat;
-
ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get pixel format enabled ===" << std::endl;
-
ADLX_PIXEL_FORMAT pf = FORMAT_UNKNOWN;
-
res = displayPixelFormat->GetValue(&pf);
-
std::string pfStr = "FORMAT_UNKNOWN";
-
auto searchIter = PixelFormatMap.find(pf);
-
if (searchIter != PixelFormatMap.end())
-
{
-
pfStr = searchIter->second;
-
}
-
std::cout << "\tGetValue, res " << res << " pixel format: " << pfStr.c_str() << std::endl;
-
}
-
}
-
-
void SetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayPixelFormatPtr displayPixelFormat;
-
ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set pixel format to RGB_444_FULL
-
case 0:
-
std::cout << " === Set pixel format to RGB_444_FULL" << std::endl;
-
res = displayPixelFormat->SetValue(RGB_444_FULL);
-
break;
-
// Set pixel format to YCBCR_444
-
case 1:
-
std::cout << " === Set pixel format to YCBCR_444" << std::endl;
-
res = displayPixelFormat->SetValue(YCBCR_444);
-
break;
-
// Set pixel format to YCBCR_422
-
case 2:
-
std::cout << " === Set pixel format to YCBCR_422" << std::endl;
-
res = displayPixelFormat->SetValue(YCBCR_422);
-
break;
-
// Set pixel format to RGB_444_LIMITED
-
case 3:
-
std::cout << " === Set pixel format to RGB_444_LIMITED" << std::endl;
-
res = displayPixelFormat->SetValue(RGB_444_LIMITED);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
// Get support state for each pixel format
-
void GetSupportStateForEachPixelFormat(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayPixelFormatPtr displayPixelFormat;
-
ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat);
-
if (ADLX_SUCCEEDED(res) && displayPixelFormat)
-
{
-
std::cout << " === Get pixel format list ===" << std::endl;
-
adlx_bool support = false;
-
-
res = displayPixelFormat->IsSupportedRGB444Full(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support RGB 4:4:4 PC Standard (Full RGB): " << support << std::endl;
-
res = displayPixelFormat->IsSupportedYCbCr444(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support YCbCr 4:4:4: " << support << std::endl;
-
res = displayPixelFormat->IsSupportedYCbCr422(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support YCbCr 4:2:2: " << support << std::endl;
-
res = displayPixelFormat->IsSupportedRGB444Limited(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support RGB 4:4:4 Studio (Limited RGB): " << support << std::endl;
-
res = displayPixelFormat->IsSupportedYCbCr420(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support YCbCr 4:2:0: " << support << std::endl;
-
-
const std::unordered_map<ADLX_PIXEL_FORMAT, std::string> PixelFormatMap{
-
{RGB_444_FULL, "RGB 4:4:4 PC Standard (Full RGB)"},
-
{YCBCR_444, "YCbCr 4:4:4"},
-
{YCBCR_422, "YCbCr 4:2:2"},
-
{RGB_444_LIMITED, "RGB 4:4:4 Studio (Limited RGB)"},
-
{YCBCR_420, "YCbCr 4:2:0"}
-
};
-
for_each(PixelFormatMap.begin(), PixelFormatMap.end(), [&](auto pixelFormat) {
-
res = displayPixelFormat->IsSupportedPixelFormat(pixelFormat.first, &support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs support " << pixelFormat.second << ": " << support << std::endl;
-
});
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display PixelFormat support" << std::endl;
-
-
std::cout << "\t->Press 2 to get PixelFormat state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current pixel format to RGB_444_FULL" << std::endl;
-
std::cout << "\t->Press 4 to set current pixel format to YCBCR_444" << std::endl;
-
std::cout << "\t->Press 5 to set current pixel format to YCBCR_422" << std::endl;
-
std::cout << "\t->Press 6 to set current pixel format to RGB_444_LIMITED" << std::endl;
-
-
std::cout << "\t->Press 7 to get support state for each pixel format" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayPixelFormat support
-
case '1':
-
ShowDisplayPixelFormatSupport(displayService, display);
-
break;
-
-
// Display current displayPixelFormat state
-
case '2':
-
GetPixelFormatState(displayService, display);
-
break;
-
-
// Set displayPixelFormat
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetPixelFormatState(displayService, display, num - '3');
-
break;
-
-
// Get displayPixelFormat support list
-
case '7':
-
GetSupportStateForEachPixelFormat(displayService, display);
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ YCBCR_420
Definition: ADLXDefines.h:706
-
@ FORMAT_UNKNOWN
Definition: ADLXDefines.h:701
-
@ RGB_444_FULL
Definition: ADLXDefines.h:702
-
@ YCBCR_444
Definition: ADLXDefines.h:703
-
@ RGB_444_LIMITED
Definition: ADLXDefines.h:705
-
@ YCBCR_422
Definition: ADLXDefines.h:704
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_PIXEL_FORMAT
Indicates the pixel format to encode images for the display.
Definition: ADLXDefines.h:700
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__scaling_mode.html b/vendor/adlx/SDKDoc/html/cpp_display__scaling_mode.html deleted file mode 100644 index 24d35a9..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__scaling_mode.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayScalingMode - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayScalingMode
-
-
-
- - - -

Demonstrates how to obtain scaling mode when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display scaling mode support.
2 Get scaling mode state.
3 Set current scaling mode to PRESERVE_ASPECT_RATIO.
4 Set current scaling mode to FULL_PANEL.
5 Set current scaling mode to CENTERED.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayScalingMode

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <unordered_map>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayScalingMode support
-
void ShowDisplayScalingModeSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayScalingMode state
-
void GetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayScalingMode
-
void SetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayScalingModeSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayScalingModePtr displayScalingMode;
-
ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get ScalingMode Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayScalingMode->IsSupported(&supported);
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
const std::unordered_map<int, std::string> scalingModeMap =
-
{
-
{0, "PRESERVE_ASPECT_RATIO"},
-
{1, "FULL_PANEL"},
-
{2, "CENTERED"}};
-
-
IADLXDisplayScalingModePtr displayScalingMode;
-
ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get ScalingMode Enabled ===" << std::endl;
-
ADLX_SCALE_MODE sm = PRESERVE_ASPECT_RATIO;
-
res = displayScalingMode->GetMode(&sm);
-
std::string smStr = "Unknown";
-
auto searchIter = scalingModeMap.find(sm);
-
if (searchIter != scalingModeMap.end())
-
{
-
smStr = searchIter->second;
-
}
-
std::cout << "\tGetMode, result " << res << " mode: " << smStr.c_str() << std::endl;
-
}
-
}
-
-
void SetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayScalingModePtr displayScalingMode;
-
ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set scaling mode to PRESERVE_ASPECT_RATIO
-
case 0:
-
std::cout << " === Set ScalingMode PRESERVE_ASPECT_RATIO" << std::endl;
-
res = displayScalingMode->SetMode(PRESERVE_ASPECT_RATIO);
-
break;
-
// Set scaling mode to FULL_PANEL
-
case 1:
-
std::cout << " === Set ScalingMode FULL_PANEL" << std::endl;
-
res = displayScalingMode->SetMode(FULL_PANEL);
-
break;
-
// Set scaling mode to CENTERED
-
case 2:
-
std::cout << " === Set ScalingMode CENTERED" << std::endl;
-
res = displayScalingMode->SetMode(CENTERED);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display scaling mode support" << std::endl;
-
-
std::cout << "\t->Press 2 to get scaling mode state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current scaling mode to PRESERVE_ASPECT_RATIO" << std::endl;
-
std::cout << "\t->Press 4 to set current scaling mode to FULL_PANEL" << std::endl;
-
std::cout << "\t->Press 5 to set current scaling mode to CENTERED" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayScalingMode support
-
case '1':
-
ShowDisplayScalingModeSupport(displayService, display);
-
break;
-
-
// Display current displayScalingMode state
-
case '2':
-
GetScalingModeState(displayService, display);
-
break;
-
-
// Set displayScalingMode
-
case '3':
-
case '4':
-
case '5':
-
SetScalingModeState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ FULL_PANEL
Definition: ADLXDefines.h:664
-
@ CENTERED
Definition: ADLXDefines.h:665
-
@ PRESERVE_ASPECT_RATIO
Definition: ADLXDefines.h:663
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_SCALE_MODE
Indicates the methods to stretch and position the image to fit on the display.
Definition: ADLXDefines.h:662
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_display__v_s_r.html b/vendor/adlx/SDKDoc/html/cpp_display__v_s_r.html deleted file mode 100644 index 01e9327..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_display__v_s_r.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayVSR - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayVSR
-
-
-
- - - -

Demonstartes how to obtain VSR when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display VSR support.
2 Get VSR state.
3 Set current VSR to disabled.
4 Set current VSR to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayVSR

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display displayVSR support
-
void ShowDisplayVSRSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Display current displayVSR state
-
void GetVirtualSuperResolutionState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set displayVSR
-
void SetVSRState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayVSRSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayVSRPtr displayVSR;
-
ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get VSR Supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayVSR->IsSupported(&supported);
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetVirtualSuperResolutionState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayVSRPtr displayVSR;
-
ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get VSR Enabled ===" << std::endl;
-
adlx_bool enabled = false;
-
res = displayVSR->IsEnabled(&enabled);
-
std::cout << "\tGetEnabled: " << (enabled ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetVSRState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayVSRPtr displayVSR;
-
ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set VSR disabled
-
case 0:
-
std::cout << " === Set VSR enabled: false" << std::endl;
-
res = displayVSR->SetEnabled(false);
-
break;
-
// Set VSR enabled
-
case 1:
-
std::cout << " === Set VSR enabled: true" << std::endl;
-
res = displayVSR->SetEnabled(true);
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to Display VSR support" << std::endl;
-
-
std::cout << "\t->Press 2 to get VSR state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current VSR to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current VSR to enabled" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Display action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display displayVSR support
-
case '1':
-
ShowDisplayVSRSupport(displayService, display);
-
break;
-
-
// Display current displayVSR state
-
case '2':
-
GetVirtualSuperResolutionState(displayService, display);
-
break;
-
-
// Set displayVSR
-
case '3':
-
case '4':
-
SetVSRState(displayService, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sam.html b/vendor/adlx/SDKDoc/html/cpp_sam.html deleted file mode 100644 index a0d5e97..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sam.html +++ /dev/null @@ -1,459 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SmartAccessMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SmartAccessMemory
-
-
-
- - - -

Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartAccess Memory support status on a GPU.
2 Display AMD SmartAccess Memory enabled status.
3 Set AMD SmartAccess Memory state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/SmartAccessMemory

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/ISmartAccessMemory.h"
-
#include "SDK/Include/IGPUTuning1.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
static HANDLE SAMEvent = nullptr;
-
-
class GPUTuningChangedListener : public IADLXGPUTuningChangedListener
-
{
-
public:
-
-
bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent)
-
{
-
IADLXGPUTuningChangedEvent1Ptr pGPUTuningChangedEvent1 = IADLXGPUTuningChangedEvent1Ptr(pGPUTuningChangedEvent);
-
adlx_bool SAMChange = pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged();
-
if (SAMChange)
-
{
-
adlx_bool enabled = false, completed = false;
-
pGPUTuningChangedEvent1->GetSmartAccessMemoryStatus(&enabled, &completed);
-
}
-
-
SetEvent(SAMEvent);
-
return true;
-
}
-
};
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported
-
adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus);
-
-
// Display AMD SmartAccess Memory support status on a GPU
-
void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus);
-
-
// Display AMD SmartAccess Memory enabled status
-
void ShowSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus);
-
-
// Set AMD SmartAccess Memory state
-
void SetSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUTuningServicesPtr gpuTuningService;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get gpuTuningService1 via gpuTuningService::QueryInterface()
-
IADLXGPUTuningServices1Ptr gpuTuningService1;
-
res = gpuTuningService->QueryInterface(gpuTuningService1->IID(), reinterpret_cast<void**>(&gpuTuningService1));
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXGPUTuningChangedHandlingPtr gpuTuningHandling;
-
res = gpuTuningService1->GetGPUTuningChangedHandling(&gpuTuningHandling);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Add listener
-
SAMEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
-
static GPUTuningChangedListener listener;
-
ADLX_RESULT eventRes = gpuTuningHandling->AddGPUTuningEventListener(&listener);
-
-
// Menu
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
-
// Get and execute the choice
-
MenuControl(gpuTuningService1, gpus);
-
}
-
else
-
std::cout << "Failed to get GPU list" << std::endl;
-
-
// Remove listener
-
if (ADLX_SUCCEEDED(eventRes))
-
eventRes = gpuTuningHandling->RemoveGPUTuningEventListener(&listener);
-
}
-
else
-
std::cout << "Failed to get GPU Tuning Changed Handling" << std::endl;
-
}
-
else
-
std::cout << "Failed to get gpuTuningService1" << std::endl;
-
}
-
else
-
std::cout << "Failed to get gpuTuningService" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display AMD SmartAccess Memory supported GPUs" << std::endl;
-
std::cout << "\t->Press 2 to display AMD SmartAccess Memory enabled status" << std::endl;
-
std::cout << "\t->Press 3 to set the AMD SmartAccess Memory state" << std::endl;
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display AMD SmartAccess Memory support status on a GPU
-
case '1':
-
ShowSmartAccessMemorySupport(gpuTuningService1, gpus);
-
break;
-
-
// Display AMD SmartAccess Memory enabled status
-
case '2':
-
ShowSmartAccessMemoryState(gpuTuningService1, gpus);
-
break;
-
-
// Set AMD SmartAccess Memory state
-
case '3':
-
SetSmartAccessMemoryState(gpuTuningService1, gpus);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported
-
adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus)
-
{
-
adlx_uint supportedIndex = -1;
-
IADLXGPUPtr oneGPU;
-
IADLXSmartAccessMemoryPtr smartAccessMemory;
-
for (auto index = gpus->Begin(); index != gpus->End(); ++index)
-
{
-
ADLX_RESULT res = gpus->At(index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the AMD SmartAccess Memory interface
-
res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
ADLX_RESULT res = smartAccessMemory->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res) && supported)
-
{
-
supportedIndex = index;
-
break;
-
}
-
}
-
}
-
}
-
return supportedIndex;
-
}
-
-
// Display AMD SmartAccess Memory support status on a GPU
-
void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl;
-
else
-
std::cout << "The " << (index + 1) << "th GPU support AMD SmartAccess Memory" << std::endl;
-
}
-
-
// Display AMD SmartAccess Memory enabled status
-
void ShowSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl;
-
else
-
{
-
IADLXGPUPtr oneGPU;
-
ADLX_RESULT res = gpus->At(index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSmartAccessMemoryPtr smartAccessMemory;
-
res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool enabled = false;
-
res = smartAccessMemory->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "The AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on the " << (index + 1) << "th GPU" << std::endl;
-
else
-
std::cout << "Call IsEnabled() failed" << std::endl;
-
}
-
else
-
std::cout << "Failed to get smartAccessMemory" << std::endl;
-
}
-
else
-
std::cout << "Failed to get the GPU" << std::endl;
-
}
-
}
-
-
// Set AMD SmartAccess Memory state
-
void SetSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus)
-
{
-
auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus);
-
if (index == -1)
-
std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl;
-
else
-
{
-
IADLXGPUPtr oneGPU;
-
ADLX_RESULT res = gpus->At(index, &oneGPU);
-
if (ADLX_SUCCEEDED(res))
-
{
-
IADLXSmartAccessMemoryPtr smartAccessMemory;
-
res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool enabled = false;
-
res = smartAccessMemory->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "Currently AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on " << (index + 1) << "th GPU" << std::endl;
-
else
-
std::cout << "Call IsEnabled() failed" << std::endl;
-
res = smartAccessMemory->SetEnabled(!enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "Set AMD SmartAccess Memory to " << (!enabled ? "enabled" : "disabled") << " for " << (index + 1) << "th GPU" << std::endl;
-
else
-
std::cout << "Call SetEnabled() failed" << std::endl;
-
-
// First event received quickly before SAM start
-
WaitForSingleObject(SAMEvent, 2000);
-
-
// When receive the first event, avoid calling any other ADLX method, and if any UI application is running, we must close it to avoid crashing
-
// Close(application)......
-
-
// Second event received after SAM completed, the maximum consuming time less than 20 seconds.
-
WaitForSingleObject(SAMEvent, 20000);
-
-
// Now SAM completed, we can restart the UI application, and continue to call ADLX function
-
// Start(application)......
-
-
res = smartAccessMemory->IsEnabled(&enabled);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "After setting, AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on " << (index + 1) << "th GPU" << std::endl;
-
else
-
std::cout << "Call IsEnabled() failed" << std::endl;
-
}
-
else
-
std::cout << "Failed to get smartAccessMemory" << std::endl;
-
}
-
else
-
std::cout << "Failed to get the GPU" << std::endl;
-
}
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__async_event_handling.html b/vendor/adlx/SDKDoc/html/cpp_sample__async_event_handling.html deleted file mode 100644 index 556b5ba..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__async_event_handling.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AsyncEventHandling - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AsyncEventHandling
-
-
-
- - - -

Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <thread>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// Handle gamutChangedEevent
-
HANDLE gamutChangedEvent = nullptr;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Callback displayGamut in thread
-
class DisplayGamutCallBack : public IADLXDisplayGamutChangedListener
-
{
-
public:
-
~DisplayGamutCallBack()
-
{
-
if (m_td)
-
{
-
m_td->detach();
-
}
-
}
-
-
adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) override
-
{
-
// Acquire the interface before passing to the asynchronous thread
-
pDisplayGamutChangedEvent->Acquire();
-
auto run = [](IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) {
-
-
// Some time-consuming operations
-
Sleep(5000);
-
std::cout << "On the asynchronous thread: Thread Id: " << GetCurrentThreadId() << " : After the time-consuming operations, get the display gamut changed event:" << std::endl;
-
std::cout << "\tColor space change: " << pDisplayGamutChangedEvent->IsColorSpaceChanged() << std::endl
-
<< "\tWhite point change: " << pDisplayGamutChangedEvent->IsWhitePointChanged() << std::endl;
-
-
// Release the interface when the task is completed.
-
pDisplayGamutChangedEvent->Release();
-
-
SetEvent(gamutChangedEvent);
-
};
-
-
m_td = std::make_shared<std::thread>(run, pDisplayGamutChangedEvent);
-
return true;
-
}
-
-
private:
-
std::shared_ptr<std::thread> m_td = nullptr;
-
};
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create event
-
gamutChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display change handler
-
IADLXDisplayChangedHandlingPtr displayChangeHandler;
-
res = displayService->GetDisplayChangedHandling(&displayChangeHandler);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit ("Failed to get display change handler", 0);
-
}
-
// Create the callbacks
-
IADLXDisplayGamutChangedListener* gamutChangeCallBack = new DisplayGamutCallBack;
-
-
// Add the callbacks to the ADLX event handler
-
ADLX_RESULT addListenerRes = displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack);
-
-
// Set gamut for the first display
-
IADLXDisplayListPtr displays;
-
displayService->GetDisplays(&displays);
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
displays->At(it, &display);
-
IADLXDisplayGamutPtr dispGamut;
-
res = displayService->GetGamut(display, &dispGamut);
-
res = dispGamut->SetGamut(WHITE_POINT_5000K, GAMUT_SPACE_CIE_RGB);
-
std::cout << "Set gamut ret: " << res << std::endl;
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "This will trigger gamut change and send gamut change in thread: " << GetCurrentThreadId() << std::endl;
-
}
-
-
if (ADLX_SUCCEEDED (addListenerRes))
-
{
-
// Wait for gamut change
-
WaitForSingleObject(gamutChangedEvent, INFINITE);
-
-
// Remove and destroy callbacks
-
res = displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack);
-
if (ADLX_FAILED (res))
-
std::cout << "Remove display gamut event listener failed" << std::endl;
-
}
-
-
delete gamutChangeCallBack;
-
gamutChangeCallBack = nullptr;
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the Display Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Close event
-
if (gamutChangedEvent)
-
CloseHandle(gamutChangedEvent);
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ GAMUT_SPACE_CIE_RGB
Definition: ADLXDefines.h:547
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ WHITE_POINT_5000K
Definition: ADLXDefines.h:563
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__g_p_u_service_call.html b/vendor/adlx/SDKDoc/html/cpp_sample__g_p_u_service_call.html deleted file mode 100644 index 5894198..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__g_p_u_service_call.html +++ /dev/null @@ -1,633 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUServiceCall - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUServiceCall
-
-
-
- - - -

Background

-

User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.

-

This documentation demonstrates how to call ADLX functionalities in windows service call.

-

We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.

-

Usage

-

This executable is run as service (if you run it as a normal application it will abort with errors)

-

Install this service

-
    -
  1. Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:

    -
  2. -
-
-

“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/CPP/build/bin/Debug/”

-
-
    -
  1. Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:

  2. -
-
-

Text Description automatically generated

-
-
    -
  1. Check if the service is installed:

  2. -
-
-

Open windows’ service settings by win+R with services.msc:

-

Graphical user interface, text, application Description automatically generated

-

Check service with name “ADLX GPU Service”

-

-
-

Uninstall “ADLX GPU Service”

-

Open windows command line utility with administrator permission, enter “GPUService.exe -remove”

-

-

The service is removed in OS.

-

Debug this service

-
    -
  1. Start the service:

  2. -
-

Graphical user interface, application Description automatically generated

-
    -
  1. Run the debugging executable (compiled with debug configuration)

  2. -
-

Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.

-
    -
  1. Set Dbgview.exe (admin mode) with below options:

  2. -
-

Graphical user interface, text, application, email Description automatically generated

-
    -
  1. Check the service outputs (with “ADLX Call Service:”prefix):

  2. -
-

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#pragma warning(suppress: 6248)
-
-
#include <Windows.h>
-
#include <TlHelp32.h>
-
#include <tchar.h>
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/ISystem.h"
-
#include "GlobalDefs.h"
-
#include <string>
-
#include <iostream>
-
-
void XTrace (wchar_t* lpszFormat, ...)
-
{
-
va_list args;
-
va_start (args, lpszFormat);
-
int nBuf;
-
WCHAR szBuffer[MAX_DEBUG_STR_LEN];
-
nBuf = _vsnwprintf_s (szBuffer, MAX_DEBUG_STR_LEN, _TRUNCATE, lpszFormat, args);
-
::OutputDebugStringW (szBuffer);
-
va_end (args);
-
}
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// So we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Service name
-
#define ADLX_SERVICE_NAME L"ADLX GPU Service"
-
-
// Global variables for service routine
-
SERVICE_STATUS_HANDLE g_StatusHandle = NULL;
-
SERVICE_STATUS g_ServiceStatus = { 0 };
-
HANDLE g_ServiceStopEvent = INVALID_HANDLE_VALUE;
-
-
// Service routine
-
VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv);
-
VOID WINAPI ServiceCtrlHandler (DWORD);
-
DWORD WINAPI ServiceWorkerThread (LPVOID lpParam);
-
-
// Install/unistall this service
-
// N.B: Need admin permission
-
// User can also install/unistall this service by windows command line
-
// Usage: SC CREATE "ADLX GPU Service" "GPUService.exe"
-
// SC DELETE "ADLX GPU Service"
-
void InstallService ();
-
void RemoveService ();
-
-
// Invoker GPU information with ADLX in user process by share memory communication
-
extern BOOL GetUserProcessData (Messager* messager, ResponseData* responseData);
-
-
// Convert string to wstring
-
void StrToWstr (std::string& sStr, std::wstring& wStr)
-
{
-
wchar_t* buf = new wchar_t[sStr.size () + 1];
-
size_t num_chars;
-
mbstowcs_s (&num_chars, buf, sStr.size () + 1, sStr.c_str (), sStr.size () + 1);
-
wStr = buf;
-
delete[] buf;
-
}
-
-
// ADLX executor to be run in user process
-
// Retrieve the first available GPU vender id and name
-
BOOL GetAdlxGpuInfo (WCHAR* resultBuffer)
-
{
-
if (resultBuffer == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetAdlxGpuInfo: invalid argument");
-
return FALSE;
-
}
-
-
if (ADLX_FAILED (g_ADLXHelp.Initialize ()))
-
{
-
XTrace (L"ADLX Call Service: GetAdlxGpuInfo: ADLX helper initalize failed.");
-
return FALSE;
-
}
-
-
IADLXGPUListPtr gpus;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices ()->GetGPUs (&gpus);
-
if (!gpus->Empty () && ADLX_SUCCEEDED (res))
-
{
-
IADLXGPUPtr gpuInfo;
-
adlx_uint index = 0;
-
res = gpus->At (index, &gpuInfo);
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
const char* vendorId = nullptr;
-
res = gpuInfo->VendorId (&vendorId);
-
if (ADLX_SUCCEEDED (res))
-
{
-
swprintf_s (resultBuffer, MAX_RESULT_LEN, L"VenderId=%hs ", vendorId);
-
}
-
-
const char* gpuName = nullptr;
-
res = gpuInfo->Name (&gpuName);
-
if (ADLX_SUCCEEDED (res))
-
{
-
swprintf_s (resultBuffer + wcslen (resultBuffer), MAX_RESULT_LEN - wcslen (resultBuffer), L"GpuName=%hs", gpuName);
-
}
-
-
return TRUE;
-
}
-
}
-
-
return FALSE;
-
}
-
-
// Get and dump GPU vender id and name
-
void ShowGPUInfo ()
-
{
-
ResponseData result;
-
Messager oneMessager;
-
oneMessager.adlxEntityName = ADLX_FUNCTION_NAME;
-
oneMessager.exector = GetAdlxGpuInfo;
-
-
if (GetUserProcessData (&oneMessager, &result))
-
{
-
// Dump results
-
XTrace (L"ADLX Call Service:ShowGPUInfo: %s", result.executedResults);
-
}
-
}
-
-
// Usage
-
void Usage ()
-
{
-
std::cout << std::endl;
-
std::cout << "\tThis exe is a service executable, you can install/unistall it with:" << std::endl;
-
std::cout << "\t SC CREATE 'ADLX GPU Service' 'GPUService.exe'" << std::endl;
-
std::cout << "\t SC DELETE 'ADLX GPU Service'" << std::endl;
-
std::cout << std::endl;
-
std::cout << "\tOr use the executable itself to install/uninstall:" << std::endl;
-
std::cout << "\t GPUService.exe -install or GPUService.exe /install" << std::endl;
-
std::cout << "\t GPUService.exe -remove or GPUService.exe /remove" << std::endl;
-
std::cout << std::endl;
-
std::cout << "\t Use GPUService.exe -help, GPUService.exe /help to show this usage, or GPUService.exe ?" << std::endl;
-
std::cout << std::endl;
-
}
-
-
int wmain (int argc, wchar_t* argv[])
-
{
-
XTrace (L"ADLX Call Service: Main: Entry");
-
XTrace (L"ADLX Call Service: Main: Args:%s", GetCommandLineW ());
-
-
if ((argc > 1))
-
{
-
if (((*argv[1] == '-') || (*argv[1] == '/')))
-
{
-
if (_wcsicmp (L"install", argv[1] + 1) == 0)
-
{
-
InstallService ();
-
return 0;
-
}
-
else if (_wcsicmp (L"remove", argv[1] + 1) == 0)
-
{
-
RemoveService ();
-
return 0;
-
}
-
else if (_wcsicmp (L"help", argv[1] + 1) == 0)
-
{
-
Usage ();
-
return 0;
-
}
-
}
-
else if (_wcsicmp (L"?", argv[1]) == 0)
-
{
-
Usage ();
-
return 0;
-
}
-
}
-
else if (_wcsicmp (L"GPUInfo", GetCommandLineW ()) == 0)
-
{
-
WCHAR eventPath[MAX_PATH] = { 0 };
-
WCHAR shmPath[MAX_PATH] = { 0 };
-
-
swprintf_s (eventPath, ADXL_EVENT_NAME, ADLX_FUNCTION_NAME);
-
swprintf_s (shmPath, ADXL_SHAREMENORY_NAME, ADLX_FUNCTION_NAME);
-
-
XTrace (L"ADLX Call Service: Main: GPUInfo evt: %s, shmpath: %s\n", eventPath, shmPath);
-
-
ShareMem shmf;
-
if (shmf.Create (SHARE_MEMORY_MAX_SIZE, shmPath))
-
{
-
Messager messager;
-
if (shmf.ReadBuffer ((PVOID)&messager, sizeof (Messager)))
-
{
-
ResponseData result;
-
if (messager.exector (result.executedResults))
-
{
-
result.size = (int)wcslen (result.executedResults);
-
shmf.WriteBuffer ((PVOID*)&result, (ULONG)sizeof (result));
-
-
HANDLE hEvent = OpenEventW (EVENT_ALL_ACCESS, FALSE, eventPath);
-
if (hEvent)
-
{
-
SetEvent (hEvent);
-
CloseHandle (hEvent);
-
XTrace (L"ADLX Call Service: Main: GPUInfo, user app finished.");
-
}
-
}
-
}
-
}
-
-
return 0;
-
}
-
-
SERVICE_TABLE_ENTRYW ServiceTable[] =
-
{
-
{ ADLX_SERVICE_NAME, (LPSERVICE_MAIN_FUNCTIONW)ServiceMain },
-
{ NULL, NULL }
-
};
-
-
if (StartServiceCtrlDispatcherW (ServiceTable) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: Main: StartServiceCtrlDispatcher returned error.");
-
return GetLastError ();
-
}
-
-
XTrace (L"ADLX Call Service: Main: Exit");
-
return 0;
-
}
-
-
VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv)
-
{
-
DWORD Status = E_FAIL;
-
-
XTrace (L"ADLX Call Service: ServiceMain: Entry");
-
-
g_StatusHandle = RegisterServiceCtrlHandlerW (ADLX_SERVICE_NAME, ServiceCtrlHandler);
-
if (g_StatusHandle == NULL)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: RegisterServiceCtrlHandler returned error");
-
goto EXIT;
-
}
-
-
// Tell the service controller we are starting
-
ZeroMemory (&g_ServiceStatus, sizeof (g_ServiceStatus));
-
g_ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwServiceSpecificExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 0;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
/*
-
* Perform tasks neccesary to start the service here
-
*/
-
XTrace (L"ADLX Call Service: ServiceMain: Performing Service Start Operations");
-
-
// Create stop event to wait on later.
-
g_ServiceStopEvent = CreateEvent (NULL, TRUE, FALSE, NULL);
-
if (g_ServiceStopEvent == NULL)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: CreateEvent(g_ServiceStopEvent) returned error");
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOPPED;
-
g_ServiceStatus.dwWin32ExitCode = GetLastError ();
-
g_ServiceStatus.dwCheckPoint = 1;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
goto EXIT;
-
}
-
-
// Tell the service controller we are started
-
g_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
-
g_ServiceStatus.dwCurrentState = SERVICE_RUNNING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 0;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
// Start the thread that will perform the main task of the service
-
HANDLE hThread = CreateThread (NULL, 0, ServiceWorkerThread, NULL, 0, NULL);
-
-
XTrace (L"ADLX Call Service: ServiceMain: Waiting for Worker Thread to complete");
-
-
// Wait until our worker thread exits effectively signaling that the service needs to stop
-
WaitForSingleObject (hThread, INFINITE);
-
-
XTrace (L"ADLX Call Service: ServiceMain: Worker Thread Stop Event signaled");
-
-
/*
-
* Perform any cleanup tasks
-
*/
-
XTrace (L"ADLX Call Service: ServiceMain: Performing Cleanup Operations");
-
-
CloseHandle (g_ServiceStopEvent);
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOPPED;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 3;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error");
-
}
-
-
EXIT:
-
XTrace (L"ADLX Call Service: ServiceMain: Exit");
-
-
return;
-
}
-
-
VOID WINAPI ServiceCtrlHandler (DWORD CtrlCode)
-
{
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: Entry");
-
-
switch (CtrlCode)
-
{
-
case SERVICE_CONTROL_STOP:
-
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: SERVICE_CONTROL_STOP Request");
-
-
if (g_ServiceStatus.dwCurrentState != SERVICE_RUNNING)
-
break;
-
-
/*
-
* Perform tasks neccesary to stop the service here
-
*/
-
-
g_ServiceStatus.dwControlsAccepted = 0;
-
g_ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
-
g_ServiceStatus.dwWin32ExitCode = 0;
-
g_ServiceStatus.dwCheckPoint = 4;
-
-
if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE)
-
{
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: SetServiceStatus returned error");
-
}
-
-
// This will signal the worker thread to shut down
-
SetEvent (g_ServiceStopEvent);
-
break;
-
-
default:
-
break;
-
}
-
-
XTrace (L"ADLX Call Service: ServiceCtrlHandler: Exit");
-
}
-
-
DWORD WINAPI ServiceWorkerThread (LPVOID lpParam)
-
{
-
XTrace (L"ADLX Call Service: ServiceWorkerThread: Entry");
-
-
// Periodically check if the service has been requested to stop
-
while (WaitForSingleObject (g_ServiceStopEvent, 0) != WAIT_OBJECT_0)
-
{
-
ShowGPUInfo ();
-
Sleep (3 * 1000);
-
}
-
-
XTrace (L"ADLX Call Service: ServiceWorkerThread: Exit");
-
-
return ERROR_SUCCESS;
-
}
-
-
void InstallService ()
-
{
-
WCHAR path[512] = { 0 };
-
if (GetModuleFileNameW (NULL, path, 512) == 0)
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot get file path.");
-
return;
-
}
-
-
SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE);
-
if (serviceManager)
-
{
-
SC_HANDLE serviceHandle = CreateServiceW (
-
serviceManager, ADLX_SERVICE_NAME, ADLX_SERVICE_NAME, SERVICE_QUERY_STATUS,
-
SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS,
-
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path,
-
NULL, NULL, L"", NULL, NULL);
-
-
if (serviceHandle)
-
{
-
CloseServiceHandle (serviceHandle);
-
}
-
else
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot create service.");
-
}
-
-
CloseServiceHandle (serviceManager);
-
}
-
else
-
{
-
XTrace (L"ADLX Call Service: InstallService: Cannot open service.");
-
}
-
}
-
-
void RemoveService ()
-
{
-
SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT);
-
if (!serviceManager)
-
{
-
XTrace (L"ADLX Call Service: RemoveService: Cannot open service manager.");
-
return;
-
}
-
-
SC_HANDLE serviceHandle = OpenServiceW (serviceManager, ADLX_SERVICE_NAME, DELETE | SERVICE_STOP);
-
if (!serviceHandle)
-
{
-
CloseServiceHandle (serviceManager);
-
XTrace (L"ADLX Call Service: RemoveService: Cannot open service.");
-
return;
-
}
-
-
if (!DeleteService (serviceHandle))
-
{
-
CloseServiceHandle (serviceHandle);
-
CloseServiceHandle (serviceManager);
-
XTrace (L"ADLX Call Service: RemoveService: Delete service failed.");
-
return;
-
}
-
-
XTrace (L"ADLX Call Service: RemoveService: Deleted service.");
-
-
SERVICE_STATUS serviceStatus = { 0 };
-
ControlService (serviceHandle, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&serviceStatus);
-
-
CloseServiceHandle (serviceHandle);
-
CloseServiceHandle (serviceManager);
-
}
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__invalid_object.html b/vendor/adlx/SDKDoc/html/cpp_sample__invalid_object.html deleted file mode 100644 index 7c315bb..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__invalid_object.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: InvalidObject - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
InvalidObject
-
-
-
- - - -

Demonstrates how to handle invalid objects when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Generic/InvalidObject

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get the display list and iterate through the list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_FAILED (res))
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the Display list", 0);
-
}
-
adlx_uint it = displayList->Begin();
-
IADLXDisplayPtr display;
-
for (; it != displayList->End(); it++)
-
{
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
break;
-
}
-
}
-
-
// Get the display name and prompt to unplug the display
-
const char* dispName;
-
res = display->Name(&dispName);
-
std::cout << "Within 15 seconds, unplug the display " << dispName << std::endl;
-
-
// Block for 15s
-
Sleep(15 * 1000);
-
-
//After 15 seconds, reading the display name again. If the display was unplugged, the method will fail and return ADLX_INVALID_OBJECT.
-
// Get display name again.
-
res = display->Name(&dispName);
-
std::cout << "Get display name return code is: " << res << " (" << ADLX_INVALID_OBJECT << " means that the method was called into an invalid object)" << std::endl;
-
if (ADLX_INVALID_OBJECT == res)
-
{
-
//To do: Handle the invalid display
-
std::cout << "The display is invalid." << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the Display Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
return 0;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_INVALID_OBJECT
Definition: ADLXDefines.h:289
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__primary_adapter.html b/vendor/adlx/SDKDoc/html/cpp_sample__primary_adapter.html deleted file mode 100644 index 228d444..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__primary_adapter.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: PrimaryAdapter - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
PrimaryAdapter
-
-
-
- - - -

Demonstrates how to get the primary adapter when programming with ADLX.

-

Command Prompts

- - - - - - - - - -
Command PromptDescription
1 Display the Primary Adapter.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Desktop/PrimaryAdapter

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl();
-
-
// Display the primary adapter
-
void ShowPrimaryAdapter();
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl();
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display the Primary Adapter" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl()
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display the Primary Adapter
-
case '1':
-
ShowPrimaryAdapter();
-
break;
-
-
// Display the options again
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Display how to get primary adapter
-
void ShowPrimaryAdapter()
-
{
-
IADLXDesktopServicesPtr desktopSrv;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop Services interface" << std::endl;
-
return;
-
}
-
IADLXDesktopListPtr desktops;
-
res = desktopSrv->GetDesktops(&desktops);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop List interface " << std::endl;
-
return;
-
}
-
for (adlx_uint crt = desktops->Begin(); crt != desktops->End(); ++crt)
-
{
-
IADLXDesktopPtr desktop;
-
res = desktops->At(crt, &desktop);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop interface" << std::endl;
-
break;
-
}
-
ADLX_Point point = { 0 };
-
res = desktop->TopLeft (&point);
-
if (ADLX_SUCCEEDED(res) && 0 == point.x && 0 == point.y)
-
{
-
IADLXDisplayListPtr displays;
-
res = desktop->GetDisplays(&displays);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Display List interface" << std::endl;
-
return;
-
}
-
IADLXDisplayPtr display;
-
res = displays->At(0, &display);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the first display" << std::endl;
-
return;
-
}
-
IADLXGPUPtr gpu;
-
res = display->GetGPU (&gpu);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the GPU" << std::endl;
-
return;
-
}
-
const char* gpuName;
-
gpu->Name (&gpuName);
-
std::cout << "\tPrimary Adapter: " << gpuName << std::endl;
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int y
Definition: ADLXStructures.h:40
-
adlx_int x
Definition: ADLXStructures.h:39
-
This structure contains information on driver point coordinates, and is used to store the driver-poin...
Definition: ADLXStructures.h:38
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__share_memory.html b/vendor/adlx/SDKDoc/html/cpp_sample__share_memory.html deleted file mode 100644 index 9fbe5f4..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__share_memory.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ShareMemory - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ShareMemory
-
-
-

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include <Windows.h>
-
#include "GlobalDefs.h"
-
-
// Constructor
-
ShareMem::ShareMem ()
-
: file_ (NULL), buffer_ (NULL), size_ (0)
-
{
-
}
-
-
// Destructor
-
ShareMem::~ShareMem ()
-
{
-
if (file_)
-
{
-
CloseHandle (file_);
-
file_ = NULL;
-
}
-
-
if (buffer_)
-
{
-
UnmapViewOfFile (buffer_);
-
buffer_ = NULL;
-
}
-
}
-
-
// Create shared memory
-
bool ShareMem::Create (ULONG filesize, PCWCHAR filename)
-
{
-
DWORD errCode = 0;
-
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
size_ = filesize;
-
-
// After setting this permission, the general application does not have administrator privileges
-
// In order to start to open mapping file Otherwise Access Denny
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
// Create a mapped file
-
file_ = CreateFileMappingW (INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, filesize, filename);
-
if (file_ == NULL)
-
{
-
XTrace (L"ADLX Call Service: ShareMem::Create: CreateFileMappingW, error: %d\n", GetLastError());
-
return false;
-
}
-
-
// In the external function can be directly manipulate the variables to get the memory-mapped file.
-
if (buffer_)
-
{
-
UnmapViewOfFile (buffer_);
-
buffer_ = NULL;
-
}
-
-
buffer_ = MapViewOfFile (file_, FILE_MAP_ALL_ACCESS, 0, 0, filesize);
-
if (buffer_ == NULL)
-
{
-
XTrace (L"ADLX Call Service: ShareMem::Create: MapViewOfFile, error: %d\n", GetLastError ());
-
return false;
-
}
-
-
XTrace (L"ADLX Call Service: ShareMem::Create: OK\n");
-
-
return true;
-
}
-
-
// Write data to shared memory
-
bool ShareMem::WriteBuffer (PVOID buffer, ULONG size)
-
{
-
if (buffer && size > 0)
-
{
-
memcpy_s (buffer_, size, buffer, size);
-
return true;
-
}
-
-
return false;
-
}
-
-
// Read data from shared memory
-
bool ShareMem::ReadBuffer (PVOID buffer, ULONG size)
-
{
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
bool ret = false;
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
if (file_)
-
{
-
if (buffer_)
-
{
-
memcpy_s (buffer, size, buffer_, size);
-
ret = true;
-
}
-
}
-
-
return ret;
-
}
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample__work_with_a_d_l.html b/vendor/adlx/SDKDoc/html/cpp_sample__work_with_a_d_l.html deleted file mode 100644 index 4c1e9a8..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample__work_with_a_d_l.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: WorkWithADL - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
WorkWithADL
-
-
-
- - - -

- Demonstartes how to work with ADLX along ADL when programming with ADLX. -

-

Sample Path

-

/Samples/CPP/Generic/WorkWithADL

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include <iostream>
-
-
// ADL dll name
-
#ifndef _WIN64
-
#define ADL_DLL_Name L"atiadlxy.dll"
-
#else // WIN32
-
#define ADL_DLL_Name L"atiadlxx.dll"
-
#endif
-
-
typedef void*(__stdcall* ADL_MALLOC_CALL)(int);
-
typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL, int iEnumConnectedAdapter, void** context, int);
-
typedef int (*ADL_MAIN_CONTROL_DESTROY)(void*);
-
-
// Callback ADL for memory allocation
-
// iSize_ - Number of bytes to be allocated
-
static void* __stdcall ADL_Client_Main_Memory_Alloc(int iSize_)
-
{
-
void* lpBuffer = malloc(iSize_);
-
return lpBuffer;
-
}
-
-
// Callback ADL for memory release
-
// lpBuffer_ - The memory buffer to dealocate and to make NULL.
-
static void __stdcall ADL_Main_Memory_Free_Client(void** lpBuffer_)
-
{
-
if (nullptr != lpBuffer_ && nullptr != *lpBuffer_)
-
{
-
free(*lpBuffer_);
-
*lpBuffer_ = nullptr;
-
}
-
}
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Create ADLXHelper instance
-
ADLXHelper ADLXHelp;
-
-
// Define ADL context and ADL dll handl
-
void* adlContext = nullptr;
-
HINSTANCE adlDll = nullptr;
-
-
// Initialize ADL
-
adlDll = LoadLibraryW(ADL_DLL_Name);
-
if (nullptr == adlDll)
-
return WaitAndExit("ADL initialization failed", 0);
-
ADL_MAIN_CONTROL_CREATE adlCreate = (ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll, "ADL2_Main_ControlX2_Create");
-
if (adlCreate)
-
adlCreate(ADL_Client_Main_Memory_Alloc, 1, &adlContext, 1);
-
std::cout << "ADL initialized successfully" << std::endl;
-
-
// Initialize ADLX
-
res = ADLXHelp.InitializeWithCallerAdl(adlContext, ADL_Main_Memory_Free_Client);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "ADLX initialized successfully" << std::endl;
-
}
-
else
-
{
-
std::cout << "ADLX initialization failed" << std::endl;
-
}
-
-
const char* adlxVersion = ADLXHelp.QueryVersion();
-
std::cout << "ADLX version: " << adlxVersion << std::endl;
-
adlx_uint64 adlxfullVersion = ADLXHelp.QueryFullVersion();
-
std::cout << "ADLX full version: " << adlxfullVersion << std::endl;
-
-
// Demonstrates mapping between ADL and ADLX data
-
IADLXSystem* systemService = ADLXHelp.GetSystemServices();
-
IADLMapping* adlMapping = ADLXHelp.GetAdlMapping();
-
-
if (systemService && adlMapping)
-
{
-
adlx_uint totalRAM = 0;
-
systemService->TotalSystemRAM(&totalRAM);
-
std::cout << "Total System RAM: " << totalRAM << " MB" << std::endl;
-
-
// Map ADLX to ADL
-
IADLXGPUListPtr gpus;
-
systemService->GetGPUs(&gpus);
-
IADLXGPUPtr gpu;
-
adlx_uint it = 0;
-
gpus->At(it, &gpu);
-
const char* name = nullptr;
-
gpu->Name(&name);
-
adlx_int adapterIndex;
-
adlMapping->AdlAdapterIndexFromADLXGPU(gpu, &adapterIndex);
-
std::cout << "ADL get adapterIndex from ADLXGPU named: " << name << ", adapterIndex is : " << adapterIndex << std::endl;
-
-
// Map ADL to ADLX, to get adapterIndex via ADL
-
IADLXGPUPtr gpuInfo;
-
adlMapping->GetADLXGPUFromAdlAdapterIndex(adapterIndex, &gpuInfo);
-
gpuInfo->Name(&name);
-
std::cout << "ADLX get ADLXGPU from adapterIndex: " << adapterIndex << ", the gpu name is : " << name << std::endl;
-
-
adlx_int bus = 0;
-
adlx_int device = 0;
-
adlx_int function = 0;
-
res = adlMapping->BdfFromADLXGPU (gpu, &bus, &device, &function);
-
std::cout << "Get BDF from ADLXGPU bus: " << bus << ", device: " << device << ", function: " << function << std::endl;
-
}
-
-
// Destroy ADLX
-
res = ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Destroy ADL
-
ADL_MAIN_CONTROL_DESTROY adlDestroy = (ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll, "ADL2_Main_Control_Destroy");
-
if (nullptr != adlDestroy)
-
adlDestroy(adlContext);
-
FreeLibrary(adlDll);
-
adlDll = nullptr;
-
adlContext = nullptr;
-
std::cout << "Destroy ADL" << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
return 0;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_desktopevent.html b/vendor/adlx/SDKDoc/html/cpp_sample_desktopevent.html deleted file mode 100644 index 02d1067..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_desktopevent.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DesktopsEvent - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DesktopsEvent
-
-
-
- - - -

This document describes how to obtain the desktops changed handle and add/remove call back for changed events through ADLX and perform related tests.
- To receive the event, another application must be used to change these settings, such as the Eyefinity. -

-

Sample Path

-

/Samples/CPP/Desktop/DesktopsEvent

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "conio.h"
-
#include <iostream>
-
#include <string>
-
#include <thread>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// so we use global variables to ensure the valid of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// event to verify call back
-
HANDLE hDesktopChangedEvent = nullptr;
-
HANDLE hQuitSignal = nullptr;
-
-
// Call back to handle changed events
-
class CallBackDesktopListChanged : public IADLXDesktopListChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDesktopListChanged(IADLXDesktopList* pDesktopList) override
-
{
-
std::cout << "desktop list has been changed\n";
-
adlx_bool slsActive = false;
-
IADLXDesktopPtr desktop = nullptr;
-
for (adlx_uint crt = pDesktopList->Begin(); crt != pDesktopList->End(); crt++)
-
{
-
ADLX_RESULT res = pDesktopList->At(crt, &desktop);
-
if (ADLX_SUCCEEDED(res) && nullptr != desktop)
-
{
-
ADLX_DESKTOP_TYPE desktopType;
-
desktop->Type(&desktopType);
-
if (desktopType == DESKTOP_EYEFINITY)
-
{
-
std::cout << "Eyefinity Creation Event is received" << std::endl;
-
slsActive = true;
-
break;
-
}
-
}
-
}
-
-
if (false == slsActive)
-
{
-
std::cout << "Eyefinity Destruction Event is received" << std::endl;
-
}
-
SetEvent(hDesktopChangedEvent);
-
// Returns true will make ADLX continue to notify next listener or false to stop to notify
-
return true;
-
}
-
};
-
-
// thread to detect user's input for quit
-
void QuitWait(adlx_bool* loopFlag);
-
-
int main()
-
{
-
// The ADL_4KWORKAROUND_CANCEL environment variable is a must for Eyefinity
-
LPCSTR EnvironmentVariable = "ADL_4KWORKAROUND_CANCEL";
-
SetEnvironmentVariableA(EnvironmentVariable, "TRUE");
-
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Create desktop changed event
-
hDesktopChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
hQuitSignal = CreateEvent(NULL, TRUE, FALSE, NULL);
-
HANDLE hSignalArray[2] = { hDesktopChangedEvent, hQuitSignal };
-
-
// Get desktop services
-
IADLXDesktopServicesPtr desktopServices;
-
res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopServices);
-
if (desktopServices != nullptr && ADLX_SUCCEEDED(res))
-
{
-
adlx_uint numDesktop;
-
res = desktopServices->GetNumberOfDesktops(&numDesktop);
-
std::cout << "The number of desktop is: " << numDesktop << std::endl;
-
-
IADLXSimpleEyefinityPtr eyefinity;
-
res = desktopServices->GetSimpleEyefinity(&eyefinity);
-
if (eyefinity != nullptr && ADLX_SUCCEEDED(res))
-
{
-
// Verify if support eyefinity
-
adlx_bool supported = false;
-
eyefinity->IsSupported(&supported);
-
if (supported)
-
{
-
IADLXDesktopChangedHandlingPtr eventHandling;
-
desktopServices->GetDesktopChangedHandling(&eventHandling);
-
IADLXDesktopListChangedListener* eventListener = new CallBackDesktopListChanged;
-
eventHandling->AddDesktopListEventListener(eventListener);
-
-
std::cout << "Waiting for desktop event... Press Q/q to quit" << std::endl;
-
// create a thread to detect user's input for quit
-
adlx_bool loopFlag = true;
-
std::thread recvUserInput{ QuitWait, &loopFlag };
-
recvUserInput.detach();
-
-
IADLXEyefinityDesktopPtr eyefinityDesktop;
-
res = eyefinity->Create(&eyefinityDesktop);
-
while (true)
-
{
-
// Waiting for receiving desktop event or user exit event
-
WaitForMultipleObjects(2, hSignalArray, FALSE, INFINITE);
-
if (!loopFlag)
-
break;
-
ResetEvent(hDesktopChangedEvent);
-
}
-
res = eyefinity->DestroyAll();
-
-
eventHandling->RemoveDesktopListEventListener(eventListener);
-
delete eventListener;
-
eventListener = nullptr;
-
}
-
else
-
{
-
std::cout << "Do not support eyefinity" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Get simple eyefinity failed" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the desktop Services" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "ADLX initialize failed" << std::endl;
-
return 0;
-
}
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Close event
-
if (hDesktopChangedEvent)
-
CloseHandle(hDesktopChangedEvent);
-
if (hQuitSignal)
-
CloseHandle(hQuitSignal);
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void QuitWait(adlx_bool* loopFlag)
-
{
-
while (true)
-
{
-
// Non-block I/O, check I/O cache whether have characters.
-
if (_kbhit())
-
{
-
char c;
-
if ((c = getchar()) == 'q' || c == 'Q')
-
{
-
*loopFlag = false;
-
SetEvent(hQuitSignal);
-
}
-
}
-
Sleep(100);
-
}
-
}
-
@ DESKTOP_EYEFINITY
Definition: ADLXDefines.h:617
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_DESKTOP_TYPE
Types of desktops in respect to display composition.
Definition: ADLXDefines.h:614
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_display3_d_l_u_t.html b/vendor/adlx/SDKDoc/html/cpp_sample_display3_d_l_u_t.html deleted file mode 100644 index 67a7041..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_display3_d_l_u_t.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Display3DLUT - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Display3DLUT
-
-
-
- - - -

Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related tests.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display 3DLUT support.
2 Get 3DLUT state.
3 Set current SCE to disabled.
4 Set current SCE feature to Vivid Gaming profile.
5 Set current SCE feature to Dynamic Contrast profile.
6 Display user 3DLUT support.
7 Clear user 3DLUT.
8 Demonstrates SDR user 3DLUT.
9 Demonstrates HDR user 3DLUT.
a Demonstrates all user 3DLUT.
b Get user 3DLUT index.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/Display3DLUT

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplay3DLUT.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Constant value used to set size of user 3D LUT data
-
constexpr auto DEFAULT_NUM_OF_POINTS = MAX_USER_3DLUT_NUM_POINTS;
-
-
// Show display3DLUT support
-
void ShowDisplay3DLUTSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Get and show current display3DLUT state
-
void Get3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Set display3DLUT
-
void Set3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
// Get user 3DLUT support
-
void IsSupportedUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Clear user 3DLUT
-
void ClearUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Get or Set SDR user 3DLUT
-
void DemoSDRUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Get or Set HDR user 3DLUT
-
void DemoHDRUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Get or Set all user 3DLUT
-
void DemoAllUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
// Get 3DLUT index
-
void GetUser3DLUTIndex(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Helper functions
-
-
// Algorigthm to generate a value which ranges from 0 to 0xFFFF
-
inline double Inputvalue (int index, int bitDepth, int numOfPoints)
-
{
-
return fmin (static_cast<float>(index * pow (2, bitDepth) / static_cast<float>(numOfPoints - 1)), pow (2, bitDepth) - 1);
-
}
-
-
// The 3DLUT are three axes of a 3-dimensional cube
-
// Generate 3DLut data bit wise: 17*17*17 triplets/lattice of RGB values.
-
// Each triplet contains the component of RGB values(16-bit depth) from 0 to 0xFFFF.
-
adlx_bool GenerateUser3DLUT_BW (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_int numOfPoints, ADLX_3DLUT_Data* user3DLUT)
-
{
-
adlx_bool ret = true;
-
-
const int bitDepth = 16;
-
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT (display, &display3DLUT);
-
if (ADLX_SUCCEEDED (res))
-
{
-
ADLX_UINT16_RGB rgbCoordinate = { 0, 0, 0 };
-
adlx_int index = 0;
-
-
for (int r = 0; r < numOfPoints; r++)
-
{
-
for (int g = 0; g < numOfPoints; g++)
-
{
-
for (int b = 0; b < numOfPoints; b++)
-
{
-
rgbCoordinate.red = r;
-
rgbCoordinate.green = g;
-
rgbCoordinate.blue = b;
-
-
//Recalculate 3DLUT based on the "Inputvalue" which ranges from 0 to 0xFFFF. The recalculated value falls in the same range of 0 to 0xFFFF to be more "random".
-
double temp = 0.25 * Inputvalue (r, bitDepth, numOfPoints) + 0.625 * Inputvalue (g, bitDepth, numOfPoints) + 0.125 * Inputvalue (b, bitDepth, numOfPoints);
-
-
// Get the index in the 3D LUT buffer corresponding to the RGB triplet.
-
res = display3DLUT->GetUser3DLUTIndex (numOfPoints, &rgbCoordinate, &index);
-
-
if (ADLX_SUCCEEDED (res))
-
{
-
adlx_uint16 tValue = static_cast<adlx_uint16>(temp);
-
user3DLUT->data[index].red = tValue;
-
user3DLUT->data[index].green = tValue;
-
user3DLUT->data[index].blue = tValue;
-
}
-
else
-
{
-
ret = false;
-
goto EXIT;
-
}
-
}
-
}
-
}
-
}
-
-
EXIT:
-
return ret;
-
}
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get Display list" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get Display Services" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Display display3DLUT support
-
void ShowDisplay3DLUTSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === 3D LUT supported status ===" << std::endl;
-
adlx_bool supported;
-
ADLX_RESULT res = display3DLUT->IsSupportedSCE(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedSCE: " << supported << std::endl;
-
res = display3DLUT->IsSupportedSCEVividGaming(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedSCE_VividGaming: " << supported << std::endl;
-
res = display3DLUT->IsSupportedSCEDynamicContrast(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedSCEDynamicContrast: " << supported << std::endl;
-
res = display3DLUT->IsSupportedUser3DLUT(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedUser3DLUT: " << supported << std::endl;
-
}
-
}
-
-
// Get and display current display3DLUT state
-
void Get3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get 3D LUT ===" << std::endl;
-
adlx_bool applied = false;
-
res = display3DLUT->IsCurrentSCEDisabled(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentSCEDisabled: " << applied << std::endl;
-
res = display3DLUT->IsCurrentSCEVividGaming(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentSCEVividGaming: " << applied << std::endl;
-
res = display3DLUT->IsCurrentSCEDynamicContrast(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentSCEDynamicContrast: " << applied << std::endl;
-
if (applied)
-
{
- -
res =display3DLUT->GetSCEDynamicContrastRange(&range);
-
std::cout << "\t\tDynamic Contrast range is: [ " << range.minValue << " , " << range.maxValue << " ]" << std::endl;
-
adlx_int contrast;
-
res = display3DLUT->GetSCEDynamicContrast(&contrast);
-
std::cout << "\t\tDynamic Contrast is: " << contrast << std::endl;
-
}
-
}
-
}
-
-
// Set display3DLUT
-
void Set3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Set 3D LUT ===" << std::endl;
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set SCE disabled
-
case 0:
-
res = display3DLUT->SetSCEDisabled();
-
break;
-
-
// Set SCE Vivid Gaming
-
case 1:
-
res = display3DLUT->SetSCEVividGaming();
-
break;
-
// Set SCE Dynamic Contrast
-
case 2:
-
{
- -
display3DLUT->GetSCEDynamicContrastRange(&range);
-
adlx_int curContrast;
-
display3DLUT->GetSCEDynamicContrast(&curContrast);
-
adlx_int contrast;
-
if (curContrast != range.minValue)
-
{
-
contrast = range.minValue;
-
res = display3DLUT->SetSCEDynamicContrast(contrast);
-
std::cout << "\tUse minimum Dynamic Contrast" << std::endl;
-
}
-
else
-
{
-
contrast = range.maxValue;
-
res = display3DLUT->SetSCEDynamicContrast(contrast);
-
std::cout << "\tUse maximum Dynamic Contrast" << std::endl;
-
}
-
}
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl;
-
}
-
}
-
-
// Get user 3DLUT support
-
void IsSupportedUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === IsSupportedUser3DLUT ===" << std::endl;
-
adlx_bool supported = false;
-
res = display3DLUT->IsSupportedUser3DLUT(&supported);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === IsSupportedUser3DLUT: " << (supported ? "True" : "False") << std::endl;
-
}
-
}
-
}
-
-
// Clear user 3DLUT
-
void ClearUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === ClearUser3DLUT ===" << std::endl;
-
res = display3DLUT->ClearUser3DLUT();
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === ClearUser3DLUT succeed ===" << std::endl;
-
}
-
else
-
std::cout << " === ClearUser3DLUT failed ===" << std::endl;
-
}
-
}
-
-
// Get or Set SDR user 3DLUT
-
void DemoSDRUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
// Generate new 3D LUT data
-
if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
std::cout << " === SetSDRUser3DLUT ===" << std::endl;
-
res = display3DLUT->SetSDRUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === SetSDRUser3DLUT succeed ===" << std::endl;
-
}
-
else
-
std::cout << " === SetSDRUser3DLUT failed ===" << std::endl;
-
-
std::cout << " === GetSDRUser3DLUT ===" << std::endl;
-
res = display3DLUT->GetSDRUser3DLUT (&tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === GetSDRUser3DLUT succeed ===" << std::endl;
-
}
-
else
-
std::cout << " === GetSDRUser3DLUT failed ===" << std::endl;
-
-
// Clear 3DLUT
-
res = display3DLUT->ClearUser3DLUT ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === Clear succeed ===" << std::endl;
-
}
-
else
-
std::cout << " === Clear failed ===" << std::endl;
-
}
-
}
-
}
-
-
// Get or Set HDR user 3DLUT
-
void DemoHDRUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
std::cout << " === SetHDRUser3DLUT ===" << std::endl;
-
-
// Generate new 3D LUT data
-
if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
res = display3DLUT->SetHDRUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === SetHDRUser3DLUT success ===" << std::endl;
-
}
-
else
-
std::cout << " === SetHDRUser3DLUT failed ===" << std::endl;
-
-
std::cout << " === GetHDRUser3DLUT ===" << std::endl;
-
res = display3DLUT->GetHDRUser3DLUT (&tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === GetHDRUser3DLUT success ===" << std::endl;
-
}
-
else
-
std::cout << " === GetHDRUser3DLUT not avaiable ===" << std::endl;
-
-
// Clear new 3D LUT data
-
res = display3DLUT->ClearUser3DLUT ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === Clear success ===" << std::endl;
-
}
-
else
-
std::cout << " === Clear failed ===" << std::endl;
-
}
-
}
-
}
-
-
// Get or Set all user 3DLUT
-
void DemoAllUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
- - - -
adlx_int numOfPoints = 0;
-
-
// Generate data
-
if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data))
-
{
-
tf = TF_SRGB;
-
cs = CS_SRGB;
-
-
std::cout << " === SetAllUser3DLUT ===" << std::endl;
-
res = display3DLUT->SetAllUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === SetAllUser3DLUT success ===" << std::endl;
-
}
-
else
-
std::cout << " === SetAllUser3DLUT failed ===" << std::endl;
-
-
std::cout << " === GetAllUser3DLUT ===" << std::endl;
-
res = display3DLUT->GetAllUser3DLUT (&tf, &cs, &numOfPoints, &data);
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === GetAllUser3DLUT success ===" << std::endl;
-
}
-
else
-
std::cout << " === GetAllUser3DLUT failed ===" << std::endl;
-
-
// Clear data
-
res = display3DLUT->ClearUser3DLUT ();
-
if (ADLX_SUCCEEDED (res))
-
{
-
std::cout << " === Clear succeed ===" << std::endl;
-
}
-
else
-
std::cout << " === Clear failed ===" << std::endl;
-
}
-
else
-
{
-
std::cout << " === GenerateUser3DLUT_BW failed ===" << std::endl;
-
}
-
}
-
}
-
-
void GetUser3DLUTIndex(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display3DLUT
-
IADLXDisplay3DLUTPtr display3DLUT;
-
ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === GetUser3DLUTIndex ===" << std::endl;
-
-
adlx_int index = 0;
-
adlx_int lutSize = 6; //5 <= lutSize <= 17
-
ADLX_UINT16_RGB rgb = { 0, 0, 0 };
-
-
res = display3DLUT->GetUser3DLUTIndex(lutSize, &rgb, &index);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === GetUser3DLUTIndex success, index: ===" << index << std::endl;
-
}
-
else
-
std::cout << " === GetUser3DLUTIndex failed ===" << std::endl;
-
}
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display 3DLUT support" << std::endl;
-
-
std::cout << "\t->Press 2 to get 3DLUT state" << std::endl;
-
-
std::cout << "\t->Press 3 to set current SCE to disabled" << std::endl;
-
std::cout << "\t->Press 4 to set current SCE feature to Vivid Gaming profile" << std::endl;
-
std::cout << "\t->Press 5 to set current SCE feature to Dynamic Contrast" << std::endl;
-
-
std::cout << "\t->Press 6 to get user 3DLUT support" << std::endl;
-
std::cout << "\t->Press 7 to clear user 3DLUT" << std::endl;
-
std::cout << "\t->Press 8 to show how to set/get SDR user 3DLUT" << std::endl;
-
std::cout << "\t->Press 9 to show how to set/get HDR user 3DLUT" << std::endl;
-
std::cout << "\t->Press a to show how to set/get all user 3DLUT" << std::endl;
-
std::cout << "\t->Press b to get 3DLUT index" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
case '1':
-
ShowDisplay3DLUTSupport(displayService, display);
-
break;
-
case '2':
-
Get3DLUTState(displayService, display);
-
break;
-
case '3':
-
case '4':
-
case '5':
-
Set3DLUTState(displayService, display, num - '3');
-
break;
-
case '6':
-
IsSupportedUser3DLUT(displayService, display);
-
break;
-
case '7':
-
ClearUser3DLUT(displayService, display);
-
break;
-
case '8':
-
DemoSDRUser3DLUT(displayService, display);
-
break;
-
case '9':
-
DemoHDRUser3DLUT(displayService, display);
-
break;
-
case 'a':
-
DemoAllUser3DLUT(displayService, display);
-
break;
-
case 'b':
-
GetUser3DLUTIndex(displayService, display);
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ TF_SRGB
Definition: ADLXDefines.h:912
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ CS_SRGB
Definition: ADLXDefines.h:927
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
#define MAX_USER_3DLUT_NUM_POINTS
Definition: ADLXDefines.h:530
-
ADLX_3DLUT_TRANSFER_FUNCTION
Indicates the User 3D LUT transfer function.
Definition: ADLXDefines.h:911
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_3DLUT_COLORSPACE
Indicates the custom 3D LUT color space.
Definition: ADLXDefines.h:926
-
adlx_uint16 green
Definition: ADLXStructures.h:170
-
adlx_uint16 blue
Definition: ADLXStructures.h:171
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
ADLX_UINT16_RGB data[MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS]
Definition: ADLXStructures.h:186
-
adlx_uint16 red
Definition: ADLXStructures.h:169
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains custom 3D LUT information.
Definition: ADLXStructures.h:185
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
This structure contains UINT16 RGB information.
Definition: ADLXStructures.h:168
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_display_blanking.html b/vendor/adlx/SDKDoc/html/cpp_sample_display_blanking.html deleted file mode 100644 index fb72c48..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_display_blanking.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayBlanking - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayBlanking
-
-
-
- - - -

Demonstartes how to obtain display blanking when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Show display blanking support.
2 Get display blanking state.
3 Set display blank.
4 Set display unblank.
5 Set display blanked for 20 seconds.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayBlanking

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplaySettings.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "SDK/Include/IDisplays1.h"
-
#include <iostream>
-
#include <string>
-
#include <thread>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// so we use global variables to ensure the validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// thread quit event
-
static HANDLE quitEvent = nullptr;
-
-
// thread quit flag
-
static std::atomic<bool> g_quit = false;
-
-
// thread for timeout
-
static std::thread* g_thread = nullptr;
-
-
// thread to unblank display
-
static void ThreadUnBlankDisplay(IADLXDisplayBlankingPtr displayBlanking);
-
-
// Display display blanking support
-
void ShowDisplayBlankingSupport(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display);
-
-
// Display current display blanking state
-
void GetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display);
-
-
// Set display blanked or unblaned
-
void SetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display);
-
-
// Select display
-
IADLXDisplayPtr SelectDisplay(const IADLXDisplayListPtr& displays);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
// Convert to display service1
-
IADLXDisplayServices1Ptr displayService1(displayService);
-
if (ADLX_SUCCEEDED(res) && displayService1)
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService1->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Select the display to config
-
IADLXDisplayPtr display = SelectDisplay(displayList);
-
if (display)
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService1, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the Displays list" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display services1" << std::endl;
-
}
-
-
// quit thread
-
if (g_thread && g_thread->joinable())
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
g_thread->join();
-
delete g_thread;
-
g_thread = nullptr;
-
}
-
CloseHandle(quitEvent);
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("Pause");
-
-
return 0;
-
}
-
-
void ShowDisplayBlankingSupport(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayBlankingPtr displayBlanking;
-
ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get display blanking supported ===" << std::endl;
-
adlx_bool supported = false;
-
res = displayBlanking->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl;
-
}
-
}
-
-
void GetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display)
-
{
-
IADLXDisplayBlankingPtr displayBlanking;
-
ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Get display blanking state ===" << std::endl;
-
adlx_bool blanked = false;
-
res = displayBlanking->IsCurrentBlanked(&blanked);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentBlanked: " << (blanked ? "true" : "false") << std::endl;
-
adlx_bool unBlanked = false;
-
res = displayBlanking->IsCurrentUnblanked(&unBlanked);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentUnblanked: " << (unBlanked ? "true" : "false") << std::endl;
-
}
-
}
-
-
void SetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display, const int key)
-
{
-
IADLXDisplayBlankingPtr displayBlanking;
-
ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking);
-
if (ADLX_SUCCEEDED(res))
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
switch (key)
-
{
-
// Set display blanked
-
case 0:
-
if (g_thread && g_thread->joinable())
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
g_thread->join();
-
delete g_thread;
-
g_thread = nullptr;
-
}
-
std::cout << " === Set display blanked ===" << std::endl;
-
res = displayBlanking->SetBlanked();
-
break;
-
-
// Set display unblanked
-
case 1:
-
std::cout << " === Set display unBlanked ===" << std::endl;
-
res = displayBlanking->SetUnblanked();
-
break;
-
-
// Set display blanked and restore after 20 sec
-
case 2:
-
if (g_thread && g_thread->joinable())
-
{
-
SetEvent(quitEvent);
-
g_quit = true;
-
g_thread->join();
-
delete g_thread;
-
g_thread = nullptr;
-
}
-
std::cout << " === Set display blanked for 20 seconds ===" << std::endl;
-
res = displayBlanking->SetBlanked();
-
g_thread = new std::thread(ThreadUnBlankDisplay, displayBlanking);
-
g_quit = false;
-
break;
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl;
-
}
-
}
-
-
void ThreadUnBlankDisplay(IADLXDisplayBlankingPtr displayBlanking)
-
{
-
bool opt = false;
-
while (!g_quit)
-
{
-
DWORD r = WaitForSingleObject(quitEvent, 20000);
-
// quit the thread
-
if (r == WAIT_OBJECT_0)
-
{
-
ResetEvent(quitEvent);
-
std::cout << "\tThread quit." << std::endl;
-
break;
-
}
-
// Restore display after 20 seconds
-
if (r == WAIT_TIMEOUT && displayBlanking && !opt)
-
{
-
ADLX_RESULT res = displayBlanking->SetUnblanked();
-
std::cout << "\tRestore display after 20 seconds, return code is: " << res << " (0 means success)." << std::endl;
-
opt = true;
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from following options" << std::endl;
-
-
std::cout << "\t->Press 1 to show display blanking support" << std::endl;
-
-
std::cout << "\t->Press 2 to get display blanking state" << std::endl;
-
-
std::cout << "\t->Press 3 to set display blanked" << std::endl;
-
std::cout << "\t->Press 4 to set display unblanked" << std::endl;
-
std::cout << "\t->Press 5 to set display blanked for 20 seconds" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
IADLXDisplayPtr SelectDisplay(const IADLXDisplayListPtr& displays)
-
{
-
adlx_uint len = displays->Size();
-
if (len == 0)
-
return nullptr;
-
-
IADLXDisplayPtr display;
-
if (len < 2)
-
displays->At(0, &display);
-
else
-
{
-
std::cout << "\tYou can select the display by the key(from 1 to " << len << " )." << std::endl;
-
for (adlx_uint it = 0; it < len; it++)
-
{
-
displays->At(it, &display);
-
const char* dispName;
-
display->Name(&dispName);
-
std::cout << "\t->Press " << it + 1 << " to select " << dispName <<"." << std::endl;
-
}
-
int num = 0;
-
num = getchar() - 48;
-
if (num < 1 || num > len)
-
std::cout << "\tInvalid key. The first display will be used." << std::endl;
-
else
-
displays->At(num - 1, &display);
-
}
-
return display;
-
}
-
// Display action control
-
void MenuControl(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display display blanking support
-
case '1':
-
ShowDisplayBlankingSupport(displayService1, display);
-
break;
-
-
// Display current display blanking state
-
case '2':
-
GetDisplayBlankingState(displayService1, display);
-
break;
-
-
// Set display blanking or unblanking
-
case '3':
-
case '4':
-
case '5':
-
SetDisplayBlankingState(displayService1, display, num - '3');
-
break;
-
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("Pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_display_events.html b/vendor/adlx/SDKDoc/html/cpp_sample_display_events.html deleted file mode 100644 index 59aca3f..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_display_events.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayEvents - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayEvents
-
-
-
- - - -

Demontrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Display/DisplayEvents

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplay3DLUT.h"
-
#include "SDK/Include/IDisplayGamma.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <thread>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Callback for displayListChanged
-
class DisplayListChangedCallBack : public IADLXDisplayListChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplayListChanged(IADLXDisplayList* pNewDisplays) override
-
{
-
std::cout << "Display list has been changed" << std::endl;
-
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
};
-
-
// Callback for displayGamutChanged
-
class DisplayGamutCallBack : public IADLXDisplayGamutChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) override
-
{
-
std::cout << "Display gamut is changed" << std::endl;
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
};
-
-
// Callback for displayGammaChanged
-
class DisplayGammaCallBack : public IADLXDisplayGammaChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplayGammaChanged(IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) override
-
{
-
std::cout << "Display gamma is changed" << std::endl;
-
-
IADLXDisplayPtr display;
-
ADLX_RESULT res = pDisplayGammaChangedEvent->GetDisplay(&display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
const char* displayName = nullptr;
-
display->Name(&displayName);
-
adlx_bool changed = pDisplayGammaChangedEvent->IsDeGammaChanged();
-
std::cout << "\tDisplay: " << displayName << " DeGamma changed: " << changed << std::endl;
-
changed = pDisplayGammaChangedEvent->IsReGammaChanged();
-
std::cout << "\tDisplay: " << displayName << " ReGamma changed: " << changed << std::endl;
-
changed = pDisplayGammaChangedEvent->IsGammaCoefficientChanged();
-
std::cout << "\tDisplay: " << displayName << " Gamma Coefficient changed: " << changed << std::endl;
-
changed = pDisplayGammaChangedEvent->IsGammaRampChanged();
-
std::cout << "\tDisplay: " << displayName << " Gamma Ramp changed: " << changed << std::endl;
-
}
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
};
-
-
// Callback for display3DLUT
-
class Display3DLUTCallBack : public IADLXDisplay3DLUTChangedListener
-
{
-
public:
-
adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) override
-
{
-
std::cout << "Display 3DLUT is changed" << std::endl;
-
// If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification.
-
return true;
-
}
-
};
-
-
// Loop thread
-
void LoopThread();
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display services
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display change handler
-
IADLXDisplayChangedHandlingPtr displayChangeHandler;
-
res = displayService->GetDisplayChangedHandling(&displayChangeHandler);
-
if (ADLX_FAILED(res))
-
return WaitAndExit("Failed to get display change handler", 0);
-
-
// Create the callbacks
-
IADLXDisplayListChangedListener* listChangeCallBack = new DisplayListChangedCallBack;
-
IADLXDisplayGammaChangedListener* gammaChangeCallBack = new DisplayGammaCallBack;
-
IADLXDisplayGamutChangedListener* gamutChangeCallBack = new DisplayGamutCallBack;
-
IADLXDisplay3DLUTChangedListener* display3DLUTChangeCallBack = new Display3DLUTCallBack;
-
-
// Add the callbacks to the ADLX event handler
-
{
-
displayChangeHandler->AddDisplayListEventListener(listChangeCallBack);
-
displayChangeHandler->AddDisplayGammaEventListener(gammaChangeCallBack);
-
displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack);
-
displayChangeHandler->AddDisplay3DLUTEventListener(display3DLUTChangeCallBack);
-
}
-
-
// Create loop thread for wait event
-
std::thread loop(&LoopThread);
-
loop.join();
-
-
// Remove and destroy callbacks
-
displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack);
-
displayChangeHandler->RemoveDisplayListEventListener(listChangeCallBack);
-
displayChangeHandler->RemoveDisplay3DLUTEventListener(display3DLUTChangeCallBack);
-
displayChangeHandler->RemoveDisplayGammaEventListener(gammaChangeCallBack);
-
-
delete listChangeCallBack;
-
listChangeCallBack = nullptr;
-
delete gamutChangeCallBack;
-
gamutChangeCallBack = nullptr;
-
delete gammaChangeCallBack;
-
gammaChangeCallBack = nullptr;
-
delete display3DLUTChangeCallBack;
-
display3DLUTChangeCallBack = nullptr;
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
return WaitAndExit("Failed to get display services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Loop thread
-
void LoopThread()
-
{
-
std::cout << "Loop thread is currently running." << std::endl;
-
std::cout << "-> Plug or unplug the display to trigger DisplayListChange, which will further trigger other changes." << std::endl;
-
std::cout << "->Press Q/q to terminate the loop." << std::endl;
-
int num = 0;
-
std::chrono::seconds dura(1);
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
std::cout << "Wait for the event to get triggered. The display can be pluged or unpluged to trigger DisplayListChange." << std::endl;
-
std::this_thread::sleep_for(dura);
-
num = getchar();
-
if (num == 'q' || num == 'Q')
-
break;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_display_gamma.html b/vendor/adlx/SDKDoc/html/cpp_sample_display_gamma.html deleted file mode 100644 index 36a444c..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_display_gamma.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGamma - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGamma
-
-
-
- - - -

Demonstrates how to obtain the display Gamma when programming with ADLX and perform related tests.

- -

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Show display gamma support.
2 Display current gamma information.
3 Set ReGammaSRGB using predefined coefficients.
4 Set ReGamma using custom coefficients.
5 Set ReGamma using ramp from file[file path: output-night-light.txt].
6 ReGamma using ramp from memory.
7 Reset Gamma ramp.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGamma

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplayGamma.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
#include <vector>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX destory.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Print Gamma ramp
-
static void ShowGammaRamp(const ADLX_GammaRamp& gammaRamp);
-
-
// Display Gamma support
-
void ShowDisplayGammaSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Get current Gamma state
-
void GetCurrentGammaState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
//  Set gamma by coefficient; if return value is 0, gamma coefficient is successfully set. Else an error occured.
-
ADLX_RESULT SetGammaWithCustomCoeffs(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set Gamma
-
void SetGamma(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Create regamma ramp
-
ADLX_GammaRamp CreateReGammaRamp(const float fGamma);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the display list" << std::endl;
-
}
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit("Failed to get the Display Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Print gamma ramp
-
static void ShowGammaRamp(const ADLX_GammaRamp& gammaRamp)
-
{
-
for (int j = 0; j < 3; j++)
-
{
-
printf("\nGetGammaRamp [%c]:\n", (j == 0) ? 'R' : ((j == 1) ? 'G' : (j == 2) ? 'B'
-
: 'E'));
-
for (int i = 0; i < 256; i++)
-
{
-
printf("%05d ", gammaRamp.gamma[i + j * 256]);
-
if (i % 10 == 9)
-
printf("\n");
-
}
-
}
-
printf("\n");
-
}
-
-
// Display gamma support status
-
void ShowDisplayGammaSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display gamma
-
IADLXDisplayGammaPtr displayGamma;
-
ADLX_RESULT res = displayService->GetGamma(display, &displayGamma);
-
adlx_bool support = false;
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Re-Gamma supported status ===" << std::endl;
-
res = displayGamma->IsSupportedReGammaSRGB(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedReGammaSRGB: " << support << std::endl;
-
res = displayGamma->IsSupportedReGammaBT709(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedReGammaBT709: " << support << std::endl;
-
res = displayGamma->IsSupportedReGammaPQ(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedReGammaPQ: " << support << std::endl;
-
res = displayGamma->IsSupportedReGammaPQ2084Interim(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedReGammaPQ2084Interim: " << support << std::endl;
-
res = displayGamma->IsSupportedReGamma36(&support);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedReGamma36:" << support << std::endl;
-
}
-
}
-
-
// Get current gamma state
-
void GetCurrentGammaState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display gamma
-
IADLXDisplayGammaPtr displayGamma;
-
ADLX_RESULT res = displayService->GetGamma(display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Current gamma state ===" << std::endl;
-
adlx_bool applied = false;
-
ADLX_RESULT res = ADLX_FAIL;
- - -
-
res = displayGamma->IsCurrentReGammaSRGB(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentReGammaSRGB " << applied << std::endl;
-
res = displayGamma->IsCurrentReGammaBT709(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentReGammaBT709 " << applied << std::endl;
-
res = displayGamma->IsCurrentReGammaPQ(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentReGammaPQ " << applied << std::endl;
-
res = displayGamma->IsCurrentReGammaPQ2084Interim(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentReGammaPQ2084Interim " << applied << std::endl;
-
res = displayGamma->IsCurrentReGamma36(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentReGamma36 " << applied << std::endl;
-
-
adlx_bool curCoeff;
-
res = displayGamma->IsCurrentRegammaCoefficient(&curCoeff);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentRegammaCoefficient " << curCoeff << std::endl;
-
-
adlx_bool reGammaRamp = false;
-
adlx_bool deGammaRamp = false;
-
res = displayGamma->IsCurrentReGammaRamp(&reGammaRamp);
-
res = displayGamma->IsCurrentDeGammaRamp(&deGammaRamp);
-
if (reGammaRamp)
-
{
-
displayGamma->GetGammaRamp(&ramp);
-
std::cout << "\tcurrent reGammaRamp" << std::endl;
-
ShowGammaRamp(ramp);
-
}
-
else if (deGammaRamp)
-
{
-
displayGamma->GetGammaRamp(&ramp);
-
std::cout << "\tcurrent deGammaRamp" << std::endl;
-
ShowGammaRamp(ramp);
-
}
-
else if (curCoeff)
-
{
-
displayGamma->GetGammaCoefficient(&coeff);
-
std::cout << "\tcurrent coefficient" << std::endl;
-
std::cout << "\tGetGammaCoefficient:\n"
-
<< "\tCoefficientA0 " << coeff.coefficientA0 << ","
-
<< "CoefficientA1 " << coeff.coefficientA1 << ", "
-
<< "CoefficientA2 " << coeff.coefficientA2 << ", "
-
<< "CoefficientA3 " << coeff.coefficientA3 << ", "
-
<< "Gamma " << coeff.gamma << std::endl;
-
}
-
}
-
}
-
-
// Set gamma by coefficient; if return value is 0, gamma coefficient is successfully set. Else an error occured.
-
ADLX_RESULT SetGammaWithCustomCoeffs(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get display gamma
-
IADLXDisplayGammaPtr displayGamma;
-
ADLX_RESULT res = displayService->GetGamma(display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "\t\tPlease enter five integer numbers, separated by spaces. (eg: 31308 12920 55 55 2400)" << std::endl;
-
-
ADLX_RESULT res = ADLX_OK;
- -
int userKey = 0;
-
std::vector<int> coeffs;
-
while (std::cin >> userKey)
-
{
-
coeffs.push_back(userKey);
-
if (coeffs.size() > 4)
-
break;
-
}
-
std::cin.clear();
-
std::cin.ignore(INT_MAX, '\n');
-
-
if (coeffs.size() > 4)
-
{
-
coeff.coefficientA0 = coeffs[0]; // 31308;
-
coeff.coefficientA1 = coeffs[1]; // 12920;
-
coeff.coefficientA2 = coeffs[2]; // 55;
-
coeff.coefficientA3 = coeffs[3]; // 55;
-
coeff.gamma = coeffs[4]; // 2400;
-
}
-
else
-
{
-
std::cout << "\t\tInvalid input, default value will be used." << std::endl;
-
coeff.coefficientA0 = 31308;
-
coeff.coefficientA1 = 12920;
-
coeff.coefficientA2 = 55;
-
coeff.coefficientA3 = 55;
-
coeff.gamma = 2400;
-
}
-
res = displayGamma->SetReGammaCoefficient(coeff);
-
}
-
return res;
-
}
-
-
// Set Gamma
-
void SetGamma(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
// Get display Gamma
-
IADLXDisplayGammaPtr displayGamma;
-
ADLX_RESULT res = displayService->GetGamma(display, &displayGamma);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << " === Set gamma ===" << std::endl;
-
ADLX_RESULT res = ADLX_OK;
-
-
switch (key)
-
{
-
// Use preset coefficients for ReGammaSRGB
-
case 0:
-
res = displayGamma->SetReGammaSRGB();
-
break;
-
-
// Use preset coefficients for DeGammaSRGB
-
case 1:
-
res = SetGammaWithCustomCoeffs(displayService, display);
-
break;
-
-
// use ramp form file, file path: output-night-light.txt
-
case 2:
-
res = displayGamma->SetReGammaRamp("output-night-light.txt");
-
break;
-
-
// Use ramp from memory
-
case 3:
-
{
-
const float reGammaF = 2.4f;
-
ADLX_GammaRamp ramp = CreateReGammaRamp(reGammaF);
-
res = displayGamma->SetReGammaRamp(ramp);
-
}
-
break;
-
-
// Reset ramp
-
case 4:
-
res = displayGamma->ResetGammaRamp();
-
break;
-
-
default:
-
break;
-
}
-
std::cout << "\tReturn code is: " << res <<" (0 means success) "<< std::endl;
-
}
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to show display gamma support" << std::endl;
-
-
std::cout << "\t->Press 2 to display current gamma info" << std::endl;
-
-
std::cout << "\t->Press 3 to set ReGammaSRGB using predefined coefficients" << std::endl;
-
std::cout << "\t->Press 4 to set ReGamma using custom coefficients" << std::endl;
-
std::cout << "\t->Press 5 to set ReGamma using ramp from file[file path: ../output-night-light.txt]" << std::endl;
-
std::cout << "\t->Press 6 to set ReGamma using ramp from memory" << std::endl;
-
std::cout << "\t->Press 7 to reset Gamma ramp" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show Gamma support
-
case '1':
-
ShowDisplayGammaSupport(displayService, display);
-
break;
-
-
// Get current Gamma state
-
case '2':
-
GetCurrentGammaState(displayService, display);
-
break;
-
-
// Set Gamma
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
case '7':
-
SetGamma(displayService, display, num - '3');
-
break;
-
-
// Show options again
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
ADLX_GammaRamp CreateReGammaRamp(const float fGamma)
-
{
- -
double g_fGammaRemapRGB[3] = { 1,1,0.5 };
-
for (int j = 0; j < 3; j++)
-
{
-
for (int i = 0; i < 256; i++)
-
{
-
-
float nAdj = i / 255.0f;
-
if (nAdj < 0.0031308f)
-
{
-
nAdj = nAdj * 12.92f;
-
}
-
else
-
{
-
nAdj = (1 + 0.055f) * powf(nAdj, 1 / fGamma) - 0.055f;
-
if (nAdj < 0.0f)
-
nAdj = 0.0f;
-
}
-
ramp.gamma[i + j * 256] = (unsigned short)(1 * g_fGammaRemapRGB[j] * (int)(nAdj * 0xFFFF));
-
}
-
}
-
return ramp;
-
}
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
adlx_int gamma
Definition: ADLXStructures.h:89
-
adlx_int coefficientA0
Definition: ADLXStructures.h:85
-
adlx_int coefficientA1
Definition: ADLXStructures.h:86
-
adlx_int coefficientA2
Definition: ADLXStructures.h:87
-
adlx_int coefficientA3
Definition: ADLXStructures.h:88
-
adlx_uint16 gamma[256 *3]
Definition: ADLXStructures.h:70
-
This structure contains the display gamma ramp used to program the re-gamma LUT.
Definition: ADLXStructures.h:69
-
This structure contains information on driver-supported re-gamma coefficients used to build the re-ga...
Definition: ADLXStructures.h:84
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_display_gamut.html b/vendor/adlx/SDKDoc/html/cpp_sample_display_gamut.html deleted file mode 100644 index e15a77b..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_display_gamut.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayGamut - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayGamut
-
-
-
- - - -

Demonstrates how to obtain the display Gamut when programming with ADLX and perform related tests.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display gamut support.
2 Get current display gamut information.
3 Set predefined white point and predefined gamut space.
4 Set custom white point and predefined gamut space.
5 Set predefined white point and custom gamut space.
6 Set custom white point and custom gamut space.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGamut

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplayGamut.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <string>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed. 
-
// Use global variables to ensure validity of the interface. 
-
static ADLXHelper g_ADLXHelp;
-
-
// Show display gamut support
-
void ShowDisplayGamutSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Get and display gamut information, it contains white point and color space
-
void GetCurrentGamutInfo(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Set gamut(white point and color space)
-
void SetGamut(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key);
-
-
// main menu
-
void MainMenu();
-
-
// menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Inspect for the first display in the list
-
adlx_uint it = 0;
-
IADLXDisplayPtr display;
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Show a menu with options to chose from
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(displayService, display);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the Displays list" << std::endl;
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the Display Services" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause for user see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Show display Gamut support
-
void ShowDisplayGamutSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get displayGamut
-
IADLXDisplayGamutPtr displayGamut;
-
ADLX_RESULT res = displayService->GetGamut(display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool supported = false;
-
std::cout << " === Gamut Space supported status ===" << std::endl;
-
res = displayGamut->IsSupportedCCIR709ColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedGamut_CCIR_709: " << supported << std::endl;
-
res = displayGamut->IsSupportedCCIR601ColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedGamut_CCIR_601: " << supported << std::endl;
-
res = displayGamut->IsSupportedAdobeRgbColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedGamut_Adobe_RGB: " << supported << std::endl;
-
res = displayGamut->IsSupportedCIERgbColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedGamut_CIE_RGB: " << supported << std::endl;
-
res = displayGamut->IsSupportedCCIR2020ColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedCCIR2020ColorSpace: " << supported << std::endl;
-
res = displayGamut->IsSupportedCustomColorSpace(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedGamut_Custom: " << supported << std::endl;
-
-
std::cout << " === White point supported status ===" << std::endl;
-
res = displayGamut->IsSupported5000kWhitePoint(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedWhitePoint_5000k: " << supported << std::endl;
-
res = displayGamut->IsSupported6500kWhitePoint(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedWhitePoint_6500k: " << supported << std::endl;
-
res = displayGamut->IsSupported7500kWhitePoint(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedWhitePoint_7500k: " << supported << std::endl;
-
res = displayGamut->IsSupported9300kWhitePoint(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedWhitePoint_9300k: " << supported << std::endl;
-
res = displayGamut->IsSupportedCustomWhitePoint(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsSupportedWhitePoint_Custom: " << supported << std::endl;
-
}
-
}
-
-
// Get and show Gamut information, it contains white point and color space
-
void GetCurrentGamutInfo(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
// Get displayGamut
-
IADLXDisplayGamutPtr displayGamut;
-
ADLX_RESULT res = displayService->GetGamut(display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_bool applied = false;
-
ADLX_RESULT res = ADLX_FAIL;
-
std::cout << " === Currnt White point status ===" << std::endl;
-
res = displayGamut->IsCurrent5000kWhitePoint(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentWhitePoint_5000k: " << applied << std::endl;
-
res = displayGamut->IsCurrent6500kWhitePoint(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentWhitePoint_6500k: " << applied << std::endl;
-
res = displayGamut->IsCurrent7500kWhitePoint(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentWhitePoint_7500k: " << applied << std::endl;
-
res = displayGamut->IsCurrent9300kWhitePoint(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentWhitePoint_9300k: " << applied << std::endl;
-
res = displayGamut->IsCurrentCustomWhitePoint(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentWhitePoint_Custom: " << applied << std::endl;
-
ADLX_Point point = {0};
-
res = displayGamut->GetWhitePoint(&point);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tGetWhitePoint: ( " << point.x << ", " << point.y << " )" << std::endl;
-
-
std::cout << " === Currnt gamut space status ===" << std::endl;
-
res = displayGamut->IsCurrentCCIR709ColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentGamut_CCIR_709: " << applied << std::endl;
-
res = displayGamut->IsCurrentCCIR601ColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentGamut_CCIR_601: " << applied << std::endl;
-
res = displayGamut->IsCurrentAdobeRgbColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentGamut_Adobe_RGB: " << applied << std::endl;
-
res = displayGamut->IsCurrentCIERgbColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentGamut_CIE_RGB: " << applied << std::endl;
-
res = displayGamut->IsCurrentCCIR2020ColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentCCIR2020ColorSpace: " << applied << std::endl;
-
res = displayGamut->IsCurrentCustomColorSpace(&applied);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIsCurrentCustomColorSpace: " << applied << std::endl;
-
ADLX_GamutColorSpace gamutCoordinates = {0};
-
res = displayGamut->GetGamutColorSpace(&gamutCoordinates);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tGetGamutColorSpace: R( " << gamutCoordinates.red.x << ", " << gamutCoordinates.red.y << " ) "
-
<< "G(" << gamutCoordinates.green.x << ", " << gamutCoordinates.green.y << ") "
-
<< "B(" << gamutCoordinates.blue.x << ", " << gamutCoordinates.blue.y << ") " << std::endl;
-
}
-
}
-
-
// Set Gamut(white point and color space)
-
void SetGamut(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key)
-
{
-
std::cout << " === Set white point and gamut space ===" << std::endl;
-
-
ADLX_RESULT res = ADLX_FAIL;
-
ADLX_WHITE_POINT predefinedWhitePoint = WHITE_POINT_6500K;
-
ADLX_GAMUT_SPACE predefinedGamutSpace = GAMUT_SPACE_ADOBE_RGB;
-
ADLX_RGB customWhitePoint = {0.654108, 0.767112, 1};
-
ADLX_GamutColorSpace customGamutSpace =
-
{
-
{6400, 3300}, {3000, 6000}, {1500, 600}
-
};
-
-
// Get displayGamut
-
IADLXDisplayGamutPtr displayGamut;
-
res = displayService->GetGamut(display, &displayGamut);
-
if (ADLX_SUCCEEDED(res))
-
{
-
switch (key)
-
{
-
case 0:
-
res = displayGamut->SetGamut(predefinedWhitePoint, predefinedGamutSpace);
-
break;
-
case 1:
-
res = displayGamut->SetGamut(customWhitePoint, predefinedGamutSpace);
-
break;
-
case 2:
-
res = displayGamut->SetGamut(predefinedWhitePoint, customGamutSpace);
-
break;
-
case 3:
-
res = displayGamut->SetGamut(customWhitePoint, customGamutSpace);
-
break;
-
-
default:
-
break;
-
}
-
std::cout << "\treturn code(0 is Success) is: " << res << std::endl;
-
}
-
}
-
-
// main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to show Gamut support" << std::endl;
-
-
std::cout << "\t->Press 2 to get current display Gamut info" << std::endl;
-
-
std::cout << "\t->Press 3 to set predefined white point and predefined Gamut space" << std::endl;
-
std::cout << "\t->Press 4 to set custom white point and predefined Gamut space" << std::endl;
-
std::cout << "\t->Press 5 to set predefined white point and custom Gamut space" << std::endl;
-
std::cout << "\t->Press 6 to set custom white point and custom Gamut space" << std::endl;
-
-
std::cout << "\t->Press Q/q to quit" << std::endl;
-
std::cout << "\t->Press M/m to show the options again" << std::endl;
-
}
-
-
// menu action control
-
void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Show display Gamut support
-
case '1':
-
ShowDisplayGamutSupport(displayService, display);
-
break;
-
-
// Get Gamut information(white point and color space)
-
case '2':
-
GetCurrentGamutInfo(displayService, display);
-
break;
-
-
// Set Gamut(white point and color space)
-
case '3':
-
case '4':
-
case '5':
-
case '6':
-
SetGamut(displayService, display, num - '3');
-
break;
-
-
// Show options again
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause for user to see it then return the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ GAMUT_SPACE_ADOBE_RGB
Definition: ADLXDefines.h:546
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ WHITE_POINT_6500K
Definition: ADLXDefines.h:564
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_GAMUT_SPACE
Indicates the predefined gamut space.
Definition: ADLXDefines.h:543
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_WHITE_POINT
Indicates the standardized white point setting.
Definition: ADLXDefines.h:562
-
adlx_int y
Definition: ADLXStructures.h:40
-
ADLX_Point red
Definition: ADLXStructures.h:54
-
ADLX_Point green
Definition: ADLXStructures.h:55
-
adlx_int x
Definition: ADLXStructures.h:39
-
ADLX_Point blue
Definition: ADLXStructures.h:56
-
This structure contains information on driver-supported gamut coordinates.
Definition: ADLXStructures.h:53
-
This structure contains information on driver point coordinates, and is used to store the driver-poin...
Definition: ADLXStructures.h:38
-
This structure contains RGB information.
Definition: ADLXStructures.h:22
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_displayinfo.html b/vendor/adlx/SDKDoc/html/cpp_sample_displayinfo.html deleted file mode 100644 index d860d42..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_displayinfo.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayInfo
-
-
-
- - - -

Demonstrates how to obtain the display information when programming with ADLX to perform related tests.

-

Sample Path

-

/Samples/CPP/Display/DisplayInfo

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
#include <map>
-
#include <string>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Print diplayInfo information
-
void ShowDisplayInfo(const IADLXDisplayPtr& display);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display service
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get display list and iterate through the list
-
IADLXDisplayListPtr displayList;
-
res = displayService->GetDisplays(&displayList);
-
if (ADLX_SUCCEEDED (res))
-
{
-
adlx_uint it = displayList->Begin();
-
IADLXDisplayPtr display;
-
for (; it != displayList->End(); it++)
-
{
-
res = displayList->At(it, &display);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get data for each display device and print it on the console
-
ShowDisplayInfo(display);
-
}
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the Displays list" << std::endl;
-
}
-
-
}
-
else
-
{
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate ();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
return WaitAndExit ("Failed to get the Display Services", 0);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Extra data
-
// Map with the display type and associated string
-
static const std::map<ADLX_DISPLAY_TYPE, const char*> displayTypeMap =
-
{
-
{DISPLAY_TYPE_MONITOR, "CRT"},
-
{DISPLAY_TYPE_TELEVISION, "TV"},
-
{DISPLAY_TYPE_LCD_PANEL, "LCD"},
-
{DISPLAY_TYPE_DIGITAL_FLAT_PANEL, "DFP"},
-
{DISPLAY_TYPE_COMPONENT_VIDEO, "CV"}};
-
-
// Map with the display connector type and associated string
-
static const std::map<ADLX_DISPLAY_CONNECTOR_TYPE, const char*> displayConnectorMap =
-
{
-
{DISPLAY_CONTYPE_UNKNOWN, "UNKNOWN"},
-
{DISPLAY_CONTYPE_VGA, "VGA"},
-
{DISPLAY_CONTYPE_DVI_D, "DVI D"},
-
{DISPLAY_CONTYPE_DVI_I, "DVI I"},
-
{DISPLAY_CONTYPE_CVDONGLE_NTSC, "ATICVDONGLE NTSC"},
-
{DISPLAY_CONTYPE_CVDONGLE_JPN, "ATICVDONGLE JPN"},
-
{DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN, "ATICVDONGLE NONI2C JPN"},
-
{DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC, "ATICVDONGLE NONI2C NTSC"},
-
{DISPLAY_CONTYPE_PROPRIETARY, "PROPRIETARY"},
-
{DISPLAY_CONTYPE_HDMI_TYPE_A, "HDMI TYPE A"},
-
{DISPLAY_CONTYPE_HDMI_TYPE_B, "HDMI TYPE B"},
-
{DISPLAY_CONTYPE_SVIDEO, "SVIDEO"},
-
{DISPLAY_CONTYPE_COMPOSITE, "COMPOSITE"},
-
{DISPLAY_CONTYPE_RCA_3COMPONENT, "RCA 3COMPONENT"},
-
{DISPLAY_CONTYPE_DISPLAYPORT, "DISPLAYPORT"},
-
{DISPLAY_CONTYPE_EDP, "EDP"},
-
{DISPLAY_CONTYPE_WIRELESSDISPLAY, "WIRELESSDISPLAY"},
-
{DISPLAY_CONTYPE_USB_TYPE_C, "USB TYPE C"}};
-
-
// Map with the scan type and associated string
-
static const std::map<ADLX_DISPLAY_SCAN_TYPE, const char*> scanTypeMap =
-
{
-
{PROGRESSIVE, "PROGRESSIVE"},
-
{INTERLACED, "INTERLACED"}
-
};
-
-
// Print diplayInfo information
-
void ShowDisplayInfo(const IADLXDisplayPtr& display)
-
{
-
ADLX_RESULT res = ADLX_OK;
-
-
std::cout << "\n === Display info ===" << std::endl;
-
const char* dispName;
-
res = display->Name(&dispName);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tDisplay name: " << dispName << std::endl;
-
-
adlx_uint manufacturerID;
-
res = display->ManufacturerID(&manufacturerID);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tManufacturer id: " << manufacturerID << std::endl;
-
-
ADLX_DISPLAY_TYPE displayType;
-
res = display->DisplayType(&displayType);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tDisplay type: " << displayTypeMap.find(displayType)->second << std::endl;
-
- -
res = display->ConnectorType(&connectType);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tConnector type: " << displayConnectorMap.find(connectType)->second << std::endl;
-
-
const char* edid;
-
res = display->EDID(&edid);
-
if (ADLX_OK != res)
-
std::cout << "\t Display EDID, error code is: " << res << std::endl;
-
else
-
std::cout << "\tEDID: " << edid << std::endl;
-
-
adlx_double refreshRate;
-
res = display->RefreshRate(&refreshRate);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tRefresh rate: " << refreshRate << std::endl;
-
-
adlx_uint pixelClock;
-
res = display->PixelClock(&pixelClock);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tPixel clock: " << pixelClock << std::endl;
-
-
adlx_int maxHResolution = 0;
-
adlx_int maxVResolution = 0;
-
res = display->NativeResolution(&maxHResolution, &maxVResolution);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tNative resolution[h*v]:" << maxHResolution << " " << maxVResolution << std::endl;
-
- -
res = display->ScanType(&scanType);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tScan type: " << scanTypeMap.find(scanType)->second << std::endl;
-
-
adlx_size id;
-
res = display->UniqueId(&id);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tUniqueId: " << id << std::endl;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code 
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ DISPLAY_CONTYPE_WIRELESSDISPLAY
Definition: ADLXDefines.h:443
-
@ DISPLAY_CONTYPE_HDMI_TYPE_A
Definition: ADLXDefines.h:436
-
@ DISPLAY_CONTYPE_HDMI_TYPE_B
Definition: ADLXDefines.h:437
-
@ DISPLAY_CONTYPE_UNKNOWN
Definition: ADLXDefines.h:427
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC
Definition: ADLXDefines.h:434
-
@ DISPLAY_CONTYPE_PROPRIETARY
Definition: ADLXDefines.h:435
-
@ DISPLAY_CONTYPE_RCA_3COMPONENT
Definition: ADLXDefines.h:440
-
@ DISPLAY_CONTYPE_DVI_D
Definition: ADLXDefines.h:429
-
@ DISPLAY_CONTYPE_EDP
Definition: ADLXDefines.h:442
-
@ DISPLAY_CONTYPE_CVDONGLE_NTSC
Definition: ADLXDefines.h:431
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN
Definition: ADLXDefines.h:433
-
@ DISPLAY_CONTYPE_DISPLAYPORT
Definition: ADLXDefines.h:441
-
@ DISPLAY_CONTYPE_DVI_I
Definition: ADLXDefines.h:430
-
@ DISPLAY_CONTYPE_SVIDEO
Definition: ADLXDefines.h:438
-
@ DISPLAY_CONTYPE_CVDONGLE_JPN
Definition: ADLXDefines.h:432
-
@ DISPLAY_CONTYPE_USB_TYPE_C
Definition: ADLXDefines.h:444
-
@ DISPLAY_CONTYPE_COMPOSITE
Definition: ADLXDefines.h:439
-
@ DISPLAY_CONTYPE_VGA
Definition: ADLXDefines.h:428
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ INTERLACED
Definition: ADLXDefines.h:479
-
@ PROGRESSIVE
Definition: ADLXDefines.h:478
-
@ DISPLAY_TYPE_DIGITAL_FLAT_PANEL
Definition: ADLXDefines.h:462
-
@ DISPLAY_TYPE_TELEVISION
Definition: ADLXDefines.h:460
-
@ DISPLAY_TYPE_LCD_PANEL
Definition: ADLXDefines.h:461
-
@ DISPLAY_TYPE_MONITOR
Definition: ADLXDefines.h:459
-
@ DISPLAY_TYPE_COMPONENT_VIDEO
Definition: ADLXDefines.h:463
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_DISPLAY_CONNECTOR_TYPE
Indicates the display connector type.
Definition: ADLXDefines.h:426
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DISPLAY_SCAN_TYPE
Indicates the display scan type.
Definition: ADLXDefines.h:477
-
ADLX_DISPLAY_TYPE
Indicates the display type.
Definition: ADLXDefines.h:457
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_eyefinity.html b/vendor/adlx/SDKDoc/html/cpp_sample_eyefinity.html deleted file mode 100644 index 83b5874..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_eyefinity.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Eyefinity - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Eyefinity
-
-
-
- - - -

Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD Eyefinity support.
2 Create an AMD Eyefinity desktop with all the enabled displays.
3 Destroy all the AMD Eyefinity desktops.
4 Destroy the specified AMD Eyefinity desktop.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Desktop/Eyefinity

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDesktops.h"
-
#include "SDK/Include/IDisplays.h"
-
#include <iostream>
-
-
// Use adlx namespace
-
using namespace adlx;
-
-
// ADLXHelper instance.
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl();
-
-
// Display Eyefinity support
-
void ShowEyefinitySupport();
-
-
// Create an Eyefinity desktop
-
void CreateEyefinityDesktop();
-
-
// Destroy all the Eyefinity desktops
-
void DestroyAllEyefinityDesktop();
-
-
// Destroy the specified Eyefinity desktop
-
void DestroyGivenEyefinityDesktop();
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl();
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX result: " << res << std::endl;
-
-
// Pause to see the printout
-
system("pause");
-
-
return 0;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
-
std::cout << "\t->Press 1 to display Eyefinity support" << std::endl;
-
std::cout << "\t->Press 2 to create an Eyefinity desktop with all the enabled displays" << std::endl;
-
std::cout << "\t->Press 3 to destroy all the Eyefinity desktops" << std::endl;
-
std::cout << "\t->Press 4 to destroy the specified Eyefinity desktop" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl()
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display Eyefinity support
-
case '1':
-
ShowEyefinitySupport();
-
break;
-
-
// Create an Eyefinity desktop
-
case '2':
-
CreateEyefinityDesktop();
-
break;
-
-
// Destroy all the Eyefinity desktops
-
case '3':
-
DestroyAllEyefinityDesktop();
-
break;
-
-
// Destroy the specified Eyefinity desktop
-
case '4':
-
DestroyGivenEyefinityDesktop();
-
break;
-
-
// Display the options again
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Display Eyefinity support status
-
void ShowEyefinitySupport()
-
{
-
IADLXDesktopServicesPtr desktopSrv;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop Services interface" << std::endl;
-
return;
-
}
-
IADLXSimpleEyefinityPtr eyefinity;
-
res = desktopSrv->GetSimpleEyefinity(&eyefinity);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl;
-
return;
-
}
-
adlx_bool supported = false;
-
res = eyefinity->IsSupported(&supported);
-
if (ADLX_SUCCEEDED(res))
-
std::cout << "\tIs Eyefinity supported: " << supported << std::endl;
-
}
-
-
// Create an Eyefinity desktop
-
void CreateEyefinityDesktop()
-
{
-
IADLXDesktopServicesPtr desktopSrv;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop Services interface" << std::endl;
-
return;
-
}
-
IADLXSimpleEyefinityPtr eyefinity;
-
res = desktopSrv->GetSimpleEyefinity(&eyefinity);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl;
-
return;
-
}
-
IADLXEyefinityDesktopPtr eyefinityDesktop;
-
res = eyefinity->Create(&eyefinityDesktop);
-
std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl;
-
}
-
-
// Destroy all the Eyefinity desktops
-
void DestroyAllEyefinityDesktop()
-
{
-
IADLXDesktopServicesPtr desktopSrv;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop Services interface" << std::endl;
-
return;
-
}
-
IADLXSimpleEyefinityPtr eyefinity;
-
res = desktopSrv->GetSimpleEyefinity(&eyefinity);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl;
-
return;
-
}
-
res = eyefinity->DestroyAll();
-
std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl;
-
-
}
-
-
// Destroy the specified Eyefinity desktop
-
void DestroyGivenEyefinityDesktop()
-
{
-
IADLXDesktopServicesPtr desktopSrv;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop Services interface" << std::endl;
-
return;
-
}
-
IADLXSimpleEyefinityPtr eyefinity;
-
res = desktopSrv->GetSimpleEyefinity(&eyefinity);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl;
-
return;
-
}
-
IADLXDesktopListPtr desktops;
-
res = desktopSrv->GetDesktops(&desktops);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop List interface " << std::endl;
-
return;
-
}
-
for (adlx_uint crt = desktops->Begin(); crt != desktops->End(); ++crt)
-
{
-
IADLXDesktopPtr desktop;
-
res = desktops->At(crt, &desktop);
-
if (ADLX_FAILED(res))
-
{
-
std::cout << "\tFailed to get the Desktop interface" << std::endl;
-
break;
-
}
-
IADLXEyefinityDesktopPtr eyefinityDesktop(desktop);
-
if (eyefinityDesktop == nullptr)
-
{
-
std::cout << "\tfailed to get the Eyefinity Desktop interface" << std::endl;
-
break;
-
}
-
res = eyefinity->Destroy(eyefinityDesktop);
-
std::cout << "\tReturn code for destroying Desktop " << crt << " is: " << res << " (0 means Success)"<< std::endl;
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
#define ADLX_FAILED(x)
Definition: ADLXDefines.h:316
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_gpus.html b/vendor/adlx/SDKDoc/html/cpp_sample_gpus.html deleted file mode 100644 index 4420cd1..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_gpus.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPUs - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPUs
-
-
-
- - - -

Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Generic/GPUs

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/ISystem1.h"
-
#include <chrono>
-
#include <iostream>
-
#include <thread>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display GPU information
-
void ShowGPUInfo(const IADLXGPUPtr& gpu);
-
-
// Display GPU hybrid graphic type
-
void ShowHybridGraphicType();
-
-
// Add GPU change event listener
-
void AddGPUEventListener(const IADLXGPUPtr& gpu);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXGPUPtr& gpu);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// GPU event change handler definition
-
class GPUEventListener : public IADLXGPUsEventListener
-
{
-
adlx_bool ADLX_STD_CALL OnGPUListChanged(IADLXGPUList* pNewGPUs)
-
{
-
std::cout << "GPU list change event received" << std::endl;
-
if (pNewGPUs == nullptr)
-
{
-
std::cout << "GPU list does not exist" << std::endl;
-
return false;
-
}
-
-
std::cout << "GPU list size: " << pNewGPUs->Size() << std::endl;
-
-
return true;
-
}
-
};
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get GPU list
-
IADLXGPUListPtr gpus;
-
res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus);
-
if (ADLX_SUCCEEDED(res) && !gpus->Empty())
-
{
-
// Inspect for the first GPU in the list
-
IADLXGPUPtr gpu;
-
res = gpus->At(0, &gpu);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and parse the selection
-
MenuControl(gpu);
-
}
-
}
-
else
-
{
-
std::cout << "Failed to get the GPU list" << std::endl;
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
// Display GPU information
-
void ShowGPUInfo(const IADLXGPUPtr& gpu)
-
{
-
std::cout << "\n==== GPU info ====" << std::endl;
-
// Display GPU info
-
const char* vendorId = nullptr;
-
ADLX_RESULT ret = gpu->VendorId(&vendorId);
-
std::cout << "VendorId: " << vendorId << "return code is: "<< ret << "(0 means success)" << std::endl;
-
-
ADLX_ASIC_FAMILY_TYPE asicFamilyType = ASIC_UNDEFINED;
-
ret = gpu->ASICFamilyType(&asicFamilyType);
-
std::cout << "ASICFamilyType: " << asicFamilyType << "return code is: "<< ret << "(0 means success)" << std::endl;
-
-
ADLX_GPU_TYPE gpuType = GPUTYPE_UNDEFINED;
-
ret = gpu->Type(&gpuType);
-
std::cout << "Type: " << gpuType << std::endl;
-
-
adlx_bool isExternal = false;
-
ret = gpu->IsExternal(&isExternal);
-
std::cout << "IsExternal: " << isExternal << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
const char* gpuName = nullptr;
-
ret = gpu->Name(&gpuName);
-
std::cout << "Name: " << gpuName << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
const char* driverPath = nullptr;
-
ret = gpu->DriverPath(&driverPath);
-
std::cout << "DriverPath: " << driverPath << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
const char* pnpString = nullptr;
-
ret = gpu->PNPString(&pnpString);
-
std::cout << "PNPString: " << pnpString << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
adlx_bool hasDesktops = false;
-
ret = gpu->HasDesktops(&hasDesktops);
-
std::cout << "HasDesktops: " << hasDesktops << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
adlx_uint totalVRAM;
-
ret = gpu->TotalVRAM(&totalVRAM);
-
std::cout << "TotalVRAM: " << totalVRAM << " MB" << ", return code is: "<< ret << "(0 means success)" << std::endl;
-
-
adlx_int id;
-
ret = gpu->UniqueId(&id);
-
std::cout << "UniqueId: " << id << std::endl;
-
-
IADLXGPU1Ptr gpu1(gpu);
-
if (gpu1)
-
{
-
const char* productName = nullptr;
-
ret = gpu1->ProductName(&productName);
-
std::cout << "ProductName: " << productName << std::endl;
-
-
ADLX_MGPU_MODE mode = MGPU_NONE;
-
ret = gpu1->MultiGPUMode(&mode);
-
printf("Multi-GPU Mode: ");
-
if (mode == MGPU_PRIMARY)
-
std::cout << "GPU is the primary GPU" << std::endl;
-
else if (mode == MGPU_SECONDARY)
-
std::cout << "GPU is the secondary GPU" << std::endl;
-
else
-
std::cout << "GPU is not in Multi-GPU" << std::endl;
-
-
ADLX_PCI_BUS_TYPE busType = UNDEFINED;
-
ret = gpu1->PCIBusType(&busType);
-
std::cout << "PCIBusType: " << busType << std::endl;
-
-
adlx_uint laneWidth = 0;
-
ret = gpu1->PCIBusLaneWidth(&laneWidth);
-
std::cout << "PCIBusLaneWidth: " << laneWidth << std::endl;
-
}
-
}
-
-
void ShowHybridGraphicType()
-
{
-
ADLX_HG_TYPE hgType = ADLX_HG_TYPE::NONE;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->HybridGraphicsType(&hgType);
-
if (ADLX_SUCCEEDED(res))
-
{
-
switch (hgType)
-
{
-
case ADLX_HG_TYPE::NONE:
-
std::cout << "GPU hybrid type is: "
-
<< "ADLX_HG_TYPE::NONE" << std::endl;
-
break;
-
case ADLX_HG_TYPE::AMD:
-
std::cout << "GPU hybrid type is: "
-
<< "ADLX_HG_TYPE::AMD" << std::endl;
-
break;
-
case ADLX_HG_TYPE::OTHER:
-
std::cout << "GPU hybrid type is: "
-
<< "ADLX_HG_TYPE::OTHER" << std::endl;
-
break;
-
}
-
}
-
}
-
-
// Add GPU change event listener
-
void AddGPUEventListener(const IADLXGPUPtr& gpu)
-
{
-
GPUEventListener gpuListener;
-
IADLXGPUsChangedHandlingPtr gpusChangedHandling;
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetGPUsChangedHandling(&gpusChangedHandling);
-
if (ADLX_SUCCEEDED(res) && gpusChangedHandling)
-
{
-
res = gpusChangedHandling->AddGPUsListEventListener(&gpuListener);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Addition of GPU event listener successful" << std::endl;
-
}
-
-
// Enable or disable a GPU device using Windows Device Manager
-
std::this_thread::sleep_for(std::chrono::seconds(15));
-
-
res = gpusChangedHandling->RemoveGPUsListEventListener(&gpuListener);
-
if (ADLX_SUCCEEDED(res))
-
{
-
std::cout << "Removal of GPU event listener successful" << std::endl;
-
}
-
}
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose one from the following options" << std::endl;
-
-
std::cout << "\t->Press 1 to display GPU information" << std::endl;
-
-
std::cout << "\t->Press 2 to add GPU event listener" << std::endl;
-
-
std::cout << "\t->Press 3 to display GPU hybrid graphic type" << std::endl;
-
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display the main menu options" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl(const IADLXGPUPtr& gpu)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display GPU information
-
case '1':
-
ShowGPUInfo(gpu);
-
break;
-
// Add GPU change event listener
-
case '2':
-
AddGPUEventListener(gpu);
-
break;
-
// Display GPU hybrid graphic type
-
case '3':
-
ShowHybridGraphicType();
-
break;
-
// Display main menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ NONE
Definition: ADLXDefines.h:330
-
@ AMD
Definition: ADLXDefines.h:331
-
@ OTHER
Definition: ADLXDefines.h:332
-
@ GPUTYPE_UNDEFINED
Definition: ADLXDefines.h:411
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ MGPU_SECONDARY
Definition: ADLXDefines.h:975
-
@ MGPU_PRIMARY
Definition: ADLXDefines.h:974
-
@ MGPU_NONE
Definition: ADLXDefines.h:973
-
@ ASIC_UNDEFINED
Definition: ADLXDefines.h:346
-
@ UNDEFINED
Definition: ADLXDefines.h:366
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_HG_TYPE
Indicates the type of Hybrid Graphic.
Definition: ADLXDefines.h:329
-
ADLX_GPU_TYPE
Indicates the GPU type.
Definition: ADLXDefines.h:410
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_MGPU_MODE
Indicates the AMD MGPU mode.
Definition: ADLXDefines.h:972
-
ADLX_ASIC_FAMILY_TYPE
Indicates the ASIC family type.
Definition: ADLXDefines.h:345
-
ADLX_PCI_BUS_TYPE
Indicates the PCI bus type.
Definition: ADLXDefines.h:365
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_log.html b/vendor/adlx/SDKDoc/html/cpp_sample_log.html deleted file mode 100644 index ed65b3f..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_log.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Log - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Log
-
-
-
- - - -

Demonstrates how to enable log and get log data when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Enable log with local file, file [./ADLX.log] is created.
2 Enable log with DebugView.
3 Enable log with application handle.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Generic/Log

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IDisplays.h"
-
#include "SDK/Include/ILog.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destoryed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Demonstrates how applications capture ADLX log
-
// The log class may get used throughout the liftime of ADLX.
-
// Global variables are used as they hold their value throughout the lifetime of ADLX.
-
class AppHandlLog : public IADLXLog
-
{
-
public:
-
ADLX_RESULT ADLX_STD_CALL WriteLog(const wchar_t* msg)
-
{
-
wprintf(L"%s", msg);
-
return ADLX_OK;
-
}
-
};
-
-
// Application creates object to handle ADLX log
-
static AppHandlLog g_appHandlLog;
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
// Local file
-
void UseLocalFile();
-
-
// Output window of the application debugger
-
void UseWindowDebugger();
-
-
// Application handle log
-
void UseAppHandlLog();
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl();
-
-
int main()
-
{
-
// Define return code
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Menu
-
MainMenu();
-
MenuControl();
-
-
// Call ADLX methods to generate log entries
-
// Get display service and the number of displays
-
IADLXDisplayServicesPtr displayService;
-
res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
adlx_uint displayNum;
-
displayService->GetNumberOfDisplays(&displayNum);
-
}
-
}
-
else
-
{
-
return WaitAndExit("ADLX initialization failed", 0);
-
}
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
return 0;
-
}
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
-
// Local file, ADLX log data will be saved to file
-
void UseLocalFile()
-
{
-
// Log destination, severity, logfile
-
ADLX_LOG_DESTINATION mode = LOCALFILE;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
wchar_t logfile[] = L"./ADLX.log";
-
-
// Enable log
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, nullptr, logfile);
-
std::cout << "Enabled log res: " << res << "(0 means success)" << std::endl;
-
}
-
-
// Configure ADLX log to send errors, warnings and debug information messages to the DebugView.
-
void UseDebugView()
-
{
-
// Log destination, severity
-
ADLX_LOG_DESTINATION mode = DBGVIEW;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
-
// Enable log
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, nullptr, nullptr);
-
std::cout << "Enabled log result : " << res << "(0 means success)" << std::endl;
-
}
-
-
// Application handle log, app's callback will handle the ADLX log
-
void UseAppHandlLog()
-
{
-
// Log destination, severity
-
ADLX_LOG_DESTINATION mode = APPLICATION;
-
ADLX_LOG_SEVERITY severity = LDEBUG;
-
-
// Enable log
-
ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, &g_appHandlLog, nullptr);
-
std::cout << "Enabled log result: " << res << "(0 means success)" << std::endl;
-
}
-
-
// Main menu
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
std::cout << "\t->Press 1 to enable log with local file, file [./ADLX.log] will be created." << std::endl;
-
std::cout << "\t->Press 2 to enable log with DebugView" << std::endl;
-
std::cout << "\t->Press 3 to enable log with app handle" << std::endl;
-
}
-
-
// Menu action control
-
void MenuControl()
-
{
-
int num = 0;
-
num = getchar();
-
switch (num)
-
{
-
// Local file
-
case '1':
-
UseLocalFile();
-
break;
-
-
// DebugView
-
case '2':
-
UseDebugView();
-
break;
-
-
// Application handle
-
case '3':
-
UseAppHandlLog();
-
break;
-
-
default:
-
std::cout << "Invalid input" << std::endl;
-
break;
-
}
-
}
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ LDEBUG
Definition: ADLXDefines.h:631
-
@ DBGVIEW
Definition: ADLXDefines.h:648
-
@ APPLICATION
Definition: ADLXDefines.h:649
-
@ LOCALFILE
Definition: ADLXDefines.h:647
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_LOG_SEVERITY
Indicates the severity level for ADLX logs.
Definition: ADLXDefines.h:630
-
ADLX_LOG_DESTINATION
Indicates the location of the log traces that are generated from the internal code execution of ADLX.
Definition: ADLXDefines.h:646
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_sample_userprocess.html b/vendor/adlx/SDKDoc/html/cpp_sample_userprocess.html deleted file mode 100644 index 3b9cd98..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_sample_userprocess.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: UserProcess - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
UserProcess
-
-
-

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include <Windows.h>
-
#include <TlHelp32.h>
-
#include <TCHAR.H>
-
#include "GlobalDefs.h"
-
-
// Get process id
-
static DWORD GetProcessIdOfWinLogon (DWORD id);
-
-
// Get token by name
-
static BOOL GetTokenByName (HANDLE& hToken);
-
-
// Invoke process
-
static BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd);
-
-
// The thread to create user process
-
static DWORD WINAPI CreateUserProcess (LPVOID lpParam);
-
-
DWORD GetProcessIdOfWinLogon (DWORD id)
-
{
-
HANDLE hSnap = ::CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
-
if (hSnap == INVALID_HANDLE_VALUE)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'CreateToolhelp32Snapshot' failed.");
-
return 0;
-
}
-
-
PROCESSENTRY32 ProcEntry = { 0 };
-
ProcEntry.dwSize = sizeof (PROCESSENTRY32);
-
-
if (!::Process32First (hSnap, &ProcEntry))
-
{
-
::CloseHandle (hSnap);
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'Process32First' failed.");
-
return 0;
-
}
-
-
DWORD processId = 0;
-
for (;;)
-
{
-
if (_tcscmp (ProcEntry.szExeFile, L"winlogon.exe") == 0)
-
{
-
DWORD logonSessionId = 0;
-
if (!::ProcessIdToSessionId (ProcEntry.th32ProcessID, &logonSessionId))
-
continue;
-
-
if (logonSessionId == id)
-
{
-
processId = ProcEntry.th32ProcessID;
-
break;
-
}
-
}
-
-
if (!Process32Next (hSnap, &ProcEntry))
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'Process32Next' failed.");
-
break;
-
}
-
}
-
::CloseHandle (hSnap);
-
-
return processId;
-
}
-
-
BOOL GetTokenByName (HANDLE& hToken)
-
{
-
BOOL ret = FALSE;
-
-
typedef BOOL (WINAPI* LPWTSQUERYUSERTOKEN)(DWORD, PHANDLE);
-
LPWTSQUERYUSERTOKEN fWTSQueryUserTokenPtr = NULL;
-
-
HMODULE hLib = NULL;
-
-
do
-
{
-
DWORD sessionId = WTSGetActiveConsoleSessionId ();
-
if (sessionId == 0xFFFFFFFF)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName:WTSGetActiveConsoleSessionId: failed.");
-
break;
-
}
-
-
if (fWTSQueryUserTokenPtr == NULL)
-
{
-
if (hLib == NULL)
-
hLib = LoadLibrary (L"WtsApi32.dll");
-
-
if (hLib)
-
fWTSQueryUserTokenPtr = (LPWTSQUERYUSERTOKEN)GetProcAddress (hLib, "WTSQueryUserToken");
-
-
if (!fWTSQueryUserTokenPtr)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: Get symbol 'WTSQueryUserToken' failed.");
-
break;
-
}
-
}
-
-
if (!fWTSQueryUserTokenPtr (sessionId, &hToken))
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'fWTSQueryUserTokenPtr' failed, error code: %d.", GetLastError());
-
break;
-
}
-
-
DWORD winLogonProcessId = GetProcessIdOfWinLogon (sessionId);
-
HANDLE hWinlogon = ::OpenProcess (MAXIMUM_ALLOWED, FALSE, winLogonProcessId);
-
if (hWinlogon == NULL)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'OpenProcess' failed.");
-
break;
-
}
-
-
BOOL bResult = ::OpenProcessToken (hWinlogon, TOKEN_ALL_ACCESS, &hToken);
-
::CloseHandle (hWinlogon);
-
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'OpenProcessToken' failed.");
-
break;
-
}
-
-
HANDLE hTokenDup = NULL;
-
bResult = ::DuplicateTokenEx (hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup);
-
::CloseHandle (hToken);
-
hToken = NULL;
-
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'DuplicateTokenEx' failed.");
-
break;
-
}
-
-
bResult = ::SetTokenInformation (hTokenDup, TokenSessionId, (void*)&sessionId, sizeof (DWORD));
-
if (!bResult)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'SetTokenInformation' failed.");
-
break;
-
}
-
-
TOKEN_PRIVILEGES TokenPriv = { 0 };
-
::LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &TokenPriv.Privileges[0].Luid);
-
-
TokenPriv.PrivilegeCount = 0;
-
TokenPriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
::AdjustTokenPrivileges (hTokenDup, FALSE, &TokenPriv, sizeof (TokenPriv), NULL, NULL);
-
-
hToken = hTokenDup;
-
ret = true;
-
-
} while (0);
-
-
if (hLib)
-
FreeLibrary (hLib);
-
-
return ret;
-
}
-
-
BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd)
-
{
-
if (image == NULL || cmd == NULL)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: parameter(s) invalid.");
-
return FALSE;
-
}
-
-
HANDLE hToken = NULL;
-
if (!GetTokenByName (hToken) || hToken == NULL) // "SVCHOST.EXE"
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: GetTokenByName failed.");
-
return FALSE;
-
}
-
-
XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'GetTokenByName', hToken:%d.", hToken);
-
XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'GetTokenByName', image:%s, cmd:%s", image, cmd);
-
-
STARTUPINFOW si;
-
ZeroMemory (&si, sizeof (STARTUPINFOW));
-
si.cb = sizeof (STARTUPINFOW);
-
si.lpDesktop = L"winsta0\\default";
-
-
PROCESS_INFORMATION pi;
-
BOOL ret = CreateProcessAsUserW (hToken, image, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
-
if (!ret)
-
{
-
XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'CreateProcessAsUserW' failed, error code:%d.", GetLastError());
-
return FALSE;
-
}
-
-
return ret;
-
}
-
-
DWORD WINAPI CreateUserProcess (LPVOID lpParam)
-
{
-
if (lpParam == NULL)
-
return FALSE;
-
-
wchar_t imagePath[MAX_RESULT_LEN] = { 0 };
-
GetModuleFileNameW (NULL, imagePath, MAX_RESULT_LEN);
-
-
InvokeProcess (imagePath, (WCHAR*)lpParam);
-
-
return TRUE;
-
}
-
-
BOOL GetUserProcessData (Messager* messager, ResponseData* responseData)
-
{
-
if (messager == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetUserProcessData: invalid messager");
-
return FALSE;
-
}
-
-
if (responseData == NULL)
-
{
-
XTrace (L"ADLX Call Service: GetUserProcessData: NULL responseData");
-
return FALSE;
-
}
-
-
WCHAR eventPath[MAX_PATH] = { 0 };
-
WCHAR shmPath[MAX_PATH] = { 0 };
-
-
swprintf_s (eventPath, ADXL_EVENT_NAME, messager->adlxEntityName);
-
swprintf_s (shmPath, ADXL_SHAREMENORY_NAME, messager->adlxEntityName);
-
-
SECURITY_DESCRIPTOR sd;
-
SECURITY_ATTRIBUTES sa;
-
-
InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
-
SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
-
-
sa.nLength = sizeof (SECURITY_ATTRIBUTES);
-
sa.bInheritHandle = TRUE;
-
sa.lpSecurityDescriptor = &sd;
-
-
HANDLE finishEvent = CreateEventW (&sa, FALSE, FALSE, eventPath);
-
-
XTrace (L"ADLX Call Service: Main: GetUserProcessData, evt: %s, shmpath: %s\n", eventPath, shmPath);
-
-
ShareMem shmf;
-
if (shmf.Create (SHARE_MEMORY_MAX_SIZE, shmPath))
-
{
-
if (shmf.WriteBuffer ((PVOID)messager, sizeof (Messager)))
-
{
-
// Create user process to call ADLX function
-
DWORD threadId = 0;
-
CreateThread (NULL, 0, CreateUserProcess, (LPVOID)messager->adlxEntityName, 0, &threadId);
-
// Wait user process to write result to shared memory
-
if (WAIT_TIMEOUT == WaitForSingleObject (finishEvent, INFINITE))
-
{
-
return FALSE;
-
}
-
// Get template structure from shared memory
-
if (shmf.ReadBuffer ((PVOID)responseData, sizeof (ResponseData)))
-
{
-
XTrace (L"ADLX Call Service: Main: GetUserProcessData: Readback result: %s", responseData->executedResults);
-
return TRUE;
-
}
-
}
-
}
-
return FALSE;
-
}
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cpp_ssm.html b/vendor/adlx/SDKDoc/html/cpp_ssm.html deleted file mode 100644 index cdc91d0..0000000 --- a/vendor/adlx/SDKDoc/html/cpp_ssm.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: SmartShiftMax - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SmartShiftMax
-
-
-
- - - -

Demonstrates how to control AMD SmartShift Max when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartShift Max support.
2 Display AMD SmartShift Max bias value, bias mode, and bias range.
3 Set SmartShift Max bias mode to Manual.
4 Set SmartShift Max bias mode to Auto.
5 Set SmartShift Max bias value.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PowerTuning/SmartShiftMax

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
-
#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "SDK/Include/IPowerTuning.h"
-
#include "SDK/Include/ISystem1.h"
-
#include <iostream>
-
-
// Use ADLX namespace
-
using namespace adlx;
-
-
// ADLXHelper instance
-
// No outstanding interfaces from ADLX must exist when ADLX is destroyed.
-
// Use global variables to ensure validity of the interface.
-
static ADLXHelper g_ADLXHelp;
-
-
// Display AMD SmartShift Max support
-
void ShowSmartShiftMaxSupport(const IADLXSmartShiftMaxPtr& ssm);
-
-
// Display current AMD SmartShift Max state
-
void ShowSmartShiftMaxSate(const IADLXSmartShiftMaxPtr& ssm);
-
-
// Set AMD SmartShift Max bias mode
-
void SetSmartShiftMaxBiasMode(const IADLXSmartShiftMaxPtr& ssm, int index);
-
-
// Set AMD SmartShift Max bias value
-
void SetSmartShiftMaxBiasValue(const IADLXSmartShiftMaxPtr& ssm);
-
-
// Main menu
-
void MainMenu();
-
-
// Menu action control
-
void MenuControl(const IADLXSmartShiftMaxPtr& ssm);
-
-
// Wait for exit with error message
-
int WaitAndExit(const char* msg, const int retCode);
-
-
int main()
-
{
-
ADLX_RESULT res = ADLX_FAIL;
-
-
// Initialize ADLX
-
res = g_ADLXHelp.Initialize();
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get IADLXSystem1 interface via IADLXSystem::QueryInterface
-
IADLXSystem1Ptr system1;
-
res = g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(), reinterpret_cast<void**>(&system1));
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get power tuning service
-
IADLXPowerTuningServicesPtr powerTuningService;
-
res = system1->GetPowerTuningServices(&powerTuningService);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Get AMD SmartShift Max interface
-
IADLXSmartShiftMaxPtr ssm;
-
res = powerTuningService->GetSmartShiftMax(&ssm);
-
if (ADLX_SUCCEEDED(res))
-
{
-
// Display main menu options
-
MainMenu();
-
// Get and execute the choice
-
MenuControl(ssm);
-
}
-
else
-
std::cout << "Failed to get AMD SmartShift Max interface" << std::endl;
-
}
-
else
-
std::cout << "Failed to get power tuning service" << std::endl;
-
}
-
else
-
std::cout << "Failed to get IADLXSystem1" << std::endl;
-
}
-
else
-
return WaitAndExit("\tg_ADLXHelp initialize failed", 0);
-
-
// Destroy ADLX
-
res = g_ADLXHelp.Terminate();
-
std::cout << "Destroy ADLX res: " << res << std::endl;
-
-
// Pause to see the print out
-
system("pause");
-
-
return 0;
-
}
-
-
void ShowSmartShiftMaxSupport(const IADLXSmartShiftMaxPtr& ssm)
-
{
-
adlx_bool supported = false;
-
ssm->IsSupported(&supported);
-
std::cout << "\tIsSupported: " << supported << std::endl;
-
}
-
-
void ShowSmartShiftMaxSate(const IADLXSmartShiftMaxPtr& ssm)
-
{
- -
ADLX_RESULT ret = ssm->GetBiasMode(&mode);
-
if (ADLX_SUCCEEDED(ret))
-
std::cout << "\tBias mode: " << (mode == ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL ? "manual" : "auto") << std::endl;
-
else
-
std::cout << "\tFailed to get bias mode, error code: " << ret << std::endl;
-
-
adlx_int bias = 0;
-
ret = ssm->GetBias(&bias);
-
if (ADLX_SUCCEEDED(ret))
-
std::cout << "\tBias value: " << bias << std::endl;
-
else
-
std::cout << "\tFailed to get bias value, error code: " << ret << std::endl;
-
- -
ret = ssm->GetBiasRange(&range);
-
if (ADLX_SUCCEEDED(ret))
-
std::cout << "\tBias range: [ " << range.minValue << " ," << range.maxValue << " ], step: " << range.step << std::endl;
-
else
-
std::cout << "\tFailed to get bias range, error code: " << ret << std::endl;
-
}
-
-
void SetSmartShiftMaxBiasMode(const IADLXSmartShiftMaxPtr& ssm, int index)
-
{
-
ADLX_SSM_BIAS_MODE mode = index == 0 ? ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL : ADLX_SSM_BIAS_MODE::SSM_BIAS_AUTO;
-
ADLX_RESULT res = ssm->SetBiasMode(mode);
-
std::cout << "\tSet bias mode " << (mode == ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL ? "manual" : "auto") << ", return code: " << res << std::endl;
-
}
-
-
void SetSmartShiftMaxBiasValue(const IADLXSmartShiftMaxPtr& ssm)
-
{
-
adlx_int bias = 0;
-
ssm->GetBias(&bias);
- -
ssm->GetBiasRange(&range);
-
adlx_int base = (range.maxValue + range.minValue) / 2;
-
adlx_int value = bias == base ? base + range.step : base;
-
ADLX_RESULT res = ssm->SetBias(value);
-
std::cout << "\tSet bias value: " << value << ", return code: " << res << std::endl;
-
}
-
-
void MainMenu()
-
{
-
std::cout << "\tChoose from the following options:" << std::endl;
-
std::cout << "\t->Press 1 to display AMD SmartShift Max support" << std::endl;
-
std::cout << "\t->Press 2 to display AMD SmartShift Max bias value, bias mode, and bias range" << std::endl;
-
std::cout << "\t->Press 3 to set AMD SmartShift Max bias mode to Manual" << std::endl;
-
std::cout << "\t->Press 4 to set AMD SmartShift Max bias mode to Auto" << std::endl;
-
std::cout << "\t->Press 5 to set AMD SmartShift Max bias value" << std::endl;
-
std::cout << "\t->Press Q/q to terminate the application" << std::endl;
-
std::cout << "\t->Press M/m to display main menu options" << std::endl;
-
}
-
-
void MenuControl(const IADLXSmartShiftMaxPtr& ssm)
-
{
-
int num = 0;
-
while ((num = getchar()) != 'q' && num != 'Q')
-
{
-
switch (num)
-
{
-
// Display AMD SmartShift max support
-
case '1':
-
ShowSmartShiftMaxSupport(ssm);
-
break;
-
-
// Display current AMD SmartShift max state
-
case '2':
-
ShowSmartShiftMaxSate(ssm);
-
break;
-
-
// Set AMD SmartShift max bias mode
-
case '3':
-
case '4':
-
SetSmartShiftMaxBiasMode(ssm, num - '3');
-
break;
-
-
// Set AMD SmartShift max bias value
-
case '5':
-
SetSmartShiftMaxBiasValue(ssm);
-
break;
-
-
// Display menu options
-
case 'm':
-
case 'M':
-
MainMenu();
-
break;
-
default:
-
break;
-
}
-
}
-
}
-
-
int WaitAndExit(const char* msg, const int retCode)
-
{
-
// Printout the message and pause to see it before returning the desired code
-
if (nullptr != msg)
-
std::cout << msg << std::endl;
-
-
system("pause");
-
return retCode;
-
}
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ SSM_BIAS_AUTO
Definition: ADLXDefines.h:943
-
@ SSM_BIAS_MANUAL
Definition: ADLXDefines.h:944
-
#define ADLX_SUCCEEDED(x)
Definition: ADLXDefines.h:305
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_SSM_BIAS_MODE
AMD SmartShift Max bias mode.
Definition: ADLXDefines.h:942
-
adlx_int maxValue
Definition: ADLXStructures.h:154
-
adlx_int step
Definition: ADLXStructures.h:155
-
adlx_int minValue
Definition: ADLXStructures.h:153
-
This structure contains information on the integer range.
Definition: ADLXStructures.h:152
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cs_sample_adlxcsharpbind.html b/vendor/adlx/SDKDoc/html/cs_sample_adlxcsharpbind.html deleted file mode 100644 index e80e8cf..0000000 --- a/vendor/adlx/SDKDoc/html/cs_sample_adlxcsharpbind.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXCSharpBind - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXCSharpBind
-
-
-
- - - -

Demonstrates how to wrap ADLX with SWIG when programming with ADLX.

-

Sample Path

-

/Samples/csharp/ADLXCSharpBind

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
%module(directors="1") ADLX
-
%{
-
#include <Windows.h>
-
#include "../../../../SDK/Include/ADLXDefines.h"
-
#include "../../../../SDK/Include/ICollections.h"
-
#include "../../../../SDK/Include/IDisplays.h"
-
#include "../../../../SDK/Include/ISystem.h"
-
#include "../../../../SDK/Include/ILog.h"
-
#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
-
typedef int64_t adlx_int64;
-
typedef int32_t adlx_int32;
-
typedef int16_t adlx_int16;
-
typedef int8_t adlx_int8;
-
typedef uint64_t adlx_uint64;
-
typedef uint32_t adlx_uint32;
-
typedef uint16_t adlx_uint16;
-
typedef uint8_t adlx_uint8;
-
typedef size_t adlx_size;
-
typedef void* adlx_handle;
-
typedef double adlx_double;
-
typedef float adlx_float;
-
typedef void adlx_void;
-
typedef long adlx_long;
-
typedef adlx_int32 adlx_int;
-
typedef unsigned long adlx_ulong;
-
typedef adlx_uint32 adlx_uint;
-
typedef bool adlx_bool;
-
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-
typedef WCHAR TCHAR;
-
-
// Microsoft
-
#define ADLX_CORE_LINK __declspec(dllexport)
-
#define ADLX_STD_CALL __stdcall
-
#define ADLX_CDECL_CALL __cdecl
-
#define ADLX_FAST_CALL __fastcall
-
#define ADLX_INLINE __inline
-
#define ADLX_FORCEINLINE __forceinline
-
#define ADLX_NO_VTABLE __declspec(novtable)
-
-
//IID's
-
#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; }
-
#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y))
-
#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; }
-
-
using namespace adlx;
-
%}
-
-
typedef int64_t adlx_int64;
-
typedef int32_t adlx_int32;
-
typedef int16_t adlx_int16;
-
typedef int8_t adlx_int8;
-
typedef uint64_t adlx_uint64;
-
typedef uint32_t adlx_uint32;
-
typedef uint16_t adlx_uint16;
-
typedef uint8_t adlx_uint8;
-
typedef size_t adlx_size;
-
typedef void* adlx_handle;
-
typedef double adlx_double;
-
typedef float adlx_float;
-
typedef void adlx_void;
-
typedef long adlx_long;
-
typedef adlx_int32 adlx_int;
-
typedef unsigned long adlx_ulong;
-
typedef adlx_uint32 adlx_uint;
-
typedef bool adlx_bool;
-
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-
typedef WCHAR TCHAR;
-
-
// Microsoft
-
#define ADLX_CORE_LINK __declspec(dllexport)
-
#define ADLX_STD_CALL __stdcall
-
#define ADLX_CDECL_CALL __cdecl
-
#define ADLX_FAST_CALL __fastcall
-
#define ADLX_INLINE __inline
-
#define ADLX_FORCEINLINE __forceinline
-
#define ADLX_NO_VTABLE __declspec(novtable)
-
-
//IID's
-
#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; }
-
#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y))
-
-
#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; }
-
-
/* Callback to turn on director wrapping */
-
%feature("director") IADLXDisplayListChangedListener;
-
-
%include stdint.i
-
%include carrays.i
-
%include windows.i
-
%include typemaps.i
-
-
%include "../../../../SDK/Include/ADLXDefines.h"
-
%include "../../../../SDK/Include/ICollections.h"
-
%include "../../../../SDK/Include/IDisplays.h"
-
%include "../../../../SDK/Include/ISystem.h"
-
%include "../../../../SDK/Include/ILog.h"
-
%include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
using namespace adlx;
-
-
// T* pointer
-
%include cpointer.i
-
%pointer_functions(adlx_int, intP);
-
%pointer_functions(double, doubleP);
-
%pointer_functions(adlx_uint, uintP);
-
%pointer_functions(ADLX_DISPLAY_TYPE, displayTypeP);
-
%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE, disConnectTypeP);
-
%pointer_functions(ADLX_DISPLAY_SCAN_TYPE, disScanTypeP);
-
%pointer_functions(adlx_size, adlx_sizeP);
-
-
// T** ppointer
-
%define %ppointer_functions(TYPE,NAME)
-
%{
-
static TYPE *new_##NAME() { %}
-
%{ return new TYPE(); %}
-
%{}
-
-
static TYPE *copy_##NAME(TYPE value) { %}
-
%{ return new TYPE(value); %}
-
%{}
-
-
static void delete_##NAME(TYPE *obj) { %}
-
%{ if (*obj) delete *obj; %}
-
%{}
-
-
static void NAME ##_assign(TYPE *obj, TYPE value) {
-
*obj = value;
-
}
-
-
static TYPE NAME ##_value(TYPE *obj) {
-
return *obj;
-
}
-
%}
-
-
TYPE *new_##NAME();
-
TYPE *copy_##NAME(TYPE value);
-
void delete_##NAME(TYPE *obj);
-
void NAME##_assign(TYPE *obj, TYPE value);
-
TYPE NAME##_value(TYPE *obj);
-
-
%enddef
-
-
%define %pointer_cast(TYPE1,TYPE2,NAME)
-
%inline %{
-
TYPE2 NAME(TYPE1 x) {
-
return (TYPE2) x;
-
}
-
%}
-
%enddef
-
%ppointer_functions(IADLXDisplayServices*, displaySerP_Ptr);
-
%ppointer_functions(IADLXDisplayList*, displayListP_Ptr);
-
%ppointer_functions(IADLXDisplay*, displayP_Ptr);
-
%ppointer_functions(IADLXDisplayChangedHandling*, displayChangeHandlP_Ptr);
-
%ppointer_functions(char*, charP_Ptr);
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cs_sample_display_events.html b/vendor/adlx/SDKDoc/html/cs_sample_display_events.html deleted file mode 100644 index 91b6c23..0000000 --- a/vendor/adlx/SDKDoc/html/cs_sample_display_events.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayEvents - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayEvents
-
-
-
- - - -

Demontrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/csharp/DisplayEvents

- -

Code

-
C#
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
using System.Threading.Tasks;
-
using System.Threading;
-
-
namespace DisplayEvents
-
{
-
class mainDisplayEvents
-
{
-
static void Main(string[] args)
-
{
-
// Initialize ADLX with ADLXHelper
-
ADLXHelper help = new ADLXHelper();
-
ADLX_RESULT res = help.Initialize();
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Get system services
-
IADLXSystem sys = help.GetSystemServices();
-
-
if (sys != null)
-
{
-
// Get display services
-
SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr();
-
res = sys.GetDisplaysServices(s);
-
IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s);
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Get displaychangedhandling
-
SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandling ppDisChangeHand = ADLX.new_displayChangeHandlP_Ptr();
-
res = displayService.GetDisplayChangedHandling(ppDisChangeHand);
-
IADLXDisplayChangedHandling hand = ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand);
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Callback for displayListChanged
-
DisplayListCallBack call = new DisplayListCallBack();
-
hand.AddDisplayListEventListener(call);
-
Console.WriteLine(String.Format("\n\n Plug or unplug a display within 20 seconds."));
-
try
-
{
-
Thread.Sleep(20000);
-
}
-
catch (Exception e)
-
{
-
// Exception
-
}
-
hand.RemoveDisplayListEventListener(call);
-
-
// Release display change handling interface
-
hand.Release();
-
}
-
-
// Release display services interface
-
displayService.Release();
-
}
-
}
-
}
-
else
-
{
-
Console.WriteLine(String.Format("ADLX helper initialization result: {0}", res));
-
}
-
-
// Terminate ADLX
-
res = help.Terminate();
-
Console.WriteLine(String.Format("ADLX Terminate result: {0}", res));
-
Console.ReadKey();
-
}
-
}
-
-
// Callback for display list changed
-
public class DisplayListCallBack : IADLXDisplayListChangedListener
-
{
-
public DisplayListCallBack()
-
:base(){}
-
-
// Override function
-
public override bool OnDisplayListChanged(IADLXDisplayList pNewDisplay)
-
{
-
uint size = pNewDisplay.Size();
-
Console.WriteLine(String.Format("\nDisplay list changed, display list size: {0}", size));
-
uint it = pNewDisplay.Begin();
-
for (; it != pNewDisplay.Size(); it++)
-
{
-
SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr();
-
pNewDisplay.At(it, ppDisplay);
-
IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay);
-
-
SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr();
-
display.Name(ppName);
-
String name = ADLX.charP_Ptr_value(ppName);
-
-
Console.WriteLine(String.Format("The display [{0}]:", it));
-
Console.WriteLine(String.Format("\tname: {0}", name));
-
-
display.Release();
-
}
-
-
return true;
-
}
-
}
-
}
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/cs_sample_displayinfo.html b/vendor/adlx/SDKDoc/html/cs_sample_displayinfo.html deleted file mode 100644 index a5a3d12..0000000 --- a/vendor/adlx/SDKDoc/html/cs_sample_displayinfo.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayInfo
-
-
-
- - - -

Demonstrates how to obtain the display information when programming with ADLX to perform related tests.

-

Sample Path

-

/Samples/csharp/DisplayInfo

- -

Code

-
C#
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
using System.Threading.Tasks;
-
-
namespace DisplayInfo
-
{
-
class mainDisplayInfo
-
{
-
static void Main(string[] args) {
-
-
// Initialize ADLX with ADLXHelper
-
ADLXHelper help = new ADLXHelper();
-
ADLX_RESULT res = help.Initialize();
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Get system services
-
IADLXSystem sys = help.GetSystemServices();
-
-
if (sys != null)
-
{
-
// Get display services
-
SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr();
-
res = sys.GetDisplaysServices(s);
-
IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s);
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Get display list
-
SWIGTYPE_p_p_adlx__IADLXDisplayList ppDisplayList = ADLX.new_displayListP_Ptr();
-
res = displayService.GetDisplays(ppDisplayList);
-
IADLXDisplayList displayList = ADLX.displayListP_Ptr_value(ppDisplayList);
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
// Iterate through the display list
-
uint it = displayList.Begin();
-
for (; it != displayList.Size(); it++)
-
{
-
SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr();
-
res = displayList.At(it, ppDisplay);
-
IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay);
-
-
if (res == ADLX_RESULT.ADLX_OK)
-
{
-
SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr();
-
display.Name(ppName);
-
String name = ADLX.charP_Ptr_value(ppName);
-
-
SWIGTYPE_p_ADLX_DISPLAY_TYPE pDisType = ADLX.new_displayTypeP();
-
display.DisplayType(pDisType);
-
ADLX_DISPLAY_TYPE disType = ADLX.displayTypeP_value(pDisType);
-
-
SWIGTYPE_p_unsigned_int pMID = ADLX.new_uintP();
-
display.ManufacturerID(pMID);
-
long mid = ADLX.uintP_value(pMID);
-
-
SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPE pConnect = ADLX.new_disConnectTypeP();
-
display.ConnectorType(pConnect);
-
ADLX_DISPLAY_CONNECTOR_TYPE connect = ADLX.disConnectTypeP_value(pConnect);
-
-
SWIGTYPE_p_p_char ppEDIE = ADLX.new_charP_Ptr();
-
display.EDID(ppEDIE);
-
String edid = ADLX.charP_Ptr_value(ppEDIE);
-
-
SWIGTYPE_p_int pH = ADLX.new_intP();
-
SWIGTYPE_p_int pV = ADLX.new_intP();
-
display.NativeResolution(pH, pV);
-
int h = ADLX.intP_value(pH);
-
int v = ADLX.intP_value(pV);
-
-
SWIGTYPE_p_double pRefRate = ADLX.new_doubleP();
-
display.RefreshRate(pRefRate);
-
double refRate = ADLX.doubleP_value(pRefRate);
-
-
SWIGTYPE_p_unsigned_int pPixClock = ADLX.new_uintP();
-
display.PixelClock(pPixClock);
-
long pixClock = ADLX.uintP_value(pPixClock);
-
-
SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPE pScanType = ADLX.new_disScanTypeP();
-
display.ScanType(pScanType);
-
ADLX_DISPLAY_SCAN_TYPE scanType = ADLX.disScanTypeP_value(pScanType);
-
-
SWIGTYPE_p_size_t pID = ADLX.new_adlx_sizeP();
-
display.UniqueId(pID);
-
uint id = ADLX.adlx_sizeP_value(pID);
-
-
Console.WriteLine(String.Format("\nThe display [{0}]:", it));
-
Console.WriteLine(String.Format("\tName: {0}", name));
-
Console.WriteLine(String.Format("\tType: {0}", disType));
-
Console.WriteLine(String.Format("\tConnector type: {0}", connect));
-
Console.WriteLine(String.Format("\tManufacturer id: {0}", mid));
-
Console.WriteLine(String.Format("\tEDID: {0}", edid));
-
Console.WriteLine(String.Format("\tResolution: h: {0} v: {1}", h, v));
-
Console.WriteLine(String.Format("\tRefresh rate: {0}", refRate));
-
Console.WriteLine(String.Format("\tPixel clock: {0}", pixClock));
-
Console.WriteLine(String.Format("\tScan type: {0}", scanType));
-
Console.WriteLine(String.Format("\tUnique id: {0}", id));
-
-
// Release display interface
-
display.Release();
-
}
-
}
-
-
// Release display list interface
-
displayList.Release();
-
}
-
-
// Release display services interface
-
displayService.Release();
-
}
-
}
-
}
-
else
-
{
-
Console.WriteLine(String.Format("ADLX helper init res:: {0}", res));
-
}
-
-
// Terminate ADLX
-
res = help.Terminate();
-
Console.WriteLine(String.Format("ADLX Terminate res: {0}", res));
-
Console.ReadKey();
-
}
-
}
-
}
-
ADLX_DISPLAY_CONNECTOR_TYPE
Indicates the display connector type.
Definition: ADLXDefines.h:426
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DISPLAY_SCAN_TYPE
Indicates the display scan type.
Definition: ADLXDefines.h:477
-
ADLX_DISPLAY_TYPE
Indicates the display type.
Definition: ADLXDefines.h:457
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/desktop.html b/vendor/adlx/SDKDoc/html/desktop.html deleted file mode 100644 index 06ec726..0000000 --- a/vendor/adlx/SDKDoc/html/desktop.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Desktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Desktop
-
-
-

The Desktop domain contains interfaces related to desktop functionality. Examples include obtaining the list of desktops, registering for desktop-related notifications, and gaining access to various desktop information and configuration.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/desktop.js b/vendor/adlx/SDKDoc/html/desktop.js deleted file mode 100644 index 07f2b4c..0000000 --- a/vendor/adlx/SDKDoc/html/desktop.js +++ /dev/null @@ -1,10 +0,0 @@ -var desktop = -[ - [ "IADLXDesktop", "_d_o_x__i_a_d_l_x_desktop.html", "_d_o_x__i_a_d_l_x_desktop" ], - [ "IADLXDesktopChangedHandling", "_d_o_x__i_a_d_l_x_desktop_changed_handling.html", "_d_o_x__i_a_d_l_x_desktop_changed_handling" ], - [ "IADLXDesktopList", "_d_o_x__i_a_d_l_x_desktop_list.html", "_d_o_x__i_a_d_l_x_desktop_list" ], - [ "IADLXDesktopListChangedListener", "_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html", "_d_o_x__i_a_d_l_x_desktop_list_changed_listener" ], - [ "IADLXDesktopServices", "_d_o_x__i_a_d_l_x_desktop_services.html", "_d_o_x__i_a_d_l_x_desktop_services" ], - [ "IADLXEyefinityDesktop", "_d_o_x__i_a_d_l_x_eyefinity_desktop.html", "_d_o_x__i_a_d_l_x_eyefinity_desktop" ], - [ "IADLXSimpleEyefinity", "_d_o_x__i_a_d_l_x_simple_eyefinity.html", "_d_o_x__i_a_d_l_x_simple_eyefinity" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/dir_027b3822e68cea2333c40389ff559349.html b/vendor/adlx/SDKDoc/html/dir_027b3822e68cea2333c40389ff559349.html deleted file mode 100644 index 8cdaf63..0000000 --- a/vendor/adlx/SDKDoc/html/dir_027b3822e68cea2333c40389ff559349.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
C Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_16efc9621f5d2e1cb4bad055b0f276b2.html b/vendor/adlx/SDKDoc/html/dir_16efc9621f5d2e1cb4bad055b0f276b2.html deleted file mode 100644 index 6956941..0000000 --- a/vendor/adlx/SDKDoc/html/dir_16efc9621f5d2e1cb4bad055b0f276b2.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html b/vendor/adlx/SDKDoc/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html deleted file mode 100644 index d6d5572..0000000 --- a/vendor/adlx/SDKDoc/html/dir_24e107d8aaaa0f0fb9ce89773de45c08.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Samples Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_32f501a9a44fa5b987b82f09ad085bbe.html b/vendor/adlx/SDKDoc/html/dir_32f501a9a44fa5b987b82f09ad085bbe.html deleted file mode 100644 index 85c24ba..0000000 --- a/vendor/adlx/SDKDoc/html/dir_32f501a9a44fa5b987b82f09ad085bbe.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXProgrammingGuide Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXProgrammingGuide Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_38661bf1cff6bbf8d643288778f7dda5.html b/vendor/adlx/SDKDoc/html/dir_38661bf1cff6bbf8d643288778f7dda5.html deleted file mode 100644 index d25abea..0000000 --- a/vendor/adlx/SDKDoc/html/dir_38661bf1cff6bbf8d643288778f7dda5.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXSamplesPage Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXSamplesPage Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_42276f7418706d1ade0d3bc4e4f60731.html b/vendor/adlx/SDKDoc/html/dir_42276f7418706d1ade0d3bc4e4f60731.html deleted file mode 100644 index 8575629..0000000 --- a/vendor/adlx/SDKDoc/html/dir_42276f7418706d1ade0d3bc4e4f60731.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Windows Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_537881034b1f7d49233316885f2cd2ce.html b/vendor/adlx/SDKDoc/html/dir_537881034b1f7d49233316885f2cd2ce.html deleted file mode 100644 index a744a06..0000000 --- a/vendor/adlx/SDKDoc/html/dir_537881034b1f7d49233316885f2cd2ce.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Cpp Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_66c87b55badc78d3b4aa518cd95dfa04.html b/vendor/adlx/SDKDoc/html/dir_66c87b55badc78d3b4aa518cd95dfa04.html deleted file mode 100644 index b9c59d6..0000000 --- a/vendor/adlx/SDKDoc/html/dir_66c87b55badc78d3b4aa518cd95dfa04.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples/csharp Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
csharp Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_6e22ff5a6df353352cbcbff529ec7bf5.html b/vendor/adlx/SDKDoc/html/dir_6e22ff5a6df353352cbcbff529ec7bf5.html deleted file mode 100644 index 197a320..0000000 --- a/vendor/adlx/SDKDoc/html/dir_6e22ff5a6df353352cbcbff529ec7bf5.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples/python Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
python Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_902de48ee18c71cf36cb2c92b94e2165.html b/vendor/adlx/SDKDoc/html/dir_902de48ee18c71cf36cb2c92b94e2165.html deleted file mode 100644 index 1c7f27f..0000000 --- a/vendor/adlx/SDKDoc/html/dir_902de48ee18c71cf36cb2c92b94e2165.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXInterfacePage Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXInterfacePage Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.html b/vendor/adlx/SDKDoc/html/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.html deleted file mode 100644 index 1dfa135..0000000 --- a/vendor/adlx/SDKDoc/html/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXLegal Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXLegal Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_a12a240c2aa7d26dd72e7a22857dd4bb.html b/vendor/adlx/SDKDoc/html/dir_a12a240c2aa7d26dd72e7a22857dd4bb.html deleted file mode 100644 index b601f14..0000000 --- a/vendor/adlx/SDKDoc/html/dir_a12a240c2aa7d26dd72e7a22857dd4bb.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Include Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_c5db9f0563fe1d2d90e845bf2fbf723c.html b/vendor/adlx/SDKDoc/html/dir_c5db9f0563fe1d2d90e845bf2fbf723c.html deleted file mode 100644 index 1773010..0000000 --- a/vendor/adlx/SDKDoc/html/dir_c5db9f0563fe1d2d90e845bf2fbf723c.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples/CPP Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
CPP Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_c8ab53e67140eaecfb977988f71b2a99.html b/vendor/adlx/SDKDoc/html/dir_c8ab53e67140eaecfb977988f71b2a99.html deleted file mode 100644 index 5e8cdd2..0000000 --- a/vendor/adlx/SDKDoc/html/dir_c8ab53e67140eaecfb977988f71b2a99.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples/java Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
java Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_ca6309d378ceffb9970caf11a0592736.html b/vendor/adlx/SDKDoc/html/dir_ca6309d378ceffb9970caf11a0592736.html deleted file mode 100644 index 6cca81e..0000000 --- a/vendor/adlx/SDKDoc/html/dir_ca6309d378ceffb9970caf11a0592736.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/SDK Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
SDK Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_e722523abc32cefc280070c505cb9f82.html b/vendor/adlx/SDKDoc/html/dir_e722523abc32cefc280070c505cb9f82.html deleted file mode 100644 index 59e0da6..0000000 --- a/vendor/adlx/SDKDoc/html/dir_e722523abc32cefc280070c505cb9f82.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Config Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.html b/vendor/adlx/SDKDoc/html/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.html deleted file mode 100644 index 722834a..0000000 --- a/vendor/adlx/SDKDoc/html/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: D:/AMD_Git/adlx_release/drivers/ADLX/Samples/C Directory Reference - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
C Directory Reference
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/display.html b/vendor/adlx/SDKDoc/html/display.html deleted file mode 100644 index 4ac7c2e..0000000 --- a/vendor/adlx/SDKDoc/html/display.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Display - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Display
-
-
-

The Display domain contains interfaces that provide display functionalities. Examples include obtaining the list of displays, registering for display related notifications, and gaining access to various display information and configuration.

-

Note: Many display settings when changed will cause the display to become blank for a moment.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/display.js b/vendor/adlx/SDKDoc/html/display.js deleted file mode 100644 index 9e521fe..0000000 --- a/vendor/adlx/SDKDoc/html/display.js +++ /dev/null @@ -1,38 +0,0 @@ -var display = -[ - [ "IADLXDisplay", "_d_o_x__i_a_d_l_x_display.html", "_d_o_x__i_a_d_l_x_display" ], - [ "IADLXDisplay3DLUT", "_d_o_x__i_a_d_l_x_display3_d_l_u_t.html", "_d_o_x__i_a_d_l_x_display3_d_l_u_t" ], - [ "IADLXDisplay3DLUTChangedEvent", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event" ], - [ "IADLXDisplay3DLUTChangedListener", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html", "_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener" ], - [ "IADLXDisplayBlanking", "_d_o_x__i_a_d_l_x_display_blanking.html", "_d_o_x__i_a_d_l_x_display_blanking" ], - [ "IADLXDisplayChangedHandling", "_d_o_x__i_a_d_l_x_display_changed_handling.html", "_d_o_x__i_a_d_l_x_display_changed_handling" ], - [ "IADLXDisplayColorDepth", "_d_o_x__i_a_d_l_x_display_color_depth.html", "_d_o_x__i_a_d_l_x_display_color_depth" ], - [ "IADLXDisplayConnectivityExperience", "_d_o_x__i_a_d_l_x_display_connectivity_experience.html", "_d_o_x__i_a_d_l_x_display_connectivity_experience" ], - [ "IADLXDisplayCustomColor", "_d_o_x__i_a_d_l_x_display_custom_color.html", "_d_o_x__i_a_d_l_x_display_custom_color" ], - [ "IADLXDisplayCustomResolution", "_d_o_x__i_a_d_l_x_display_custom_resolution.html", "_d_o_x__i_a_d_l_x_display_custom_resolution" ], - [ "IADLXDisplayFreeSync", "_d_o_x__i_a_d_l_x_display_free_sync.html", "_d_o_x__i_a_d_l_x_display_free_sync" ], - [ "IADLXDisplayGPUScaling", "_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html", "_d_o_x__i_a_d_l_x_display_g_p_u_scaling" ], - [ "IADLXDisplayGamma", "_d_o_x__i_a_d_l_x_display_gamma.html", "_d_o_x__i_a_d_l_x_display_gamma" ], - [ "IADLXDisplayGammaChangedEvent", "_d_o_x__i_a_d_l_x_display_gamma_changed_event.html", "_d_o_x__i_a_d_l_x_display_gamma_changed_event" ], - [ "IADLXDisplayGammaChangedListener", "_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html", "_d_o_x__i_a_d_l_x_display_gamma_changed_listener" ], - [ "IADLXDisplayGamut", "_d_o_x__i_a_d_l_x_display_gamut.html", "_d_o_x__i_a_d_l_x_display_gamut" ], - [ "IADLXDisplayGamutChangedEvent", "_d_o_x__i_a_d_l_x_display_gamut_changed_event.html", "_d_o_x__i_a_d_l_x_display_gamut_changed_event" ], - [ "IADLXDisplayGamutChangedListener", "_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html", "_d_o_x__i_a_d_l_x_display_gamut_changed_listener" ], - [ "IADLXDisplayHDCP", "_d_o_x__i_a_d_l_x_display_h_d_c_p.html", "_d_o_x__i_a_d_l_x_display_h_d_c_p" ], - [ "IADLXDisplayIntegerScaling", "_d_o_x__i_a_d_l_x_display_integer_scaling.html", "_d_o_x__i_a_d_l_x_display_integer_scaling" ], - [ "IADLXDisplayList", "_d_o_x__i_a_d_l_x_display_list.html", "_d_o_x__i_a_d_l_x_display_list" ], - [ "IADLXDisplayListChangedListener", "_d_o_x__i_a_d_l_x_display_list_changed_listener.html", "_d_o_x__i_a_d_l_x_display_list_changed_listener" ], - [ "IADLXDisplayPixelFormat", "_d_o_x__i_a_d_l_x_display_pixel_format.html", "_d_o_x__i_a_d_l_x_display_pixel_format" ], - [ "IADLXDisplayResolution", "_d_o_x__i_a_d_l_x_display_resolution.html", "_d_o_x__i_a_d_l_x_display_resolution" ], - [ "IADLXDisplayResolutionList", "_d_o_x__i_a_d_l_x_display_resolution_list.html", "_d_o_x__i_a_d_l_x_display_resolution_list" ], - [ "IADLXDisplayScalingMode", "_d_o_x__i_a_d_l_x_display_scaling_mode.html", "_d_o_x__i_a_d_l_x_display_scaling_mode" ], - [ "IADLXDisplayServices", "_d_o_x__i_a_d_l_x_display_services.html", "_d_o_x__i_a_d_l_x_display_services" ], - [ "IADLXDisplayServices1", "_d_o_x__i_a_d_l_x_display_services1.html", "_d_o_x__i_a_d_l_x_display_services1" ], - [ "IADLXDisplayServices2", "_d_o_x__i_a_d_l_x_display_services2.html", "_d_o_x__i_a_d_l_x_display_services2" ], - [ "IADLXDisplaySettingsChangedEvent", "_d_o_x__i_a_d_l_x_display_settings_changed_event.html", "_d_o_x__i_a_d_l_x_display_settings_changed_event" ], - [ "IADLXDisplaySettingsChangedEvent1", "_d_o_x__i_a_d_l_x_display_settings_changed_event1.html", "_d_o_x__i_a_d_l_x_display_settings_changed_event1" ], - [ "IADLXDisplaySettingsChangedEvent2", "_d_o_x__i_a_d_l_x_display_settings_changed_event2.html", "_d_o_x__i_a_d_l_x_display_settings_changed_event2" ], - [ "IADLXDisplaySettingsChangedListener", "_d_o_x__i_a_d_l_x_display_settings_changed_listener.html", "_d_o_x__i_a_d_l_x_display_settings_changed_listener" ], - [ "IADLXDisplayVSR", "_d_o_x__i_a_d_l_x_display_v_s_r.html", "_d_o_x__i_a_d_l_x_display_v_s_r" ], - [ "IADLXDisplayVariBright", "_d_o_x__i_a_d_l_x_display_vari_bright.html", "_d_o_x__i_a_d_l_x_display_vari_bright" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/doc.png b/vendor/adlx/SDKDoc/html/doc.png deleted file mode 100644 index 17edabff95f7b8da13c9516a04efe05493c29501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.html b/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.html deleted file mode 100644 index 9aeaa52..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: 3D Graphics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
3D Graphics
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filename Description
3DSettingsEvent Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.
AnisotropicFiltering Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.
AntiAliasing Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.
AntiLag Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.
Boost Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.
Chill Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.
EnhancedSync Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.
FRTC Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.
ImageSharpening Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.
MorphologicAntiAliasing Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.
ResetShaderCache Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.
RSR Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.
Tessellation Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.
WaitForVerticalRefresh Demonstrates how to access VSync options, and perform related testing when programming with ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.js b/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.js deleted file mode 100644 index d3ec960..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_3_d_graphics.js +++ /dev/null @@ -1,17 +0,0 @@ -var domain_c_sample_3_d_graphics = -[ - [ "3DSettingsEvent", "c_3_d_settings_event.html", null ], - [ "AnisotropicFiltering", "c__anisotropic_filtering.html", null ], - [ "AntiAliasing", "c__anti_aliasing.html", null ], - [ "AntiLag", "c__anti_lag.html", null ], - [ "Boost", "c__boost.html", null ], - [ "Chill", "c__chill.html", null ], - [ "EnhancedSync", "c__enhanced_sync.html", null ], - [ "FRTC", "c__f_r_t_c.html", null ], - [ "ImageSharpening", "c__image_sharpening.html", null ], - [ "MorphologicAntiAliasing", "c__morphologic_anti_aliasing.html", null ], - [ "ResetShaderCache", "c__reset_shader_cache.html", null ], - [ "RSR", "c__r_s_r.html", null ], - [ "Tessellation", "c__tessellation.html", null ], - [ "WaitForVerticalRefresh", "c__wait_for_vertical_refresh.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.html b/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.html deleted file mode 100644 index 47901f1..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Desktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Desktop
-
-
-

- - - - - - - - - -
Filename Description
DesktopsEvent Sample demonstrating how to obtain the desktops changed handle and add/remove call back for changed events.
Eyefinity Sample demonstrating how to create an Eyefinity desktop.
PrimaryAdapter Sample demonstrating how to get the primary adapter when programming with ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.js b/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.js deleted file mode 100644 index 7ce4b14..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__desktop.js +++ /dev/null @@ -1,5 +0,0 @@ -var domain_c_sample__desktop = -[ - [ "Eyefinity", "c_sample_eyefinity.html", null ], - [ "PrimaryAdapter", "c_sample__primary_adapter.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__display.html b/vendor/adlx/SDKDoc/html/domain_c_sample__display.html deleted file mode 100644 index 84ffce3..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__display.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Display - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Display
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filename Description
Display3DLUT Sample demonstrating Set/Get 3DLUT.
DisplayBlanking Sample demonstrating Set/Get DisplayBlanking.
DisplayColorDepth Sample demonstrating how to Set/Get Color Depth.
DisplayConnectivityExperience Sample demonstrating how to Set/Get Connectivity-Experience.
DisplayCustomColor Sample demonstrating how to Set/Get Custom Color.
DisplayCustomResolution Sample demonstrating how to Set/Get Custom Resolution.
DisplayEvents Sample demonstrating how to monitor event changes.
DisplayFreeSync Sample demonstrating how to Set/Get FreeSync.
DisplayGamma Sample demonstrating Set/Get Gamma.
DisplayGamut Sample demonstrating Set/Get Gamut.
DisplayGPUScaling Sample demonstrating how to Set/Get GPU Scaling.
DisplayHDCP Sample demonstrating how to Set/Get HDCP.
DisplayInfo Sample demonstrating how to get display and output information.
DisplayIntegerScaling Sample demonstrating how to Set/Get Integer Scaling.
DisplayPixelFormat Sample demonstrating how to Set/Get Pixel Format.
DisplayScalingMode Sample demonstrating how to Set/Get scaling mode.
DisplayVariBright Sample demonstrating how to Set/Get VariBright.
DisplayVSR Sample demonstrating how to Set/Get virtual super resolution.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__display.js b/vendor/adlx/SDKDoc/html/domain_c_sample__display.js deleted file mode 100644 index 552dee3..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__display.js +++ /dev/null @@ -1,21 +0,0 @@ -var domain_c_sample__display = -[ - [ "Display3DLUT", "c_sample_display3_d_l_u_t.html", null ], - [ "DisplayBlanking", "c_sample_display_blanking.html", null ], - [ "DisplayColorDepth", "c_display__color_depth.html", null ], - [ "DisplayConnectivityExperience", "c_display__display_connectivity_experience.html", null ], - [ "DisplayCustomColor", "c_display__custom_color.html", null ], - [ "DisplayCustomResolution", "c_display__custom_resolution.html", null ], - [ "DisplayEvents", "c_sample_display_events.html", null ], - [ "DisplayFreeSync", "c_display__free_sync.html", null ], - [ "DisplayGamma", "c_sample_display_gamma.html", null ], - [ "DisplayGamut", "c_sample_display_gamut.html", null ], - [ "DisplayGPUScaling", "c_display__g_p_u_scaling.html", null ], - [ "DisplayHDCP", "c_display__h_d_c_p.html", null ], - [ "DisplayInfo", "c_sample_displayinfo.html", null ], - [ "DisplayIntegerScaling", "c_display__integer_scaling.html", null ], - [ "DisplayPixelFormat", "c_display__pixel_format.html", null ], - [ "DisplayScalingMode", "c_display__scaling_mode.html", null ], - [ "DisplayVariBright", "c_display__display_vari_bright.html", null ], - [ "DisplayVSR", "c_display__v_s_r.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.html b/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.html deleted file mode 100644 index e9bc6d4..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPU Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPU Tuning
-
-
-

- - - - - - - - - - - - - - - - - -
Filename Description
GPUAutoTuning Sample demonstrating how to control GPU Auto Tuning.
GPUPresetTuning Sample demonstrating how to control GPU Preset Tuning.
ManualFanTuning Sample demonstrating how to control GPU Manual Fan Tuning.
ManualGraphicsTuning Sample demonstrating how to control GPU Manual Graphics Tuning.
ManualPowerTuning Sample demonstrating how to control GPU Manual Power Tuning.
ManualVRAMTuning Sample demonstrating how to control GPU VRAM Tuning.
SmartAccessMemory Sample demonstrating how to control SmartAccessMemory.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.js b/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.js deleted file mode 100644 index 4043b3e..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__g_p_u_tuning.js +++ /dev/null @@ -1,10 +0,0 @@ -var domain_c_sample__g_p_u_tuning = -[ - [ "GPUAutoTuning", "c__g_p_u_auto_tuning.html", null ], - [ "GPUPresetTuning", "c__g_p_u_preset_tuning.html", null ], - [ "ManualFanTuning", "c__manual_fan_tuning.html", null ], - [ "ManualGraphicsTuning", "c__manual_graphics_tuning.html", null ], - [ "ManualPowerTuning", "c__manual_power_tuning.html", null ], - [ "ManualVRAMTuning", "c__manual_v_r_a_m_tuning.html", null ], - [ "SmartAccessMemory", "c_sam.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__generic.html b/vendor/adlx/SDKDoc/html/domain_c_sample__generic.html deleted file mode 100644 index 0ca8471..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__generic.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Miscellaneous - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Miscellaneous
-
-
-

- - - - - - - - - - - -
Filename Description
GPUs Sample demonstrating how to enumerate GPUs.
InvalidObject Sample demonstrating how to handle invalid object.
Log Sample demonstrating how to enable log and get log data.
WorkWithADL Sample demonstrating how to work with ADLX along ADL (including mapping between ADLX and ADL data with the IADLMapping interface).
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__generic.js b/vendor/adlx/SDKDoc/html/domain_c_sample__generic.js deleted file mode 100644 index 84be89a..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__generic.js +++ /dev/null @@ -1,7 +0,0 @@ -var domain_c_sample__generic = -[ - [ "GPUs", "c_sample_gpus.html", null ], - [ "InvalidObject", "c_sample__invalid_object.html", null ], - [ "Log", "c_sample_log.html", null ], - [ "WorkWithADL", "c_sample__work_with_a_d_l.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.html b/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.html deleted file mode 100644 index 06454f2..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: I2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
I2C
-
-
-

- - - - - -
Filename Description
I2C Sample demonstrating show how to use IADLXI2C interface to read and write data.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.js b/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.js deleted file mode 100644 index 8a2358d..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__i2_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var domain_c_sample__i2_c = -[ - [ "I2C", "c__i2_c.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.html b/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.html deleted file mode 100644 index e3db2fa..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Performance Monitoring - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Performance Monitoring
-
-
-

- - - - - - - - - - - -
Filename Description
PerfAllMetrics Sample demonstrating how to control all metrics.
PerfFPSMetrics Sample demonstrating how to control FPS metrics.
PerfGPUMetrics Sample demonstrating how to control GPU metrics.
PerfSystemMetrics Sample demonstrating how to control system metrics.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.js b/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.js deleted file mode 100644 index 0937672..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample__performance_monitoring.js +++ /dev/null @@ -1,7 +0,0 @@ -var domain_c_sample__performance_monitoring = -[ - [ "PerfAllMetrics", "c__perf_all_metrics.html", null ], - [ "PerfFPSMetrics", "c__perf_f_p_s_metrics.html", null ], - [ "PerfGPUMetrics", "c__perf_g_p_u_metrics.html", null ], - [ "PerfSystemMetrics", "c__perf_system_metrics.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.html b/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.html deleted file mode 100644 index b649289..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Receiving Events Notifications - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Receiving Events Notifications
-
-
-

- - - - - - - - - - - - - -
Filename Description
AsyncEventHandling Sample demonstrating how to handle long processing for an event on a separate thread.
Sync3DReceive Sample demonstrating how to receive notifications of changes in 3D settings using ADLX.
SyncDisplayReceive Sample demonstrating how to receive notifications of changes in display settings using ADLX.
SyncGPUTuning Sample demonstrating how to receive notifications of changes in GPU tuning using ADLX.
SyncPowerTuning Sample demonstrating how to receive notifications of changes in power tuning using ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.js b/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.js deleted file mode 100644 index eafc56b..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_globalsync.js +++ /dev/null @@ -1,9 +0,0 @@ -var domain_c_sample_globalsync = -[ - [ "AsyncEventHandling", "c_sample__async_event_handling.html", null ], - [ "DesktopsEvent", "c_sample_desktopevent.html", null ], - [ "Sync3DReceive", "c__sync3_d_receive.html", null ], - [ "SyncDisplayReceive", "c__sync_display_receive.html", null ], - [ "SyncGPUTuning", "c__sync_g_p_u_tuning.html", null ], - [ "SyncPowerTuning", "c__sync_power_tuning.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.html b/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.html deleted file mode 100644 index e552140..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Power Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Power Tuning
-
-
-

- - - - - -
Filename Description
SmartShiftMax Sample demonstrating how to control AMD SmartShift Max.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.js b/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.js deleted file mode 100644 index 698cccf..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_powertuning.js +++ /dev/null @@ -1,4 +0,0 @@ -var domain_c_sample_powertuning = -[ - [ "SmartShiftMax", "c_ssm.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.html b/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.html deleted file mode 100644 index 86ac05d..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ServiceCall - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ServiceCall
-
-
-

- - - - - - - - - -
Filename Description
GPUServiceCall Sample demonstrating how to use windows service call to get GPU information.
ShareMemory Sample demonstrating how to create a shareMemory.
UserProcess Sample demonstrating how to how to create a userprocess.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.js b/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.js deleted file mode 100644 index 935ff99..0000000 --- a/vendor/adlx/SDKDoc/html/domain_c_sample_servicecall.js +++ /dev/null @@ -1,6 +0,0 @@ -var domain_c_sample_servicecall = -[ - [ "GPUServiceCall", "c_sample__g_p_u_service_call.html", null ], - [ "ShareMemory", "c_sample__share_memory.html", null ], - [ "UserProcess", "c_sample_userprocess.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.html deleted file mode 100644 index a2a5496..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: 3D Graphics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
3D Graphics
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filename Description
3DSettingsEvent Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.
AnisotropicFiltering Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.
AntiAliasing Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.
AntiLag Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.
Boost Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.
Chill Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.
EnhancedSync Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.
FRTC Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.
ImageSharpening Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.
MorphologicAntiAliasing Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.
ResetShaderCache Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.
RSR Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.
Tessellation Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.
WaitForVerticalRefresh Demonstrates how to access VSync options, and perform related testing when programming with ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.js deleted file mode 100644 index 59839a4..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_3_d_graphics.js +++ /dev/null @@ -1,17 +0,0 @@ -var domain_cpp_sample_3_d_graphics = -[ - [ "3DSettingsEvent", "cpp_3_d_settings_event.html", null ], - [ "AnisotropicFiltering", "cpp__anisotropic_filtering.html", null ], - [ "AntiAliasing", "cpp__anti_aliasing.html", null ], - [ "AntiLag", "cpp__anti_lag.html", null ], - [ "Boost", "cpp__boost.html", null ], - [ "Chill", "cpp__chill.html", null ], - [ "EnhancedSync", "cpp__enhanced_sync.html", null ], - [ "FRTC", "cpp__f_r_t_c.html", null ], - [ "ImageSharpening", "cpp__image_sharpening.html", null ], - [ "MorphologicAntiAliasing", "cpp__morphologic_anti_aliasing.html", null ], - [ "ResetShaderCache", "cpp__reset_shader_cache.html", null ], - [ "RSR", "cpp__r_s_r.html", null ], - [ "Tessellation", "cpp__tessellation.html", null ], - [ "WaitForVerticalRefresh", "cpp__wait_for_vertical_refresh.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.html deleted file mode 100644 index ef37176..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Desktop - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Desktop
-
-
-

- - - - - - - - - -
Filename Description
DesktopsEvent Sample demonstrating how to obtain the desktops changed handle and add/remove call back for changed events.
Eyefinity Sample demonstrating how to create an Eyefinity desktop.
PrimaryAdapter Sample demonstrating how to get the primary adapter when programming with ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.js deleted file mode 100644 index e95be1b..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__desktop.js +++ /dev/null @@ -1,5 +0,0 @@ -var domain_cpp_sample__desktop = -[ - [ "Eyefinity", "cpp_sample_eyefinity.html", null ], - [ "PrimaryAdapter", "cpp_sample__primary_adapter.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.html deleted file mode 100644 index 4344683..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Display - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Display
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Filename Description
Display3DLUT Sample demonstrating Set/Get 3DLUT.
DisplayBlanking Sample demonstrating Set/Get DisplayBlanking.
DisplayColorDepth Sample demonstrating how to Set/Get Color Depth.
DisplayConnectivityExperience Sample demonstrating how to Set/Get Connectivity-Experience.
DisplayCustomColor Sample demonstrating how to Set/Get Custom Color.
DisplayCustomResolution Sample demonstrating how to Set/Get Custom Resolution.
DisplayEvents Sample demonstrating how to monitor event changes.
DisplayFreeSync Sample demonstrating how to Set/Get FreeSync.
DisplayGamma Sample demonstrating Set/Get Gamma.
DisplayGamut Sample demonstrating Set/Get Gamut.
DisplayGPUScaling Sample demonstrating how to Set/Get GPU Scaling.
DisplayHDCP Sample demonstrating how to Set/Get HDCP.
DisplayInfo Sample demonstrating how to get display and output information.
DisplayIntegerScaling Sample demonstrating how to Set/Get Integer Scaling.
DisplayPixelFormat Sample demonstrating how to Set/Get Pixel Format.
DisplayScalingMode Sample demonstrating how to Set/Get scaling mode.
DisplayVariBright Sample demonstrating how to Set/Get VariBright.
DisplayVSR Sample demonstrating how to Set/Get virtual super resolution.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.js deleted file mode 100644 index 5ac6ad9..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__display.js +++ /dev/null @@ -1,21 +0,0 @@ -var domain_cpp_sample__display = -[ - [ "Display3DLUT", "cpp_sample_display3_d_l_u_t.html", null ], - [ "DisplayBlanking", "cpp_sample_display_blanking.html", null ], - [ "DisplayColorDepth", "cpp_display__color_depth.html", null ], - [ "DisplayConnectivityExperience", "cpp_display__display_connectivity_experience.html", null ], - [ "DisplayCustomColor", "cpp_display__custom_color.html", null ], - [ "DisplayCustomResolution", "cpp_display__custom_resolution.html", null ], - [ "DisplayEvents", "cpp_sample_display_events.html", null ], - [ "DisplayFreeSync", "cpp_display__free_sync.html", null ], - [ "DisplayGamma", "cpp_sample_display_gamma.html", null ], - [ "DisplayGamut", "cpp_sample_display_gamut.html", null ], - [ "DisplayGPUScaling", "cpp_display__g_p_u_scaling.html", null ], - [ "DisplayHDCP", "cpp_display__h_d_c_p.html", null ], - [ "DisplayInfo", "cpp_sample_displayinfo.html", null ], - [ "DisplayIntegerScaling", "cpp_display__integer_scaling.html", null ], - [ "DisplayPixelFormat", "cpp_display__pixel_format.html", null ], - [ "DisplayScalingMode", "cpp_display__scaling_mode.html", null ], - [ "DisplayVariBright", "cpp_display__display_vari_bright.html", null ], - [ "DisplayVSR", "cpp_display__v_s_r.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.html deleted file mode 100644 index 53cffc8..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPU Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPU Tuning
-
-
-

- - - - - - - - - - - - - - - - - -
Filename Description
GPUAutoTuning Sample demonstrating how to control GPU Auto Tuning.
GPUPresetTuning Sample demonstrating how to control GPU Preset Tuning.
ManualFanTuning Sample demonstrating how to control GPU Manual Fan Tuning.
ManualGraphicsTuning Sample demonstrating how to control GPU Manual Graphics Tuning.
ManualPowerTuning Sample demonstrating how to control GPU Manual Power Tuning.
ManualVRAMTuning Sample demonstrating how to control GPU VRAM Tuning.
SmartAccessMemory Sample demonstrating how to control SmartAccessMemory.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.js deleted file mode 100644 index 544e697..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__g_p_u_tuning.js +++ /dev/null @@ -1,10 +0,0 @@ -var domain_cpp_sample__g_p_u_tuning = -[ - [ "GPUAutoTuning", "cpp__g_p_u_auto_tuning.html", null ], - [ "GPUPresetTuning", "cpp__g_p_u_preset_tuning.html", null ], - [ "ManualFanTuning", "cpp__manual_fan_tuning.html", null ], - [ "ManualGraphicsTuning", "cpp__manual_graphics_tuning.html", null ], - [ "ManualPowerTuning", "cpp__manual_power_tuning.html", null ], - [ "ManualVRAMTuning", "cpp__manual_v_r_a_m_tuning.html", null ], - [ "SmartAccessMemory", "cpp_sam.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.html deleted file mode 100644 index 0441334..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Miscellaneous - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Miscellaneous
-
-
-

- - - - - - - - - - - -
Filename Description
GPUs Sample demonstrating how to enumerate GPUs.
InvalidObject Sample demonstrating how to handle invalid object.
Log Sample demonstrating how to enable log and get log data.
WorkWithADL Sample demonstrating how to work with ADLX along ADL (including mapping between ADLX and ADL data with the IADLMapping interface).
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.js deleted file mode 100644 index 583067b..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__generic.js +++ /dev/null @@ -1,7 +0,0 @@ -var domain_cpp_sample__generic = -[ - [ "GPUs", "cpp_sample_gpus.html", null ], - [ "InvalidObject", "cpp_sample__invalid_object.html", null ], - [ "Log", "cpp_sample_log.html", null ], - [ "WorkWithADL", "cpp_sample__work_with_a_d_l.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.html deleted file mode 100644 index 3454f87..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: I2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
I2C
-
-
-

- - - - - -
Filename Description
I2C Sample demonstrating show how to use IADLXI2C interface to read and write data.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.js deleted file mode 100644 index 2869072..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__i2_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var domain_cpp_sample__i2_c = -[ - [ "I2C", "cpp__i2_c.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.html deleted file mode 100644 index e2b6363..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Performance Monitoring - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Performance Monitoring
-
-
-

- - - - - - - - - - - -
Filename Description
PerfAllMetrics Sample demonstrating how to control all metrics.
PerfFPSMetrics Sample demonstrating how to control FPS metrics.
PerfGPUMetrics Sample demonstrating how to control GPU metrics.
PerfSystemMetrics Sample demonstrating how to control system metrics.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.js deleted file mode 100644 index e56008d..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample__performance_monitoring.js +++ /dev/null @@ -1,7 +0,0 @@ -var domain_cpp_sample__performance_monitoring = -[ - [ "PerfAllMetrics", "cpp__perf_all_metrics.html", null ], - [ "PerfFPSMetrics", "cpp__perf_f_p_s_metrics.html", null ], - [ "PerfGPUMetrics", "cpp__perf_g_p_u_metrics.html", null ], - [ "PerfSystemMetrics", "cpp__perf_system_metrics.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.html deleted file mode 100644 index b23b051..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Receiving Events Notifications - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Receiving Events Notifications
-
-
-

- - - - - - - - - - - - - -
Filename Description
AsyncEventHandling Sample demonstrating how to handle long processing for an event on a separate thread.
Sync3DReceive Sample demonstrating how to receive notifications of changes in 3D settings using ADLX.
SyncDisplayReceive Sample demonstrating how to receive notifications of changes in display settings using ADLX.
SyncGPUTuning Sample demonstrating how to receive notifications of changes in GPU tuning using ADLX.
SyncPowerTuning Sample demonstrating how to receive notifications of changes in power tuning using ADLX.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.js deleted file mode 100644 index 4ddb8ca..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_globalsync.js +++ /dev/null @@ -1,9 +0,0 @@ -var domain_cpp_sample_globalsync = -[ - [ "AsyncEventHandling", "cpp_sample__async_event_handling.html", null ], - [ "DesktopsEvent", "cpp_sample_desktopevent.html", null ], - [ "Sync3DReceive", "cpp__sync3_d_receive.html", null ], - [ "SyncDisplayReceive", "cpp__sync_display_receive.html", null ], - [ "SyncGPUTuning", "cpp__sync_g_p_u_tuning.html", null ], - [ "SyncPowerTuning", "cpp__sync_power_tuning.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.html deleted file mode 100644 index 6e13122..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Power Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Power Tuning
-
-
-

- - - - - -
Filename Description
SmartShiftMax Sample demonstrating how to control AMD SmartShift Max.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.js deleted file mode 100644 index 55b4ebc..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_powertuning.js +++ /dev/null @@ -1,4 +0,0 @@ -var domain_cpp_sample_powertuning = -[ - [ "SmartShiftMax", "cpp_ssm.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.html b/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.html deleted file mode 100644 index b592463..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ServiceCall - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ServiceCall
-
-
-

- - - - - - - - - -
Filename Description
GPUServiceCall Sample demonstrating how to use windows service call to get GPU information.
ShareMemory Sample demonstrating how to create a shareMemory.
UserProcess Sample demonstrating how to how to create a userprocess.
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.js b/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.js deleted file mode 100644 index fe8df24..0000000 --- a/vendor/adlx/SDKDoc/html/domain_cpp_sample_servicecall.js +++ /dev/null @@ -1,6 +0,0 @@ -var domain_cpp_sample_servicecall = -[ - [ "GPUServiceCall", "cpp_sample__g_p_u_service_call.html", null ], - [ "ShareMemory", "cpp_sample__share_memory.html", null ], - [ "UserProcess", "cpp_sample_userprocess.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_powertuning.html b/vendor/adlx/SDKDoc/html/domain_powertuning.html deleted file mode 100644 index 62ed58d..0000000 --- a/vendor/adlx/SDKDoc/html/domain_powertuning.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Power Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Power Tuning
-
-
-

The Power Tuning domain contains interfaces to configure power.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_powertuning.js b/vendor/adlx/SDKDoc/html/domain_powertuning.js deleted file mode 100644 index 9b30d91..0000000 --- a/vendor/adlx/SDKDoc/html/domain_powertuning.js +++ /dev/null @@ -1,8 +0,0 @@ -var domain_powertuning = -[ - [ "IADLXPowerTuningServices", "_d_o_x__i_a_d_l_x_power_tuning_services.html", "_d_o_x__i_a_d_l_x_power_tuning_services" ], - [ "IADLXPowerTuningChangedEvent", "_d_o_x__i_a_d_l_x_power_tuning_changed_event.html", "_d_o_x__i_a_d_l_x_power_tuning_changed_event" ], - [ "IADLXPowerTuningChangedHandling", "_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html", "_d_o_x__i_a_d_l_x_power_tuning_changed_handling" ], - [ "IADLXPowerTuningChangedListener", "_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html", "_d_o_x__i_a_d_l_x_power_tuning_changed_listener" ], - [ "IADLXSmartShiftMax", "_d_o_x__i_a_d_l_x_smart_shift_max.html", "_d_o_x__i_a_d_l_x_smart_shift_max" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/domain_sample_page.html b/vendor/adlx/SDKDoc/html/domain_sample_page.html deleted file mode 100644 index 16d2531..0000000 --- a/vendor/adlx/SDKDoc/html/domain_sample_page.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Samples
-
-
-

In this section

-

The ADLX Samples section provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/domain_sample_page.js b/vendor/adlx/SDKDoc/html/domain_sample_page.js deleted file mode 100644 index 0bda579..0000000 --- a/vendor/adlx/SDKDoc/html/domain_sample_page.js +++ /dev/null @@ -1,8 +0,0 @@ -var domain_sample_page = -[ - [ "C++ Samples", "page_sample_cpp.html", "page_sample_cpp" ], - [ "C Samples", "page_sample_c.html", "page_sample_c" ], - [ "C# Samples", "page_sample_cs.html", "page_sample_cs" ], - [ "Java Samples", "page_sample_java.html", "page_sample_java" ], - [ "Python Samples", "page_sample_py.html", "page_sample_py" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/doxygen.css b/vendor/adlx/SDKDoc/html/doxygen.css deleted file mode 100644 index ffbff02..0000000 --- a/vendor/adlx/SDKDoc/html/doxygen.css +++ /dev/null @@ -1,1793 +0,0 @@ -/* The standard CSS for doxygen 1.9.1 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.navtab { - border-right: 1px solid #A3B4D7; - padding-right: 15px; - text-align: right; - line-height: 110%; -} - -div.navtab table { - border-spacing: 0; -} - -td.navtab { - padding-right: 6px; - padding-left: 6px; -} -td.navtabHL { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} - -a.navtab { - font-weight: bold; -} - -div.qindex{ - text-align: center; - width: 100%; - line-height: 140%; - font-size: 130%; - color: #A0A0A0; -} - -dt.alphachar{ - font-size: 180%; - font-weight: bold; -} - -.alphachar a{ - color: black; -} - -.alphachar a:hover, .alphachar a:visited{ - text-decoration: none; -} - -.classindex dl { - padding: 25px; - column-count:1 -} - -.classindex dd { - display:inline-block; - margin-left: 50px; - width: 90%; - line-height: 1.15em; -} - -.classindex dl.odd { - background-color: #F8F9FC; -} - -@media(min-width: 1120px) { - .classindex dl { - column-count:2 - } -} - -@media(min-width: 1320px) { - .classindex dl { - column-count:3 - } -} - - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -.contents a.qindexHL:visited { - color: #FFFFFF; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight, .memTemplItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; -} - -dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -span.emoji { - /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html - * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; - */ -} - -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -.DocNodeRTL { - text-align: right; - direction: rtl; -} - -.DocNodeLTR { - text-align: left; - direction: ltr; -} - -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; -} - -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; -} - -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; -} -/* @end */ - -u { - text-decoration: underline; -} - diff --git a/vendor/adlx/SDKDoc/html/doxygen.svg b/vendor/adlx/SDKDoc/html/doxygen.svg deleted file mode 100644 index d42dad5..0000000 --- a/vendor/adlx/SDKDoc/html/doxygen.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/html/dynsections.js b/vendor/adlx/SDKDoc/html/dynsections.js deleted file mode 100644 index 3174bd7..0000000 --- a/vendor/adlx/SDKDoc/html/dynsections.js +++ /dev/null @@ -1,121 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - - - - -AMD Device Library eXtra: File List - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
-
[detail level 123]
- - - - -
  SDK
  Include
 ADLXDefines.h
 ADLXStructures.h
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/folderclosed.png b/vendor/adlx/SDKDoc/html/folderclosed.png deleted file mode 100644 index bb8ab35edce8e97554e360005ee9fc5bffb36e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA diff --git a/vendor/adlx/SDKDoc/html/functions.html b/vendor/adlx/SDKDoc/html/functions.html deleted file mode 100644 index abf83bd..0000000 --- a/vendor/adlx/SDKDoc/html/functions.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Class Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- b -

- - -

- c -

- - -

- d -

- - -

- g -

- - -

- h -

- - -

- m -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

- - -

- x -

- - -

- y -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/functions_vars.html b/vendor/adlx/SDKDoc/html/functions_vars.html deleted file mode 100644 index ffdb54e..0000000 --- a/vendor/adlx/SDKDoc/html/functions_vars.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Class Members - Variables - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- b -

- - -

- c -

- - -

- d -

- - -

- g -

- - -

- h -

- - -

- m -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- v -

- - -

- x -

- - -

- y -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/funpage.html b/vendor/adlx/SDKDoc/html/funpage.html deleted file mode 100644 index 8e767f7..0000000 --- a/vendor/adlx/SDKDoc/html/funpage.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Functions - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Functions
-
-
-

In this section

-

This section contains the function pointers required to initialize ADLX, as outlined in the Initializing ADLX with function pointers section.

-
    -
  • To use ADLX functions in a C++ application, refer to the implementation of the ADLXHelper class in ~SDK\ADLXHelper\Windows\Cpp.
  • -
  • For a C application, refer to the implementation of the ADLX Helper functions in ~SDK\ADLXHelper\Windows\C.
  • -
-

Note: ADLX can either be initialized with the ADLX Helpers or with function pointers. AMD recommends using ADLX Helpers when initializing ADLX.

-

Functions

- - - - - - - - - - - - - - - - - - - - - - - -
Functions Description
ADLXInitializeWithCallerAdl_Fn A pointer to the function to initialize ADLX with an ADL context.
ADLXInitialize_Fn A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver.
ADLXQueryFullVersion_Fn A pointer to the function to query the full version of ADLX.
ADLXQueryVersion_Fn A pointer to the function to query the version of ADLX.
ADLXTerminate_Fn A pointer to the function to terminate ADLX.
adlx_atomic_dec An atomic decrement of a variable in multithreading environments.
adlx_atomic_inc An atomic increment of a variable in multithreading environments.
adlx_free_library Frees a loaded module.
adlx_get_proc_address Retrieves the address of a function from a module.
adlx_load_library Loads a module into the address space of the calling process.
-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/funpage.js b/vendor/adlx/SDKDoc/html/funpage.js deleted file mode 100644 index 8df0b95..0000000 --- a/vendor/adlx/SDKDoc/html/funpage.js +++ /dev/null @@ -1,13 +0,0 @@ -var funpage = -[ - [ "ADLXInitializeWithCallerAdl_Fn", "page__a_d_l_x_initialize_with_caller_adl__fn.html", null ], - [ "ADLXInitialize_Fn", "page__a_d_l_x_initialize__fn.html", null ], - [ "ADLXQueryFullVersion_Fn", "page__a_d_l_x_query_full_version__fn.html", null ], - [ "ADLXQueryVersion_Fn", "page__a_d_l_x_query_version__fn.html", null ], - [ "ADLXTerminate_Fn", "page__a_d_l_x_terminate__fn.html", null ], - [ "adlx_atomic_dec", "adlx_atomic_dec.html", null ], - [ "adlx_atomic_inc", "adlx_atomic_inc.html", null ], - [ "adlx_free_library", "adlx_free_library.html", null ], - [ "adlx_get_proc_address", "adlx_get_proc_address.html", null ], - [ "adlx_load_library", "adlx_load_library.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/gfx3dgraphics.html b/vendor/adlx/SDKDoc/html/gfx3dgraphics.html deleted file mode 100644 index f64cc36..0000000 --- a/vendor/adlx/SDKDoc/html/gfx3dgraphics.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: 3D Graphics - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
3D Graphics
-
-
-

The 3D Graphics domain contains interfaces to control 3D graphics settings of the GPUs in the system that affect 3D content quality and GPU performance. Examples include obtaining 3D graphics settings interfaces, registering for 3D graphics settings notifications, and accessing 3D graphics settings configurations.

-

Note: Many 3D graphic settings when changed will cause the displays connected to this GPU to become blank for a moment.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/gfx3dgraphics.js b/vendor/adlx/SDKDoc/html/gfx3dgraphics.js deleted file mode 100644 index 462cb10..0000000 --- a/vendor/adlx/SDKDoc/html/gfx3dgraphics.js +++ /dev/null @@ -1,21 +0,0 @@ -var gfx3dgraphics = -[ - [ "IADLX3DAnisotropicFiltering", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html", "_d_o_x__i_a_d_l_x3_d_anisotropic_filtering" ], - [ "IADLX3DAntiAliasing", "_d_o_x__i_a_d_l_x3_d_anti_aliasing.html", "_d_o_x__i_a_d_l_x3_d_anti_aliasing" ], - [ "IADLX3DAntiLag", "_d_o_x__i_a_d_l_x3_d_anti_lag.html", "_d_o_x__i_a_d_l_x3_d_anti_lag" ], - [ "IADLX3DAntiLag1", "_d_o_x__i_a_d_l_x3_d_anti_lag1.html", "_d_o_x__i_a_d_l_x3_d_anti_lag1" ], - [ "IADLX3DBoost", "_d_o_x__i_a_d_l_x3_d_boost.html", "_d_o_x__i_a_d_l_x3_d_boost" ], - [ "IADLX3DChill", "_d_o_x__i_a_d_l_x3_d_chill.html", "_d_o_x__i_a_d_l_x3_d_chill" ], - [ "IADLX3DEnhancedSync", "_d_o_x__i_a_d_l_x3_d_enhanced_sync.html", "_d_o_x__i_a_d_l_x3_d_enhanced_sync" ], - [ "IADLX3DFrameRateTargetControl", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html", "_d_o_x__i_a_d_l_x3_d_frame_rate_target_control" ], - [ "IADLX3DImageSharpening", "_d_o_x__i_a_d_l_x3_d_image_sharpening.html", "_d_o_x__i_a_d_l_x3_d_image_sharpening" ], - [ "IADLX3DMorphologicalAntiAliasing", "_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html", "_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing" ], - [ "IADLX3DRadeonSuperResolution", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html", "_d_o_x__i_a_d_l_x3_d_radeon_super_resolution" ], - [ "IADLX3DResetShaderCache", "_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html", "_d_o_x__i_a_d_l_x3_d_reset_shader_cache" ], - [ "IADLX3DSettingsChangedEvent", "_d_o_x__i_a_d_l_x3_d_settings_changed_event.html", "_d_o_x__i_a_d_l_x3_d_settings_changed_event" ], - [ "IADLX3DSettingsChangedHandling", "_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html", "_d_o_x__i_a_d_l_x3_d_settings_changed_handling" ], - [ "IADLX3DSettingsChangedListener", "_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html", "_d_o_x__i_a_d_l_x3_d_settings_changed_listener" ], - [ "IADLX3DSettingsServices", "_d_o_x__i_a_d_l_x3_d_settings_services.html", "_d_o_x__i_a_d_l_x3_d_settings_services" ], - [ "IADLX3DTessellation", "_d_o_x__i_a_d_l_x3_d_tessellation.html", "_d_o_x__i_a_d_l_x3_d_tessellation" ], - [ "IADLX3DWaitForVerticalRefresh", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html", "_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/globals.html b/vendor/adlx/SDKDoc/html/globals.html deleted file mode 100644 index 251dcec..0000000 --- a/vendor/adlx/SDKDoc/html/globals.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- a -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_b.html b/vendor/adlx/SDKDoc/html/globals_b.html deleted file mode 100644 index 14cdb26..0000000 --- a/vendor/adlx/SDKDoc/html/globals_b.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- b -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_c.html b/vendor/adlx/SDKDoc/html/globals_c.html deleted file mode 100644 index 5964395..0000000 --- a/vendor/adlx/SDKDoc/html/globals_c.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- c -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_d.html b/vendor/adlx/SDKDoc/html/globals_d.html deleted file mode 100644 index f1b2fa2..0000000 --- a/vendor/adlx/SDKDoc/html/globals_d.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- d -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_defs.html b/vendor/adlx/SDKDoc/html/globals_defs.html deleted file mode 100644 index 9d04d5e..0000000 --- a/vendor/adlx/SDKDoc/html/globals_defs.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_enum.html b/vendor/adlx/SDKDoc/html/globals_enum.html deleted file mode 100644 index 04a1ea9..0000000 --- a/vendor/adlx/SDKDoc/html/globals_enum.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- a -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_eval.html b/vendor/adlx/SDKDoc/html/globals_eval.html deleted file mode 100644 index 31c2350..0000000 --- a/vendor/adlx/SDKDoc/html/globals_eval.html +++ /dev/null @@ -1,769 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- a -

- - -

- b -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- w -

- - -

- y -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_f.html b/vendor/adlx/SDKDoc/html/globals_f.html deleted file mode 100644 index 70d26f4..0000000 --- a/vendor/adlx/SDKDoc/html/globals_f.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- f -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_g.html b/vendor/adlx/SDKDoc/html/globals_g.html deleted file mode 100644 index 2e7e42c..0000000 --- a/vendor/adlx/SDKDoc/html/globals_g.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- g -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_i.html b/vendor/adlx/SDKDoc/html/globals_i.html deleted file mode 100644 index cdbc2c5..0000000 --- a/vendor/adlx/SDKDoc/html/globals_i.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- i -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_l.html b/vendor/adlx/SDKDoc/html/globals_l.html deleted file mode 100644 index 938497f..0000000 --- a/vendor/adlx/SDKDoc/html/globals_l.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- l -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_m.html b/vendor/adlx/SDKDoc/html/globals_m.html deleted file mode 100644 index 79d25fc..0000000 --- a/vendor/adlx/SDKDoc/html/globals_m.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- m -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_n.html b/vendor/adlx/SDKDoc/html/globals_n.html deleted file mode 100644 index cd34524..0000000 --- a/vendor/adlx/SDKDoc/html/globals_n.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- n -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_o.html b/vendor/adlx/SDKDoc/html/globals_o.html deleted file mode 100644 index d0c3884..0000000 --- a/vendor/adlx/SDKDoc/html/globals_o.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- o -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_p.html b/vendor/adlx/SDKDoc/html/globals_p.html deleted file mode 100644 index 520a698..0000000 --- a/vendor/adlx/SDKDoc/html/globals_p.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- p -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_r.html b/vendor/adlx/SDKDoc/html/globals_r.html deleted file mode 100644 index dcfd436..0000000 --- a/vendor/adlx/SDKDoc/html/globals_r.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- r -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_s.html b/vendor/adlx/SDKDoc/html/globals_s.html deleted file mode 100644 index 8796b9d..0000000 --- a/vendor/adlx/SDKDoc/html/globals_s.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- s -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_t.html b/vendor/adlx/SDKDoc/html/globals_t.html deleted file mode 100644 index 8c935f1..0000000 --- a/vendor/adlx/SDKDoc/html/globals_t.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- t -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_u.html b/vendor/adlx/SDKDoc/html/globals_u.html deleted file mode 100644 index eac0425..0000000 --- a/vendor/adlx/SDKDoc/html/globals_u.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- u -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_w.html b/vendor/adlx/SDKDoc/html/globals_w.html deleted file mode 100644 index 25dfbdd..0000000 --- a/vendor/adlx/SDKDoc/html/globals_w.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- w -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/globals_y.html b/vendor/adlx/SDKDoc/html/globals_y.html deleted file mode 100644 index 47c70ee..0000000 --- a/vendor/adlx/SDKDoc/html/globals_y.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: File Members - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- y -

-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/gpu.html b/vendor/adlx/SDKDoc/html/gpu.html deleted file mode 100644 index 0b65b79..0000000 --- a/vendor/adlx/SDKDoc/html/gpu.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPU - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPU
-
-
-

The GPU domain contains interfaces to retrieve GPU properties, and handle GPU hot plug or unplug notifications.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/gpu.js b/vendor/adlx/SDKDoc/html/gpu.js deleted file mode 100644 index 56d79d4..0000000 --- a/vendor/adlx/SDKDoc/html/gpu.js +++ /dev/null @@ -1,8 +0,0 @@ -var gpu = -[ - [ "IADLXGPU", "_d_o_x__i_a_d_l_x_g_p_u.html", "_d_o_x__i_a_d_l_x_g_p_u" ], - [ "IADLXGPU1", "_d_o_x__i_a_d_l_x_g_p_u1.html", "_d_o_x__i_a_d_l_x_g_p_u1" ], - [ "IADLXGPUList", "_d_o_x__i_a_d_l_x_g_p_u_list.html", "_d_o_x__i_a_d_l_x_g_p_u_list" ], - [ "IADLXGPUsChangedHandling", "_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html", "_d_o_x__i_a_d_l_x_g_p_us_changed_handling" ], - [ "IADLXGPUsEventListener", "_d_o_x__i_a_d_l_x_g_p_us_event_listener.html", "_d_o_x__i_a_d_l_x_g_p_us_event_listener" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/gputuning.html b/vendor/adlx/SDKDoc/html/gputuning.html deleted file mode 100644 index 6a097e7..0000000 --- a/vendor/adlx/SDKDoc/html/gputuning.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GPU Tuning - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GPU Tuning
-
-
-

The GPU Tuning domain contains interfaces to configure GPU tuning, and monitor power and thermal behavior of GPUs on the system.

-

WARNING: AMD processors are intended to be operated only within their associated specifications and factory settings. Operating your AMD processor outside of official AMD specifications or outside of factory settings, including but not limited to the conducting of overclocking (including use of this GPU tuning interface, even if such software has been directly or indirectly provided by AMD or otherwise affiliated in any way with AMD), may damage your processor and/or lead to other problems, including but not limited to, damage to your system components (including your motherboard and components thereon (e.g. memory)), system instabilities (e.g. data loss and corrupted images), reduction in system performance, shortened processor, system component and/or system life and in extreme cases, total system failure. AMD does not provide support or service for issues or damages related to use of an AMD processor outside of official AMD specifications or outside of factory settings, unless when using the software’s Performance Tuning Presets. You may also not receive support or service from your board or system manufacturer. Please make sure you have saved all important data before using this GPU tuning interface.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/gputuning.js b/vendor/adlx/SDKDoc/html/gputuning.js deleted file mode 100644 index 63d7227..0000000 --- a/vendor/adlx/SDKDoc/html/gputuning.js +++ /dev/null @@ -1,26 +0,0 @@ -var gputuning = -[ - [ "IADLXGPUAutoTuning", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning" ], - [ "IADLXGPUAutoTuningCompleteEvent", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event" ], - [ "IADLXGPUAutoTuningCompleteListener", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html", "_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener" ], - [ "IADLXGPUPresetTuning", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html", "_d_o_x__i_a_d_l_x_g_p_u_preset_tuning" ], - [ "IADLXGPUTuningChangedEvent", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event" ], - [ "IADLXGPUTuningChangedEvent1", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1" ], - [ "IADLXGPUTuningChangedHandling", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling" ], - [ "IADLXGPUTuningChangedListener", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener" ], - [ "IADLXGPUTuningServices", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services" ], - [ "IADLXGPUTuningServices1", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html", "_d_o_x__i_a_d_l_x_g_p_u_tuning_services1" ], - [ "IADLXManualFanTuning", "_d_o_x__i_a_d_l_x_manual_fan_tuning.html", "_d_o_x__i_a_d_l_x_manual_fan_tuning" ], - [ "IADLXManualFanTuningState", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state" ], - [ "IADLXManualFanTuningStateList", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html", "_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list" ], - [ "IADLXManualGraphicsTuning1", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html", "_d_o_x__i_a_d_l_x_manual_graphics_tuning1" ], - [ "IADLXManualGraphicsTuning2", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html", "_d_o_x__i_a_d_l_x_manual_graphics_tuning2" ], - [ "IADLXManualPowerTuning", "_d_o_x__i_a_d_l_x_manual_power_tuning.html", "_d_o_x__i_a_d_l_x_manual_power_tuning" ], - [ "IADLXManualTuningState", "_d_o_x__i_a_d_l_x_manual_tuning_state.html", "_d_o_x__i_a_d_l_x_manual_tuning_state" ], - [ "IADLXManualTuningStateList", "_d_o_x__i_a_d_l_x_manual_tuning_state_list.html", "_d_o_x__i_a_d_l_x_manual_tuning_state_list" ], - [ "IADLXManualVRAMTuning1", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1" ], - [ "IADLXManualVRAMTuning2", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html", "_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2" ], - [ "IADLXMemoryTimingDescription", "_d_o_x__i_a_d_l_x_memory_timing_description.html", "_d_o_x__i_a_d_l_x_memory_timing_description" ], - [ "IADLXMemoryTimingDescriptionList", "_d_o_x__i_a_d_l_x_memory_timing_description_list.html", "_d_o_x__i_a_d_l_x_memory_timing_description_list" ], - [ "IADLXSmartAccessMemory", "_d_o_x__i_a_d_l_x_smart_access_memory.html", "_d_o_x__i_a_d_l_x_smart_access_memory" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.html b/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.html deleted file mode 100644 index 1055193..0000000 --- a/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Typedefs - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ADLX Typedefs
-
-
- - - - - - - - - - - - - - -

-Typedefs

typedef void(ADLX_STD_CALL * ADLX_ADL_Main_Memory_Free) (void **buffer)
 
typedef ADLX_RESULT(ADLX_CDECL_CALL * ADLXQueryFullVersion_Fn) (adlx_uint64 *fullVersion)
 
typedef ADLX_RESULT(ADLX_CDECL_CALL * ADLXQueryVersion_Fn) (const char **version)
 
typedef ADLX_RESULT(ADLX_CDECL_CALL * ADLXInitialize_Fn) (adlx_uint64 version, adlx::IADLXSystem **ppSystem)
 
typedef ADLX_RESULT(ADLX_CDECL_CALL * ADLXInitializeWithCallerAdl_Fn) (adlx_uint64 version, adlx::IADLXSystem **ppSystem, adlx::IADLMapping **ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree)
 
typedef ADLX_RESULT(ADLX_CDECL_CALL * ADLXTerminate_Fn) ()
 
-

Detailed Description

-

This section provides ADLX typedef definitions for various ADLX functionalities.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-

Typedef Documentation

- -

◆ ADLX_ADL_Main_Memory_Free

- -
-
- - - - -
ADLX_ADL_Main_Memory_Free
-
-

The typedef of ADLX_ADL_Main_Memory_Free function.

Definition

-
-  typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer)
-  
-
-
- -

◆ ADLXInitialize_Fn

- -
-
- - - - -
ADLXInitialize_Fn
-
-

The typedef of ADLXInitialize function.

Definition

-
- typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem)
-  
-
-
- -

◆ ADLXInitializeWithCallerAdl_Fn

- -
-
- - - - -
ADLXInitializeWithCallerAdl_Fn
-
-

The typedef of ADLXInitializeWithCallerAdl function.

Definition

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree)
-  
-
-
- -

◆ ADLXQueryFullVersion_Fn

- -
-
- - - - -
ADLXQueryFullVersion_Fn
-
-

The typedef of QueryFullVersion function.

Definition

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryFullVersion_Fn)(adlx_uint64* fullVersion)
-  
-
-
- -

◆ ADLXQueryVersion_Fn

- -
-
- - - - -
ADLXQueryVersion_Fn
-
-

The typedef of QueryVersion function.

Definition

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryVersion_Fn)(const char** version)
-  
-
-
- -

◆ ADLXTerminate_Fn

- -
-
- - - - -
ADLXTerminate_Fn
-
-

The typedef of ADLXTerminate function.

Definition

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)()
-  
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.js b/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.js deleted file mode 100644 index 8071193..0000000 --- a/vendor/adlx/SDKDoc/html/group___a_d_l_x_defs.js +++ /dev/null @@ -1,9 +0,0 @@ -var group___a_d_l_x_defs = -[ - [ "ADLX_ADL_Main_Memory_Free", "group___a_d_l_x_defs.html#ga7301579b153c3612dca5c442e5f2dd45", null ], - [ "ADLXInitialize_Fn", "group___a_d_l_x_defs.html#gac5f7f97490516e7be3e62c3be1383c66", null ], - [ "ADLXInitializeWithCallerAdl_Fn", "group___a_d_l_x_defs.html#gadb90c5a66bc15b34f864d5883158ed44", null ], - [ "ADLXQueryFullVersion_Fn", "group___a_d_l_x_defs.html#ga6adc3b43ac10780441c675a07a0fa4ae", null ], - [ "ADLXQueryVersion_Fn", "group___a_d_l_x_defs.html#gacc89675ee4e79ce8f3a2d729bc48fc0b", null ], - [ "ADLXTerminate_Fn", "group___a_d_l_x_defs.html#ga8c0d01f62522f27bdb72ece0c7c89ded", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.html b/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.html deleted file mode 100644 index 71ae679..0000000 --- a/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.html +++ /dev/null @@ -1,431 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Macro - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ADLX Macro
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

#define ADLX_DLL_NAMEW   L"amdadlx64.dll"
 
#define ADLX_DLL_NAMEA   "amdadlx64.dll"
 
#define ADLX_DLL_NAME   ADLX_DLL_NAMEW
 
#define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME   "ADLXQueryFullVersion"
 
#define ADLX_QUERY_VERSION_FUNCTION_NAME   "ADLXQueryVersion"
 
#define ADLX_INIT_FUNCTION_NAME   "ADLXInitialize"
 
#define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME   "ADLXInitializeWithIncompatibleDriver"
 
#define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME   "ADLXInitializeWithCallerAdl"
 
#define ADLX_TERMINATE_FUNCTION_NAME   "ADLXTerminate"
 
#define ADLX_SUCCEEDED(x)   (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x))
 
#define ADLX_FAILED(x)   (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x))
 
#define MAX_USER_3DLUT_NUM_POINTS   17
 
#define ADLX_DLL_NAMEW   L"amdadlx32.dll"
 
#define ADLX_DLL_NAMEA   "amdadlx32.dll"
 
#define ADLX_DLL_NAME   ADLX_DLL_NAMEA
 
-

Detailed Description

-

This section provides ADLX macro definitions for various ADLX functionalities.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-

Macro Definition Documentation

- -

◆ ADLX_DLL_NAME [1/2]

- -
-
- - - - -
#define ADLX_DLL_NAME   ADLX_DLL_NAMEA
-
-

ADLX dll name in ANSI applications

Definition

-
-  #define ADLX_DLL_NAME                       ADLX_DLL_NAMEA
-  
-
-
- -

◆ ADLX_DLL_NAME [2/2]

- -
-
- - - - -
#define ADLX_DLL_NAME   ADLX_DLL_NAMEW
-
-

ADLX dll name in Unicode applications

Definition

-
-  #define ADLX_DLL_NAME                       ADLX_DLL_NAMEW
-  
-
-
- -

◆ ADLX_DLL_NAMEA [1/2]

- -
-
- - - - -
#define ADLX_DLL_NAMEA   "amdadlx32.dll"
-
-

ANSI name for 32-bit ADLX dll

Definition

-
-  #define ADLX_DLL_NAMEA                      "amdadlx32.dll"
-  
-
-
- -

◆ ADLX_DLL_NAMEA [2/2]

- -
-
- - - - -
#define ADLX_DLL_NAMEA   "amdadlx64.dll"
-
-

ANSI name for 64-bit ADLX dll

Definition

-
-  #define ADLX_DLL_NAMEA                      "amdadlx64.dll"
-  
-
-
- -

◆ ADLX_DLL_NAMEW [1/2]

- -
-
- - - - -
#define ADLX_DLL_NAMEW   L"amdadlx32.dll"
-
-

Unicode name for 32-bit ADLX dll

Definition

-
-  #define ADLX_DLL_NAMEW                      L"amdadlx32.dll"
-  
-
-
- -

◆ ADLX_DLL_NAMEW [2/2]

- -
-
- - - - -
#define ADLX_DLL_NAMEW   L"amdadlx64.dll"
-
-

Unicode name for 64-bit ADLX dll

Definition

-
-  #define ADLX_DLL_NAMEW                      L"amdadlx64.dll"
-  
-
-
- -

◆ ADLX_FAILED

- -
-
- - - - - - - - -
#define ADLX_FAILED( x)   (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x))
-
-

Checks if the result code passed as parameter indicates an unsuccessful operation.

Definition

-
-  #define ADLX_FAILED(x) (ADLX_OK != (x)  && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x))
-  
-
-
- -

◆ ADLX_INIT_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_INIT_FUNCTION_NAME   "ADLXInitialize"
-
-

The function name of ADLXInitialize

Definition

-
-  #define ADLX_INIT_FUNCTION_NAME                             "ADLXInitialize"
-  
-
-
- -

◆ ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME   "ADLXInitializeWithCallerAdl"
-
-

The function name of ADLXInitializeWithCallerAdl

Definition

-
-  #define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME             "ADLXInitializeWithCallerAdl"
-  
-
-
- -

◆ ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME   "ADLXInitializeWithIncompatibleDriver"
-
-

The function name of ADLXInitializeWithIncompatibleDriver

Definition

-
-  #define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME          "ADLXInitializeWithIncompatibleDriver"
-  
-
-
- -

◆ ADLX_QUERY_FULL_VERSION_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME   "ADLXQueryFullVersion"
-
-

The function name of QueryFullVersion

Definition

-
-  #define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME                    "ADLXQueryFullVersion"
-  
-
-
- -

◆ ADLX_QUERY_VERSION_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_QUERY_VERSION_FUNCTION_NAME   "ADLXQueryVersion"
-
-

The function name of QueryVersion

Definition

-
-  #define ADLX_QUERY_VERSION_FUNCTION_NAME            "ADLXQueryVersion"
-  
-
-
- -

◆ ADLX_SUCCEEDED

- -
-
- - - - - - - - -
#define ADLX_SUCCEEDED( x)   (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x))
-
-

Checks if the result code passed as parameter indicates a successful operation.

Definition

-
-  #define ADLX_SUCCEEDED(x) (ADLX_OK  == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x))
-  
-
-
- -

◆ ADLX_TERMINATE_FUNCTION_NAME

- -
-
- - - - -
#define ADLX_TERMINATE_FUNCTION_NAME   "ADLXTerminate"
-
-

The function name of ADLXTerminate

Definition

-
-  #define ADLX_TERMINATE_FUNCTION_NAME                        "ADLXTerminate"
-  
-
-
- -

◆ MAX_USER_3DLUT_NUM_POINTS

- -
-
- - - - -
#define MAX_USER_3DLUT_NUM_POINTS   17
-
-

Constant value used to set size of user 3D LUT data

Definition

-
-  #define MAX_USER_3DLUT_NUM_POINTS     17
-  
-
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.js b/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.js deleted file mode 100644 index dbbba01..0000000 --- a/vendor/adlx/SDKDoc/html/group___a_d_l_x_macro.js +++ /dev/null @@ -1,18 +0,0 @@ -var group___a_d_l_x_macro = -[ - [ "ADLX_DLL_NAME", "group___a_d_l_x_macro.html#ga01e03ede548cb4521e0895f77feacdc4", null ], - [ "ADLX_DLL_NAME", "group___a_d_l_x_macro.html#ga01e03ede548cb4521e0895f77feacdc4", null ], - [ "ADLX_DLL_NAMEA", "group___a_d_l_x_macro.html#gae6717665e58771830fb95333b9af6b35", null ], - [ "ADLX_DLL_NAMEA", "group___a_d_l_x_macro.html#gae6717665e58771830fb95333b9af6b35", null ], - [ "ADLX_DLL_NAMEW", "group___a_d_l_x_macro.html#ga230859c12673173fe14d5fa5bf3c2438", null ], - [ "ADLX_DLL_NAMEW", "group___a_d_l_x_macro.html#ga230859c12673173fe14d5fa5bf3c2438", null ], - [ "ADLX_FAILED", "group___a_d_l_x_macro.html#ga6ea0e7f02e40768a1e47cb60e0e6f482", null ], - [ "ADLX_INIT_FUNCTION_NAME", "group___a_d_l_x_macro.html#ga8f14be1543fc55eae619dda67965bf35", null ], - [ "ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME", "group___a_d_l_x_macro.html#gad4b30c181751a349fccd865550dbc709", null ], - [ "ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME", "group___a_d_l_x_macro.html#ga6219bdf1844b1f9bbb4fde96630442e4", null ], - [ "ADLX_QUERY_FULL_VERSION_FUNCTION_NAME", "group___a_d_l_x_macro.html#ga91ac676c95055e3ce7eefad329fb79bb", null ], - [ "ADLX_QUERY_VERSION_FUNCTION_NAME", "group___a_d_l_x_macro.html#ga792851e2bf013e65cadf8d1979c93aeb", null ], - [ "ADLX_SUCCEEDED", "group___a_d_l_x_macro.html#gaa6d4b27e28dc60797e52e901ad4e9ced", null ], - [ "ADLX_TERMINATE_FUNCTION_NAME", "group___a_d_l_x_macro.html#ga4eb1fd9b5d55b0699d498535f29c4634", null ], - [ "MAX_USER_3DLUT_NUM_POINTS", "group___a_d_l_x_macro.html#gadbbcd4df68e453ba39a3ad9df7403c1d", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__enumerations.html b/vendor/adlx/SDKDoc/html/group__enumerations.html deleted file mode 100644 index e68e8cf..0000000 --- a/vendor/adlx/SDKDoc/html/group__enumerations.html +++ /dev/null @@ -1,1739 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Enums - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
ADLX Enums
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Enumerations

enum  ADLX_RESULT {
-  ADLX_OK = 0 -, ADLX_ALREADY_ENABLED -, ADLX_ALREADY_INITIALIZED -, ADLX_FAIL -,
-  ADLX_INVALID_ARGS -, ADLX_BAD_VER -, ADLX_UNKNOWN_INTERFACE -, ADLX_TERMINATED -,
-  ADLX_ADL_INIT_ERROR -, ADLX_NOT_FOUND -, ADLX_INVALID_OBJECT -, ADLX_ORPHAN_OBJECTS -,
-  ADLX_NOT_SUPPORTED -, ADLX_PENDING_OPERATION -, ADLX_GPU_INACTIVE -
- }
 Indicates the result returned from an ADLX function or from an ADLX method. More...
 
enum  ADLX_HG_TYPE { NONE = 0 -, AMD -, OTHER - }
 Indicates the type of Hybrid Graphic. More...
 
enum  ADLX_ASIC_FAMILY_TYPE {
-  ASIC_UNDEFINED = 0 -, ASIC_RADEON -, ASIC_FIREPRO -, ASIC_FIREMV -,
-  ASIC_FIRESTREAM -, ASIC_FUSION -, ASIC_EMBEDDED -
- }
 Indicates the ASIC family type. More...
 
enum  ADLX_PCI_BUS_TYPE {
-  UNDEFINED = 0 -, PCI -, AGP -, PCIE -,
-  PCIE_2_0 -, PCIE_3_0 -, PCIE_4_0 -
- }
 Indicates the PCI bus type. More...
 
enum  ADLX_DP_LINK_RATE {
-  DP_LINK_RATE_UNKNOWN = 0 -, DP_LINK_RATE_RBR -, DP_LINK_RATE_2_16GBPS -, DP_LINK_RATE_2_43GBPS -,
-  DP_LINK_RATE_HBR -, DP_LINK_RATE_4_32GBPS -, DP_LINK_RATE_HBR2 -, DP_LINK_RATE_HBR3 -,
-  DP_LINK_RATE_UHBR10 -, DP_LINK_RATE_UHBR13D5 -, DP_LINK_RATE_UHBR20 -
- }
 Indicates the DP link rate. More...
 
enum  ADLX_GPU_TYPE { GPUTYPE_UNDEFINED = 0 -, GPUTYPE_INTEGRATED -, GPUTYPE_DISCRETE - }
 Indicates the GPU type. More...
 
enum  ADLX_DISPLAY_CONNECTOR_TYPE {
-  DISPLAY_CONTYPE_UNKNOWN = 0 -, DISPLAY_CONTYPE_VGA -, DISPLAY_CONTYPE_DVI_D -, DISPLAY_CONTYPE_DVI_I -,
-  DISPLAY_CONTYPE_CVDONGLE_NTSC -, DISPLAY_CONTYPE_CVDONGLE_JPN -, DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN -, DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC -,
-  DISPLAY_CONTYPE_PROPRIETARY -, DISPLAY_CONTYPE_HDMI_TYPE_A -, DISPLAY_CONTYPE_HDMI_TYPE_B -, DISPLAY_CONTYPE_SVIDEO -,
-  DISPLAY_CONTYPE_COMPOSITE -, DISPLAY_CONTYPE_RCA_3COMPONENT -, DISPLAY_CONTYPE_DISPLAYPORT -, DISPLAY_CONTYPE_EDP -,
-  DISPLAY_CONTYPE_WIRELESSDISPLAY -, DISPLAY_CONTYPE_USB_TYPE_C -
- }
 Indicates the display connector type. More...
 
enum  ADLX_DISPLAY_TYPE {
-  DISPLAY_TYPE_UNKOWN = 0 -, DISPLAY_TYPE_MONITOR -, DISPLAY_TYPE_TELEVISION -, DISPLAY_TYPE_LCD_PANEL -,
-  DISPLAY_TYPE_DIGITAL_FLAT_PANEL -, DISPLAY_TYPE_COMPONENT_VIDEO -, DISPLAY_TYPE_PROJECTOR -
- }
 Indicates the display type. More...
 
enum  ADLX_DISPLAY_SCAN_TYPE { PROGRESSIVE = 0 -, INTERLACED - }
 Indicates the display scan type. More...
 
enum  ADLX_DISPLAY_TIMING_POLARITY { POSITIVE = 0 -, NEGATIVE - }
 Display timing polarity. More...
 
enum  ADLX_DISPLAY_TIMING_LIMITATION {
-  PIXEL_CLOCK_MAX = 650000 -, PIXEL_CLOCK_MIN = 0 -, REFRESH_RATE_MAX = 200 -, REFRESH_RATE_MIN = 1 -,
-  RESOLUTION_MAX = 9999 -, RESOLUTION_MIN = 1 -
- }
 Display timing limitation. More...
 
enum  ADLX_GAMUT_SPACE {
-  GAMUT_SPACE_CCIR_709 = 0 -, GAMUT_SPACE_CCIR_601 -, GAMUT_SPACE_ADOBE_RGB -, GAMUT_SPACE_CIE_RGB -,
-  GAMUT_SPACE_CCIR_2020 -, GAMUT_SPACE_CUSTOM -
- }
 Indicates the predefined gamut space. More...
 
enum  ADLX_WHITE_POINT {
-  WHITE_POINT_5000K = 0 -, WHITE_POINT_6500K -, WHITE_POINT_7500K -, WHITE_POINT_9300K -,
-  WHITE_POINT_CUSTOM -
- }
 Indicates the standardized white point setting. More...
 
enum  ADLX_GAMMA_TYPE {
-  UNKNOW = 0 -, DEGAMMA_RAMP -, REGAMMA_RAMP -, DEGAMMA_COEFFICIENTS -,
-  REGAMMA_COEFFICIENTS -
- }
 Indicates the gamma type. More...
 
enum  ADLX_ORIENTATION { ORIENTATION_LANDSCAPE = 0 -, ORIENTATION_PORTRAIT = 90 -, ORIENTATION_LANDSCAPE_FLIPPED = 180 -, ORIENTATION_PORTRAIT_FLIPPED = 270 - }
 Indicates the orientation. More...
 
enum  ADLX_DESKTOP_TYPE { DESKTOP_SINGLE = 0 -, DESKTOP_DUPLCATE = 1 -, DESKTOP_EYEFINITY = 2 - }
 Types of desktops in respect to display composition. More...
 
enum  ADLX_LOG_SEVERITY { LDEBUG = 0 -, LWARNING -, LERROR - }
 Indicates the severity level for ADLX logs. More...
 
enum  ADLX_LOG_DESTINATION { LOCALFILE = 0 -, DBGVIEW -, APPLICATION - }
 Indicates the location of the log traces that are generated from the internal code execution of ADLX. More...
 
enum  ADLX_SCALE_MODE { PRESERVE_ASPECT_RATIO = 0 -, FULL_PANEL -, CENTERED - }
 Indicates the methods to stretch and position the image to fit on the display. More...
 
enum  ADLX_COLOR_DEPTH {
- }
 Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel. More...
 
enum  ADLX_PIXEL_FORMAT {
-  FORMAT_UNKNOWN = 0 -, RGB_444_FULL -, YCBCR_444 -, YCBCR_422 -,
-  RGB_444_LIMITED -, YCBCR_420 -
- }
 Indicates the pixel format to encode images for the display. More...
 
enum  ADLX_TIMING_STANDARD {
-  CVT = 0 -, CVT_RB -, GTF -, DMT -,
-  MANUAL -
- }
 Timing standard for custom resolution. More...
 
enum  ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE { WFVR_ALWAYS_OFF = 0 -, WFVR_OFF_UNLESS_APP_SPECIFIES -, WFVR_ON_UNLESS_APP_SPECIFIES -, WFVR_ALWAYS_ON - }
 Indicates the modes of VSync settings. More...
 
enum  ADLX_ANTI_ALIASING_MODE { AA_MODE_USE_APP_SETTINGS = 0 -, AA_MODE_ENHANCE_APP_SETTINGS -, AA_MODE_OVERRIDE_APP_SETTINGS - }
 Indicates the anti-aliasing mode. More...
 
enum  ADLX_ANTI_ALIASING_LEVEL {
-  AA_LEVEL_INVALID = 0 -, AA_LEVEL_2X = 2 -, AA_LEVEL_2XEQ = 3 -, AA_LEVEL_4X = 4 -,
-  AA_LEVEL_4XEQ = 5 -, AA_LEVEL_8X = 8 -, AA_LEVEL_8XEQ = 9 -
- }
 Indicates the anti-aliasing level. More...
 
enum  ADLX_ANTI_ALIASING_METHOD { AA_METHOD_MULTISAMPLING = 0 -, AA_METHOD_ADAPTIVE_MULTISAMPLING -, AA_METHOD_SUPERSAMPLING - }
 Indicates the anti-aliasing method. More...
 
enum  ADLX_ANISOTROPIC_FILTERING_LEVEL {
-  AF_LEVEL_INVALID = 0 -, AF_LEVEL_X2 = 2 -, AF_LEVEL_X4 = 4 -, AF_LEVEL_X8 = 8 -,
-  AF_LEVEL_X16 = 16 -
- }
 Indicates the Anisotropic Filtering level. More...
 
enum  ADLX_TESSELLATION_MODE { T_MODE_AMD_OPTIMIZED = 0 -, T_MODE_USE_APP_SETTINGS -, T_MODE_OVERRIDE_APP_SETTINGS - }
 Indicates the tessellation setting on a GPU. More...
 
enum  ADLX_TESSELLATION_LEVEL {
-  T_LEVEL_OFF = 1 -, T_LEVEL_2X = 2 -, T_LEVEL_4X = 4 -, T_LEVEL_6X = 6 -,
-  T_LEVEL_8X = 8 -, T_LEVEL_16X = 16 -, T_LEVEL_32X = 32 -, T_LEVEL_64X = 64 -
- }
 Indicates the tessellation level on a GPU. More...
 
enum  ADLX_MEMORYTIMING_DESCRIPTION {
-  MEMORYTIMING_DEFAULT = 0 -, MEMORYTIMING_FAST_TIMING -, MEMORYTIMING_FAST_TIMING_LEVEL_2 -, MEMORYTIMING_AUTOMATIC -,
-  MEMORYTIMING_MEMORYTIMING_LEVEL_1 -, MEMORYTIMING_MEMORYTIMING_LEVEL_2 -
- }
 Indicates the priority of the log entry. More...
 
enum  ADLX_I2C_LINE {
-  I2C_LINE_OEM = 1 -, I2C_LINE_OD_CONTROL -, I2C_LINE_OEM2 -, I2C_LINE_OEM3 -,
-  I2C_LINE_OEM4 -, I2C_LINE_OEM5 -, I2C_LINE_OEM6 -
- }
 Indicates the I2C line options. More...
 
enum  ADLX_SYNC_ORIGIN { SYNC_ORIGIN_UNKNOWN = 1 -, SYNC_ORIGIN_INTERNAL -, SYNC_ORIGIN_EXTERNAL - }
 Indicates the origin of an event. More...
 
enum  ADLX_3DLUT_TRANSFER_FUNCTION { TF_SRGB = 1 -, TF_PQ -, TF_G22 - }
 Indicates the User 3D LUT transfer function. More...
 
enum  ADLX_3DLUT_COLORSPACE { CS_SRGB = 1 -, CS_BT2020 -, CS_DCIP3 -, CS_NATIVE - }
 Indicates the custom 3D LUT color space. More...
 
enum  ADLX_SSM_BIAS_MODE { SSM_BIAS_AUTO = 0 -, SSM_BIAS_MANUAL - }
 AMD SmartShift Max bias mode. More...
 
enum  ADLX_ANTILAG_STATE { ANTILAG = 0 -, ANTILAGNEXT - }
 Indicates the state of Anti Lag. More...
 
enum  ADLX_MGPU_MODE { MGPU_NONE = 0 -, MGPU_PRIMARY -, MGPU_SECONDARY - }
 Indicates the AMD MGPU mode. More...
 
-

Detailed Description

-

This section indicates the enumerator values for various ADLX functionalities.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
-

Enumeration Type Documentation

- -

◆ ADLX_3DLUT_COLORSPACE

- -
-
- - - - -
enum ADLX_3DLUT_COLORSPACE
-
- -

Indicates the custom 3D LUT color space.

- - - - - -
Enumerator
CS_SRGB 

The color space is sRGB.
-

-
CS_BT2020 

The color space is BT2020.
-

-
CS_DCIP3 

The color space is DCIP3.
-

-
CS_NATIVE 

The color space is native.
-

-
- -
-
- -

◆ ADLX_3DLUT_TRANSFER_FUNCTION

- -
-
- -

Indicates the User 3D LUT transfer function.

- - - - -
Enumerator
TF_SRGB 

The transfer function is sRGB.
-

-
TF_PQ 

The transfer function is PQ.
-

-
TF_G22 

The transfer function is G22.
-

-
- -
-
- -

◆ ADLX_ANISOTROPIC_FILTERING_LEVEL

- -
-
- -

Indicates the Anisotropic Filtering level.

- - - - - - -
Enumerator
AF_LEVEL_INVALID 

The Anisotropic Filtering level is invalid.
-

-
AF_LEVEL_X2 

The Anisotropic Filtering level is 2X.
-

-
AF_LEVEL_X4 

The Anisotropic Filtering level is 4X.
-

-
AF_LEVEL_X8 

The Anisotropic Filtering level is 8X.
-

-
AF_LEVEL_X16 

The Anisotropic Filtering level is 16X.
-

-
- -
-
- -

◆ ADLX_ANTI_ALIASING_LEVEL

- -
-
- - - - -
enum ADLX_ANTI_ALIASING_LEVEL
-
- -

Indicates the anti-aliasing level.

- - - - - - - - -
Enumerator
AA_LEVEL_INVALID 

The anti-aliasing level is invalid.
-

-
AA_LEVEL_2X 

The anti-aliasing level is 2X.
-

-
AA_LEVEL_2XEQ 

The anti-aliasing level is 2XEQ.
-

-
AA_LEVEL_4X 

The anti-aliasing level is 4X.
-

-
AA_LEVEL_4XEQ 

The anti-aliasing level is 4XEQ.
-

-
AA_LEVEL_8X 

The anti-aliasing level is 8X.
-

-
AA_LEVEL_8XEQ 

The anti-aliasing level is 8XEQ.
-

-
- -
-
- -

◆ ADLX_ANTI_ALIASING_METHOD

- -
-
- - - - -
enum ADLX_ANTI_ALIASING_METHOD
-
- -

Indicates the anti-aliasing method.

- - - - -
Enumerator
AA_METHOD_MULTISAMPLING 

The multi-sampling method.
-

-
AA_METHOD_ADAPTIVE_MULTISAMPLING 

The adaptive multi-sampling method.
-

-
AA_METHOD_SUPERSAMPLING 

The super-sampling method.
-

-
- -
-
- -

◆ ADLX_ANTI_ALIASING_MODE

- -
-
- - - - -
enum ADLX_ANTI_ALIASING_MODE
-
- -

Indicates the anti-aliasing mode.

- - - - -
Enumerator
AA_MODE_USE_APP_SETTINGS 

The anti-aliasing mode uses application settings.
-

-
AA_MODE_ENHANCE_APP_SETTINGS 

The anti-aliasing mode enhances the application settings.
-

-
AA_MODE_OVERRIDE_APP_SETTINGS 

The anti-aliasing mode overrides the application settings.
-

-
- -
-
- -

◆ ADLX_ANTILAG_STATE

- -
-
- - - - -
enum ADLX_ANTILAG_STATE
-
- -

Indicates the state of Anti Lag.

- - - -
Enumerator
ANTILAG 

The Antilag level is AntiLag.
-

-
ANTILAGNEXT 

The Antilag level is AntiLag Next.
-

-
- -
-
- -

◆ ADLX_ASIC_FAMILY_TYPE

- -
-
- - - - -
enum ADLX_ASIC_FAMILY_TYPE
-
- -

Indicates the ASIC family type.

- - - - - - - - -
Enumerator
ASIC_UNDEFINED 

The ASIC family type is not defined.
-

-
ASIC_RADEON 

The ASIC family type is discrete.
-

-
ASIC_FIREPRO 

The ASIC family type is Firepro.
-

-
ASIC_FIREMV 

The ASIC family type is FireMV.
-

-
ASIC_FIRESTREAM 

The ASIC family type is FireStream.
-

-
ASIC_FUSION 

The ASIC family type is Fusion.
-

-
ASIC_EMBEDDED 

The ASIC family type is Embedded.
-

-
- -
-
- -

◆ ADLX_COLOR_DEPTH

- -
-
- - - - -
enum ADLX_COLOR_DEPTH
-
- -

Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel.

- - - - - - - -
Enumerator
BPC_6 

A color component/pixel with 6 bits
-

-
BPC_8 

A color component/pixel with 8 bits
-

-
BPC_10 

A color component/pixel with 10 bits
-

-
BPC_12 

A color component/pixel with 12 bits
-

-
BPC_14 

A color component/pixel with 14 bits
-

-
BPC_16 

A color component/pixel with 16 bits
-

-
- -
-
- -

◆ ADLX_DESKTOP_TYPE

- -
-
- - - - -
enum ADLX_DESKTOP_TYPE
-
- -

Types of desktops in respect to display composition.

- - - - -
Enumerator
DESKTOP_SINGLE 

Single display desktop: one display showing the entire desktop
-

-
DESKTOP_DUPLCATE 

Duplicate desktop: two or more displays each show the entire desktop
-

-
DESKTOP_EYEFINITY 

AMD Eyefinity desktop: two or more displays each show a portion of the desktop
-

-
- -
-
- -

◆ ADLX_DISPLAY_CONNECTOR_TYPE

- -
-
- - - - -
enum ADLX_DISPLAY_CONNECTOR_TYPE
-
- -

Indicates the display connector type.

- - - - - - - - - - - - - - - - - - - -
Enumerator
DISPLAY_CONTYPE_UNKNOWN 

The display connector type is unknown.
-

-
DISPLAY_CONTYPE_VGA 

The display connector type is VGA.
-

-
DISPLAY_CONTYPE_DVI_D 

The display connector type is DVI-D.
-

-
DISPLAY_CONTYPE_DVI_I 

The display connector type is DVI-I.
-

-
DISPLAY_CONTYPE_CVDONGLE_NTSC 

The display connector type is NTSC.
-

-
DISPLAY_CONTYPE_CVDONGLE_JPN 

The display connector type is JPN.
-

-
DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN 

The display connector type is NONI2C-JPN.
-

-
DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC 

The display connector type is NONI2C-NTSC.
-

-
DISPLAY_CONTYPE_PROPRIETARY 

The display connector type is PROPRIETARY.
-

-
DISPLAY_CONTYPE_HDMI_TYPE_A 

The display connector type is HDMI A.
-

-
DISPLAY_CONTYPE_HDMI_TYPE_B 

The display connector type is HDMI B.
-

-
DISPLAY_CONTYPE_SVIDEO 

The display connector type is SVIDEO.
-

-
DISPLAY_CONTYPE_COMPOSITE 

The display connector type is COMPOSITE.
-

-
DISPLAY_CONTYPE_RCA_3COMPONENT 

The display connector type is RCA.
-

-
DISPLAY_CONTYPE_DISPLAYPORT 

The display connector type is DISPLAYPORT.
-

-
DISPLAY_CONTYPE_EDP 

The display connector type is EDP.
-

-
DISPLAY_CONTYPE_WIRELESSDISPLAY 

The display connector type is WIRELESSDISPLAY.
-

-
DISPLAY_CONTYPE_USB_TYPE_C 

The display connector type is USB Type-C.
-

-
- -
-
- -

◆ ADLX_DISPLAY_SCAN_TYPE

- -
-
- - - - -
enum ADLX_DISPLAY_SCAN_TYPE
-
- -

Indicates the display scan type.

- - - -
Enumerator
PROGRESSIVE 

The display scan type is progressive mode.
-

-
INTERLACED 

The display scan type is interlaced mode.
-

-
- -
-
- -

◆ ADLX_DISPLAY_TIMING_LIMITATION

- -
-
- -

Display timing limitation.

- - - - - - - -
Enumerator
PIXEL_CLOCK_MAX 

Maximum pixel clock
-

-
PIXEL_CLOCK_MIN 

Minimum pixel clock
-

-
REFRESH_RATE_MAX 

Maximum refresh rate
-

-
REFRESH_RATE_MIN 

Minimum refresh rate
-

-
RESOLUTION_MAX 

Maximum resolution
-

-
RESOLUTION_MIN 

Minimum resolution
-

-
- -
-
- -

◆ ADLX_DISPLAY_TIMING_POLARITY

- -
-
- -

Display timing polarity.

- - - -
Enumerator
POSITIVE 

Positive Polarity
-

-
NEGATIVE 

Negative Polarity
-

-
- -
-
- -

◆ ADLX_DISPLAY_TYPE

- -
-
- - - - -
enum ADLX_DISPLAY_TYPE
-
- -

Indicates the display type.

- - - - - - - - -
Enumerator
DISPLAY_TYPE_UNKOWN 

The display type is an unknown display.
-

-
DISPLAY_TYPE_MONITOR 

The display type is a monitor display.
-

-
DISPLAY_TYPE_TELEVISION 

The display type is a TV display.
-

-
DISPLAY_TYPE_LCD_PANEL 

The display type is an LCD display.
-

-
DISPLAY_TYPE_DIGITAL_FLAT_PANEL 

The display type is a DFP display.
-

-
DISPLAY_TYPE_COMPONENT_VIDEO 

The display type is a component video display.
-

-
DISPLAY_TYPE_PROJECTOR 

The display type is a projector display.
-

-
- -
-
- -

◆ ADLX_DP_LINK_RATE

- -
-
- - - - -
enum ADLX_DP_LINK_RATE
-
- -

Indicates the DP link rate.

- - - - - - - - - - - - -
Enumerator
DP_LINK_RATE_UNKNOWN 

The DP link rate is unknown.
-

-
DP_LINK_RATE_RBR 

The DP link rate is 1.62 Gbps/Lane.
-

-
DP_LINK_RATE_2_16GBPS 

The DP link rate is 2.16 Gbps/Lane.
-

-
DP_LINK_RATE_2_43GBPS 

The DP link rate is 2.43 Gbps/Lane.
-

-
DP_LINK_RATE_HBR 

The DP link rate is 2.70 Gbps/Lane.
-

-
DP_LINK_RATE_4_32GBPS 

The DP link rate is 4.32 Gbps/Lane.
-

-
DP_LINK_RATE_HBR2 

The DP link rate is 5.40 Gbps/Lane.
-

-
DP_LINK_RATE_HBR3 

The DP link rate is 8.10 Gbps/Lane.
-

-
DP_LINK_RATE_UHBR10 

The DP link rate is 10 Gbps/Lane.
-

-
DP_LINK_RATE_UHBR13D5 

The DP link rate is 13.5 Gbps/Lane.
-

-
DP_LINK_RATE_UHBR20 

The DP link rate is 20 Gbps/Lane.
-

-
- -
-
- -

◆ ADLX_GAMMA_TYPE

- -
-
- - - - -
enum ADLX_GAMMA_TYPE
-
- -

Indicates the gamma type.

- - - - - - -
Enumerator
UNKNOW 

The gamma type is unknown.
-

-
DEGAMMA_RAMP 

The gamma type is Degamma Ramp way.
-

-
REGAMMA_RAMP 

The gamma type is Regamma Ramp way.
-

-
DEGAMMA_COEFFICIENTS 

The gamma type is Degamma coefficients way.
-

-
REGAMMA_COEFFICIENTS 

The gamma type is Regamma coefficients way.
-

-
- -
-
- -

◆ ADLX_GAMUT_SPACE

- -
-
- - - - -
enum ADLX_GAMUT_SPACE
-
- -

Indicates the predefined gamut space.

- - - - - - - -
Enumerator
GAMUT_SPACE_CCIR_709 

The predefined gamut space is GAMUT_SPACE_CCIR_709.
-

-
GAMUT_SPACE_CCIR_601 

The predefined gamut space is GAMUT_SPACE_CCIR_601.
-

-
GAMUT_SPACE_ADOBE_RGB 

The predefined gamut space is GAMUT_SPACE_ADOBE_RGB.
-

-
GAMUT_SPACE_CIE_RGB 

The predefined gamut space is GAMUT_SPACE_CIE_RGB.
-

-
GAMUT_SPACE_CCIR_2020 

The predefined gamut space is GAMUT_SPACE_CCIR_2020.
-

-
GAMUT_SPACE_CUSTOM 

The predefined gamut space is GAMUT_SPACE_CUSTOM.
-

-
- -
-
- -

◆ ADLX_GPU_TYPE

- -
-
- - - - -
enum ADLX_GPU_TYPE
-
- -

Indicates the GPU type.

- - - - -
Enumerator
GPUTYPE_UNDEFINED 

The GPU type is unknown.
-

-
GPUTYPE_INTEGRATED 

The GPU type is an integrated GPU.
-

-
GPUTYPE_DISCRETE 

The GPU type is a discrete GPU.
-

-
- -
-
- -

◆ ADLX_HG_TYPE

- -
-
- - - - -
enum ADLX_HG_TYPE
-
- -

Indicates the type of Hybrid Graphic.

- - - - -
Enumerator
NONE 

This is not a Hybrid Graphics system.
-

-
AMD 

This is an AMD integrated GPU.
-

-
OTHER 

This is a non-AMD integrated GPU.
-

-
- -
-
- -

◆ ADLX_I2C_LINE

- -
-
- - - - -
enum ADLX_I2C_LINE
-
- -

Indicates the I2C line options.

- - - - - - - - -
Enumerator
I2C_LINE_OEM 

The I2C line is OEM.
-

-
I2C_LINE_OD_CONTROL 

The I2C line is Over Driver Control.
-

-
I2C_LINE_OEM2 

The I2C line is OEM2.
-

-
I2C_LINE_OEM3 

The I2C line is OEM3.
-

-
I2C_LINE_OEM4 

The I2C line is OEM4.
-

-
I2C_LINE_OEM5 

The I2C line is OEM5.
-

-
I2C_LINE_OEM6 

The I2C line is OEM6.
-

-
- -
-
- -

◆ ADLX_LOG_DESTINATION

- -
-
- - - - -
enum ADLX_LOG_DESTINATION
-
- -

Indicates the location of the log traces that are generated from the internal code execution of ADLX.

- - - - -
Enumerator
LOCALFILE 

The log destination is a file.
-

-
DBGVIEW 

The log destination is the application debugger.
-

-
APPLICATION 

The log destination is the application.
-

-
- -
-
- -

◆ ADLX_LOG_SEVERITY

- -
-
- - - - -
enum ADLX_LOG_SEVERITY
-
- -

Indicates the severity level for ADLX logs.

- - - - -
Enumerator
LDEBUG 

The log captures errors, warnings and debug information.
-

-
LWARNING 

The log captures errors and warnings.
-

-
LERROR 

The log captures errors.
-

-
- -
-
- -

◆ ADLX_MEMORYTIMING_DESCRIPTION

- -
-
- -

Indicates the priority of the log entry.

- - - - - - - -
Enumerator
MEMORYTIMING_DEFAULT 

The memory timing is default.
-

-
MEMORYTIMING_FAST_TIMING 

The memory timing is fast timing.
-

-
MEMORYTIMING_FAST_TIMING_LEVEL_2 

The memory timing is fast timing level 2.
-

-
MEMORYTIMING_AUTOMATIC 

The memory timing is automatic.
-

-
MEMORYTIMING_MEMORYTIMING_LEVEL_1 

The memory timing is level 1.
-

-
MEMORYTIMING_MEMORYTIMING_LEVEL_2 

The memory timing is level 2.
-

-
- -
-
- -

◆ ADLX_MGPU_MODE

- -
-
- - - - -
enum ADLX_MGPU_MODE
-
- -

Indicates the AMD MGPU mode.

- - - - -
Enumerator
MGPU_NONE 

The GPU is not part of an AMD MGPU configuration.
-

-
MGPU_PRIMARY 

The GPU is the primary GPU in an AMD MGPU configuration.
-

-
MGPU_SECONDARY 

The GPU is the secondary GPU in an AMD MGPU configuration.
-

-
- -
-
- -

◆ ADLX_ORIENTATION

- -
-
- - - - -
enum ADLX_ORIENTATION
-
- -

Indicates the orientation.

- - - - - -
Enumerator
ORIENTATION_LANDSCAPE 

The orientation is landscape.
-

-
ORIENTATION_PORTRAIT 

The orientation is Portrait.
-

-
ORIENTATION_LANDSCAPE_FLIPPED 

The orientation is landscape (flipped).
-

-
ORIENTATION_PORTRAIT_FLIPPED 

the orientation is Portrait (flipped).
-

-
- -
-
- -

◆ ADLX_PCI_BUS_TYPE

- -
-
- - - - -
enum ADLX_PCI_BUS_TYPE
-
- -

Indicates the PCI bus type.

- - - - - - - - -
Enumerator
UNDEFINED 

The PCI bus type is not defined.
-

-
PCI 

The PCI bus type is PCI bus.
-

-
AGP 

The PCI bus type is AGP bus.
-

-
PCIE 

The PCI bus type is PCI Express bus.
-

-
PCIE_2_0 

The PCI bus type is PCI Express 2nd generation bus.
-

-
PCIE_3_0 

The PCI bus type is PCI Express 3rd generation bus.
-

-
PCIE_4_0 

The PCI bus type is PCI Express 4th generation bus.
-

-
- -
-
- -

◆ ADLX_PIXEL_FORMAT

- -
-
- - - - -
enum ADLX_PIXEL_FORMAT
-
- -

Indicates the pixel format to encode images for the display.

- - - - - - - -
Enumerator
FORMAT_UNKNOWN 

The pixel format is unknown.
-

-
RGB_444_FULL 

The pixel format is RGB 4:4:4 PC Standard (Full RGB).
-

-
YCBCR_444 

The pixel format is YCbCr 4:4:4.
-

-
YCBCR_422 

The pixel format is YCbCr 4:2:2.
-

-
RGB_444_LIMITED 

The pixel format is RGB 4:4:4 Studio (Limited RGB).
-

-
YCBCR_420 

The pixel format is YCbCr 4:2:0 Pixel Format.
-

-
- -
-
- -

◆ ADLX_RESULT

- -
-
- - - - -
enum ADLX_RESULT
-
- -

Indicates the result returned from an ADLX function or from an ADLX method.

- - - - - - - - - - - - - - - - -
Enumerator
ADLX_OK 

This result indicates success.
-

-
ADLX_ALREADY_ENABLED 

This result indicates that the asked action is already enabled.
-

-
ADLX_ALREADY_INITIALIZED 

This result indicates that ADLX has a unspecified type of initialization.
-

-
ADLX_FAIL 

This result indicates an unspecified failure.
-

-
ADLX_INVALID_ARGS 

This result indicates that the arguments are invalid.
-

-
ADLX_BAD_VER 

This result indicates that the asked version is incompatible with the current version.
-

-
ADLX_UNKNOWN_INTERFACE 

This result indicates that an unknown interface was asked.
-

-
ADLX_TERMINATED 

This result indicates that the calls were made in an interface after ADLX was terminated.
-

-
ADLX_ADL_INIT_ERROR 

This result indicates that the ADL initialization failed.
-

-
ADLX_NOT_FOUND 

This result indicates that the item is not found.
-

-
ADLX_INVALID_OBJECT 

This result indicates that the method was called into an invalid object.
-

-
ADLX_ORPHAN_OBJECTS 

This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior.
-

-
ADLX_NOT_SUPPORTED 

This result indicates that the asked feature is not supported.
-

-
ADLX_PENDING_OPERATION 

This result indicates a failure due to an operation currently in progress.
-

-
ADLX_GPU_INACTIVE 

This result indicates that the GPU is inactive.
-

-
- -
-
- -

◆ ADLX_SCALE_MODE

- -
-
- - - - -
enum ADLX_SCALE_MODE
-
- -

Indicates the methods to stretch and position the image to fit on the display.

- - - - -
Enumerator
PRESERVE_ASPECT_RATIO 

The scale mode preserves aspect ratio.
-

-
FULL_PANEL 

The scale mode extends to full panel.
-

-
CENTERED 

The scale mode is centered on screen.
-

-
- -
-
- -

◆ ADLX_SSM_BIAS_MODE

- -
-
- - - - -
enum ADLX_SSM_BIAS_MODE
-
- -

AMD SmartShift Max bias mode.

- - - -
Enumerator
SSM_BIAS_AUTO 

The bias control type is auto.
-

-
SSM_BIAS_MANUAL 

The bias control type is manual.
-

-
- -
-
- -

◆ ADLX_SYNC_ORIGIN

- -
-
- - - - -
enum ADLX_SYNC_ORIGIN
-
- -

Indicates the origin of an event.

- - - - -
Enumerator
SYNC_ORIGIN_UNKNOWN 

The event has an unknown trigger.
-

-
SYNC_ORIGIN_INTERNAL 

The event is triggered by a change in settings using ADLX in this application.
-

-
SYNC_ORIGIN_EXTERNAL 

The event is triggered by a change in settings using ADLX in another application.
-

-
- -
-
- -

◆ ADLX_TESSELLATION_LEVEL

- -
-
- - - - -
enum ADLX_TESSELLATION_LEVEL
-
- -

Indicates the tessellation level on a GPU.

- - - - - - - - - -
Enumerator
T_LEVEL_OFF 

The tessellation level is Off.
-

-
T_LEVEL_2X 

The tessellation level is 2X.
-

-
T_LEVEL_4X 

The tessellation level is 4X.
-

-
T_LEVEL_6X 

The tessellation level is 6X.
-

-
T_LEVEL_8X 

The tessellation level is 8X.
-

-
T_LEVEL_16X 

The tessellation level is 16X.
-

-
T_LEVEL_32X 

The tessellation level is 32X.
-

-
T_LEVEL_64X 

The tessellation level is 64X.
-

-
- -
-
- -

◆ ADLX_TESSELLATION_MODE

- -
-
- - - - -
enum ADLX_TESSELLATION_MODE
-
- -

Indicates the tessellation setting on a GPU.

- - - - -
Enumerator
T_MODE_AMD_OPTIMIZED 

This mode uses AMD optimization.
-

-
T_MODE_USE_APP_SETTINGS 

This mode uses application settings.
-

-
T_MODE_OVERRIDE_APP_SETTINGS 

This mode uses override application settings.
-

-
- -
-
- -

◆ ADLX_TIMING_STANDARD

- -
-
- - - - -
enum ADLX_TIMING_STANDARD
-
- -

Timing standard for custom resolution.

- - - - - - -
Enumerator
CVT 

Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings.
-

-
CVT_RB 

Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking periods and allows a lower pixel clock rate and higher frame rates.
-

-
GTF 

Generalized Timing Formula(GTF). A method of generating industry standard display timings.
-

-
DMT 

Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes.
-

-
MANUAL 

Manual control
-

-
- -
-
- -

◆ ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE

- -
-
- -

Indicates the modes of VSync settings.

- - - - - -
Enumerator
WFVR_ALWAYS_OFF 

VSync is always off.
-

-
WFVR_OFF_UNLESS_APP_SPECIFIES 

VSync is off, unless specified by the application.
-

-
WFVR_ON_UNLESS_APP_SPECIFIES 

VSync is on, unless specified by application.
-

-
WFVR_ALWAYS_ON 

VSync is always on.
-

-
- -
-
- -

◆ ADLX_WHITE_POINT

- -
-
- - - - -
enum ADLX_WHITE_POINT
-
- -

Indicates the standardized white point setting.

- - - - - - -
Enumerator
WHITE_POINT_5000K 

The white point setting is 5000k.
-

-
WHITE_POINT_6500K 

The white point setting is 6500k.
-

-
WHITE_POINT_7500K 

The white point setting is 7500k.
-

-
WHITE_POINT_9300K 

The white point setting is 9300k.
-

-
WHITE_POINT_CUSTOM 

The white point setting is customized.
-

-
- -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/group__enumerations.js b/vendor/adlx/SDKDoc/html/group__enumerations.js deleted file mode 100644 index 2792a6e..0000000 --- a/vendor/adlx/SDKDoc/html/group__enumerations.js +++ /dev/null @@ -1,40 +0,0 @@ -var group__enumerations = -[ - [ "ADLX_3DLUT_COLORSPACE", "group__enumerations.html#gabe8d6f1562d0472d97c5edbf55c6d8cc"], - [ "ADLX_3DLUT_TRANSFER_FUNCTION", "group__enumerations.html#ga7ebbfe051a5113c2c1521af3426b7955"], - [ "ADLX_ANISOTROPIC_FILTERING_LEVEL", "group__enumerations.html#gac99ad138a55f9242874a960af8e64579"], - [ "ADLX_ANTI_ALIASING_LEVEL", "group__enumerations.html#ga8c2e57a18318ffeb5e36de7717ff953e"], - [ "ADLX_ANTI_ALIASING_METHOD", "group__enumerations.html#gad99bac74ba876c14fa2d42c094641b44"], - [ "ADLX_ANTI_ALIASING_MODE", "group__enumerations.html#ga4d154a77789a08d19a8d0a8ba809b64a"], - [ "ADLX_ANTILAG_STATE", "group__enumerations.html#ga67d22cfa2969510afada5140a157df62"], - [ "ADLX_ASIC_FAMILY_TYPE", "group__enumerations.html#gaf4fd628e799e6a74201290ff40418d77"], - [ "ADLX_COLOR_DEPTH", "group__enumerations.html#ga75858347333129a462cee4fdf4729d6b"], - [ "ADLX_DESKTOP_TYPE", "group__enumerations.html#ga83322f63ada9c973559376760f141b89"], - [ "ADLX_DISPLAY_CONNECTOR_TYPE", "group__enumerations.html#ga84edd2809be33537c99fb2ab8d04aa5d"], - [ "ADLX_DISPLAY_SCAN_TYPE", "group__enumerations.html#gae2d0250dc861156a468001600a2ee648"], - [ "ADLX_DISPLAY_TIMING_LIMITATION", "group__enumerations.html#ga6a4bf151ffad0146661c2c8612382af0"], - [ "ADLX_DISPLAY_TIMING_POLARITY", "group__enumerations.html#gacabd271b1699333d9664b8e6320aad3b"], - [ "ADLX_DISPLAY_TYPE", "group__enumerations.html#gae7e516225131af0ff164e9384d8d0a44"], - [ "ADLX_DP_LINK_RATE", "group__enumerations.html#gad5b0891b86d362269696ba46e1d4bdee"], - [ "ADLX_GAMMA_TYPE", "group__enumerations.html#ga87f8763d8496a4e5ec84964e149144fd"], - [ "ADLX_GAMUT_SPACE", "group__enumerations.html#ga46dff86075115b139c1c72f447e94e14"], - [ "ADLX_GPU_TYPE", "group__enumerations.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34"], - [ "ADLX_HG_TYPE", "group__enumerations.html#ga260f926e27eef013ca1eacd0ff7b3ba7"], - [ "ADLX_I2C_LINE", "group__enumerations.html#ga75eb2c93942ff81ff1cbeef647c2cf67"], - [ "ADLX_LOG_DESTINATION", "group__enumerations.html#gae308b7ad24806dce3fe087e9a780be67"], - [ "ADLX_LOG_SEVERITY", "group__enumerations.html#gaadfaa61953d62bced2b6c516f8bebccd"], - [ "ADLX_MEMORYTIMING_DESCRIPTION", "group__enumerations.html#gaa25f244e38a3502a52167c303abcec11"], - [ "ADLX_MGPU_MODE", "group__enumerations.html#gada547c00826e15266732f874a0f3478d"], - [ "ADLX_ORIENTATION", "group__enumerations.html#gae896c86f4fc55efe4e866450e33465b1"], - [ "ADLX_PCI_BUS_TYPE", "group__enumerations.html#gafcbeca41c0df518ccf5556e8e6e83f62"], - [ "ADLX_PIXEL_FORMAT", "group__enumerations.html#gaa0e9deb1567713f1044419070f2949ab"], - [ "ADLX_RESULT", "group__enumerations.html#ga9306b05f15578edbf79b649dd612b8c0"], - [ "ADLX_SCALE_MODE", "group__enumerations.html#ga0ec0640b97efee73b589bf0b1c07a8fe"], - [ "ADLX_SSM_BIAS_MODE", "group__enumerations.html#gae2895828b9a8b0345e1fb8bf416ff1b4"], - [ "ADLX_SYNC_ORIGIN", "group__enumerations.html#ga7a1e20106faef482c0664c546e04ba00"], - [ "ADLX_TESSELLATION_LEVEL", "group__enumerations.html#ga5967c593434c0cba5891c996d64cff5c"], - [ "ADLX_TESSELLATION_MODE", "group__enumerations.html#ga7899078325beddfbe0f4e63dca8ce8ca"], - [ "ADLX_TIMING_STANDARD", "group__enumerations.html#ga5f02fa0b6e26f22606a85221393f8ae2"], - [ "ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE", "group__enumerations.html#ga169a825952eda7e83b949176a9a81028"], - [ "ADLX_WHITE_POINT", "group__enumerations.html#gafb56c4b91425c281009c447ccb1feeab"] -] diff --git a/vendor/adlx/SDKDoc/html/group__structures.js b/vendor/adlx/SDKDoc/html/group__structures.js deleted file mode 100644 index 992f349..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures.js +++ /dev/null @@ -1,13 +0,0 @@ -var group__structures = -[ - [ "ADLX_3DLUT_Data", "group__structures_val.html#struct_a_d_l_x__3_d_l_u_t___data"], - [ "ADLX_CustomResolution", "group__structures_val.html#struct_a_d_l_x___custom_resolution"], - [ "ADLX_GammaRamp", "group__structures_val.html#struct_a_d_l_x___gamma_ramp"], - [ "ADLX_GamutColorSpace", "group__structures_val.html#struct_a_d_l_x___gamut_color_space"], - [ "ADLX_IntRange", "group__structures_val.html#struct_a_d_l_x___int_range"], - [ "ADLX_Point", "group__structures_val.html#struct_a_d_l_x___point"], - [ "ADLX_RegammaCoeff", "group__structures_val.html#struct_a_d_l_x___regamma_coeff"], - [ "ADLX_RGB", "group__structures_val.html#struct_a_d_l_x___r_g_b"], - [ "ADLX_TimingInfo", "group__structures_val.html#struct_a_d_l_x___timing_info"], - [ "ADLX_UINT16_RGB", "group__structures_val.html#struct_a_d_l_x___u_i_n_t16___r_g_b"] -] diff --git a/vendor/adlx/SDKDoc/html/group__structures_val.html b/vendor/adlx/SDKDoc/html/group__structures_val.html deleted file mode 100644 index dcedd28..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val.html +++ /dev/null @@ -1,1024 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Structs - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Structs
-
-
-

Detailed Description

-

This section provides structure information in the form of member data documentation for various ADLX functionalities.

-

Requirements

- - - - - -
Headerinclude "ADLXStructures.h"
Minimum version1.0
-

Class Documentation

- -

◆ ADLX_RGB

- -
-
- - - - -
struct ADLX_RGB
-
-

This structure contains RGB information.

-
- - - - - - - -

Public Attributes

adlx_double gamutR
 
adlx_double gamutG
 
adlx_double gamutB
 
-

Member Data Documentation

- -

◆ gamutB

- -
-
- - - - -
adlx_double ADLX_RGB::gamutB
-
-

Blue
-

- -
-
- -

◆ gamutG

- -
-
- - - - -
adlx_double ADLX_RGB::gamutG
-
-

Green
-

- -
-
- -

◆ gamutR

- -
-
- - - - -
adlx_double ADLX_RGB::gamutR
-
-

Red
-

- -
-
- -
-
- -

◆ ADLX_Point

- -
-
- - - - -
struct ADLX_Point
-
-

This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point.

-
- - - - - -

Public Attributes

adlx_int x
 
adlx_int y
 
-

Member Data Documentation

- -

◆ x

- -
-
- - - - -
adlx_int ADLX_Point::x
-
-

The x coordinate.
-

- -
-
- -

◆ y

- -
-
- - - - -
adlx_int ADLX_Point::y
-
-

The y coordinate.
-

- -
-
- -
-
- -

◆ ADLX_GamutColorSpace

- -
-
- - - - -
struct ADLX_GamutColorSpace
-
-

This structure contains information on driver-supported gamut coordinates.

-
- - - - - - - -

Public Attributes

ADLX_Point red
 
ADLX_Point green
 
ADLX_Point blue
 
-

Member Data Documentation

- -

◆ blue

- -
-
- - - - -
ADLX_Point ADLX_GamutColorSpace::blue
-
-

The blue channel chromaticity coordinate.
-

- -
-
- -

◆ green

- -
-
- - - - -
ADLX_Point ADLX_GamutColorSpace::green
-
-

The green channel chromaticity coordinate.
-

- -
-
- -

◆ red

- -
-
- - - - -
ADLX_Point ADLX_GamutColorSpace::red
-
-

The red channel chromaticity coordinate.
-

- -
-
- -
-
- -

◆ ADLX_GammaRamp

- -
-
- - - - -
struct ADLX_GammaRamp
-
-

This structure contains the display gamma ramp used to program the re-gamma LUT.

-
- - - -

Public Attributes

adlx_uint16 gamma [256 *3]
 
-

Member Data Documentation

- -

◆ gamma

- -
-
- - - - -
adlx_uint16 ADLX_GammaRamp::gamma[256 *3]
-
-

The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values. Each triplet consists of red, green and blue values.
-

- -
-
- -
-
- -

◆ ADLX_RegammaCoeff

- -
-
- - - - -
struct ADLX_RegammaCoeff
-
-

This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve.

-
- - - - - - - - - - - -

Public Attributes

adlx_int coefficientA0
 
adlx_int coefficientA1
 
adlx_int coefficientA2
 
adlx_int coefficientA3
 
adlx_int gamma
 
-

Member Data Documentation

- -

◆ coefficientA0

- -
-
- - - - -
adlx_int ADLX_RegammaCoeff::coefficientA0
-
-

The a0 gamma coefficient.
-

- -
-
- -

◆ coefficientA1

- -
-
- - - - -
adlx_int ADLX_RegammaCoeff::coefficientA1
-
-

The a1 gamma coefficient.
-

- -
-
- -

◆ coefficientA2

- -
-
- - - - -
adlx_int ADLX_RegammaCoeff::coefficientA2
-
-

The a2 gamma coefficient.
-

- -
-
- -

◆ coefficientA3

- -
-
- - - - -
adlx_int ADLX_RegammaCoeff::coefficientA3
-
-

The a3 gamma coefficient.
-

- -
-
- -

◆ gamma

- -
-
- - - - -
adlx_int ADLX_RegammaCoeff::gamma
-
-

The regamma divider.
-

- -
-
- -
-
- -

◆ ADLX_TimingInfo

- -
-
- - - - -
struct ADLX_TimingInfo
-
-

This structure contains display timing information.

-
- - - - - - - - - - - - - - - - - - - - - - - -

Public Attributes

adlx_int timingFlags
 
adlx_int hTotal
 
adlx_int vTotal
 
adlx_int hDisplay
 
adlx_int vDisplay
 
adlx_int hFrontPorch
 
adlx_int vFrontPorch
 
adlx_int hSyncWidth
 
adlx_int vSyncWidth
 
adlx_int hPolarity
 
adlx_int vPolarity
 
-

Member Data Documentation

- -

◆ hDisplay

- -
-
- - - - -
adlx_int ADLX_TimingInfo::hDisplay
-
-

The number of horizontal pixels within the active area.
-

- -
-
- -

◆ hFrontPorch

- -
-
- - - - -
adlx_int ADLX_TimingInfo::hFrontPorch
-
-

The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image.
-

- -
-
- -

◆ hPolarity

- -
-
- - - - -
adlx_int ADLX_TimingInfo::hPolarity
-
-

The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low.
-

- -
-
- -

◆ hSyncWidth

- -
-
- - - - -
adlx_int ADLX_TimingInfo::hSyncWidth
-
-

The number of pixels that compose a scan line during a horizontal sync.
-

- -
-
- -

◆ hTotal

- -
-
- - - - -
adlx_int ADLX_TimingInfo::hTotal
-
-

The total number of pixels that compose all scan lines during a horizontal sync.
-

- -
-
- -

◆ timingFlags

- -
-
- - - - -
adlx_int ADLX_TimingInfo::timingFlags
-
-

The detailed timing flag.
-

- -
-
- -

◆ vDisplay

- -
-
- - - - -
adlx_int ADLX_TimingInfo::vDisplay
-
-

The number of vertical pixels within the active display area.
-

- -
-
- -

◆ vFrontPorch

- -
-
- - - - -
adlx_int ADLX_TimingInfo::vFrontPorch
-
-

The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image.
-

- -
-
- -

◆ vPolarity

- -
-
- - - - -
adlx_int ADLX_TimingInfo::vPolarity
-
-

The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low.
-

- -
-
- -

◆ vSyncWidth

- -
-
- - - - -
adlx_int ADLX_TimingInfo::vSyncWidth
-
-

The number of vertical pixels permitted/processed during a sync.
-

- -
-
- -

◆ vTotal

- -
-
- - - - -
adlx_int ADLX_TimingInfo::vTotal
-
-

The total number of vertical pixels permitted/processed per sync.
-

- -
-
- -
-
- -

◆ ADLX_CustomResolution

- -
-
- - - - -
struct ADLX_CustomResolution
-
-

This structure contains information for custom resolution parameters on a given display.

-
- - - - - - - - - - - - - - - -

Public Attributes

adlx_int resWidth
 
adlx_int resHeight
 
adlx_int refreshRate
 
ADLX_DISPLAY_SCAN_TYPE presentation
 
ADLX_TIMING_STANDARD timingStandard
 
adlx_long GPixelClock
 
ADLX_TimingInfo detailedTiming
 
-

Member Data Documentation

- -

◆ detailedTiming

- -
-
- - - - -
ADLX_TimingInfo ADLX_CustomResolution::detailedTiming
-
-

The detailed timing information.
-

- -
-
- -

◆ GPixelClock

- -
-
- - - - -
adlx_long ADLX_CustomResolution::GPixelClock
-
-

The speed at which pixels are transmitted within on a refresh cycle.
-

- -
-
- -

◆ presentation

- -
-
- - - - -
ADLX_DISPLAY_SCAN_TYPE ADLX_CustomResolution::presentation
-
-

The presentation method, 0 PROGRESSIVE; 1 INTERLACED.
-

- -
-
- -

◆ refreshRate

- -
-
- - - - -
adlx_int ADLX_CustomResolution::refreshRate
-
-

The refresh rate.
-

- -
-
- -

◆ resHeight

- -
-
- - - - -
adlx_int ADLX_CustomResolution::resHeight
-
-

The resolution height.
-

- -
-
- -

◆ resWidth

- -
-
- - - - -
adlx_int ADLX_CustomResolution::resWidth
-
-

The resolution width.
-

- -
-
- -

◆ timingStandard

- -
-
- - - - -
ADLX_TIMING_STANDARD ADLX_CustomResolution::timingStandard
-
-

The display timing standard.
-

- -
-
- -
-
- -

◆ ADLX_IntRange

- -
-
- - - - -
struct ADLX_IntRange
-
-

This structure contains information on the integer range.

-
- - - - - - - -

Public Attributes

adlx_int minValue
 
adlx_int maxValue
 
adlx_int step
 
-

Member Data Documentation

- -

◆ maxValue

- -
-
- - - - -
adlx_int ADLX_IntRange::maxValue
-
-

The maximum integer value.
-

- -
-
- -

◆ minValue

- -
-
- - - - -
adlx_int ADLX_IntRange::minValue
-
-

The minimum integer value.
-

- -
-
- -

◆ step

- -
-
- - - - -
adlx_int ADLX_IntRange::step
-
-

The accepted integer range step.
-

- -
-
- -
-
- -

◆ ADLX_UINT16_RGB

- -
-
- - - - -
struct ADLX_UINT16_RGB
-
-

This structure contains UINT16 RGB information.

-
- - - - - - - -

Public Attributes

adlx_uint16 red
 
adlx_uint16 green
 
adlx_uint16 blue
 
-

Member Data Documentation

- -

◆ blue

- -
-
- - - - -
adlx_uint16 ADLX_UINT16_RGB::blue
-
-

Blue
-

- -
-
- -

◆ green

- -
-
- - - - -
adlx_uint16 ADLX_UINT16_RGB::green
-
-

Green
-

- -
-
- -

◆ red

- -
-
- - - - -
adlx_uint16 ADLX_UINT16_RGB::red
-
-

Red
-

- -
-
- -
-
- -

◆ ADLX_3DLUT_Data

- -
-
- - - - -
struct ADLX_3DLUT_Data
-
-

This structure contains custom 3D LUT information.

-
- - - -

Public Attributes

ADLX_UINT16_RGB data [MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS]
 
-

Member Data Documentation

- -

◆ data

- -
-
-

The data is a buffer containing 17*17*17 triplets of ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values. For 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit.
-

- -
-
- -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x__3_d_l_u_t___data.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x__3_d_l_u_t___data.js deleted file mode 100644 index 2a83b01..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x__3_d_l_u_t___data.js +++ /dev/null @@ -1,4 +0,0 @@ -var group__structures_val_struct_a_d_l_x__3_d_l_u_t___data = -[ - [ "data", "group__structures_val.html#a6c9de079cb901629ad01e9b90df8d501", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___custom_resolution.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___custom_resolution.js deleted file mode 100644 index cc4325e..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___custom_resolution.js +++ /dev/null @@ -1,10 +0,0 @@ -var group__structures_val_struct_a_d_l_x___custom_resolution = -[ - [ "detailedTiming", "group__structures_val.html#ab0cc9e42429d7dcb55187b1b7c9748dd", null ], - [ "GPixelClock", "group__structures_val.html#adbbd4af06563688dca57c04d58c0ce7c", null ], - [ "presentation", "group__structures_val.html#a51ca72ac4b7a7d132dc9f809c89f8515", null ], - [ "refreshRate", "group__structures_val.html#ab43f9e225b953494737081fb45c38c7b", null ], - [ "resHeight", "group__structures_val.html#a7941ceb1178e2240fc064dfddaff5792", null ], - [ "resWidth", "group__structures_val.html#a299cbff4bdd201f3e2ef51a261571695", null ], - [ "timingStandard", "group__structures_val.html#a0cc91cb01a7769f4a2b5f3da06af8a9f", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamma_ramp.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamma_ramp.js deleted file mode 100644 index 2b6fa0e..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamma_ramp.js +++ /dev/null @@ -1,4 +0,0 @@ -var group__structures_val_struct_a_d_l_x___gamma_ramp = -[ - [ "gamma", "group__structures_val.html#acd3904c27f6266d67f9b22e709f177af", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamut_color_space.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamut_color_space.js deleted file mode 100644 index 3e33295..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___gamut_color_space.js +++ /dev/null @@ -1,6 +0,0 @@ -var group__structures_val_struct_a_d_l_x___gamut_color_space = -[ - [ "blue", "group__structures_val.html#ad34c7449d0336a88ffd1cdbef31c2540", null ], - [ "green", "group__structures_val.html#a84a443716c92b943096a38c0128cb197", null ], - [ "red", "group__structures_val.html#a1fbcbbc055e40b34aae2823822e9af8c", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___int_range.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___int_range.js deleted file mode 100644 index 887bafb..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___int_range.js +++ /dev/null @@ -1,6 +0,0 @@ -var group__structures_val_struct_a_d_l_x___int_range = -[ - [ "maxValue", "group__structures_val.html#a514f377840f96d92a1f11e41af9b3db1", null ], - [ "minValue", "group__structures_val.html#aff4a4b69a07d715083773dc23f162e05", null ], - [ "step", "group__structures_val.html#ae0e545b501a683c565f08089ed3e8023", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___point.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___point.js deleted file mode 100644 index ba5c143..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___point.js +++ /dev/null @@ -1,5 +0,0 @@ -var group__structures_val_struct_a_d_l_x___point = -[ - [ "x", "group__structures_val.html#aa22bab0bfe9e1a768530aa8cab94662e", null ], - [ "y", "group__structures_val.html#a1b2e67a8ba86ac9f0393ee839658fe55", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___r_g_b.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___r_g_b.js deleted file mode 100644 index 8813b2a..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___r_g_b.js +++ /dev/null @@ -1,6 +0,0 @@ -var group__structures_val_struct_a_d_l_x___r_g_b = -[ - [ "gamutB", "group__structures_val.html#a75b06f09bda103527d0c6a3cb1347b0e", null ], - [ "gamutG", "group__structures_val.html#a7540762d60fe2d8cdad1162521f6e452", null ], - [ "gamutR", "group__structures_val.html#a8a53f770bc4486014dc6fdeeaef4e483", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___regamma_coeff.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___regamma_coeff.js deleted file mode 100644 index 2e36755..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___regamma_coeff.js +++ /dev/null @@ -1,8 +0,0 @@ -var group__structures_val_struct_a_d_l_x___regamma_coeff = -[ - [ "coefficientA0", "group__structures_val.html#a82a0c072f26cc842b3a8323826142d66", null ], - [ "coefficientA1", "group__structures_val.html#a843c3fa65f49561ff7c057e63a7b678f", null ], - [ "coefficientA2", "group__structures_val.html#a9059213377ccbe262625666bdf6ce8a1", null ], - [ "coefficientA3", "group__structures_val.html#aaab4f232db08f8c41eeed3530737ece2", null ], - [ "gamma", "group__structures_val.html#a3a743f1e79a8a4850642c819a1fae248", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___timing_info.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___timing_info.js deleted file mode 100644 index fe01d32..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___timing_info.js +++ /dev/null @@ -1,14 +0,0 @@ -var group__structures_val_struct_a_d_l_x___timing_info = -[ - [ "hDisplay", "group__structures_val.html#ad3eb58c10b751db671278ca94b885988", null ], - [ "hFrontPorch", "group__structures_val.html#ac826892a2d80335e0c2f186b28f26192", null ], - [ "hPolarity", "group__structures_val.html#ab52652a6f236acc894a2e11568478cbc", null ], - [ "hSyncWidth", "group__structures_val.html#a15cd71c7542b0e1eb0dfdfd5e72b394b", null ], - [ "hTotal", "group__structures_val.html#a154ba5b960ca87bc12e18fdca4327844", null ], - [ "timingFlags", "group__structures_val.html#ac1cdcc878673d086e98cb88e33098a26", null ], - [ "vDisplay", "group__structures_val.html#ace8b356f5f69d0e332b27392495a6d77", null ], - [ "vFrontPorch", "group__structures_val.html#a710becefc88a9b55263fdd7147260251", null ], - [ "vPolarity", "group__structures_val.html#a489f1ef6e39512911fd0184c0b444c26", null ], - [ "vSyncWidth", "group__structures_val.html#a81a08b07d265370132fa4bc812f4f2ec", null ], - [ "vTotal", "group__structures_val.html#a98c760c16b184ee29e341a8e6a246c4d", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___u_i_n_t16___r_g_b.js b/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___u_i_n_t16___r_g_b.js deleted file mode 100644 index 30bd070..0000000 --- a/vendor/adlx/SDKDoc/html/group__structures_val_struct_a_d_l_x___u_i_n_t16___r_g_b.js +++ /dev/null @@ -1,6 +0,0 @@ -var group__structures_val_struct_a_d_l_x___u_i_n_t16___r_g_b = -[ - [ "blue", "group__structures_val.html#a4080ff87d27524db90af579adfb83d72", null ], - [ "green", "group__structures_val.html#a34a0f0cc6253a1238f5115694538607f", null ], - [ "red", "group__structures_val.html#ab8b0398e4a3ec75946dfd7f2fb1f2e95", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/group__typedefs.html b/vendor/adlx/SDKDoc/html/group__typedefs.html deleted file mode 100644 index a04f038..0000000 --- a/vendor/adlx/SDKDoc/html/group__typedefs.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Primitive Data Types - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Primitive Data Types
-
-
-

This section provides definitions for ADLX primitive data types.

-

Requirements

- - - - - -
Headerinclude "ADLXDefines.h"
Minimum version1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ADLX Type Description
adlx_int64 adlx_int64 is typedef of int64_t
adlx_int32 adlx_int32 is typedef of int32_t
adlx_int16 adlx_int16 is typedef of int16_t
adlx_int8 adlx_int8 is typedef of int8_t
adlx_uint64 adlx_uint64 is typedef of uint64_t
adlx_uint32 adlx_uint32 is typedef of uint32_t
adlx_uint16 adlx_uint16 is typedef of uint16_t
adlx_uint8 adlx_uint8 is typedef of uint8_t
adlx_size adlx_size is typedef of size_t
adlx_handle adlx_handle is typedef of void*
adlx_double adlx_double is typedef of double
adlx_float adlx_float is typedef of float
adlx_void adlx_void is typedef of void
adlx_int adlx_int is typedef of adlx_int32
adlx_uint adlx_uint is typedef of adlx_uint32
adlx_ulong adlx_ulong is typedef of unsigned long
adlx_bool adlx_bool is typedef of bool
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/i2c.html b/vendor/adlx/SDKDoc/html/i2c.html deleted file mode 100644 index f5889da..0000000 --- a/vendor/adlx/SDKDoc/html/i2c.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: I2C - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
I2C
-
-
-

The I2C domain contains interfaces that are related to I2C settings. Examples include obtaining the I2C version, read and write I2C.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/i2c.js b/vendor/adlx/SDKDoc/html/i2c.js deleted file mode 100644 index 32e6858..0000000 --- a/vendor/adlx/SDKDoc/html/i2c.js +++ /dev/null @@ -1,4 +0,0 @@ -var i2c = -[ - [ "IADLXI2C", "_d_o_x__i_a_d_l_x_i2_c.html", "_d_o_x__i_a_d_l_x_i2_c" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/index.html b/vendor/adlx/SDKDoc/html/index.html deleted file mode 100644 index a067b6f..0000000 --- a/vendor/adlx/SDKDoc/html/index.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: AMD Device Library eXtra - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
AMD Device Library eXtra
-
-
-

ADLX Developer Documentation

-

AMD Device Library eXtra (ADLX) is AMD's application programming interface (API) library for Microsoft Windows® based driver configuration. The ADLX API is a programming interface designed to allow software applications communicate directly with AMD hardware and access their resources.
-

-

This document includes detailed information on the API's programming interfaces, helpers, functions, types, as well as code samples and usage scenarios to help developers get started. The document also includes information on system requirements, bindings development, and advanced configurations to help developers overcome common issues when integrating the API.
-
-

-

ADLX Programming Guide

-

ADLX Programming Guide contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages.
-
-

-

ADLX Samples

-

ADLX Samples provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly.
-
-

-

ADLX SDK References

-

ADLX SDK References provides descriptions for all ADLX programming aspects such as helpers, functions, interfaces (with their respective methods) and ADLX data types.
-
-
-

-

For more information on AMD Graphics and related SDKs, visit AMD GPUOpen.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/java_sample_adlxjavabind.html b/vendor/adlx/SDKDoc/html/java_sample_adlxjavabind.html deleted file mode 100644 index 37e9617..0000000 --- a/vendor/adlx/SDKDoc/html/java_sample_adlxjavabind.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXJavaBind - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXJavaBind
-
-
-
- - - -

Demonstrates how to wrap ADLX with SWIG when programming with ADLX.

-

Sample Path

-

/Samples/java/ADLXJavaBind

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
%module(directors="1") ADLX
-
%{
-
#include <Windows.h>
-
#include "../../../../SDK/Include/ADLXDefines.h"
-
#include "../../../../SDK/Include/ICollections.h"
-
#include "../../../../SDK/Include/IDisplays.h"
-
#include "../../../../SDK/Include/ISystem.h"
-
#include "../../../../SDK/Include/ILog.h"
-
#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
-
typedef int64_t adlx_int64;
-
typedef int32_t adlx_int32;
-
typedef int16_t adlx_int16;
-
typedef int8_t adlx_int8;
-
typedef uint64_t adlx_uint64;
-
typedef uint32_t adlx_uint32;
-
typedef uint16_t adlx_uint16;
-
typedef uint8_t adlx_uint8;
-
typedef size_t adlx_size;
-
typedef void* adlx_handle;
-
typedef double adlx_double;
-
typedef float adlx_float;
-
typedef void adlx_void;
-
typedef long adlx_long;
-
typedef adlx_int32 adlx_int;
-
typedef unsigned long adlx_ulong;
-
typedef adlx_uint32 adlx_uint;
-
typedef bool adlx_bool;
-
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-
typedef WCHAR TCHAR;
-
-
// Microsoft
-
#define ADLX_CORE_LINK __declspec(dllexport)
-
#define ADLX_STD_CALL __stdcall
-
#define ADLX_CDECL_CALL __cdecl
-
#define ADLX_FAST_CALL __fastcall
-
#define ADLX_INLINE __inline
-
#define ADLX_FORCEINLINE __forceinline
-
#define ADLX_NO_VTABLE __declspec(novtable)
-
-
//IID's
-
#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; }
-
#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y))
-
#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; }
-
-
using namespace adlx;
-
%}
-
/* Force the generated Java code to use the C enum values rather than making a JNI call */
-
//%include "java.swg"
-
//%javaconst(1);
-
-
typedef int64_t adlx_int64;
-
typedef int32_t adlx_int32;
-
typedef int16_t adlx_int16;
-
typedef int8_t adlx_int8;
-
typedef uint64_t adlx_uint64;
-
typedef uint32_t adlx_uint32;
-
typedef uint16_t adlx_uint16;
-
typedef uint8_t adlx_uint8;
-
typedef size_t adlx_size;
-
typedef void* adlx_handle;
-
typedef double adlx_double;
-
typedef float adlx_float;
-
typedef void adlx_void;
-
typedef long adlx_long;
-
typedef adlx_int32 adlx_int;
-
typedef unsigned long adlx_ulong;
-
typedef adlx_uint32 adlx_uint;
-
typedef bool adlx_bool;
-
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-
typedef WCHAR TCHAR;
-
-
// Microsoft
-
#define ADLX_CORE_LINK __declspec(dllexport)
-
#define ADLX_STD_CALL __stdcall
-
#define ADLX_CDECL_CALL __cdecl
-
#define ADLX_FAST_CALL __fastcall
-
#define ADLX_INLINE __inline
-
#define ADLX_FORCEINLINE __forceinline
-
#define ADLX_NO_VTABLE __declspec(novtable)
-
-
//IID's
-
#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; }
-
#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y))
-
-
#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; }
-
-
/* Callback to turn on director wrapping */
-
%feature("director") IADLXDisplayListChangedListener;
-
-
%include stdint.i
-
%include carrays.i
-
%include windows.i
-
%include typemaps.i
-
-
%include "../../../../SDK/Include/ADLXDefines.h"
-
%include "../../../../SDK/Include/ICollections.h"
-
%include "../../../../SDK/Include/IDisplays.h"
-
%include "../../../../SDK/Include/ISystem.h"
-
%include "../../../../SDK/Include/ILog.h"
-
%include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
using namespace adlx;
-
-
// T* pointer
-
%include cpointer.i
-
%pointer_functions(adlx_int, intP);
-
%pointer_functions(double, doubleP);
-
%pointer_functions(adlx_uint, uintP);
-
%pointer_functions(ADLX_DISPLAY_TYPE, displayTypeP);
-
%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE, disConnectTypeP);
-
%pointer_functions(ADLX_DISPLAY_SCAN_TYPE, disScanTypeP);
-
%pointer_functions(adlx_size, adlx_sizeP)
-
-
// T** ppointer
-
%define %ppointer_functions(TYPE,NAME)
-
%{
-
static TYPE *new_##NAME() { %}
-
%{ return new TYPE(); %}
-
%{}
-
-
static TYPE *copy_##NAME(TYPE value) { %}
-
%{ return new TYPE(value); %}
-
%{}
-
-
static void delete_##NAME(TYPE *obj) { %}
-
%{ if (*obj) delete *obj; %}
-
%{}
-
-
static void NAME ##_assign(TYPE *obj, TYPE value) {
-
*obj = value;
-
}
-
-
static TYPE NAME ##_value(TYPE *obj) {
-
return *obj;
-
}
-
%}
-
-
TYPE *new_##NAME();
-
TYPE *copy_##NAME(TYPE value);
-
void delete_##NAME(TYPE *obj);
-
void NAME##_assign(TYPE *obj, TYPE value);
-
TYPE NAME##_value(TYPE *obj);
-
-
%enddef
-
-
%define %pointer_cast(TYPE1,TYPE2,NAME)
-
%inline %{
-
TYPE2 NAME(TYPE1 x) {
-
return (TYPE2) x;
-
}
-
%}
-
%enddef
-
%ppointer_functions(IADLXDisplayServices*, displaySerP_Ptr);
-
%ppointer_functions(IADLXDisplayList*, displayListP_Ptr);
-
%ppointer_functions(IADLXDisplay*, displayP_Ptr);
-
%ppointer_functions(IADLXDisplayChangedHandling*, displayChangeHandlP_Ptr);
-
%ppointer_functions(char*, charP_Ptr);
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/java_sample_display_events.html b/vendor/adlx/SDKDoc/html/java_sample_display_events.html deleted file mode 100644 index 9f2d95a..0000000 --- a/vendor/adlx/SDKDoc/html/java_sample_display_events.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayEvents - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayEvents
-
-
-
- - - -

Demontrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/java/DisplayEvents

- -

Code

-
Java
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
import out.*;
-
-
public class mainDisplayEvents {
-
-
// load ADLXJavaBind.dll
-
static {
-
try {
-
System.loadLibrary("ADLXJavaBind");
-
} catch (UnsatisfiedLinkError e) {
-
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
-
System.exit(1);
-
}
-
}
-
-
// Get displaylistchanged
-
public static void main(String[] args) {
-
-
// Initialize ADLX with ADLXHelper
-
ADLXHelper help = new ADLXHelper();
-
ADLX_RESULT res = help.Initialize();
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
-
// Get system services
-
IADLXSystem sys = help.GetSystemServices();
-
-
if (sys != null) {
-
// Get display services
-
SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr();
-
res = sys.GetDisplaysServices(s);
-
IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s);
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
// Get display changed handling
-
SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandling ppDisChangeHand = ADLX.new_displayChangeHandlP_Ptr();
-
res = displayService.GetDisplayChangedHandling(ppDisChangeHand);
-
IADLXDisplayChangedHandling hand = ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand);
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
// Call back for dislaylistchanged
-
DisplayListCallBack call = new DisplayListCallBack();
-
hand.AddDisplayListEventListener(call);
-
System.out.println("\n\n Plug or unplug a display within 20 seconds.\n");
-
try {
-
Thread.currentThread().sleep(20000);
-
} catch (Exception e) {
-
// Exception handling
-
}
-
hand.RemoveDisplayListEventListener(call);
-
-
// Release display changed handling interface
-
hand.Release();
-
}
-
-
// Release display services interface
-
displayService.Release();
-
}
-
}
-
} else {
-
System.out.printf("ADLX helper initialize result: %s\n", res.toString());
-
}
-
-
// ADLX Terminate
-
res = help.Terminate();
-
System.out.printf("ADLX Terminate: %s\n", res.toString());
-
}
-
}
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/java_sample_displayinfo.html b/vendor/adlx/SDKDoc/html/java_sample_displayinfo.html deleted file mode 100644 index 3451e47..0000000 --- a/vendor/adlx/SDKDoc/html/java_sample_displayinfo.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayInfo
-
-
-
- - - -

Demonstrates how to obtain the display information when programming with ADLX to perform related tests.

-

Sample Path

-

/Samples/java/DisplayInfo

- -

Code

-
Java
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
import out.*;
-
-
public class mainDisplayInfo {
-
-
// Load ADLXJavaBind.dll
-
static {
-
try {
-
System.loadLibrary("ADLXJavaBind");
-
} catch (UnsatisfiedLinkError e) {
-
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
-
System.exit(1);
-
}
-
}
-
-
// Iterate display list
-
public static void main(String[] args) {
-
-
// Initialize ADLX with ADLXHelper
-
ADLXHelper help = new ADLXHelper();
-
ADLX_RESULT res = help.Initialize();
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
-
// Get system services
-
IADLXSystem sys = help.GetSystemServices();
-
-
if (sys != null) {
-
// Get display services
-
SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr();
-
res = sys.GetDisplaysServices(s);
-
IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s);
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
// Get display list
-
SWIGTYPE_p_p_adlx__IADLXDisplayList ppDisplayList = ADLX.new_displayListP_Ptr();
-
res = displayService.GetDisplays(ppDisplayList);
-
IADLXDisplayList displayList = ADLX.displayListP_Ptr_value(ppDisplayList);
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
// Iterate through the display list
-
long it = displayList.Begin();
-
for(; it != displayList.Size(); it++) {
-
SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr();
-
res = displayList.At(it, ppDisplay);
-
IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay);
-
-
if (res == ADLX_RESULT.ADLX_OK) {
-
SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr();
-
display.Name(ppName);
-
String name = ADLX.charP_Ptr_value(ppName);
-
-
SWIGTYPE_p_ADLX_DISPLAY_TYPE pDisType = ADLX.new_displayTypeP();
-
display.DisplayType(pDisType);
-
ADLX_DISPLAY_TYPE disType = ADLX.displayTypeP_value(pDisType);
-
-
SWIGTYPE_p_unsigned_int pMID = ADLX.new_uintP();
-
display.ManufacturerID(pMID);
-
long mid = ADLX.uintP_value(pMID);
-
-
SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPE pConnect = ADLX.new_disConnectTypeP();
-
display.ConnectorType(pConnect);
-
ADLX_DISPLAY_CONNECTOR_TYPE connect = ADLX.disConnectTypeP_value(pConnect);
-
-
SWIGTYPE_p_p_char ppEDIE = ADLX.new_charP_Ptr();
-
display.EDID(ppEDIE);
-
String edid = ADLX.charP_Ptr_value(ppEDIE);
-
-
SWIGTYPE_p_int pH = ADLX.new_intP();
-
SWIGTYPE_p_int pV = ADLX.new_intP();
-
display.NativeResolution(pH, pV);
-
int h = ADLX.intP_value(pH);
-
int v = ADLX.intP_value(pV);
-
-
SWIGTYPE_p_double pRefRate = ADLX.new_doubleP();
-
display.RefreshRate(pRefRate);
-
double refRate = ADLX.doubleP_value(pRefRate);
-
-
SWIGTYPE_p_unsigned_int pPixClock = ADLX.new_uintP();
-
display.PixelClock(pPixClock);
-
long pixClock = ADLX.uintP_value(pPixClock);
-
-
SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPE pScanType = ADLX.new_disScanTypeP();
-
display.ScanType(pScanType);
-
ADLX_DISPLAY_SCAN_TYPE scanType = ADLX.disScanTypeP_value(pScanType);
-
-
SWIGTYPE_p_size_t pID = ADLX.new_adlx_sizeP();
-
display.UniqueId(pID);
-
long id = ADLX.adlx_sizeP_value(pID);
-
-
System.out.printf("\nThe display [%d]:\n", it);
-
System.out.printf("\tName: %s\n", name);
-
System.out.printf("\tType: %s\n", disType.toString());
-
System.out.printf("\tConnector type: %s\n", connect.toString());
-
System.out.printf("\tManufacturer id: %d\n", mid);
-
System.out.printf("\tEDID: %s\n", edid);
-
System.out.printf("\tResolution: h: %d v: %d\n", h, v);
-
System.out.printf("\tRefresh rate: %f\n", refRate);
-
System.out.printf("\tPixel clock: %d\n", pixClock);
-
System.out.printf("\tScan type: %s\n", scanType.toString());
-
System.out.printf("\tUnique id: %d\n", id);
-
-
// Release display interface
-
display.Release();
-
}
-
}
-
-
// Release display list interface
-
displayList.Release();
-
}
-
-
// Release display services interface
-
displayService.Release();
-
}
-
}
-
} else {
-
System.out.printf("ADLX helper initialization res: %s\n", res.toString());
-
}
-
-
// Terminate ADLX
-
res = help.Terminate();
-
System.out.printf("ADLX Terminate: %s\n", res.toString());
-
}
-
}
-
ADLX_DISPLAY_CONNECTOR_TYPE
Indicates the display connector type.
Definition: ADLXDefines.h:426
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_DISPLAY_SCAN_TYPE
Indicates the display scan type.
Definition: ADLXDefines.h:477
-
ADLX_DISPLAY_TYPE
Indicates the display type.
Definition: ADLXDefines.h:457
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/jquery.js b/vendor/adlx/SDKDoc/html/jquery.js deleted file mode 100644 index 103c32d..0000000 --- a/vendor/adlx/SDKDoc/html/jquery.js +++ /dev/null @@ -1,35 +0,0 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element -},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** - * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler - * Licensed under MIT - * @author Ariel Flesler - * @version 2.1.2 - */ -;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 - * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/list.png b/vendor/adlx/SDKDoc/html/list.png deleted file mode 100644 index 4f7b1ba07af77b8d4e5cc126cb0d384d0b902972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12829 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 diff --git a/vendor/adlx/SDKDoc/html/media/image1.png b/vendor/adlx/SDKDoc/html/media/image1.png deleted file mode 100644 index c945c18ed9d5316523a6c5de5179e0cd15216ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59823 zcmagFbx>RD7dBd@xVsaa06_~BYjLNzLveT4oECR?2*urt2WWAEI}|Hk+$9jm$2q_6 z-uvfWGnvf$PWJ3~XVzY8Jzc+<#uYvHqm|>BWoscnpN;+vhc!i=3YOix=3v|9)N$I+t0zc(E@f zFZD^&$N1>cGlxMQl80t(VI?KQ!~6f3jwQE_r^2Jp$_8XS3S9c_44i90ocEhN>pZo(9Ce zI}M868$Uw`o9vvE6)lVVZcshJgBRe*duw-XvL(SvIGLQ*Gx8gG;5F`@<;igIH%usw$!}Y@& zE+N6=%v3VXf$3~6Ei?vDp^>TN8ud)wiE`z<`+*l`ydgQhqu5su?T#7rJr^!fyW1x= z+pL!Ay%c>M<)N~8{?~nZsxddW`9!g7{j~oKUGmUa1R+9)(zis~voedf4T?YR7LHCF z@cLF4{A(A!yJY$5oH4e6_PkUCTOL^04WD&~R)1hV@d+l0V@Im%-ypYQToI@E8#fE; z89sNHI-FgwHsmsMh)Hb3*20@^BI^EkzwnfZ2)T?6`=k=T+Tt}st(^j~mWcW-P(LM^ z=oFGZnNO)1>dUF=k)`sd_AF|vpVJMw4^Etw(_;E-`Jxp|zfFk})X@_2>}pWT87VC) z(&a{|53!nkugc&_4C`kEtZf>)+Ty+4Y>~(T0zoC8QGbqJsPh2hST+2_+$t61*jNjc zxYBZ^!7?b4LPD6kJG{W@eSfucgq0L~H|JgIkl+&+gTDNp`P9V%0LMaX2q8!u%admj zG#ro&_huGN7D{|)DN!evsAZ)z!wfl;{UUdIIU!$B$;L{u0jmRNbmxhrKA$ll1;UW& zJ?JW`g0s(5D}Jc@uk%_{Evcy)X4EbgG|IKunJ$la>?XTVKAnSok@%+GJE!&8glx5) z=7enOl(VRXP*J{~Q%{_8>$f`yfvEzd{SrMOobnCQ=*QwYh7RUN_XWnzL@?lP{dLbB zgbUK)+rI(??I~C>RrdU3>*Urd-fqHn+i6?AYMTE{dqQt;Gbksiu5UPS&_v>U4inMp z4-F&kmP<(5L~nNL?ztpkDi`!3K`ARKkYdR4Nr2%9Ff{d?rI74t=&Q5Eft7;krR3C{ zuv4!cSHPEn#%=Y=fvzRE)WtA(MS}#obWUy89X80=IG<1Tjwn)JS9|Q}f@f9P^JvvK z(|gS?cEK2&eM@aplHZ;d+);ZmR~rDAU-KRMXoSbn`v67u53(y=an%JRk{E-BX0Ny& z3jhd_kTFM=m5%JAYl z?sjpir}OKJ+l(!wg5c)uqO+DK(T>F3+R$jeDykAIZG5c|_Till#GYVc)y&$ zURRTjLzhDX97q%@{V zbpzK**_EGW3L$9?2=|pN=|n{XV1wBNPo%j2Z3>zsqraM6NPcy-qs8@~_v?s1uOZ!j zUzg+8{~Vh5CKf+=!9reEmf3DiWt(h{oI;0sb=EegQa#z+HEgpMw_3o+Ti@GIVJPzY z^s>6PtDnN;?jP~H9niEIGo(cVHD=(R*`|V{v<#ZK*L4;6gaALj4uUUt4~fI8!LaU! z5%91x@(;yIM>{8^Qj@#SI=0#Yo`)$OX|m6GnXl5A<-2+2;O0mRsy8!)fv_q)pp zkk!P*Ujh3IbNuN;D+0VM%areu_p(C$gU^^x>5u}E4LT-C69QWrnS^HYYqct2AVFfj z!F`rfUQXC@&?mgH&8%AHA}(FEVL4+a6XkJ2GsQlQ5a#~L;l_%xvN8lFAoSPK72!Jk zrp3nA?t5*iL4IXp?kV`R!z0>+m0`T&W{dW;rLAk=^y$W#S5)XzkQ26ZHymXhKL0K% zP^3%8)|9#h;!l+zk%uMA1V=`q zEqPvFVWYjIBT6Xii&kJ0^gH1Qx)uQc+zPf;2>H%ZYh!kK21uuY4xAze-i@~KPl>

Tw190r7*&r?9} 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 diff --git a/vendor/adlx/SDKDoc/html/media/image4.png b/vendor/adlx/SDKDoc/html/media/image4.png deleted file mode 100644 index d03b04df934623cc8e539b2f10a568a1ffd720f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18953 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%0DYIT$8NLBEg=P^J9f|9_#{lM* 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 Hu0mjfZgM-- diff --git a/vendor/adlx/SDKDoc/html/media/image6.png b/vendor/adlx/SDKDoc/html/media/image6.png deleted file mode 100644 index c91e3acd1cc0e31e0f60cc98badb8f8b95bf562e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48071 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 diff --git a/vendor/adlx/SDKDoc/html/media/image7.png b/vendor/adlx/SDKDoc/html/media/image7.png deleted file mode 100644 index 562aab8e8a9623fb29902b5d51de6d6aaf453311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77045 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 NDd4P diff --git a/vendor/adlx/SDKDoc/html/misc.html b/vendor/adlx/SDKDoc/html/misc.html deleted file mode 100644 index fd9fe14..0000000 --- a/vendor/adlx/SDKDoc/html/misc.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Miscellaneous - - - - - - - - - - - - - - - -

-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Miscellaneous
-
-
-

The Miscellaneous domain contains general-purpose interfaces used across domains.

-
    -
-
-
-
- - - -
- - diff --git a/vendor/adlx/SDKDoc/html/misc.js b/vendor/adlx/SDKDoc/html/misc.js deleted file mode 100644 index 9e57b07..0000000 --- a/vendor/adlx/SDKDoc/html/misc.js +++ /dev/null @@ -1,8 +0,0 @@ -var misc = -[ - [ "IADLMapping", "_d_o_x__i_a_d_l_mapping.html", "_d_o_x__i_a_d_l_mapping" ], - [ "IADLXChangedEvent", "_d_o_x__i_a_d_l_x_changed_event.html", "_d_o_x__i_a_d_l_x_changed_event" ], - [ "IADLXInterface", "_d_o_x__i_a_d_l_x_interface.html", "_d_o_x__i_a_d_l_x_interface" ], - [ "IADLXList", "_d_o_x__i_a_d_l_x_list.html", "_d_o_x__i_a_d_l_x_list" ], - [ "IADLXLog", "_d_o_x__i_a_d_l_x_log.html", "_d_o_x__i_a_d_l_x_log" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/modules.html b/vendor/adlx/SDKDoc/html/modules.html deleted file mode 100644 index d6e5eb4..0000000 --- a/vendor/adlx/SDKDoc/html/modules.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Types - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Types
-
-
-

This is a reference library, containing a list of all ADLX modules:

- -
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/modules.js b/vendor/adlx/SDKDoc/html/modules.js deleted file mode 100644 index ab8454b..0000000 --- a/vendor/adlx/SDKDoc/html/modules.js +++ /dev/null @@ -1,8 +0,0 @@ -var modules = -[ - [ "ADLX Enums", "group__enumerations.html", "group__enumerations" ], - [ "ADLX Structs", "group__structures_val.html", "group__structures" ], - [ "ADLX Macro", "group___a_d_l_x_macro.html", "group___a_d_l_x_macro" ], - [ "ADLX Typedefs", "group___a_d_l_x_defs.html", "group___a_d_l_x_defs" ], - [ "ADLX Primitive Data Types", "group__typedefs.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/nav_f.png b/vendor/adlx/SDKDoc/html/nav_f.png deleted file mode 100644 index 72a58a529ed3a9ed6aa0c51a79cf207e026deee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U diff --git a/vendor/adlx/SDKDoc/html/nav_g.png b/vendor/adlx/SDKDoc/html/nav_g.png deleted file mode 100644 index 2093a237a94f6c83e19ec6e5fd42f7ddabdafa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL=0 ? varName.substring(i+1) : varName; - return eval(n.replace(/\-/g,'_')); -} - -function stripPath(uri) -{ - return uri.substring(uri.lastIndexOf('/')+1); -} - -function stripPath2(uri) -{ - var i = uri.lastIndexOf('/'); - var s = uri.substring(i+1); - var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); - return m ? uri.substring(i-6) : s; -} - -function hashValue() -{ - return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); -} - -function hashUrl() -{ - return '#'+hashValue(); -} - -function pathName() -{ - return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); -} - -function localStorageSupported() -{ - try { - return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; - } - catch(e) { - return false; - } -} - -function storeLink(link) -{ - if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { - window.localStorage.setItem('navpath',link); - } -} - -function deleteLink() -{ - if (localStorageSupported()) { - window.localStorage.setItem('navpath',''); - } -} - -function cachedLink() -{ - if (localStorageSupported()) { - return window.localStorage.getItem('navpath'); - } else { - return ''; - } -} - -function getScript(scriptName,func,show) -{ - var head = document.getElementsByTagName("head")[0]; - var script = document.createElement('script'); - script.id = scriptName; - script.type = 'text/javascript'; - script.onload = func; - script.src = scriptName+'.js'; - head.appendChild(script); -} - -function createIndent(o,domNode,node,level) -{ - var level=-1; - var n = node; - while (n.parentNode) { level++; n=n.parentNode; } - if (node.childrenData) { - var imgNode = document.createElement("span"); - imgNode.className = 'arrow'; - imgNode.style.paddingLeft=(16*level).toString()+'px'; - imgNode.innerHTML=arrowRight; - node.plus_img = imgNode; - node.expandToggle = document.createElement("a"); - node.expandToggle.href = "javascript:void(0)"; - node.expandToggle.onclick = function() { - if (node.expanded) { - $(node.getChildrenUL()).slideUp("fast"); - node.plus_img.innerHTML=arrowRight; - node.expanded = false; - } else { - expandNode(o, node, false, false); - } - } - node.expandToggle.appendChild(imgNode); - domNode.appendChild(node.expandToggle); - } else { - var span = document.createElement("span"); - span.className = 'arrow'; - span.style.width = 16*(level+1)+'px'; - span.innerHTML = ' '; - domNode.appendChild(span); - } -} - -var animationInProgress = false; - -function gotoAnchor(anchor,aname,updateLocation) -{ - var pos, docContent = $('#doc-content'); - var ancParent = $(anchor.parent()); - if (ancParent.hasClass('memItemLeft') || - ancParent.hasClass('memtitle') || - ancParent.hasClass('fieldname') || - ancParent.hasClass('fieldtype') || - ancParent.is(':header')) - { - pos = ancParent.position().top; - } else if (anchor.position()) { - pos = anchor.position().top; - } - if (pos) { - var dist = Math.abs(Math.min( - pos-docContent.offset().top, - docContent[0].scrollHeight- - docContent.height()-docContent.scrollTop())); - animationInProgress=true; - docContent.animate({ - scrollTop: pos + docContent.scrollTop() - docContent.offset().top - },Math.max(50,Math.min(500,dist)),function(){ - if (updateLocation) window.location.href=aname; - animationInProgress=false; - }); - } -} - -function newNode(o, po, text, link, childrenData, lastNode) -{ - var node = new Object(); - node.children = Array(); - node.childrenData = childrenData; - node.depth = po.depth + 1; - node.relpath = po.relpath; - node.isLast = lastNode; - - node.li = document.createElement("li"); - po.getChildrenUL().appendChild(node.li); - node.parentNode = po; - - node.itemDiv = document.createElement("div"); - node.itemDiv.className = "item"; - - node.labelSpan = document.createElement("span"); - node.labelSpan.className = "label"; - - createIndent(o,node.itemDiv,node,0); - node.itemDiv.appendChild(node.labelSpan); - node.li.appendChild(node.itemDiv); - - var a = document.createElement("a"); - node.labelSpan.appendChild(a); - node.label = document.createTextNode(text); - node.expanded = false; - a.appendChild(node.label); - if (link) { - var url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - link = url; - } else { - url = node.relpath+link; - } - a.className = stripPath(link.replace('#',':')); - if (link.indexOf('#')!=-1) { - var aname = '#'+link.split('#')[1]; - var srcPage = stripPath(pathName()); - var targetPage = stripPath(link.split('#')[0]); - a.href = srcPage!=targetPage ? url : "javascript:void(0)"; - a.onclick = function(){ - storeLink(link); - if (!$(a).parent().parent().hasClass('selected')) - { - $('.item').removeClass('selected'); - $('.item').removeAttr('id'); - $(a).parent().parent().addClass('selected'); - $(a).parent().parent().attr('id','selected'); - } - var anchor = $(aname); - gotoAnchor(anchor,aname,true); - }; - } else { - a.href = url; - a.onclick = function() { storeLink(link); } - } - } else { - if (childrenData != null) - { - a.className = "nolink"; - a.href = "javascript:void(0)"; - a.onclick = node.expandToggle.onclick; - } - } - - node.childrenUL = null; - node.getChildrenUL = function() { - if (!node.childrenUL) { - node.childrenUL = document.createElement("ul"); - node.childrenUL.className = "children_ul"; - node.childrenUL.style.display = "none"; - node.li.appendChild(node.childrenUL); - } - return node.childrenUL; - }; - - return node; -} - -function showRoot() -{ - var headerHeight = $("#top").height(); - var footerHeight = $("#nav-path").height(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - (function (){ // retry until we can scroll to the selected item - try { - var navtree=$('#nav-tree'); - navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); - } catch (err) { - setTimeout(arguments.callee, 0); - } - })(); -} - -function expandNode(o, node, imm, showRoot) -{ - if (node.childrenData && !node.expanded) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - expandNode(o, node, imm, showRoot); - }, showRoot); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).slideDown("fast"); - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - } - } -} - -function glowEffect(n,duration) -{ - n.addClass('glow').delay(duration).queue(function(next){ - $(this).removeClass('glow');next(); - }); -} - -function highlightAnchor() -{ - var aname = hashUrl(); - var anchor = $(aname); - if (anchor.parent().attr('class')=='memItemLeft'){ - var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); - glowEffect(rows.children(),300); // member without details - } else if (anchor.parent().attr('class')=='fieldname'){ - glowEffect(anchor.parent().parent(),1000); // enum value - } else if (anchor.parent().attr('class')=='fieldtype'){ - glowEffect(anchor.parent().parent(),1000); // struct field - } else if (anchor.parent().is(":header")) { - glowEffect(anchor.parent(),1000); // section header - } else { - glowEffect(anchor.next(),1000); // normal member - } -} - -function selectAndHighlight(hash,n) -{ - var a; - if (hash) { - var link=stripPath(pathName())+':'+hash.substring(1); - a=$('.item a[class$="'+link+'"]'); - } - if (a && a.length) { - a.parent().parent().addClass('selected'); - a.parent().parent().attr('id','selected'); - highlightAnchor(); - } else if (n) { - $(n.itemDiv).addClass('selected'); - $(n.itemDiv).attr('id','selected'); - } - if ($('#nav-tree-contents .item:first').hasClass('selected')) { - $('#nav-sync').css('top','30px'); - } else { - $('#nav-sync').css('top','5px'); - } - showRoot(); -} - -function showNode(o, node, index, hash) -{ - if (node && node.childrenData) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - showNode(o,node,index,hash); - },true); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).css({'display':'block'}); - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - var n = node.children[o.breadcrumbs[index]]; - if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); - else hash=''; - } - if (hash.match(/^#l\d+$/)) { - var anchor=$('a[name='+hash.substring(1)+']'); - glowEffect(anchor.parent(),1000); // line number - hash=''; // strip line number anchors - } - var url=root+hash; - var i=-1; - while (NAVTREEINDEX[i+1]<=url) i++; - if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath) - } else { - getScript(relpath+'navtreeindex'+i,function(){ - navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath); - } - },true); - } -} - -function showSyncOff(n,relpath) -{ - n.html(''); -} - -function showSyncOn(n,relpath) -{ - n.html(''); -} - -function toggleSyncButton(relpath) -{ - var navSync = $('#nav-sync'); - if (navSync.hasClass('sync')) { - navSync.removeClass('sync'); - showSyncOff(navSync,relpath); - storeLink(stripPath2(pathName())+hashUrl()); - } else { - navSync.addClass('sync'); - showSyncOn(navSync,relpath); - deleteLink(); - } -} - -var loadTriggered = false; -var readyTriggered = false; -var loadObject,loadToRoot,loadUrl,loadRelPath; - -$(window).on('load',function(){ - if (readyTriggered) { // ready first - navTo(loadObject,loadToRoot,loadUrl,loadRelPath); - showRoot(); - } - loadTriggered=true; -}); - -function initNavTree(toroot,relpath) -{ - var o = new Object(); - o.toroot = toroot; - o.node = new Object(); - o.node.li = document.getElementById("nav-tree-contents"); - o.node.childrenData = NAVTREE; - o.node.children = new Array(); - o.node.childrenUL = document.createElement("ul"); - o.node.getChildrenUL = function() { return o.node.childrenUL; }; - o.node.li.appendChild(o.node.childrenUL); - o.node.depth = 0; - o.node.relpath = relpath; - o.node.expanded = false; - o.node.isLast = true; - o.node.plus_img = document.createElement("span"); - o.node.plus_img.className = 'arrow'; - o.node.plus_img.innerHTML = arrowRight; - - if (localStorageSupported()) { - var navSync = $('#nav-sync'); - if (cachedLink()) { - showSyncOff(navSync,relpath); - navSync.removeClass('sync'); - } else { - showSyncOn(navSync,relpath); - } - navSync.click(function(){ toggleSyncButton(relpath); }); - } - - if (loadTriggered) { // load before ready - navTo(o,toroot,hashUrl(),relpath); - showRoot(); - } else { // ready before load - loadObject = o; - loadToRoot = toroot; - loadUrl = hashUrl(); - loadRelPath = relpath; - readyTriggered=true; - } - - $(window).bind('hashchange', function(){ - if (window.location.hash && window.location.hash.length>1){ - var a; - if ($(location).attr('hash')){ - var clslink=stripPath(pathName())+':'+hashValue(); - a=$('.item a[class$="'+clslink.replace(/ - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/html/new_header.html b/vendor/adlx/SDKDoc/html/new_header.html deleted file mode 100644 index 57eb7c3..0000000 --- a/vendor/adlx/SDKDoc/html/new_header.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - -$projectname: $title -$title - - - -$treeview -$search -$mathjax - -$extrastylesheet - - -
- - -
- - - - - - - - - - - - - - - - - - - - - -
-
$projectname -  $projectnumber -
-
$projectbrief
-
-
$projectbrief
-
$searchbox
-
- - diff --git a/vendor/adlx/SDKDoc/html/new_stylesheet.css b/vendor/adlx/SDKDoc/html/new_stylesheet.css deleted file mode 100644 index ecf628c..0000000 --- a/vendor/adlx/SDKDoc/html/new_stylesheet.css +++ /dev/null @@ -1,1992 +0,0 @@ -/* -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -*/ -/* The standard CSS for doxygen 1.9.1 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; - font-family: Lato, sans-serif; - font-size: 12pt; - font-variant: normal; - vertical-align: baseline; - color: #212121; -} -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; - font-family: Lato, sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 16px/32px Roboto,sans-serif; - font-family: Lato, sans-serif; - font-size: 27px; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - white-space: nowrap; - margin-top: 10px; - margin-bottom: 10px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.navtab { - border-right: 1px solid #A3B4D7; - padding-right: 15px; - text-align: right; - line-height: 110%; -} - -div.navtab table { - border-spacing: 0; -} - -td.navtab { - padding-right: 6px; - padding-left: 6px; -} -td.navtabHL { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} - -a.navtab { - font-weight: bold; -} - -div.qindex{ - text-align: center; - width: 100%; - line-height: 140%; - font-size: 130%; - color: #A0A0A0; -} - -dt.alphachar{ - font-size: 180%; - font-weight: bold; -} - -.alphachar a{ - color: black; -} - -.alphachar a:hover, .alphachar a:visited{ - text-decoration: none; -} - -.classindex dl { - padding: 25px; - column-count:1 -} - -.classindex dd { - display:inline-block; - margin-left: 50px; - width: 90%; - line-height: 1.15em; -} - -.classindex dl.odd { - background-color: #F8F9FC; -} - -@media(min-width: 1120px) { - .classindex dl { - column-count:2 - } -} - -@media(min-width: 1320px) { - .classindex dl { - column-count:3 - } -} - - -/* @group Link Styling */ - -a { - color: #0366D6; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #0366D6; -} - -a:hover { - text-decoration: underline; -} - -.contents a.qindexHL:visited { - color: #FFFFFF; -} - -a.el { - font-weight: bold; -} - -table.doxtable td a.el{ - font-weight: bold; - padding: 3px 20px 3px 0px; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #2B91AF; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #2B91AF; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul { - overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 16px 4px 4px 4px; - margin: 8px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 100%; - font-family: Lato, sans-serif; - font-size: 105%; -} - -div.fragment { - padding: 14px; - margin: 0px; - background-color: rgb(242, 242, 242); - border: none; - overflow-y: scroll; - overflow-x: auto; - direction: ltr; - max-height: 800px; -} - -.codeHeader { - box-sizing: content-box; - background-color: #e6e6e6; - color: #171717; - display: flex; - flex-direction: row; - font-size: .8rem; - border: none; - border-bottom: 0; - min-height: 30px; - margin: 0px; - padding: 5px; -} - -span.language { - color: #171717; - text-align: center; - margin: 5px; -} - -div.line { - font-family: Consolas; - font-size: 15px; - min-height: 20px; - line-height: 1.0; - padding-top: 4px; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 4px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #FFFFFF; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #0366D6 -} - -span.keywordtype { - color: #0366d6 -} - -span.keywordflow { - color: #0366d6 -} - -span.comment { - color: green -} - -span.preprocessor { - color: #808080 -} - -span.stringliteral { - color: grey -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -blockquote.DocNodeRTL { - border-left: 0; - border-right: 2px solid #9CAFD4; - margin: 0 4px 0 24px; - padding: 0 16px 0 12px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; - display: none; -} - -hr.footer { - height: 1px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; - padding: 5px; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; - text-align: left; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight, .memTemplItemRight { - width: 100%; -} - -.memTemplParams { - color: #0366D6; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #0366D6; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -.params .paramidx { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; - font-family: Lato, sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.section.DocNodeRTL { - margin-right: 0px; - padding-right: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.note.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.deprecated.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.todo.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.test.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -dl.bug.DocNodeRTL { - margin-left: 0; - padding-left: 0; - border-left: 0; - margin-right: -7px; - padding-right: 3px; - border-right: 4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; -} - -dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -.PageDocRTL-title div.toc { - float: left !important; - text-align: right; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -.PageDocRTL-title div.toc li { - background-position-x: right !important; - padding-left: 0 !important; - padding-right: 10px; -} - -div.toc h3 { - font: bold 18px/1.2 Arial,FreeSans,sans-serif; - color: #0366D6; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -span.emoji { - /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html - * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; - */ -} - -.PageDocRTL-title div.toc li.level1 { - margin-left: 0 !important; - margin-right: 0; -} - -.PageDocRTL-title div.toc li.level2 { - margin-left: 0 !important; - margin-right: 15px; -} - -.PageDocRTL-title div.toc li.level3 { - margin-left: 0 !important; - margin-right: 30px; -} - -.PageDocRTL-title div.toc li.level4 { - margin-left: 0 !important; - margin-right: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; - font-family: Lato, sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #FFFFFF; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #FFFFFF; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 5px 20px 5px; -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: left; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -.DocNodeRTL { - text-align: right; - direction: rtl; -} - -.DocNodeLTR { - text-align: left; - direction: ltr; -} - -table.DocNodeRTL { - width: auto; - margin-right: 0; - margin-left: auto; -} - -table.DocNodeLTR { - width: auto; - margin-right: auto; - margin-left: 0; -} - -tt, code, kbd, samp -{ - display: inline-block; - direction:ltr; -} -/* @end */ - -u { - text-decoration: underline; -} - -#nav-tree { - background-image: url(nav_h.png); - background-repeat: repeat-x; - background-color: white; -} - -#nav-tree .item { - margin: 2px; - padding: 0px; -} - -#nav-tree li { - white-space: nowrap; - margin: 0px; - padding: 3px; -} - -#nav-tree .label a { - padding: 3px; - font-family: Lato, sans-serif; - font-size: 14px; -} - -#nav-tree a { - text-decoration: none; - margin: 1px; - outline: none; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 5px; - padding-bottom: 5px; -} - -.ui-resizable-handle { - display: none; - font-size: 0.1px; - position: absolute; - z-index: 1; - background: aliceblue; -} - -h2.groupheader { - color: #000000; - font-weight: normal; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; - display: block; - font-size: 1.5em; - border: none; - font-weight: bold; - margin: auto; -} - -table.memberdecls { - border-spacing: 0px; - padding: 0px; - background: whtie; -} - -div.textblock li{ - padding: 5px; - margin: 0px; -} - -#projectnumber { - font: 400 14px/22px Roboto,sans-serif; - font-family: Lato, sans-serif; - font-size: 12pt; - font-variant: normal; - vertical-align: baseline; - color: #212121; - margin: 0px; - padding: 0px; -} - -div.contents table.memberdecls { - display: none; -} - -h2.memtitle { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -4px; - background-image: url(nav_f.png); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float: left; - padding-right: 5px; - width: -webkit-fill-available; - margin-right: 0px; -} - -div.memitem div.memdoc h2.memtitle { - margin: auto; - background: none; - border: none; - box-shadow: none; - color: #171717; - background: #e6e6e6; - border-radius: 3px; - width: fit-content; - font-size: 85%; - padding: 0.1em 0.2em; -} - -div.memitem div.memdoc div.memitem div.memproto{ - margin: auto; - background: none; - border: none; - box-shadow: none; -} - -div.memitem div.memdoc div.memitem div.memdoc{ - margin: auto; - background: none; - border: none; - box-shadow: none; - padding-top: 0px; - padding-bottom: 0px; -} - -div.memitem div.memdoc div.memitem div.memdoc p{ - margin: 0px; -} - -.memname td { - vertical-align: bottom; - color: #212121; - font-weight: 100; -} - -div.memitem div.memdoc div.textblock p{ - margin-top: 6px; - margin-bottom: 6px; -} -.memname { - font-weight: 400; - margin-left: 6px; -} -h1 { - font-size: 24px; -} - -#MSearchSelect { - display: none; -} \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/open.png b/vendor/adlx/SDKDoc/html/open.png deleted file mode 100644 index 30f75c7efe2dd0c9e956e35b69777a02751f048b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM - - - - - - - - -AMD Device Library eXtra: ADLX Helper Functions - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Helper Functions
-
-
-

The ADLX Helper functions initialize ADLX in C programs.

-

Functions

- - - - - - - - - - - - - - - - - - - -
Functions Description
ADLXHelper_GetAdlMapping Gets the ADL Mapping interface.
ADLXHelper_GetSystemServices Gets the ADLX system interface.
ADLXHelper_Initialize Initializes ADLX with default parameters.
-
ADLXHelper_InitializeWithCallerAdl Initializes ADLX with an ADL context.
ADLXHelper_InitializeWithIncompatibleDriver Initializes ADLX with a legacy driver.
-
ADLXHelper_QueryFullVersion Gets the full version of ADLX.
ADLXHelper_QueryVersion Gets the version of ADLX.
ADLXHelper_Terminate Terminates ADLX and releases ADLX library.
-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_c_help.js b/vendor/adlx/SDKDoc/html/page__a_d_l_x_c_help.js deleted file mode 100644 index fe6b206..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_c_help.js +++ /dev/null @@ -1,11 +0,0 @@ -var page__a_d_l_x_c_help = -[ - [ "ADLXHelper_GetAdlMapping", "page_c_help_a_d_l_x_helper__get_adl_mapping.html", null ], - [ "ADLXHelper_GetSystemServices", "page_c_help_a_d_l_x_helper__get_system_services.html", null ], - [ "ADLXHelper_Initialize", "page_c_help_a_d_l_x_helper__initialize.html", null ], - [ "ADLXHelper_InitializeWithCallerAdl", "page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html", null ], - [ "ADLXHelper_InitializeWithIncompatibleDriver", "page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html", null ], - [ "ADLXHelper_QueryFullVersion", "page_c_help_a_d_l_x_helper__query_full_version.html", null ], - [ "ADLXHelper_QueryVersion", "page_c_help_a_d_l_x_helper__query_version.html", null ], - [ "ADLXHelper_Terminate", "page_c_help_a_d_l_x_helper__terminate.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.html deleted file mode 100644 index af4326e..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper Class - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper Class
-
-
-

ADLXHelper class are methods to initialize ADLX in C++, C#, Java, and Python programs.

-

Methods

- - - - - - - - - - - - - - - - - - - - - - - -
Method Description
ADLXHelper The constructor of the ADLXHelper class.
GetAdlMapping Gets the ADL Mapping interface.
GetSystemServices Gets the ADLX system interface.
Initialize Initializes ADLX with default parameters.
InitializeWithCallerAdl Initializes ADLX with an ADL context.
InitializeWithIncompatibleDriver Initializes ADLX with a legacy driver.
QueryFullVersion Gets the full version of ADLX.
QueryVersion Gets the version of ADLX.
Terminate Terminates ADLX and releases ADLX library.
~ADLXHelper The destructor of the ADLXHelper class.
-

Requirements

- - - - - -
Headerinclude"ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.js b/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.js deleted file mode 100644 index 2d8607f..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_cpp_help.js +++ /dev/null @@ -1,13 +0,0 @@ -var page__a_d_l_x_cpp_help = -[ - [ "ADLXHelper", "page_cpp_help_new.html", null ], - [ "GetAdlMapping", "page_cpp_help_get_adl_mapping.html", null ], - [ "GetSystemServices", "page_cpp_help_get_system_services.html", null ], - [ "Initialize", "page_cpp_help_initialize.html", null ], - [ "InitializeWithCallerAdl", "page_cpp_help_initialize_with_caller_adl.html", null ], - [ "InitializeWithIncompatibleDriver", "page_cpp_help_initialize_with_incompatible_driver.html", null ], - [ "QueryFullVersion", "page_cpp_help_query_full_version.html", null ], - [ "QueryVersion", "page_cpp_help_query_version.html", null ], - [ "Terminate", "page_cpp_help_terminate.html", null ], - [ "~ADLXHelper", "page_cpp_help_delete.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.html deleted file mode 100644 index 5fd0448..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Helpers - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Helpers
-
-
-

In this section

-

This section describes the syntax, parameters, return values and more for ADLX Helpers required to initialize ADLX in a C or C++ application:
-

- -

See Also

- -
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.js b/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.js deleted file mode 100644 index 0391997..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_helps.js +++ /dev/null @@ -1,5 +0,0 @@ -var page__a_d_l_x_helps = -[ - [ "ADLX Helper Functions", "page__a_d_l_x_c_help.html", "page__a_d_l_x_c_help" ], - [ "ADLXHelper Class", "page__a_d_l_x_cpp_help.html", "page__a_d_l_x_cpp_help" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize__fn.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize__fn.html deleted file mode 100644 index 067c679..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize__fn.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXInitialize_Fn - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXInitialize_Fn
-
-
-

A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver.

-

Syntax

-
- typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem)
- 

Parameters

-
-
-
- - -
1.[in]versionadlx_uint64The version of ADLX.
-
-
-
-
-
- - -
1.[out]ppSystemIADLXSystem**The address of a pointer to the ADLX system interface. If ADLX initialization failed, the method sets the dereferenced address *ppSystem to nullptr.
-
-
-

Return Value

-

If ADLX was successfully initialized, ADLX_OK is returned.
- If ADLX was not successfully initialized, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Remarks

-

The pointer of the function is returned by the adlx_get_proc_address using the ADLX_INIT_FUNCTION_NAME or ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME as the function name.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize_with_caller_adl__fn.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize_with_caller_adl__fn.html deleted file mode 100644 index 3613232..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_initialize_with_caller_adl__fn.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXInitializeWithCallerAdl_Fn - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXInitializeWithCallerAdl_Fn
-
-
-

A pointer to the function to initialize ADLX with an ADL context.

-

Syntax

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree)
- 

Parameters

-
-
-
- - -
1.[in]versionadlx_uint64The version of ADLX.
-
-
-
-
-
- - -
2.[out]ppSystemIADLXSystem**The address of a pointer to the ADLX system interface. If ADLX initialization failed, the method sets the dereferenced address *ppSystem to nullptr.
-
-
-
-
-
- - -
3.[out]ppAdlMappingIADLMapping**The address of a pointer to the ADLX mapping interface. If ADLX initialization failed, the method sets the dereferenced address *ppAdlMapping to nullptr.
-
-
-
-
-
- - -
4.[in]adlContextadlx_handleThe ADL context.
-
-
-
-
-
- - -
5.[in]adlMainMemoryFreeADLX_ADL_Main_Memory_FreeThe callback handle of the memory deallocation function.
-
-
-

Return Value

-

If ADLX was successfully initialized, ADLX_OK is returned.
- If ADLX was not successfully initialized, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Remarks

-

The pointer of the function is returned by the adlx_get_proc_address using the ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME as the function name.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_full_version__fn.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_full_version__fn.html deleted file mode 100644 index 8f17075..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_full_version__fn.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXQueryFullVersion_Fn - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXQueryFullVersion_Fn
-
-
-

A pointer to the function to query the full version of ADLX.

-

Syntax

-
- typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion)
- 

Parameters

-
-
-
- - -
1.[out]fullVersionadlx_uint64*The pointer to a variable where the full version of ADLX is returned.
-
-
-

Return Value

-

If the full version is successfully returned, ADLX_OK is returned.
- If the full version is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Remarks

-

The pointer of the function is returned by the adlx_get_proc_address using the ADLX_QUERY_FULL_VERSION_FUNCTION_NAME as the function name.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_version__fn.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_version__fn.html deleted file mode 100644 index 267e4f5..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_query_version__fn.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXQueryVersion_Fn - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXQueryVersion_Fn
-
-
-

A pointer to the function to query the version of ADLX.

-

Syntax

-
- typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryVersion_Fn)(const char** version)
- 

Parameters

-
-
-
- - -
1.[out]versionconst char**The pointer to a zero-terminated string where the version of ADLX is returned.
-
-
-

Return Value

-

If the version is successfully returned, ADLX_OK is returned.
- If the version is not successfully returned, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Remarks

-

The pointer of the function is returned by the adlx_get_proc_address using the ADLX_QUERY_VERSION_FUNCTION_NAME as the function name.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page__a_d_l_x_terminate__fn.html b/vendor/adlx/SDKDoc/html/page__a_d_l_x_terminate__fn.html deleted file mode 100644 index e829a89..0000000 --- a/vendor/adlx/SDKDoc/html/page__a_d_l_x_terminate__fn.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXTerminate_Fn - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXTerminate_Fn
-
-
-

A pointer to the function to terminate ADLX.

-

Syntax

-
-  typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)()
- 

Parameters

-

N/A

-

Return Value

-

If the function is successfully executed, ADLX_OK is returned.
- If the function is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

Remarks

-

The pointer of the function is returned by the adlx_get_proc_address using the ADLX_TERMINATE_FUNCTION_NAME as the function name.

-

Requirements

- - - - - -
Headerinclude "ADLX.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.html b/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.html deleted file mode 100644 index f5acf20..0000000 --- a/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Programming Guide - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Programming Guide
-
-
-

In this section

-

The ADLX Programming Guide contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages. .
-

-

To start programming with ADLX, developers should first download the ADLX SDK, which includes documentation, sample code, and ADLX headers. The ADLX library is installed with the driver as a .dll file, and applications can use the library to access supported interfaces and methods.

-

Featured APIs

-

Refer to the ADLX SDK documentation for a detailed list of ADLX supported functionalities.

-

Examples of commonly used ADLX categories and their interfaces include:

- - - - - - - - - - - - - - - -
Display 3D Graphics Performance Monitoring GPU Tuning
AMD FreeSync™ Technology Performance Boosting Features GPU/CPU Utilization VRAM Tuning
Color Settings Visual Quality Enhancement Features GPU Clock Speeds Fan Tuning
Scaling Input Lag Reduction Features GPU Power Consumption Power Tuning
Custom Resolution Power Saving Features GPU Temperature Auto Tuning
AMD Eyefinity Multi-Display Configuration AMD Frame Rate Target Control (FRTC) GPU Fan Speeds
Vertical Sync GPU Frame Rate
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.js b/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.js deleted file mode 100644 index 944f5b6..0000000 --- a/vendor/adlx/SDKDoc/html/page_adlxprogrammingguide.js +++ /dev/null @@ -1,7 +0,0 @@ -var page_adlxprogrammingguide = -[ - [ "Benefits", "page_guide_bef.html", null ], - [ "Specifications", "page_guide_spe.html", "page_guide_spe" ], - [ "Quick Start", "page_guide_qs.html", "page_guide_qs" ], - [ "Advanced Configurations", "page_guide_advanced.html", "page_guide_advanced" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_adl_mapping.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_adl_mapping.html deleted file mode 100644 index a3331c9..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_adl_mapping.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_GetAdlMapping - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_GetAdlMapping
-
-
-

Gets the ADL Mapping interface.

-

Syntax

-
- IADLMapping* ADLXHelper_GetAdlMapping ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLX was successfully initialized with ADL, a valid pointer of the IADLMapping interface is returned.
- If ADLX was initialized under any of the following circumstances, nullptr is returned.
-

    -
  • ADLX initialization was with other initialization methods.
    -
  • -
  • ADLX initialization was failed.
    -
  • -
  • ADLX initialization was not called.
    -
  • -
-

Remarks

-

ADLXHelper_GetAdlMapping is used to convert data between ADL and ADLX in applications where ADLX was initialized with ADLXHelper_InitializeWithCallerAdl.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_system_services.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_system_services.html deleted file mode 100644 index 192d067..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__get_system_services.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_GetSystemServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_GetSystemServices
-
-
-

Gets the ADLX system interface.

-

Syntax

-
- IADLXSystem* ADLXHelper_GetSystemServices ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLX was successfully initialized before this function call, the IADLXSystem interface is returned.
- If ADLX was not successfully initialized, nullptr is returned.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize.html deleted file mode 100644 index 61b2d3c..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_Initialize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_Initialize
-
-
-

Initializes ADLX with default parameters.
-

-

Syntax

-
- ADLX_RESULT ADLXHelper_Initialize ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLXHelper_Initialize is successfully executed, ADLX_OK is returned.
- If ADLXHelper_Initialize is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

This function is used when an application does not use the ADL library and initializes ADLX with default parameters.
- For more information for initializing ADLX with default parameters, refer to ADLX GPU Support.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html deleted file mode 100644 index 2132c7a..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_InitializeWithCallerAdl - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_InitializeWithCallerAdl
-
-
-

Initializes ADLX with an ADL context.

-

Syntax

-
- ADLX_RESULT ADLXHelper_InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree)
- 

Parameters

-
-
-
- - -
1.[in]adlContextadlx_handleThe ADL context.
-
-
-
-
-
- - -
2.[in]adlMainMemoryFreeADLX_ADL_Main_Memory_FreeThe callback handler of the memory deallocation function.
-
-
-

Return Value

-

If ADLXHelper_InitializeWithCallerAdl is successfully executed, ADLX_OK is returned.
- If ADLXHelper_InitializeWithCallerAdl is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

This function is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL.
- In such case, the application shall pass the parameters in this function that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized.
- For more information for initializing ADLX with an ADL context, refer to Using ADLX in an ADL application.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html deleted file mode 100644 index 4b6fa60..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_InitializeWithIncompatibleDriver - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_InitializeWithIncompatibleDriver
-
-
-

Initializes ADLX with a legacy driver.
-

-

Syntax

-
- ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLXHelper_InitializeWithIncompatibleDriver is successfully executed, ADLX_OK is returned.
- If ADLXHelper_InitializeWithIncompatibleDriver is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

This function is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver.
- For more information for initializing ADLX with a legacy driver, refer to ADLX GPU Support.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_full_version.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_full_version.html deleted file mode 100644 index 5237cd9..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_full_version.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_QueryFullVersion - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_QueryFullVersion
-
-
-

Gets the full version of ADLX.

-

Syntax

-
- adlx_uint64 ADLXHelper_QueryFullVersion ()
- 

Parameters

-

N/A

-

Return Value

-

The full version of ADLX.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_version.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_version.html deleted file mode 100644 index 3b7c5cc..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__query_version.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_QueryVersion - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_QueryVersion
-
-
-

Gets the version of ADLX.

-

Syntax

-
- const char* ADLXHelper_QueryVersion ();
- 

Parameters

-

N/A

-

Return Value

-

The version of ADLX.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__terminate.html b/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__terminate.html deleted file mode 100644 index 4d9c0bf..0000000 --- a/vendor/adlx/SDKDoc/html/page_c_help_a_d_l_x_helper__terminate.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper_Terminate - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper_Terminate
-
-
-

Terminates ADLX and releases ADLX library.

-

Syntax

-
- ADLX_RESULT ADLXHelper_Terminate ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLXHelper_Terminate is successfully executed, ADLX_OK is returned.
- If ADLXHelper_Terminate is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Any interface obtained from ADLX that is not released becomes invalid.
- Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/C/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_delete.html b/vendor/adlx/SDKDoc/html/page_cpp_help_delete.html deleted file mode 100644 index dc855d6..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_delete.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ~ADLXHelper - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
~ADLXHelper
-
-
-

The destructor of the ADLXHelper class.

-

Syntax

-
- ~ADLXHelper ()
- 

Parameters

-

N/A

-

Return Value

-

N/A

-

Remarks

-

This method calls Terminate.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_get_adl_mapping.html b/vendor/adlx/SDKDoc/html/page_cpp_help_get_adl_mapping.html deleted file mode 100644 index 6abade2..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_get_adl_mapping.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetAdlMapping - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetAdlMapping
-
-
-

Gets the ADL Mapping interface.

-

Syntax

-
- IADLMapping* GetAdlMapping ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLX was successfully initialized with ADL, a valid pointer of the IADLMapping interface is returned.
- If ADLX was initialized under any of the following circumstances, nullptr is returned.
-

    -
  • ADLX initialization was with other initialization methods.
    -
  • -
  • ADLX initialization was failed.
    -
  • -
  • ADLX initialization was not called.
    -
  • -
-

Remarks

-

GetAdlMapping is used to convert data between ADL and ADLX in applications where ADLX was initialized with InitializeWithCallerAdl.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_get_system_services.html b/vendor/adlx/SDKDoc/html/page_cpp_help_get_system_services.html deleted file mode 100644 index f8b083e..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_get_system_services.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: GetSystemServices - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
GetSystemServices
-
-
-

Gets the ADLX system interface.

-

Syntax

-
- IADLXSystem* GetSystemServices ()
- 

Parameters

-

N/A

-

Return Value

-

If ADLX was successfully initialized before this method call, the IADLXSystem interface is returned.
- If ADLX was not successfully initialized, nullptr is returned.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize.html b/vendor/adlx/SDKDoc/html/page_cpp_help_initialize.html deleted file mode 100644 index 5eb7556..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Initialize - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Initialize
-
-
-

Initializes ADLX with default parameters.

-

Syntax

-
- ADLX_RESULT Initialize ()
- 

Parameters

-

N/A

-

Return Value

-

If Initialize is successfully executed, ADLX_OK is returned.
- If Initialize is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

This method is used when an application does not use the ADL library and initializes ADLX with default parameters.
- For more information for initializing ADLX with default parameters, refer to ADLX GPU Support.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_caller_adl.html b/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_caller_adl.html deleted file mode 100644 index 536ed5d..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_caller_adl.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: InitializeWithCallerAdl - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
InitializeWithCallerAdl
-
-
-

Initializes ADLX with an ADL context.

-

Syntax

-
- ADLX_RESULT InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree)
- 

Parameters

-
-
-
- - -
1.[in]adlContextadlx_handleThe ADL context.
-
-
-
-
-
- - -
2.[in]adlMainMemoryFreeADLX_ADL_Main_Memory_FreeThe callback handler of the memory deallocation.
-
-
-

Return Value

-

If InitializeWithCallerAdl is successfully executed, ADLX_OK is returned.
- If InitializeWithCallerAdl is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

This method is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL.
- In such case, the application shall pass the parameters in this method that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized.
- For more information for initializing ADLX with an ADL context, refer to Using ADLX in an ADL application.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_incompatible_driver.html b/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_incompatible_driver.html deleted file mode 100644 index 1593cbb..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_initialize_with_incompatible_driver.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: InitializeWithIncompatibleDriver - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
InitializeWithIncompatibleDriver
-
-
-

Initializes ADLX with a legacy driver.

-

Syntax

-
- ADLX_RESULT InitializeWithIncompatibleDriver ()
- 

Parameters

-

N/A

-

Return Value

-

If InitializeWithIncompatibleDriver is successfully executed, ADLX_OK is returned.
- If InitializeWithIncompatibleDriver is not successfully executed, an error code is returned.
- If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned.
- Refer to ADLX_RESULT for success codes and error codes.
-

-

Remarks

-

This method is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver.
- For more information for initializing ADLX with a legacy driver, refer to ADLX GPU Support.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_new.html b/vendor/adlx/SDKDoc/html/page_cpp_help_new.html deleted file mode 100644 index 6190f16..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_new.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXHelper - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXHelper
-
-
-

The constructor of the ADLXHelper class.

-

Syntax

-
- ADLXHelper ()
- 

Parameters

-

N/A

-

Return Value

-

An ADLXHelper object.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_query_full_version.html b/vendor/adlx/SDKDoc/html/page_cpp_help_query_full_version.html deleted file mode 100644 index b778d8b..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_query_full_version.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: QueryFullVersion - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
QueryFullVersion
-
-
-

Gets the full version of ADLX.

-

Syntax

-
- adlx_uint64 QueryFullVersion ()
- 

Parameters

-

N/A

-

Return Value

-

The full version of ADLX.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_query_version.html b/vendor/adlx/SDKDoc/html/page_cpp_help_query_version.html deleted file mode 100644 index 926e647..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_query_version.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: QueryVersion - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
QueryVersion
-
-
-

Gets the version of ADLX.

-

Syntax

-
- const char* QueryVersion ()
- 

Parameters

-

N/A

-

Return Value

-

The version of ADLX.

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_cpp_help_terminate.html b/vendor/adlx/SDKDoc/html/page_cpp_help_terminate.html deleted file mode 100644 index 643157e..0000000 --- a/vendor/adlx/SDKDoc/html/page_cpp_help_terminate.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Terminate - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Terminate
-
-
-

Terminates ADLX and releases ADLX library.

-

Syntax

-
- ADLX_RESULT Terminate ()
- 

Parameters

-

N/A

-

Return Value

-

If Terminate is successfully executed, ADLX_OK is returned.
- If Terminate is not successfully executed, an error code is returned.
- Refer to ADLX_RESULT for success codes and error codes.

-

Remarks

-

Any interface obtained from ADLX that is not released becomes invalid.
- Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes.
-

-

Requirements

- - - - - -
Headerinclude "ADLXHelper/Windows/Cpp/ADLXHelper.h"
Minimum version1.0
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide__compatibility.html b/vendor/adlx/SDKDoc/html/page_guide__compatibility.html deleted file mode 100644 index 69114db..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide__compatibility.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Compatibility - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Compatibility
-
-
-

ADLX features forward and backward compatibility for ADLX dependent applications, including compatibility for system installed AMD drivers. An application using ADLX will run as expected when installed on a system with a newer AMD driver version. If the application is installed on a system with an older AMD driver version, the application will run with reduced functionality and support for some interfaces.

-

When new functionalities are introduced, they are provided in new interfaces. ADLX interfaces are locked and do not change; all in-application ADLX code will continue to compile throughout future versions of the ADLX SDK.
-

-

Note: ADLX SDK documentation demonstrates how to code a third-party application for unsupported interfaces.

-

ADLX GPU Support

-
    -
  • Non-AMD GPUs are not supported.
  • -
  • Some legacy AMD GPUs may not be supported.
  • -
  • The default ADLX initialization considers backwards compatibility for legacy driver versions an unsupported feature, as the application will run with reduced functionality and support for some interfaces.
  • -
  • A recommended method to initialize ADLX using a legacy GPU and/or driver versions is to program the application to specifically use the legacy AMD GPU and driver.
    - Note: This method may not be applicable to all legacy AMD GPUs and driver versions.
    -

    -

    For more information, see Initialize / InitializeWithIncompatibleDriver helper for C++ and ADLXHelper_Initialize / ADLXHelper_InitializeWithIncompatibleDriver helper for C.
    -

    -

    For information about initialization function, see the ADLXInitialize_Fn function.

    -
  • -
  • When using ADLX along with ADL on legacy GPUs and drivers, ADLX will replicate the existing ADL configuration for that application. As an example, if the ADL application was configured to utilize the legacy GPU and driver, ADLX will also utilize the legacy GPU and driver.
  • -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_advanced.html b/vendor/adlx/SDKDoc/html/page_guide_advanced.html deleted file mode 100644 index 9f56b49..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_advanced.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Advanced Configurations - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Advanced Configurations
-
-
-

In this section

-

This section contains advanced configuration usecases for ADLX.

Using ADLX in a system service application

-

Using ADLX in a system service application demonstrates a workaround to access system service application functionality through a user mode process.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_advanced.js b/vendor/adlx/SDKDoc/html/page_guide_advanced.js deleted file mode 100644 index 408e449..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_advanced.js +++ /dev/null @@ -1,4 +0,0 @@ -var page_guide_advanced = -[ - [ "Using ADLX in a system service application", "page_guide_usingservice.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_guide_bef.html b/vendor/adlx/SDKDoc/html/page_guide_bef.html deleted file mode 100644 index c57cf33..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_bef.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Benefits - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Benefits
-
-
-

Develop applications with greater ease and efficiency with ADLX, featuring improved stability and maintenance, and more functionality than ADL.

-
    -
  • High standard of quality assurance from AMD. All ADLX functions and methods are extensively tested on a wide range of hardware to assure quality.
  • -
  • Accelerated time-to-market. Simplified and cost-effective interfaces allow for accelerated customer software development.
  • -
  • Forward and backward compatibility with AMD drivers. Significantly reduced field issues by implementing architecture built with compatibility checks and switches.
  • -
  • Extended functionality and use case support. Expanded functionality over ADL, and inclusion of the latest control and monitoring features available for AMD hardware and drivers.
  • -
  • Compatible with modern programming languages such as Python, Java, C#, etc. ADLX can be integrated with a larger selection of programming languages.
  • -
- - - - - - - - - - - - - - - -
Features ADLX ADL
Simple Interface ✅ Intuitive C++ interfaces with methods ❌ Inconvenient C-style function pointers
GPU & Display Enumeration ✅ Intuitive representation ❌ Complicated representation
Memory Management ✅ Virtually leak-proof with reference-counted interfaces and smart pointers ❌ Leak-prone with C-style dynamic memory management
Events Synchronization ✅ Convenient ADLX events for all the features in ADLX ❌ Limited events. Applications must implement the events manager
Support ✅ Forward and backward compatibility with AMD drivers ❌ Limited
Versioning ✅ More interfaces ❌ Alternate function pointers
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_bindcsharp.html b/vendor/adlx/SDKDoc/html/page_guide_bindcsharp.html deleted file mode 100644 index 273ed54..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_bindcsharp.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Building C# bindings for ADLX - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Building C# bindings for ADLX
-
-
-

This guide outlines the steps to build a C# binding wrapper for ADLX, a prerequisite to programming with ADLX in a C# application.

-

Prerequisite(s)

-
    -
  • ADLX SDK is installed.
  • -
  • Visual Studio 2019 is installed.
  • -
  • swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable.
  • -
-

To build ADLX bindings in C#

-
    -
  1. Create and name a folder for the C# ADLX binding wrapper, for example ADLXCSharpBind.
  2. -
  3. Create a new file in the ADLXCSharpBind folder and title it ADLXCSharpBind.i.
  4. -
  5. Edit ADLXCSharpBind.i and add the SDK header files for the interfaces you wish to wrap by using the SWIG input format. To create bindings for event notifications, turn on the director wrapping callback for respective listener interfaces.
    -For example,

    -
    -    feature("director") IADLXDisplayListChangedListener;
    -     

    Note: Refer to the C# samples ADLXCSharpBind.i file for an example of a C# binding.

    -
  6. -
  7. Create a C++ Dynamic Link Library project named ADLXCSharpBind and configure the project as follows:
      -
    • - - - - -
      Key Value Observations
      C/C++ > Precompiled Header Not Using Precompiled Headers Do not use precompiled headers
      -
    • -
    -
  8. -
  9. Add the ADLXCSharpBind.i file to the project.
  10. -
  11. Right-click the ADLXCSharpBind.i file, and select Properties from the menu. In the Properties dialog select Configuration Properties > General > Item Type > Custom Build Tool.
    - Set the configuration as follows:
      -
    • - - - - - - -
      Key Value Observations
      Command Line if not exist $(SolutionDir)out mkdir $(SolutionDir)out swig.exe -c++ -csharp -dllimport ADLXCSharpBind -outdir ../out/ ADLXCSharpBind.i Invoke SWIG.exe to build ADLXCSharpBind.i file
      Outputs %(Filename)_wrap.cxx Set output file name format
      -
    • -
    -
  12. -
  13. Build the project.

    -

    Result: The following files are added to the ADLXCSharpBind project output folder:

      -
    • ADLXCSharpBind_wrap.h file.
    • -
    • ADLXCSharpBind_wrap.cxx file.
    • -
    • All *.cs files that correspond to the additional interfaces in the ADLXCSharpBind.i file.
    • -
    -
  14. -
  15. Add the following files to the project:
      -
    • ADLXCSharpBind_wrap.h
    • -
    • ADLXCSharpBind_wrap.cxx
    • -
    • SDK/Platform/Windows/WinAPIs.cpp
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp
    • -
    -
  16. -
  17. Rebuild the project.

    -

    Result: The ADLXCSharpBind.dll is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder.

    -
  18. -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_bindjava.html b/vendor/adlx/SDKDoc/html/page_guide_bindjava.html deleted file mode 100644 index 623ba21..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_bindjava.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Building Java bindings for ADLX - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Building Java bindings for ADLX
-
-
-

This guide outlines the steps to build a Java binding wrapper for ADLX, a prerequisite to programming with ADLX in a Java application.

Prerequisite(s)

-
    -
  • ADLX SDK is installed.
  • -
  • Visual Studio 2019 is installed.
  • -
  • swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable.
  • -
  • OpenJDK 17 is installed.
  • -
  • The path to the OpenJDK 17 installation is added to the JAVA_HOME system environment variable.
  • -
  • The bin path for the OpenJDK 17 installation is added to the Path system environment variable.
  • -
-

To build ADLX bindings in Java

-
    -
  1. Create and name a folder for your Java ADLX binding wrapper, for example ADLXJavaBind.
  2. -
  3. Create a new file in the ADLXJavaBind folder and title it ADLXJavaBind.i.
  4. -
  5. Edit ADLXJavaBind.i and add the SDK header files for the interfaces you wish to wrap by using the SWIG input format.To create bindings for event notifications, turn on director wrapping callback for the respective listener interfaces.
    -For example,

    -
    -    feature("director") IADLXDisplayListChangedListener;
    -     

    Note: Refer to the Java samples ADLXJavaBind.i file for an example of a Java binding.

    -
  6. -
  7. Create a C++ Dynamic Link Library project named ADLXJavaBind and configure the project as follows:
      -
    • - - - - - - -
      Key Value Observations
      VC++ Directories > Include Directories $(JAVA_HOME)/include and $(JAVA_HOME)/include/win32 Add path of java include and path of java/win32 include
      C/C++ > Precompiled Header Not Using Precompiled Headers Do not use precompiled headers
      -
    • -
    -
  8. -
  9. Add the ADLXJavaBind.i file to the project.
  10. -
  11. Right-click the ADLXJavaBind.i file and select Properties from the menu. In the Properties dialog select Configuration Properties > General > Item Type > Custom Build Tool.
    - Set the configuration as follows:
      -
    • - - - - - - -
      Key Value Observations
      Command Line if not exist $(SolutionDir)out mkdir $(SolutionDir)out swig.exe -c++ -java -package out -outdir ../out/ ADLXJavaBind.i Invoke SWIG.exe to build ADLXJavaBind.i file
      Outputs %(Filename)_wrap.cxx Set output file name format
      -
    • -
    -
  12. -
  13. Build the project.

    -

    Result: The following files are added to the ADLXJavaBind project output folder:

      -
    • ADLXJavaBind_wrap.h file.
    • -
    • ADLXJavaBind_wrap.cxx file.
    • -
    • Several *.java files.
    • -
    -
  14. -
  15. Add the following files to the project:
      -
    • ADLXJavaBind_wrap.h
    • -
    • ADLXJavaBind_wrap.cxx
    • -
    • SDK/Platform/Windows/WinAPIs.cpp
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp
    • -
    -
  16. -
  17. Rebuild the project.

    -

    Result: The ADLXJavaBind.dll is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder.

    -
  18. -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_bindpy.html b/vendor/adlx/SDKDoc/html/page_guide_bindpy.html deleted file mode 100644 index 543ffc7..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_bindpy.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Building Python bindings for ADLX - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Building Python bindings for ADLX
-
-
-

This guide outlines the steps to build a Python binding wrapper for ADLX, a prerequisite to programming with ADLX in a Python application.

-

Prerequisite(s)

-
    -
  • ADLX SDK is installed.
  • -
  • Visual Studio 2019 is installed.
  • -
  • Python 3.9 is installed.
  • -
  • pybind11 is installed.
  • -
  • The path to the Python 3.9 installation is added to the PYHOME system environment variable.
  • -
-

To build ADLX bindings in Python

-
    -
  1. Create a folder for your Python ADLX binding wrapper, for example ADLXPybind.
  2. -
  3. Create a new file in the ADLXPybind folder and title it bind.cpp.
  4. -
  5. Edit bind.cpp and bind the interfaces you wish to wrap using pybind11. To create bindings for event notifications, inherit the respective listener interface.
    -For example, inherit IADLXDisplayListChangedListener.

    -

    Note: Refer to the Python samples bind.cpp file for an example of a Python binding.

    -
  6. -
  7. Create a C++ Dynamic Link Library project named ADLXPybind and configure the project as follows:
      -
    • - - - - - - - - - - - - -
      Key Value Observations
      Advanced > Target File Extension .pyd Use .pyd as the extension
      VC++ Directories > Include Directories $(PYHOME)/include
      - $(PYHOME)/Lib/site-packages/pybind11/include
      -
      Add Path of python include and path of pybind11 include
      VC++ Directories > Library Directories $(PYHOME)/libs Add path of python libs
      C/C++ > Precompiled Header Not Using Precompiled Headers Do not use precompiled headers
      Linker > Inpit python39.lib Add python lib
      -
    • -
    -
  8. -
  9. Add the bind.cpp file to the project
  10. -
  11. Add the following files to the project:
      -
    • SDK/Platform/Windows/WinAPIs.cpp
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h
    • -
    • SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp
    • -
    -
  12. -
  13. Build the project.

    -

    Result: The ADLXPybind.pyd is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder.

    -
  14. -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_event.html b/vendor/adlx/SDKDoc/html/page_guide_event.html deleted file mode 100644 index 24cd356..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_event.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Subscribing to Event Notifications using ADLX - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Subscribing to Event Notifications using ADLX
-
-
-

ADLX has an event notification mechanism specific to each ADLX domain, but the event notification in all the domains use the same approach.

-

The application implements a listener interface as defined in the ADLX SDK. An instance of the listener interface is passed to ADLX to register for notification when the respective settings are changed.

-

When a change occurs, ADLX calls the method in this listener instance and passes the new settings as parameters.

-

When events notifications are no longer required by the application, the application unregisters the listener instance from ADLX, and the instance of the listener interface can be destroyed by the application.

-

Example: The Desktop domain provides notifications when there is a change to the desktop list.

-

Use the ADLX event notification management functionality when programming a new application, or when programming an existing application that uses ADL. The mechanism remains the same for all the programming languages, but there are language-specific differences in implementation.

-

You can program an application to get notified about changes such as when desktops are:

    -
  • Created
  • -
  • Removed
  • -
  • Changed - Size settings
  • -
  • Changed - Location settings
  • -
-

To program an application to receive desktop list change notification,

    -
  1. Implement, and then create an instance of the implemented IADLXDesktopListChangedListener interface.

    -

    Note: The ADLX Desktop List Changed Listener instance is passed to ADLX and must exist for the entire duration of the application’s desktop list changed event registration.

    -
  2. -
  3. Call IADLXSystem::GetDesktopServices in the ADLX System interface.

    -

    Result: Gets the IADLXDesktopServices interface.

    -
  4. -
  5. Call IADLXDesktopServices::GetDesktopChangedHandling in the ADLX Desktop Services interface.

    -

    Result: Gets the IADLXDesktopChangedHandling interface.

    -
  6. -
  7. Pass the ADLX Desktop List Changed Listener instance as the parameter into IADLXDesktopChangedHandling::AddDesktopListEventListener.

    -

    Note: When a change to the desktop occurs, the OnDesktopListChanged is called into the ADLX Desktop List Changed Listener instance, with the new desktop list as the IADLXDesktopList parameter.

    -
  8. -
-

To unsubscribe the Desktop List Changed notification:

    -
  1. Unregister the ADLX Desktop List Changed Listener instance from ADLX using RemoveDesktopListEventListener.
  2. -
  3. Discard the desktop list changed listener instance after the registration is removed.

    -

    Note: Other ADLX domains that support event subscription use the same mechanism for event notifications.

    -
  4. -
-

For more information, for C++ see Receiving Events Notifications C++ samples.

-

For C see Receiving Events Notifications C samples.

-

For C# see DisplayEvents C# samples.

-

For Java see DisplayEvents Java samples.

-

For Python see DisplayEvents Python samples.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_init_help.html b/vendor/adlx/SDKDoc/html/page_guide_init_help.html deleted file mode 100644 index cd1f067..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_init_help.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Initializing ADLX with the ADLX Helpers - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Initializing ADLX with the ADLX Helpers
-
-
-

It is recommended to load and initialize ADLX with ADLX Helper code. The ADLX Helper code has native support for C and C++. When programming in C#, Java, or Python, use the ADLX Helper code from the binding wrapper in the selected language to access ADLX.

-

To use ADLX in a C++ application

-

To access ADLX functionality from a C++ based application,

    -
  1. Start a new C++ application.
  2. -
  3. In the application, include the following files:

    -

    a. /SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h

    -

    b. /SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp

    -

    c. /SDK/Platform/Windows/WinAPIs.cpp

    -
  4. -
  5. Create an instance of the ADLXHelper class.
  6. -
  7. Call the Initialize method in the Helper object.
  8. -
  9. Call the GetSystemServices method in the Helper object.

    -

    Result: Access to the IADLXSystem interface is provided.

    -

    Note: You can access the required ADLX functionality from the IADLXSystem interface.

    -
  10. -
  11. Call Terminate in the Helper object.

    -

    Result: Resources utilized by ADLX are released, and the ADLX library is unloaded.

    -
  12. -
-

For more information, see C++ samples.

-

To use ADLX in a C application

-

To access ADLX functionality from a C based application,

    -
  1. Start a new C application.
  2. -
  3. In the application, include the following files:

    -

    a. /SDK/ADLXHelper/Windows/C/ADLXHelper.h

    -

    b. /SDK/ADLXHelper/Windows/C/ADLXHelper.c

    -

    c. /SDK/Platform/Windows/WinAPIs.c

    -
  4. -
  5. Call the ADLXHelper_Initialize function that is declared in the ADLXHelper.h file.
  6. -
  7. Call the ADLXHelper_GetSystemServices function.

    -

    Result: Access to the IADLXSystem interface is provided.

    -

    Note: You can access the required ADLX functionality from the IADLXSystem interface.

    -
  8. -
  9. Call ADLXHelper_Terminate in the helper object to release the resources utilized by ADLX.

    -

    Result: The ADLX library is unloaded.

    -
  10. -
-

For more information, see C samples.

-

To initialize ADLX in a C# application

-

Follow these steps to initialize ADLX in a C# application.

    -
  1. Start a new C# application.
  2. -
  3. Import all the *.cs files from the ADLX binding wrapper for C#.
  4. -
  5. Create an instance of the ADLXHelper class.
  6. -
  7. Call the Initialize method in the Helper object.
  8. -
  9. Call the GetSystemServices method in the Helper object.

    -

    Result: The IADLXSystem interface is accessible.

    -

    Note: The IADLXSystem interface provides access to ADLX functionality.

    -
  10. -
  11. Call Terminate in the Helper object.

    -

    Result: Resources utilized by ADLX are released, and the ADLX library is unloaded.

    -
  12. -
-

For more information, see C# samples

-

To initialize ADLX in a Java application

-

Follow these steps to initialize ADLX in a Java application.

    -
  1. Start a new Java application.
  2. -
  3. Import all the Java files from the ADLX binding wrapper for Java.
  4. -
  5. Create an instance of the ADLXHelper class.
  6. -
  7. Call the Initialize method in the Helper object.
  8. -
  9. Call the GetSystemServices method in the Helper object.

    -

    Result: The IADLXSystem interface is accessible.

    -

    Note: The IADLXSystem interface provides access to ADLX functionality.

    -
  10. -
  11. Call Terminate in the Helper object.

    -

    Result: Resources utilized by ADLX are released, and the ADLX library is unloaded.

    -
  12. -
-

For more information, see Java samples.

-

To initialize ADLX in a Python application

-

Follow these steps to initialize ADLX in a Python application.

    -
  1. Start a new Python application.
  2. -
  3. Import the ADLXPybind.pyd package from the ADLX binding wrapper for Python.
  4. -
  5. Create an instance of the ADLXHelper class.
  6. -
  7. Call the Initialize method in the Helper object.
  8. -
  9. Call the GetSystemServices method in the Helper object.

    -

    Result: The IADLXSystem interface is accessible.

    -

    Note: The IADLXSystem interface provides access to ADLX functionality.

    -
  10. -
  11. Call Terminate in the Helper object.

    -

    Result: Resources utilized by ADLX are released, and the ADLX library is unloaded.

    -
  12. -
-

For more information, see Python samples.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_init_pointer.html b/vendor/adlx/SDKDoc/html/page_guide_init_pointer.html deleted file mode 100644 index 8f2dd6f..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_init_pointer.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Initializing ADLX with function pointers - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Initializing ADLX with function pointers
-
-
-

Use the functions provided in the ADLX SDK to load ADLX into the application. Once ADLX is loaded, the function pointer can be located to call the applicable ADLX Initialization function to provide access to the ADLX System interface.

-

To access the ADLX System interface using function pointers,

    -
  1. Load the ADLX library using adlx_load_library as provided in the ADLX SDK.
  2. -
  3. Find the applicable ADLX Initialization function pointer using adlx_get_proc_address.
  4. -
  5. Call the ADLX Initialization function.

    -

    Result: If the initialization function call is successful, it returns the pointer providing access to IADLXSystem interface and ADLX functionality.

    -
  6. -
  7. Access the IADLXSystem interface.

    -

    Result: Access to ADLX functionality is provided.

    -

    Note: When loading ADLX in an ADL application, the IADLMapping interface is accessible. This interface provides data mapping between ADL and ADLX for a specific entity (GPU, Display or Desktop).

    -
  8. -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_languages.html b/vendor/adlx/SDKDoc/html/page_guide_languages.html deleted file mode 100644 index 53cee62..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_languages.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Supported Programming Languages - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Supported Programming Languages
-
-
-

Native support

-

ADLX features native support for:

    -
  • C
  • -
  • C++
  • -
-

Non-native support

-

ADLX features non-native support for:

    -
  • C#
  • -
  • Java
  • -
  • Python
  • -
-

Bindings

-

ADLX APIs are developed for C++, and mirrored in C. APIs for all other programming languages are not natively supported, but can still be utilized with bindings.
-

-

Instructions to build and implement ADLX bindings for common use cases in C#, Java, and Python can be found in the Quick Start.

-

The C#, Java, and Python samples, located in ADLX Samples can then be used to create bindings to fit specific use cases.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_os.html b/vendor/adlx/SDKDoc/html/page_guide_os.html deleted file mode 100644 index 311a5de..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_os.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Supported Operating Systems - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Supported Operating Systems
-
-
-

ADLX is available for Windows® 10 (32- and 64-bit versions), and Windows 11.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_qs.html b/vendor/adlx/SDKDoc/html/page_guide_qs.html deleted file mode 100644 index 45f3cd4..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_qs.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Quick Start - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Quick Start
-
-
-

In this section

-

The Quick Start guide is designed to help developers build applications using the ADLX API in one of the supported programming languages, and covers the basic steps needed to initialize the API, retrieve device information, and access device resources.

-

ADLX Quick Start Guide

-

Follow these steps to start programming with ADLX.

-

Prerequisite(s)

-
    -
  • ADLX SDK is installed.
  • -
-

Steps

-
    -
  1. If your application is in C#, Java, or Python, develop bindings for ADLX for the associated programming language. Proceed to Step 2 if your application is in C or C++. -
  2. -
  3. Load the ADLX library code within the application code, and call the desired initialization function as provided in the ADLX SDK. -
  4. -
  5. Use the ADLX System interface provided by the initialization function to access other ADLX features. -
  6. -
-

ADLX SDK Installation

-

The library is installed with the display driver, and the ADLX SDK consisting of the following is available on AMD GPUOpen.
- This includes:

-
    -
  • ADLX headers with definitions of all types, constants, functions, and interfaces required to program with ADLX
  • -
  • ADLX helper code simplifying the ADLX loading and unloading process in C++, C, C#, Java, and Python
  • -
  • ADLX samples demonstrating full ADLX functionality in C++ and in C, as well as select functionality in C#, Java, and Python
  • -
  • SDK developer documentation
  • -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_qs.js b/vendor/adlx/SDKDoc/html/page_guide_qs.js deleted file mode 100644 index 728cbb8..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_qs.js +++ /dev/null @@ -1,10 +0,0 @@ -var page_guide_qs = -[ - [ "Building C# bindings for ADLX", "page_guide_bindcsharp.html", null ], - [ "Building Java bindings for ADLX", "page_guide_bindjava.html", null ], - [ "Building Python bindings for ADLX", "page_guide_bindpy.html", null ], - [ "Initializing ADLX with the ADLX Helpers", "page_guide_init_help.html", null ], - [ "Initializing ADLX with function pointers", "page_guide_init_pointer.html", null ], - [ "Using ADLX in an application", "page_guide_use__a_d_l_x.html", null ], - [ "Subscribing to Event Notifications using ADLX", "page_guide_event.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_guide_spe.html b/vendor/adlx/SDKDoc/html/page_guide_spe.html deleted file mode 100644 index 6bd2039..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_spe.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Specifications - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Specifications
-
-
-

In this section

-

This section provides general guidance on languages and operating systems supported by ADLX, as well as information on compatible hardware and software.

Supported Programming Languages

-

Supported Programming Languages provides information on native and non-native programming languages supported by ADLX.

Supported Operating Systems

-

Supported Operating Systems provides information on ADLX OS requirements.

Compatibility

-

Compatibility describes forward and backward GPU and driver compatibility with ADLX.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_spe.js b/vendor/adlx/SDKDoc/html/page_guide_spe.js deleted file mode 100644 index a879878..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_spe.js +++ /dev/null @@ -1,6 +0,0 @@ -var page_guide_spe = -[ - [ "Supported Programming Languages", "page_guide_languages.html", null ], - [ "Supported Operating Systems", "page_guide_os.html", null ], - [ "Compatibility", "page_guide__compatibility.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_guide_use__a_d_l_x.html b/vendor/adlx/SDKDoc/html/page_guide_use__a_d_l_x.html deleted file mode 100644 index 2e48ec5..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_use__a_d_l_x.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Using ADLX in an application - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Using ADLX in an application
-
-
-

The ADLX SDK provides different versions of the ADLX initialization function to use when you load ADLX into a new application or into an existing application that uses ADL.

-

Prerequisite(s)

-
    -
  • Install the ADLX SDK before programming an application with ADLX. Native support is provided for C, and C++.
  • -
  • Build the ADLX binding wrapper when programming in C#, Java, or Python.
  • -
-

To access the ADLX System interface

-
    -
  1. Program an application to load the ADLX library.
  2. -
  3. Load the ADLX library.
  4. -
  5. Initialize ADLX by locating and calling the pointer to the respective function.

    -

    Result: Access to the ADLX System interface is provided on a successful Initialization call.

    -

    Note: There are different ADLX initialization versions that correspond to a specific function. Program your application to only find one function pointer to call a specific ADLX Initialization function that best suits your requirement.

    -
  6. -
-

Context

-

The ADLX System interface is the gateway to all available ADLX interfaces. These interfaces provide the methods required to access all the features available in the AMD driver. The ADLX Helper code provided with the ADLX SDK simplifies the loading and unloading of ADLX by finding, and then calling the required function pointers whenever ADLX is initialized.

-

Using ADLX in a new application

-

You can program a new application to use ADLX to work with the AMD driver. You can load and initialize ADLX in a new application by accessing the ADLXInitialize function.

-
    -
  • For C++, C#, Java, and Python – Through the ADLX Helper class Initialize method.
  • -
  • For C – Through ADLX Helper code, ADLXHelper_Initialize function.
  • -
  • Directly – Without the ADLX Helper code, through ADLXInitialize_Fn function pointer.
  • -
-

Using ADLX in an ADL application

-

An existing application that uses ADL can be programmed to support ADLX without rewriting the entire code. ADLX provides ADLXInitializeWithCallerADL as an initialization function to load and initialize ADLX in an application that already uses ADL. You can load and initialize ADLX in a application that uses ADL by accessing the ADLXInitializeWithCallerADL function:

- -

Pass the ADL context and the ADLX_ADL_Main_Memory_Free function (previously passed during ADL initialization) as input parameters into ADLXInitializeWithCallerADL. The IADLMapping interface is provided as output parameter. This interface provides data mapping between ADL and ADLX for a specific entity (GPU, Display or Desktop).

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_guide_usingservice.html b/vendor/adlx/SDKDoc/html/page_guide_usingservice.html deleted file mode 100644 index 8b902b0..0000000 --- a/vendor/adlx/SDKDoc/html/page_guide_usingservice.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Using ADLX in a system service application - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Using ADLX in a system service application
-
-
-

While ADLX cannot be used directly in a system service application, its functionality can be accessed in a system service application through a user mode process. A communication mechanism between the user mode process and the system service, such as shared memory, will provide the ADLX functionality to the system service.

-

To use ADLX in a system service,

    -
  1. Create a system service application.

    -

    Note: For more information on how to create a system service in C++, see ServiceCall C++ sample. For more information on how to create a system service in C, see ServiceCall C sample.

    -
  2. -
  3. In the system service, start a thread to complete the service work, such as ServiceWorkerThread.
  4. -
  5. On the ServiceWorkerThread, get the token of the current process to create a user process using CreateProcessAsUserW.

    -

    Note: For more information on how to create a user process into a service application in C++, see UserProcess C++ sample. For more information on how to create a user process into a service application in C, see UserProcess C sample.

    -
  6. -
  7. In user mode, process load ADLX and implement the desired functionality.
  8. -
  9. In user mode, process implement a communication mechanism suitable for communicating with the system service – such as shared memory – and tie the ADLX data with the communication mechanism.
  10. -
  11. Run the user mode process and the service application.
  12. -
-

For more information, see GPUServiceCall C++ samples and GPUServiceCall C samples.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_interfaces.html b/vendor/adlx/SDKDoc/html/page_interfaces.html deleted file mode 100644 index 608be35..0000000 --- a/vendor/adlx/SDKDoc/html/page_interfaces.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX Interfaces - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX Interfaces
-
-
-

In this section

-

This is a documentation library for the interfaces responsible for specific ADLX control functionalities, and are categorized by feature/domain and its associated interfaces.
- Here you will be able to find descriptions for the syntax, parameters, return values and more for the methods associated with the selected API.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_interfaces.js b/vendor/adlx/SDKDoc/html/page_interfaces.js deleted file mode 100644 index 1d0f93f..0000000 --- a/vendor/adlx/SDKDoc/html/page_interfaces.js +++ /dev/null @@ -1,13 +0,0 @@ -var page_interfaces = -[ - [ "3D Graphics", "gfx3dgraphics.html", "gfx3dgraphics" ], - [ "Desktop", "desktop.html", "desktop" ], - [ "Display", "display.html", "display" ], - [ "GPU", "gpu.html", "gpu" ], - [ "GPU Tuning", "gputuning.html", "gputuning" ], - [ "I2C", "i2c.html", "i2c" ], - [ "Performance Monitoring", "perfmonitoring.html", "perfmonitoring" ], - [ "Power Tuning", "domain_powertuning.html", "domain_powertuning" ], - [ "System", "system.html", "system" ], - [ "Miscellaneous", "misc.html", "misc" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_legal.html b/vendor/adlx/SDKDoc/html/page_legal.html deleted file mode 100644 index bd136d4..0000000 --- a/vendor/adlx/SDKDoc/html/page_legal.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Legal Information and Compliance/Disclaimers - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Legal Information and Compliance/Disclaimers
-
-
-

In this section

-

This section contains legal updates and notices, such as disclaimers and trademarks.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_legal.js b/vendor/adlx/SDKDoc/html/page_legal.js deleted file mode 100644 index 3b934a4..0000000 --- a/vendor/adlx/SDKDoc/html/page_legal.js +++ /dev/null @@ -1,5 +0,0 @@ -var page_legal = -[ - [ "Disclaimers", "page_legal__disclaimer.html", null ], - [ "Trademarks", "page_legal__trademark.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_legal__disclaimer.html b/vendor/adlx/SDKDoc/html/page_legal__disclaimer.html deleted file mode 100644 index 015b5c3..0000000 --- a/vendor/adlx/SDKDoc/html/page_legal__disclaimer.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Disclaimers - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Disclaimers
-
-
-

The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.

-

THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_legal__trademark.html b/vendor/adlx/SDKDoc/html/page_legal__trademark.html deleted file mode 100644 index 57145e1..0000000 --- a/vendor/adlx/SDKDoc/html/page_legal__trademark.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Trademarks - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Trademarks
-
-
-

AMD, the AMD Arrow logo, Radeon and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Windows is a registered trademark of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds.

-

Copyright

-

©2023 Advanced Micro Devices, Inc. All rights reserved.

-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_programwithadlx.html b/vendor/adlx/SDKDoc/html/page_programwithadlx.html deleted file mode 100644 index ab6eef6..0000000 --- a/vendor/adlx/SDKDoc/html/page_programwithadlx.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Programming with ADLX - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Programming with ADLX
-
-
-

In this section

-

This section contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages.

-

ADLX Programming Guide

-

ADLX Programming Guide outlines general topics such as system requirements, benefits of using ADLX compared to ADL, a quick-start guide, and advanced configuration.
-
-

-

ADLX Samples

-

ADLX Samples provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly.
-

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_programwithadlx.js b/vendor/adlx/SDKDoc/html/page_programwithadlx.js deleted file mode 100644 index 3ae7682..0000000 --- a/vendor/adlx/SDKDoc/html/page_programwithadlx.js +++ /dev/null @@ -1,5 +0,0 @@ -var page_programwithadlx = -[ - [ "ADLX Programming Guide", "page_adlxprogrammingguide.html", "page_adlxprogrammingguide" ], - [ "ADLX Samples", "domain_sample_page.html", "domain_sample_page" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sample_c.html b/vendor/adlx/SDKDoc/html/page_sample_c.html deleted file mode 100644 index eb5ff5c..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_c.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: C Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
C Samples
-
-
-

This document describes how to build the ADLX C samples and the environment in which they can be executed. The ADLX C samples are organized per domain, and they demonstrate the entire ADLX functionality.

-

Supported Operating Systems

-

Windows® 10 (32- and 64-bit versions) and up.

-

Build Tool

-

Visual Studio 2019 with C and C++ components for desktop.

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Run Visual Studio 2019.
  2. -
  3. -Click File > Open > CMake.
  4. -
  5. -Select the ~Samples\C folder from the Address bar in the pop-up dialog box.
  6. -
  7. -Select CMakeLists.txt in ~ADLX\Samples\C and click Open.
  8. -
  9. -Select vs2019_Release_x64 in the Configuration drop-down.
  10. -
  11. -Click Switch between available views > CMake Targets view in the Solution Explorer.
  12. -
  13. -Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, DisplayInfo.exe.
  14. -
  15. -Right-click on the same sample and click Build.
  16. -
  17. -Run the sample.
  18. -
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sample_c.js b/vendor/adlx/SDKDoc/html/page_sample_c.js deleted file mode 100644 index 655de1d..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_c.js +++ /dev/null @@ -1,13 +0,0 @@ -var page_sample_c = -[ - [ "3D Graphics", "domain_c_sample_3_d_graphics.html", "domain_c_sample_3_d_graphics" ], - [ "Desktop", "domain_c_sample__desktop.html", "domain_c_sample__desktop" ], - [ "Display", "domain_c_sample__display.html", "domain_c_sample__display" ], - [ "GPU Tuning", "domain_c_sample__g_p_u_tuning.html", "domain_c_sample__g_p_u_tuning" ], - [ "I2C", "domain_c_sample__i2_c.html", "domain_c_sample__i2_c" ], - [ "Performance Monitoring", "domain_c_sample__performance_monitoring.html", "domain_c_sample__performance_monitoring" ], - [ "Power Tuning", "domain_c_sample_powertuning.html", "domain_c_sample_powertuning" ], - [ "Receiving Events Notifications", "domain_c_sample_globalsync.html", "domain_c_sample_globalsync" ], - [ "ServiceCall", "domain_c_sample_servicecall.html", "domain_c_sample_servicecall" ], - [ "Miscellaneous", "domain_c_sample__generic.html", "domain_c_sample__generic" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sample_cpp.html b/vendor/adlx/SDKDoc/html/page_sample_cpp.html deleted file mode 100644 index 55e86f2..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_cpp.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: C++ Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
C++ Samples
-
-
-

This document describes how to build the ADLX C++ samples and the environment in which they can be executed. The ADLX C++ samples are organized per domain, and they demonstrate the entire ADLX functionality.

-

Supported Operating Systems

-

Windows® 10 (32- and 64-bit versions) and up.

-

Build Tool

-

Visual Studio 2019 with C and C++ components for desktop.

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Run Visual Studio 2019.
  2. -
  3. -Click File > Open > CMake.
  4. -
  5. -Select the ~Samples\CPP folder from the Address bar in the pop-up dialog box.
  6. -
  7. -Select CMakeLists.txt in ~ADLX\Samples\CPP and click Open.
  8. -
  9. -Select vs2019_Release_x64 in the Configuration drop-down.
  10. -
  11. -Click Switch between available views > CMake Targets view in the Solution Explorer.
  12. -
  13. -Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, DisplayInfo.exe.
  14. -
  15. -Right-click on the same sample and click Build.
  16. -
  17. -Run the sample.
  18. -
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sample_cpp.js b/vendor/adlx/SDKDoc/html/page_sample_cpp.js deleted file mode 100644 index 742e0fa..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_cpp.js +++ /dev/null @@ -1,13 +0,0 @@ -var page_sample_cpp = -[ - [ "3D Graphics", "domain_cpp_sample_3_d_graphics.html", "domain_cpp_sample_3_d_graphics" ], - [ "Desktop", "domain_cpp_sample__desktop.html", "domain_cpp_sample__desktop" ], - [ "Display", "domain_cpp_sample__display.html", "domain_cpp_sample__display" ], - [ "GPU Tuning", "domain_cpp_sample__g_p_u_tuning.html", "domain_cpp_sample__g_p_u_tuning" ], - [ "I2C", "domain_cpp_sample__i2_c.html", "domain_cpp_sample__i2_c" ], - [ "Performance Monitoring", "domain_cpp_sample__performance_monitoring.html", "domain_cpp_sample__performance_monitoring" ], - [ "Power Tuning", "domain_cpp_sample_powertuning.html", "domain_cpp_sample_powertuning" ], - [ "Receiving Events Notifications", "domain_cpp_sample_globalsync.html", "domain_cpp_sample_globalsync" ], - [ "ServiceCall", "domain_cpp_sample_servicecall.html", "domain_cpp_sample_servicecall" ], - [ "Miscellaneous", "domain_cpp_sample__generic.html", "domain_cpp_sample__generic" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sample_cs.html b/vendor/adlx/SDKDoc/html/page_sample_cs.html deleted file mode 100644 index 228f903..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_cs.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: C# Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
C# Samples
-
-
-

This document describes how to build the C# bindings for ADLX, and the ADLX C# samples, as well as the environment in which they can be executed. The ADLX C# samples demonstrate how to program with ADLX in a C# application.

-

Supported Operating Systems

-

Windows® 10 (32- and 64-bit versions) and up.

-

Build Tool

-

Visual Studio 2019 with C and C++ components for desktop, and with C# components for desktop.

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
  • swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Open ~ADLX\drivers\ADLX\Samples\csharp\sample.sln with Visual Studio 2019.
  2. -
  3. -Select the build configuration, for example, Release, and x64.
  4. -
  5. -Set the sample as startup project.
  6. -
  7. -Rebuild the project.
    - Note: This procedure also builds the ADLXCSharpBind project in Visual Studio, which is required for any ALDX C# sample .
  8. -
  9. -Run the sample from the path ~ADLX\Samples\csharp for the corresponding build configuration and sample, for example ~ADLX\Samples\csharp\x64\Release\DisplayInfo.exe.
  10. -
-

Samples

- - - - - - - - - -
FileName Description
ADLXCSharpBind Show how to wrap ADLX with SWIG
DisplayEvents C# app uses ADLXCSharpBind.dll, about the call of ADLX display list changed event
DisplayInfo C# app uses ADLXCSharpBind.dll, about the call of ADLX display
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sample_cs.js b/vendor/adlx/SDKDoc/html/page_sample_cs.js deleted file mode 100644 index a5655a6..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_cs.js +++ /dev/null @@ -1,6 +0,0 @@ -var page_sample_cs = -[ - [ "ADLXCSharpBind", "cs_sample_adlxcsharpbind.html", null ], - [ "DisplayEvents", "cs_sample_display_events.html", null ], - [ "DisplayInfo", "cs_sample_displayinfo.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sample_java.html b/vendor/adlx/SDKDoc/html/page_sample_java.html deleted file mode 100644 index af1d59d..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_java.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Java Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Java Samples
-
-
-

This document describes how to build the Java bindings for ADLX, and the ADLX Java samples, as well as the environment in which they can be executed. The ADLX Java samples demonstrate how to program with ADLX in a Java application.

-

Supported Operating Systems

-

Windows® 10 (32- and 64-bit versions) and up.

-

Building the ADLXCSharpBind

-

These are the instructions for building the ADLX Java bindings for the ADLX Java samples.

-

Build Tool

-

Visual Studio 2019 with C and C++ components for desktop.

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
  • Visual Studio 2019 is installed.
  • -
  • swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable.
  • -
  • OpenJDK 17 is installed.
  • -
  • The path to the OpenJDK 17 installation is added to the JAVA_HOME system environment variable.
  • -
  • The bin path for the OpenJDK 17 installation is added to the Path system environment variable.
  • -
-

Build Instructions

-
    -
  1. -Run Visual Studio 2019.
  2. -
  3. -Open ~ADLX\drivers\ADLX\Samples\java\ADLXJavaBind\ADLXJavaBind.sln.
  4. -
  5. -Rebuild the project
  6. -
-

Building the ADLX Java samples

-

These are the instructions for building the DisplayInfo ADLX Java sample. Similar instructions must be followed for building the other ADLX Java samples.

-

Build Tool

-

Visual Studio Code

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
  • ADLXCSharpBind is built.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Run Visual Studio Code.
  2. -
  3. -Open ~ADLX\drivers\ADLX\Samples\java\DisplayInfo.
  4. -
  5. -Rebuild the project
  6. -
-

Samples

- - - - - - - - - -
FileName Description
ADLXJavaBind Show how to wrap ADLX with SWIG
DisplayEvents Java test uses ADLXJavaBind.dll, about the call of ADLX display list changed event
DisplayInfo Java test uses ADLXJavaBind.dll, about the call of ADLX display
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sample_java.js b/vendor/adlx/SDKDoc/html/page_sample_java.js deleted file mode 100644 index 985537f..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_java.js +++ /dev/null @@ -1,6 +0,0 @@ -var page_sample_java = -[ - [ "ADLXJavaBind", "java_sample_adlxjavabind.html", null ], - [ "DisplayEvents", "java_sample_display_events.html", null ], - [ "DisplayInfo", "java_sample_displayinfo.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sample_py.html b/vendor/adlx/SDKDoc/html/page_sample_py.html deleted file mode 100644 index 420850d..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_py.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Python Samples - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Python Samples
-
-
-

This document describes how to build the Python bindings for ADLX, and the ADLX Python samples, as well as the environment in which they can be executed. The ADLX Python samples demonstrate how to program with ADLX in a Python application.

-

Supported Operating Systems

-

Windows® 10 (32- and 64-bit versions) and up.

-

Building the ADLXCSharpBind

-

These are the instructions for building the ADLX Python bindings for the ADLX Python samples.

-

Build Tool

-

Visual Studio 2019 with C and C++ components for desktop.

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
  • Python 3.9 is installed.
  • -
  • pybind11 is installed.
  • -
  • The path to the Python 3.9 installation is set to the PYHOME system environment variable.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Run Visual Studio 2019.
  2. -
  3. -Open ~ADLX\drivers\ADLX\Samples\python\ADLXPybind\ADLXPybind.sln.
  4. -
  5. -Rebuild the project.
  6. -
-

Building the ADLX Python samples

-

These are the instructions for building the DisplayInfo ADLX Python sample. Similar instructions must be followed for building the other ADLX Python samples.

-

Build Tool

-

Visual Studio Code

-

Prerequisites

-
    -
  • ADLX SDK is installed.
  • -
  • ADLXCSharpBind is built.
  • -
-

Note: The ADLX library is installed along with the AMD display driver.

-

Build Instructions

-
    -
  1. -Run Visual Studio Code.
  2. -
  3. -Open ~ADLX\drivers\ADLX\Samples\python\DisplayInfo.
  4. -
  5. -Rebuild the project.
  6. -
-

Samples

- - - - - - - - - -
FileName Description
ADLXPybind Show how to wrap ADLX with pybind11
DisplayEvents Python test uses ADLXPybind.pyd, about the call of ADLX display list changed event
DisplayInfo Python test uses ADLXPybind.pyd, about the call of ADLX display
-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sample_py.js b/vendor/adlx/SDKDoc/html/page_sample_py.js deleted file mode 100644 index beabc6d..0000000 --- a/vendor/adlx/SDKDoc/html/page_sample_py.js +++ /dev/null @@ -1,6 +0,0 @@ -var page_sample_py = -[ - [ "ADLXPybind", "py_sample_adlxpybind.html", null ], - [ "DisplayEvents", "py_sample_display_events.html", null ], - [ "DisplayInfo", "py_sample_displayinfo.html", null ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/page_sdk.html b/vendor/adlx/SDKDoc/html/page_sdk.html deleted file mode 100644 index 0669bdc..0000000 --- a/vendor/adlx/SDKDoc/html/page_sdk.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLX SDK References - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLX SDK References
-
-
-

In this section

-

This section provides detailed information on all aspects of programming with ADLX; such as helpers, functions, interfaces and their methods, and ADLX data types.
-

ADLX Functions

-

ADLX Functions contains the function pointers required to initialize ADLX.

ADLX Helpers

-

ADLX Helpers describes the ADLX Helpers required to initialize ADLX in an application.

ADLX Interfaces

-

ADLX Interfaces contains specific control functionalities categorized by a "Domain > Interfaces" structure.

ADLX Types

-

ADLX Types contains a list of all modules.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/page_sdk.js b/vendor/adlx/SDKDoc/html/page_sdk.js deleted file mode 100644 index ad1ff8a..0000000 --- a/vendor/adlx/SDKDoc/html/page_sdk.js +++ /dev/null @@ -1,7 +0,0 @@ -var page_sdk = -[ - [ "ADLX Functions", "funpage.html", "funpage" ], - [ "ADLX Helpers", "page__a_d_l_x_helps.html", "page__a_d_l_x_helps" ], - [ "ADLX Interfaces", "page_interfaces.html", "page_interfaces" ], - [ "ADLX Types", "modules.html", "modules"] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/pages.html b/vendor/adlx/SDKDoc/html/pages.html deleted file mode 100644 index 2eadcf9..0000000 --- a/vendor/adlx/SDKDoc/html/pages.html +++ /dev/null @@ -1,1115 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Related Pages - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Related Pages
-
-
-
Here is a list of all related documentation pages:
-
[detail level 12345]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Programming with ADLX
 ADLX Programming Guide
 Benefits
 Specifications
 Quick Start
 Advanced Configurations
 ADLX Samples
 C++ Samples
 C Samples
 C# Samples
 Java Samples
 Python Samples
 ADLX SDK References
 ADLX Functions
 ADLXInitializeWithCallerAdl_FnA pointer to the function to initialize ADLX with an ADL context
 ADLXInitialize_FnA pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver
 ADLXQueryFullVersion_FnA pointer to the function to query the full version of ADLX
 ADLXQueryVersion_FnA pointer to the function to query the version of ADLX
 ADLXTerminate_FnA pointer to the function to terminate ADLX
 adlx_atomic_decAn atomic decrement of a variable in multithreading environments
 adlx_atomic_incAn atomic increment of a variable in multithreading environments
 adlx_free_libraryFrees a loaded module
 adlx_get_proc_addressRetrieves the address of a function from a module
 adlx_load_libraryLoads a module into the address space of the calling process
 ADLX Helpers
 ADLX Helper Functions
 ADLXHelper Class
 ADLX Interfaces
 3D Graphics
 Desktop
 Display
 GPU
 GPU Tuning
 I2C
 Performance Monitoring
 Power Tuning
 System
 Miscellaneous
 Legal Information and Compliance/Disclaimers
 Disclaimers
 Trademarks
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/perfmonitoring.html b/vendor/adlx/SDKDoc/html/perfmonitoring.html deleted file mode 100644 index 201c3ae..0000000 --- a/vendor/adlx/SDKDoc/html/perfmonitoring.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: Performance Monitoring - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Performance Monitoring
-
-
-

The Performance Monitoring domain contains interfaces that provide performance monitoring capabilities. Examples include monitoring the performances of various GPUs, system, and FPS.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/perfmonitoring.js b/vendor/adlx/SDKDoc/html/perfmonitoring.js deleted file mode 100644 index d05fb38..0000000 --- a/vendor/adlx/SDKDoc/html/perfmonitoring.js +++ /dev/null @@ -1,16 +0,0 @@ -var perfmonitoring = -[ - [ "IADLXAllMetrics", "_d_o_x__i_a_d_l_x_all_metrics.html", "_d_o_x__i_a_d_l_x_all_metrics" ], - [ "IADLXAllMetricsList", "_d_o_x__i_a_d_l_x_all_metrics_list.html", "_d_o_x__i_a_d_l_x_all_metrics_list" ], - [ "IADLXFPS", "_d_o_x__i_a_d_l_x_f_p_s.html", "_d_o_x__i_a_d_l_x_f_p_s" ], - [ "IADLXFPSList", "_d_o_x__i_a_d_l_x_f_p_s_list.html", "_d_o_x__i_a_d_l_x_f_p_s_list" ], - [ "IADLXGPUMetrics", "_d_o_x__i_a_d_l_x_g_p_u_metrics.html", "_d_o_x__i_a_d_l_x_g_p_u_metrics" ], - [ "IADLXGPUMetricsList", "_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html", "_d_o_x__i_a_d_l_x_g_p_u_metrics_list" ], - [ "IADLXGPUMetricsSupport", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html", "_d_o_x__i_a_d_l_x_g_p_u_metrics_support" ], - [ "IADLXPerformanceMonitoringServices", "_d_o_x__i_a_d_l_x_performance_monitoring_services.html", "_d_o_x__i_a_d_l_x_performance_monitoring_services" ], - [ "IADLXSystemMetrics", "_d_o_x__i_a_d_l_x_system_metrics.html", "_d_o_x__i_a_d_l_x_system_metrics" ], - [ "IADLXSystemMetrics1", "_d_o_x__i_a_d_l_x_system_metrics1.html", "_d_o_x__i_a_d_l_x_system_metrics1" ], - [ "IADLXSystemMetricsList", "_d_o_x__i_a_d_l_x_system_metrics_list.html", "_d_o_x__i_a_d_l_x_system_metrics_list" ], - [ "IADLXSystemMetricsSupport", "_d_o_x__i_a_d_l_x_system_metrics_support.html", "_d_o_x__i_a_d_l_x_system_metrics_support" ], - [ "IADLXSystemMetricsSupport1", "_d_o_x__i_a_d_l_x_system_metrics_support1.html", "_d_o_x__i_a_d_l_x_system_metrics_support1" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/py_sample_adlxpybind.html b/vendor/adlx/SDKDoc/html/py_sample_adlxpybind.html deleted file mode 100644 index 60ea7f9..0000000 --- a/vendor/adlx/SDKDoc/html/py_sample_adlxpybind.html +++ /dev/null @@ -1,733 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: ADLXPybind - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
ADLXPybind
-
-
-
- - - -

Demonstrates how to wrap ADLX with pybind11 when programming with ADLX.

-

Sample Path

-

/Samples/python/ADLXPybind

- -

Code

-
C++
//
-
// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
//
-
//-------------------------------------------------------------------------------------------------
-
-
// Include pybind11 depends
-
#include <pybind11/pybind11.h>
-
#include <pybind11/stl.h>
-
#include <pybind11/complex.h>
-
#include <pybind11/functional.h>
-
#include <pybind11/chrono.h>
-
-
// Include SDK depends
-
#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h"
-
#include "../../../../SDK/Include/IDisplays.h"
-
-
namespace py = pybind11;
-
using namespace adlx;
-
-
// Always needed for custom holder types
-
PYBIND11_DECLARE_HOLDER_TYPE(T, IADLXInterfacePtr_T<T>, true);
-
-
// Only needed if the type's `.get()` goes by another name
-
namespace pybind11 {
-
namespace detail {
-
template <typename T>
-
struct holder_helper<IADLXInterfacePtr_T<T>> { // <-- specialization
-
static const T *get(const IADLXInterfacePtr_T<T> &p) { return p.GetPtr(); }
-
};
-
}
-
}
-
-
class PySystem : public IADLXSystem
-
{
-
public:
-
using IADLXSystem::IADLXSystem;
-
-
ADLX_RESULT HybridGraphicsType(ADLX_HG_TYPE* hgType)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
HybridGraphicsType
-
);
-
}
-
-
ADLX_RESULT GetGPUs(IADLXGPUList** ppGPUs)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetGPUs
-
);
-
}
-
-
ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
QueryInterface
-
);
-
}
-
-
ADLX_RESULT GetDisplaysServices(IADLXDisplayServices** ppDispServices)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetDisplaysServices
-
);
-
}
-
-
ADLX_RESULT GetDesktopsServices(IADLXDesktopServices** ppDeskServices)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetDesktopsServices
-
);
-
}
-
-
ADLX_RESULT GetGPUsChangedHandling(IADLXGPUsChangedHandling** ppGPUsChangedHandling)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetGPUsChangedHandling
-
);
-
}
-
-
ADLX_RESULT EnableLog(ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
EnableLog
-
);
-
}
-
-
ADLX_RESULT Get3DSettingsServices(IADLX3DSettingsServices** pp3DSettingsServices)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
Get3DSettingsServices
-
);
-
}
-
-
ADLX_RESULT GetGPUTuningServices(IADLXGPUTuningServices** ppGPUTuningServices)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetGPUTuningServices
-
);
-
}
-
-
ADLX_RESULT GetPerformanceMonitoringServices(IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetPerformanceMonitoringServices
-
);
-
}
-
-
ADLX_RESULT TotalSystemRAM(adlx_uint* ramMB)override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
TotalSystemRAM
-
);
-
}
-
-
ADLX_RESULT GetI2C(IADLXGPU *pGPU, IADLXI2C **ppI2C) override {
-
PYBIND11_OVERRIDE_PURE(
- -
IADLXSystem,
-
GetI2C
-
);
-
}
-
};
-
-
class PyDisplayService : public IADLXDisplayServices
-
{
-
public:
-
using IADLXDisplayServices::IADLXDisplayServices;
-
-
adlx_long Acquire() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire);
-
}
-
-
adlx_long Release() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release);
-
}
-
-
ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface);
-
}
-
-
ADLX_RESULT GetNumberOfDisplays(adlx_uint* numDisplays) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetNumberOfDisplays);
-
}
-
-
ADLX_RESULT GetDisplays(IADLXDisplayList** ppDisplay) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetDisplays);
-
}
-
-
ADLX_RESULT Get3DLUT(IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, Get3DLUT);
-
}
-
-
ADLX_RESULT GetGamut(IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGamut);
-
}
-
-
ADLX_RESULT GetGamma(IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGamma);
-
}
-
-
ADLX_RESULT GetDisplayChangedHandling(IADLXDisplayChangedHandling** ppDisplayChangeHandling) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetDisplayChangedHandling);
-
}
-
-
ADLX_RESULT GetFreeSync(IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetFreeSync);
-
}
-
-
ADLX_RESULT GetVirtualSuperResolution(IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetVirtualSuperResolution);
-
}
-
-
ADLX_RESULT GetGPUScaling(IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGPUScaling);
-
}
-
-
ADLX_RESULT GetScalingMode(IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetScalingMode);
-
}
-
-
ADLX_RESULT GetIntegerScaling(IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetIntegerScaling);
-
}
-
-
ADLX_RESULT GetColorDepth(IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetColorDepth);
-
}
-
-
ADLX_RESULT GetPixelFormat(IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetPixelFormat);
-
}
-
-
ADLX_RESULT GetCustomColor(IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetCustomColor);
-
}
-
-
ADLX_RESULT GetHDCP(IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetHDCP);
-
}
-
-
ADLX_RESULT GetCustomResolution(IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetCustomResolution);
-
}
-
-
ADLX_RESULT GetVariBright(IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetVariBright);
-
}
-
};
-
-
class PyDisplay : public IADLXDisplay
-
{
-
public:
-
using IADLXDisplay::IADLXDisplay;
-
-
adlx_long Acquire() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire);
-
}
-
-
adlx_long Release() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release);
-
}
-
-
ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface);
-
}
-
-
ADLX_RESULT ManufacturerID(adlx_uint* manufacturerID) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ManufacturerID);
-
}
-
-
ADLX_RESULT DisplayType(ADLX_DISPLAY_TYPE* displayType) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, DisplayType);
-
}
-
-
ADLX_RESULT ConnectorType(ADLX_DISPLAY_CONNECTOR_TYPE* connectType) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ConnectorType);
-
}
-
-
ADLX_RESULT Name(const char** displayName) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, Name);
-
}
-
-
ADLX_RESULT EDID(const char** edid) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, EDID);
-
}
-
-
ADLX_RESULT NativeResolution(adlx_int* maxHResolution, adlx_int* maxVResolution) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, NativeResolution);
-
}
-
-
ADLX_RESULT RefreshRate(adlx_double* refreshRate) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, RefreshRate);
-
}
-
-
ADLX_RESULT PixelClock(adlx_uint* pixelClock) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, PixelClock);
-
}
-
-
ADLX_RESULT ScanType(ADLX_DISPLAY_SCAN_TYPE* scanType) const override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ScanType);
-
}
-
-
ADLX_RESULT GetGPU(IADLXGPU** ppGPU) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, GetGPU);
-
}
-
-
ADLX_RESULT UniqueId(adlx_size* uniqueId) {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, UniqueId);
-
}
-
};
-
-
class PyDisplayChangeHandler : public IADLXDisplayChangedHandling
-
{
-
public:
-
using IADLXDisplayChangedHandling::IADLXDisplayChangedHandling;
-
-
adlx_long Acquire() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire);
-
}
-
-
adlx_long Release() override {
-
PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release);
-
}
-
-
ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface);
-
}
-
-
ADLX_RESULT AddDisplayListEventListener(IADLXDisplayListChangedListener *pDisplayListChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayListEventListener);
-
}
-
-
ADLX_RESULT RemoveDisplayListEventListener(IADLXDisplayListChangedListener *pDisplayListChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayListEventListener);
-
}
-
-
ADLX_RESULT AddDisplayGamutEventListener(IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayGamutEventListener);
-
}
-
-
ADLX_RESULT RemoveDisplayGamutEventListener(IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayGamutEventListener);
-
}
-
-
ADLX_RESULT AddDisplayGammaEventListener(IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayGammaEventListener);
-
}
-
-
ADLX_RESULT RemoveDisplayGammaEventListener(IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayGammaEventListener);
-
}
-
-
ADLX_RESULT AddDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplay3DLUTEventListener);
-
}
-
-
ADLX_RESULT RemoveDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplay3DLUTEventListener);
-
}
-
-
ADLX_RESULT AddDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplaySettingsEventListener);
-
}
-
-
ADLX_RESULT RemoveDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) override {
-
PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplaySettingsEventListener);
-
}
-
};
-
-
// Callback
-
class DisplayListCallBack : public IADLXDisplayListChangedListener
-
{
-
public:
-
-
adlx_bool OnDisplayListChanged(IADLXDisplayList *pNewDisplay) override {
-
std::vector<IADLXDisplayPtr> list;
-
for (adlx_uint s = pNewDisplay->Begin(); s != pNewDisplay->End(); s++) {
-
IADLXDisplayPtr item;
-
pNewDisplay->At(s, &item);
-
list.emplace_back(item);
-
}
-
if (m_call) {
-
return m_call(list);
-
}
-
return true;
-
}
-
-
std::function<bool(std::vector<IADLXDisplayPtr>)> m_call;
-
};
-
-
PYBIND11_MODULE(ADLXPybind, m) {
-
-
m.doc() = "ADLX python binding for display & displayListChangedEvent";
-
-
// Define the objects that get exposed to python
-
// ADLX_RESULT
-
py::enum_<ADLX_RESULT>(m, "ADLX_RESULT")
-
.value("ADLX_OK", ADLX_RESULT::ADLX_OK)
-
.value("ADLX_ALREADY_ENABLED", ADLX_RESULT::ADLX_ALREADY_ENABLED)
-
.value("ADLX_ALREADY_INITIALIZED", ADLX_RESULT::ADLX_ALREADY_INITIALIZED)
-
.value("ADLX_FAIL", ADLX_RESULT::ADLX_FAIL)
-
.value("ADLX_INVALID_ARGS", ADLX_RESULT::ADLX_INVALID_ARGS)
-
.value("ADLX_BAD_VER", ADLX_RESULT::ADLX_BAD_VER)
-
.value("ADLX_UNKNOWN_INTERFACE", ADLX_RESULT::ADLX_UNKNOWN_INTERFACE)
-
.value("ADLX_TERMINATED", ADLX_RESULT::ADLX_TERMINATED)
-
.value("ADLX_ADL_INIT_ERROR", ADLX_RESULT::ADLX_ADL_INIT_ERROR)
-
.value("ADLX_NOT_FOUND", ADLX_RESULT::ADLX_NOT_FOUND)
-
.value("ADLX_INVALID_OBJECT", ADLX_RESULT::ADLX_INVALID_OBJECT)
-
.value("ADLX_ORPHAN_OBJECTS", ADLX_RESULT::ADLX_ORPHAN_OBJECTS)
-
.value("ADLX_NOT_SUPPORTED", ADLX_RESULT::ADLX_NOT_SUPPORTED)
-
.export_values();
-
-
// ADLX_DISPLAY_TYPE
-
py::enum_<ADLX_DISPLAY_TYPE>(m, "ADLX_DISPLAY_TYPE")
-
.value("DISPLAY_TYPE_UNKOWN", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_UNKOWN)
-
.value("DISPLAY_TYPE_MONITOR", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_MONITOR)
-
.value("DISPLAY_TYPE_TELEVISION", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_TELEVISION)
-
.value("DISPLAY_TYPE_LCD_PANEL", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_LCD_PANEL)
-
.value("DISPLAY_TYPE_DIGITAL_FLAT_PANEL", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_DIGITAL_FLAT_PANEL)
-
.value("DISPLAY_TYPE_COMPONENT_VIDEO", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_COMPONENT_VIDEO)
-
.value("DISPLAY_TYPE_PROJECTOR", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_PROJECTOR)
-
.export_values();
-
-
// ADLX_DISPLAY_CONNECTOR_TYPE
-
py::enum_<ADLX_DISPLAY_CONNECTOR_TYPE>(m, "ADLX_DISPLAY_CONNECTOR_TYPE")
-
.value("DISPLAY_CONTYPE_UNKNOWN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_UNKNOWN)
-
.value("DISPLAY_CONTYPE_VGA", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_VGA)
-
.value("DISPLAY_CONTYPE_DVI_D", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_D)
-
.value("DISPLAY_CONTYPE_DVI_I", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_I)
-
.value("DISPLAY_CONTYPE_CVDONGLE_NTSC", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NTSC)
-
.value("DISPLAY_CONTYPE_CVDONGLE_JPN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_JPN)
-
.value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN)
-
.value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC)
-
.value("DISPLAY_CONTYPE_HDMI_TYPE_A", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_A)
-
.value("DISPLAY_CONTYPE_HDMI_TYPE_B", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_B)
-
.value("DISPLAY_CONTYPE_SVIDEO", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_SVIDEO)
-
.value("DISPLAY_CONTYPE_COMPOSITE", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_COMPOSITE)
-
.value("DISPLAY_CONTYPE_RCA_3COMPONENT", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_RCA_3COMPONENT)
-
.value("DISPLAY_CONTYPE_DISPLAYPORT", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DISPLAYPORT)
-
.value("DISPLAY_CONTYPE_EDP", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_EDP)
-
.value("DISPLAY_CONTYPE_WIRELESSDISPLAY", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_WIRELESSDISPLAY)
-
.value("DISPLAY_CONTYPE_USB_TYPE_C", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_USB_TYPE_C)
-
.export_values();
-
-
// ADLX_DISPLAY_SCAN_TYPE
-
py::enum_<ADLX_DISPLAY_SCAN_TYPE>(m, "ADLX_DISPLAY_SCAN_TYPE")
-
.value("PROGRESSIVE", ADLX_DISPLAY_SCAN_TYPE::PROGRESSIVE)
-
.value("INTERLACED", ADLX_DISPLAY_SCAN_TYPE::INTERLACED)
-
.export_values();
-
-
// ADLX_helper
-
py::class_<ADLXHelper>(m, "ADLXHelper")
-
.def(py::init<>())
-
.def("InitializeWithCallerAdl", &ADLXHelper::InitializeWithCallerAdl)
-
.def("Initialize", &ADLXHelper::Initialize)
-
.def("InitializeWithIncompatibleDriver", &ADLXHelper::InitializeWithIncompatibleDriver)
-
.def("Terminate", &ADLXHelper::Terminate)
-
.def("QueryVersion", &ADLXHelper::QueryVersion)
-
.def("GetSystemServices", &ADLXHelper::GetSystemServices, py::return_value_policy::reference)
-
.def("GetAdlMapping", &ADLXHelper::GetAdlMapping);
-
-
// System
-
py::class_<IADLXSystem, PySystem>(m, "IADLXSystem")
-
.def(py::init<>())
-
.def("GetDisplaysServices", [](py::object self) {
-
IADLXSystem *sys = self.cast<IADLXSystem*>();
-
IADLXDisplayServicesPtr displayService = nullptr;
-
sys->GetDisplaysServices(&displayService);
-
return displayService;
-
}, py::return_value_policy::move);
-
-
// displayService
-
py::class_<IADLXDisplayServices, PyDisplayService, IADLXInterfacePtr_T<IADLXDisplayServices>>(m, "IADLXDisplayServices")
-
.def(py::init<>())
-
.def("GetNumberOfDisplays", [](py::object self) {
-
IADLXDisplayServices* disService = self.cast<IADLXDisplayServices*>();
-
adlx_uint num;
-
disService->GetNumberOfDisplays(&num);
-
return num;
-
})
-
.def("GetDisplays", [](py::object self) {
-
IADLXDisplayServices* disService = self.cast<IADLXDisplayServices*>();
-
IADLXDisplayListPtr displayList = nullptr;
-
disService->GetDisplays(&displayList);
-
std::vector<IADLXDisplayPtr> list;
-
for (adlx_uint s = displayList->Begin(); s != displayList->End(); s++) {
-
IADLXDisplayPtr item;
-
displayList->At(s, &item);
-
list.emplace_back(std::move(item));
-
}
-
return list;
-
}, py::return_value_policy::move)
-
.def("GetDisplayChangedHandling", [](py::object self) {
-
IADLXDisplayServices* disService = self.cast<IADLXDisplayServices*>();
-
IADLXDisplayChangedHandlingPtr handler = nullptr;
-
disService->GetDisplayChangedHandling(&handler);
-
return handler;
-
}, py::return_value_policy::move);
-
-
// Display
-
py::class_<IADLXDisplay, PyDisplay, IADLXInterfacePtr_T<IADLXDisplay>>(m, "IADLXDisplay")
-
.def(py::init<>())
-
.def("name", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
const char *name = nullptr;
-
display->Name(&name);
-
return py::str(name);
-
})
-
.def("type", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
- -
display->DisplayType(&type);
-
return type;
-
})
-
.def("connectType", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
- -
display->ConnectorType(&type);
-
return type;
-
})
-
.def("ManufacturerID", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
adlx_uint id;
-
display->ManufacturerID(&id);
-
return id;
-
})
-
.def("EDID", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
const char* str = nullptr;
-
display->EDID(&str);
-
return std::string(str);
-
})
-
.def("resolution", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
adlx_int h, v;
-
display->NativeResolution(&h, &v);
-
return std::tuple<adlx_int, adlx_int>(h,v);
-
})
-
.def("RefreshRate", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
adlx_double value;
-
display->RefreshRate(&value);
-
return value;
-
})
-
.def("PixelClock", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
adlx_uint value;
-
display->PixelClock(&value);
-
return value;
-
})
-
.def("ScanType", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
- -
display->ScanType(&type);
-
return type;
-
})
-
.def("UniqueId", [](py::object self) {
-
IADLXDisplay *display = self.cast<IADLXDisplay*>();
-
adlx_size id;
-
display->UniqueId(&id);
-
return id;
-
});
-
-
// Display change handler
-
py::class_<IADLXDisplayChangedHandling, PyDisplayChangeHandler, IADLXInterfacePtr_T<IADLXDisplayChangedHandling>>(m, "IADLXDisplayChangedHandling")
-
.def(py::init<>())
-
.def("AddDisplayListEventListener", [](py::object self, DisplayListCallBack* call) {
-
IADLXDisplayChangedHandling *handler = self.cast<IADLXDisplayChangedHandling*>();
-
return handler->AddDisplayListEventListener(call);
-
})
-
.def("RemoveDisplayListEventListener", [](py::object self, DisplayListCallBack* call) {
-
IADLXDisplayChangedHandling *handler = self.cast<IADLXDisplayChangedHandling*>();
-
return handler->RemoveDisplayListEventListener(call);
-
});
-
-
// Callback for displaylist
-
py::class_<DisplayListCallBack>(m, "DisplayListCallBack")
-
.def(py::init<>())
-
.def_readwrite("call", &DisplayListCallBack::m_call);
-
}
-
@ DISPLAY_CONTYPE_WIRELESSDISPLAY
Definition: ADLXDefines.h:443
-
@ DISPLAY_CONTYPE_HDMI_TYPE_A
Definition: ADLXDefines.h:436
-
@ DISPLAY_CONTYPE_HDMI_TYPE_B
Definition: ADLXDefines.h:437
-
@ DISPLAY_CONTYPE_UNKNOWN
Definition: ADLXDefines.h:427
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC
Definition: ADLXDefines.h:434
-
@ DISPLAY_CONTYPE_RCA_3COMPONENT
Definition: ADLXDefines.h:440
-
@ DISPLAY_CONTYPE_DVI_D
Definition: ADLXDefines.h:429
-
@ DISPLAY_CONTYPE_EDP
Definition: ADLXDefines.h:442
-
@ DISPLAY_CONTYPE_CVDONGLE_NTSC
Definition: ADLXDefines.h:431
-
@ DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN
Definition: ADLXDefines.h:433
-
@ DISPLAY_CONTYPE_DISPLAYPORT
Definition: ADLXDefines.h:441
-
@ DISPLAY_CONTYPE_DVI_I
Definition: ADLXDefines.h:430
-
@ DISPLAY_CONTYPE_SVIDEO
Definition: ADLXDefines.h:438
-
@ DISPLAY_CONTYPE_CVDONGLE_JPN
Definition: ADLXDefines.h:432
-
@ DISPLAY_CONTYPE_USB_TYPE_C
Definition: ADLXDefines.h:444
-
@ DISPLAY_CONTYPE_COMPOSITE
Definition: ADLXDefines.h:439
-
@ DISPLAY_CONTYPE_VGA
Definition: ADLXDefines.h:428
-
@ ADLX_ORPHAN_OBJECTS
Definition: ADLXDefines.h:290
-
@ ADLX_NOT_SUPPORTED
Definition: ADLXDefines.h:291
-
@ ADLX_NOT_FOUND
Definition: ADLXDefines.h:288
-
@ ADLX_INVALID_OBJECT
Definition: ADLXDefines.h:289
-
@ ADLX_OK
Definition: ADLXDefines.h:279
-
@ ADLX_ALREADY_ENABLED
Definition: ADLXDefines.h:280
-
@ ADLX_UNKNOWN_INTERFACE
Definition: ADLXDefines.h:285
-
@ ADLX_FAIL
Definition: ADLXDefines.h:282
-
@ ADLX_ALREADY_INITIALIZED
Definition: ADLXDefines.h:281
-
@ ADLX_ADL_INIT_ERROR
Definition: ADLXDefines.h:287
-
@ ADLX_BAD_VER
Definition: ADLXDefines.h:284
-
@ ADLX_TERMINATED
Definition: ADLXDefines.h:286
-
@ ADLX_INVALID_ARGS
Definition: ADLXDefines.h:283
-
@ INTERLACED
Definition: ADLXDefines.h:479
-
@ PROGRESSIVE
Definition: ADLXDefines.h:478
-
@ DISPLAY_TYPE_DIGITAL_FLAT_PANEL
Definition: ADLXDefines.h:462
-
@ DISPLAY_TYPE_UNKOWN
Definition: ADLXDefines.h:458
-
@ DISPLAY_TYPE_TELEVISION
Definition: ADLXDefines.h:460
-
@ DISPLAY_TYPE_LCD_PANEL
Definition: ADLXDefines.h:461
-
@ DISPLAY_TYPE_MONITOR
Definition: ADLXDefines.h:459
-
@ DISPLAY_TYPE_COMPONENT_VIDEO
Definition: ADLXDefines.h:463
-
@ DISPLAY_TYPE_PROJECTOR
Definition: ADLXDefines.h:464
-
ADLX_HG_TYPE
Indicates the type of Hybrid Graphic.
Definition: ADLXDefines.h:329
-
ADLX_DISPLAY_CONNECTOR_TYPE
Indicates the display connector type.
Definition: ADLXDefines.h:426
-
ADLX_RESULT
Indicates the result returned from an ADLX function or from an ADLX method.
Definition: ADLXDefines.h:278
-
ADLX_LOG_SEVERITY
Indicates the severity level for ADLX logs.
Definition: ADLXDefines.h:630
-
ADLX_DISPLAY_SCAN_TYPE
Indicates the display scan type.
Definition: ADLXDefines.h:477
-
ADLX_LOG_DESTINATION
Indicates the location of the log traces that are generated from the internal code execution of ADLX.
Definition: ADLXDefines.h:646
-
ADLX_DISPLAY_TYPE
Indicates the display type.
Definition: ADLXDefines.h:457
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/py_sample_display_events.html b/vendor/adlx/SDKDoc/html/py_sample_display_events.html deleted file mode 100644 index 6d6c43b..0000000 --- a/vendor/adlx/SDKDoc/html/py_sample_display_events.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayEvents - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayEvents
-
-
-
- - - -

Demontrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/python/DisplayEvents

- -

Code

-
Python
#<!--
-
# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
#
-
#-------------------------------------------------------------------------------------------------
-
#-->
-
-
import ADLXPybind as ADLX
-
import time
-
-
# Callback for display list change
-
def callBackDisplayList(displaylist)->bool:
-
print("display list changed, current display count is: ", len(displaylist))
-
for index, display in enumerate(displaylist):
-
name = display.name()
-
print("\t index: {} name: {}".format(index, name))
-
del display
-
return True
-
-
# Iterate display and display event to unplug and plug the display
-
def displayDemo():
-
# Get ADLXHelp and ADLX initialization
-
adlxHelper = ADLX.ADLXHelper()
-
ret = adlxHelper.Initialize()
-
-
if ret == ADLX.ADLX_RESULT.ADLX_OK:
-
# Get systemServices
-
system = adlxHelper.GetSystemServices()
-
-
if system is not None:
-
# Get displayServices
-
displayService = system.GetDisplaysServices()
-
-
if displayService is not None:
-
# Get display change handler
-
displayChangeHandler = displayService.GetDisplayChangedHandling()
-
-
if displayChangeHandler is not None:
-
# Python call back
-
callback = ADLX.DisplayListCallBack()
-
callback.call = callBackDisplayList
-
# Add call back
-
displayChangeHandler.AddDisplayListEventListener(callback)
-
print("Plug or unplug a display within 20 seconds.")
-
time.sleep(20)
-
# Remove call back
-
displayChangeHandler.RemoveDisplayListEventListener(callback)
-
-
# Release changeHandler interface
-
del displayChangeHandler
-
-
# Release displayService interface
-
del displayService
-
-
# Terminate ADLX
-
ret = adlxHelper.Terminate()
-
print("ADLX Terminate ret is: {}".format(ret))
-
-
displayDemo()
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/py_sample_displayinfo.html b/vendor/adlx/SDKDoc/html/py_sample_displayinfo.html deleted file mode 100644 index d202da5..0000000 --- a/vendor/adlx/SDKDoc/html/py_sample_displayinfo.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: DisplayInfo - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
DisplayInfo
-
-
-
- - - -

Demonstrates how to obtain the display information when programming with ADLX to perform related tests.

-

Sample Path

-

/Samples/python/DisplayInfo

- -

Code

-
Python
#<!--
-
# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved.
-
#
-
#-------------------------------------------------------------------------------------------------
-
#-->
-
-
import ADLXPybind as ADLX
-
-
# Iterate display and display event:plug and unplug the display
-
def displayDemo():
-
# Get ADLXHelp and ADLX initialization
-
adlxHelper = ADLX.ADLXHelper()
-
ret = adlxHelper.Initialize()
-
-
if ret == ADLX.ADLX_RESULT.ADLX_OK:
-
# Get system services
-
system = adlxHelper.GetSystemServices()
-
-
if system is not None:
-
# Get display services
-
displayService = system.GetDisplaysServices()
-
-
if displayService is not None:
-
# Iterate through the display list
-
count = displayService.GetNumberOfDisplays()
-
print("display count: {}".format(count))
-
disList = displayService.GetDisplays()
-
if disList is not None:
-
for index, display in enumerate(disList):
-
if display is not None:
-
name = display.name()
-
type = display.type()
-
connectType = display.connectType()
-
mid = display.ManufacturerID()
-
edid = display.EDID()
-
h,v = display.resolution()
-
refreshRate = display.RefreshRate()
-
pclock = display.PixelClock()
-
scanType = display.ScanType()
-
id = display.UniqueId()
-
print("\nThe display [{}]:".format(index))
-
print("\tName: {}".format(name))
-
print("\tType: {}".format(type))
-
print("\tConnector type: {}".format(connectType))
-
print("\tManufacturer id: {}".format(mid))
-
print("\tEDID: {}".format(edid))
-
print("\tResolution: h: {} v: {}".format(h,v))
-
print("\tRefresh rate: {}".format(refreshRate))
-
print("\tPixel clock: {}".format(pclock))
-
print("\tScan type: {}".format(scanType))
-
print("\tUnique id: {}".format(id))
-
# Release display interface
-
del display
-
-
# Release displayList interface
-
del disList
-
-
# Release displayService interface
-
del displayService
-
-
# Terminate ADLX
-
ret = adlxHelper.Terminate()
-
print("ADLX Terminate ret is: {}".format(ret))
-
-
displayDemo()
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/resize.js b/vendor/adlx/SDKDoc/html/resize.js deleted file mode 100644 index e1ad0fe..0000000 --- a/vendor/adlx/SDKDoc/html/resize.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function initResizable() -{ - var cookie_namespace = 'doxygen'; - var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; - - function readCookie(cookie) - { - var myCookie = cookie_namespace+"_"+cookie+"="; - if (document.cookie) { - var index = document.cookie.indexOf(myCookie); - if (index != -1) { - var valStart = index + myCookie.length; - var valEnd = document.cookie.indexOf(";", valStart); - if (valEnd == -1) { - valEnd = document.cookie.length; - } - var val = document.cookie.substring(valStart, valEnd); - return val; - } - } - return 0; - } - - function writeCookie(cookie, val, expiration) - { - if (val==undefined) return; - if (expiration == null) { - var date = new Date(); - date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week - expiration = date.toGMTString(); - } - document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; - } - - function resizeWidth() - { - var windowWidth = $(window).width() + "px"; - var sidenavWidth = $(sidenav).outerWidth(); - content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - writeCookie('width',sidenavWidth-barWidth, null); - } - - function restoreWidth(navWidth) - { - var windowWidth = $(window).width() + "px"; - content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - sidenav.css({width:navWidth + "px"}); - } - - function resizeHeight() - { - var headerHeight = header.outerHeight(); - var footerHeight = footer.outerHeight(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - content.css({height:windowHeight + "px"}); - navtree.css({height:windowHeight + "px"}); - sidenav.css({height:windowHeight + "px"}); - var width=$(window).width(); - if (width!=collapsedWidth) { - if (width=desktop_vp) { - if (!collapsed) { - collapseExpand(); - } - } else if (width>desktop_vp && collapsedWidth0) { - restoreWidth(0); - collapsed=true; - } - else { - var width = readCookie('width'); - if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } - collapsed=false; - } - } - - header = $("#top"); - sidenav = $("#side-nav"); - content = $("#doc-content"); - navtree = $("#nav-tree"); - footer = $("#nav-path"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(sidenav).resizable({ minWidth: 0 }); - $(window).resize(function() { resizeHeight(); }); - var device = navigator.userAgent.toLowerCase(); - var touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; - } - var width = readCookie('width'); - if (width) { restoreWidth(width); } else { resizeWidth(); } - resizeHeight(); - var url = location.href; - var i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - var _preventDefault = function(evt) { evt.preventDefault(); }; - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - $(window).on('load',resizeHeight); -} -/* @license-end */ diff --git a/vendor/adlx/SDKDoc/html/search/all_0.html b/vendor/adlx/SDKDoc/html/search/all_0.html deleted file mode 100644 index 1ec5b2d..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_0.js b/vendor/adlx/SDKDoc/html/search/all_0.js deleted file mode 100644 index b0e6b82..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['3d_20graphics_0',['3D Graphics',['../domain_c_sample_3_d_graphics.html',1,'page_sample_c'],['../domain_cpp_sample_3_d_graphics.html',1,'page_sample_cpp'],['../gfx3dgraphics.html',1,'page_interfaces']]], - ['3dsettingsevent_1',['3DSettingsEvent',['../c_3_d_settings_event.html',1,'domain_c_sample_3DGraphics'],['../cpp_3_d_settings_event.html',1,'domain_cpp_sample_3DGraphics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_1.html b/vendor/adlx/SDKDoc/html/search/all_1.html deleted file mode 100644 index 9f80e90..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_1.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_1.js b/vendor/adlx/SDKDoc/html/search/all_1.js deleted file mode 100644 index f1710e5..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_1.js +++ /dev/null @@ -1,167 +0,0 @@ -var searchData= -[ - ['aa_5flevel_5f2x_2',['AA_LEVEL_2X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eaeb58238bdb8609c4c2e0a388e294db2f',1,'ADLXDefines.h']]], - ['aa_5flevel_5f2xeq_3',['AA_LEVEL_2XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea844d2a1f7154e478afe7a624fd9048f0',1,'ADLXDefines.h']]], - ['aa_5flevel_5f4x_4',['AA_LEVEL_4X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea701fd055b77bc3bbf3abb1d4f739f04c',1,'ADLXDefines.h']]], - ['aa_5flevel_5f4xeq_5',['AA_LEVEL_4XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea3ca65ee6828959bdfb2c13135f31f229',1,'ADLXDefines.h']]], - ['aa_5flevel_5f8x_6',['AA_LEVEL_8X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eacbd5f629935c94c89e40d1ff42b4c9ce',1,'ADLXDefines.h']]], - ['aa_5flevel_5f8xeq_7',['AA_LEVEL_8XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea44792bd9c8b04fec8a1636030e16295f',1,'ADLXDefines.h']]], - ['aa_5flevel_5finvalid_8',['AA_LEVEL_INVALID',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eac9ed1aab71b7cc44b46126ae15bca500',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fadaptive_5fmultisampling_9',['AA_METHOD_ADAPTIVE_MULTISAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44adab6ce43f0c5a84fc1e73e9c8332bbdf',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fmultisampling_10',['AA_METHOD_MULTISAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44aa4eb7e0a05f331b28effb11f1a81396d',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fsupersampling_11',['AA_METHOD_SUPERSAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44a3f2065b92560638f8ede3205cd4f954f',1,'ADLXDefines.h']]], - ['aa_5fmode_5fenhance_5fapp_5fsettings_12',['AA_MODE_ENHANCE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aabfcb1c017509f128c0078105cbc1390d',1,'ADLXDefines.h']]], - ['aa_5fmode_5foverride_5fapp_5fsettings_13',['AA_MODE_OVERRIDE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aac675f198bfd0017b5301fbd033d6cd7b',1,'ADLXDefines.h']]], - ['aa_5fmode_5fuse_5fapp_5fsettings_14',['AA_MODE_USE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aafcdbcd9e36a12cf8a058ce18a76a4e87',1,'ADLXDefines.h']]], - ['acquire_15',['Acquire',['../_d_o_x__i_a_d_l_x_interface__acquire.html',1,'DOX_IADLXInterface']]], - ['add3dsettingseventlistener_16',['Add3DSettingsEventListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html',1,'DOX_IADLX3DSettingsChangedHandling']]], - ['add_5fback_17',['Add_Back',['../_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html',1,'DOX_IADLXAllMetricsList'],['../_d_o_x__i_a_d_l_x_desktop_list__add__back.html',1,'DOX_IADLXDesktopList'],['../_d_o_x__i_a_d_l_x_display_list__add__back.html',1,'DOX_IADLXDisplayList'],['../_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html',1,'DOX_IADLXDisplayResolutionList'],['../_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html',1,'DOX_IADLXFPSList'],['../_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html',1,'DOX_IADLXGPUList'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html',1,'DOX_IADLXGPUMetricsList'],['../_d_o_x__i_a_d_l_x_list__add__back.html',1,'DOX_IADLXList'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html',1,'DOX_IADLXManualFanTuningStateList'],['../_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html',1,'DOX_IADLXManualTuningStateList'],['../_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html',1,'DOX_IADLXMemoryTimingDescriptionList'],['../_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html',1,'DOX_IADLXSystemMetricsList']]], - ['adddesktoplisteventlistener_18',['AddDesktopListEventListener',['../_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html',1,'DOX_IADLXDesktopChangedHandling']]], - ['adddisplay3dluteventlistener_19',['AddDisplay3DLUTEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaygammaeventlistener_20',['AddDisplayGammaEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaygamuteventlistener_21',['AddDisplayGamutEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaylisteventlistener_22',['AddDisplayListEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaysettingseventlistener_23',['AddDisplaySettingsEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['addgpuslisteventlistener_24',['AddGPUsListEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html',1,'DOX_IADLXGPUsChangedHandling']]], - ['addgputuningeventlistener_25',['AddGPUTuningEventListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html',1,'DOX_IADLXGPUTuningChangedHandling']]], - ['addpowertuningeventlistener_26',['AddPowerTuningEventListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html',1,'DOX_IADLXPowerTuningChangedHandling']]], - ['adladapterindexfromadlxgpu_27',['AdlAdapterIndexFromADLXGPU',['../_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html',1,'DOX_IADLMapping']]], - ['adlidsfromadlxdesktop_28',['ADLIdsFromADLXDesktop',['../_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html',1,'DOX_IADLMapping']]], - ['adlidsfromadlxdisplay_29',['ADLIdsFromADLXDisplay',['../_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html',1,'DOX_IADLMapping']]], - ['adlx_20enums_30',['ADLX Enums',['../group__enumerations.html',1,'']]], - ['adlx_20functions_31',['ADLX Functions',['../funpage.html',1,'page_sdk']]], - ['adlx_20helper_20functions_32',['ADLX Helper Functions',['../page__a_d_l_x_c_help.html',1,'page_ADLXHelps']]], - ['adlx_20helpers_33',['ADLX Helpers',['../page__a_d_l_x_helps.html',1,'page_sdk']]], - ['adlx_20interfaces_34',['ADLX Interfaces',['../page_interfaces.html',1,'page_sdk']]], - ['adlx_20macro_35',['ADLX Macro',['../group___a_d_l_x_macro.html',1,'']]], - ['adlx_20primitive_20data_20types_36',['ADLX Primitive Data Types',['../group__typedefs.html',1,'']]], - ['adlx_20programming_20guide_37',['ADLX Programming Guide',['../page_adlxprogrammingguide.html',1,'page_programwithadlx']]], - ['adlx_20samples_38',['ADLX Samples',['../domain_sample_page.html',1,'page_programwithadlx']]], - ['adlx_20sdk_20references_39',['ADLX SDK References',['../page_sdk.html',1,'']]], - ['adlx_20structs_40',['ADLX Structs',['../group__structures_val.html',1,'']]], - ['adlx_20typedefs_41',['ADLX Typedefs',['../group___a_d_l_x_defs.html',1,'']]], - ['adlx_5f3dlut_5fcolorspace_42',['ADLX_3DLUT_COLORSPACE',['../group__enumerations.html#gabe8d6f1562d0472d97c5edbf55c6d8cc',1,'ADLXDefines.h']]], - ['adlx_5f3dlut_5fdata_43',['ADLX_3DLUT_Data',['../group__structures_val.html#struct_a_d_l_x__3_d_l_u_t___data',1,'']]], - ['adlx_5f3dlut_5ftransfer_5ffunction_44',['ADLX_3DLUT_TRANSFER_FUNCTION',['../group__enumerations.html#ga7ebbfe051a5113c2c1521af3426b7955',1,'ADLXDefines.h']]], - ['adlx_5fadl_5finit_5ferror_45',['ADLX_ADL_INIT_ERROR',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ab8dc0553a4e73b3f60bec76a9191f281',1,'ADLXDefines.h']]], - ['adlx_5fadl_5fmain_5fmemory_5ffree_46',['ADLX_ADL_Main_Memory_Free',['../group___a_d_l_x_defs.html#ga7301579b153c3612dca5c442e5f2dd45',1,'ADLX.h']]], - ['adlx_5falready_5fenabled_47',['ADLX_ALREADY_ENABLED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a85feb7c16bb0c565f3aab9892afe5fd5',1,'ADLXDefines.h']]], - ['adlx_5falready_5finitialized_48',['ADLX_ALREADY_INITIALIZED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ab8b50ab5ce732abd04769f06bf5c47f7',1,'ADLXDefines.h']]], - ['adlx_5fanisotropic_5ffiltering_5flevel_49',['ADLX_ANISOTROPIC_FILTERING_LEVEL',['../group__enumerations.html#gac99ad138a55f9242874a960af8e64579',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5flevel_50',['ADLX_ANTI_ALIASING_LEVEL',['../group__enumerations.html#ga8c2e57a18318ffeb5e36de7717ff953e',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5fmethod_51',['ADLX_ANTI_ALIASING_METHOD',['../group__enumerations.html#gad99bac74ba876c14fa2d42c094641b44',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5fmode_52',['ADLX_ANTI_ALIASING_MODE',['../group__enumerations.html#ga4d154a77789a08d19a8d0a8ba809b64a',1,'ADLXDefines.h']]], - ['adlx_5fantilag_5fstate_53',['ADLX_ANTILAG_STATE',['../group__enumerations.html#ga67d22cfa2969510afada5140a157df62',1,'ADLXDefines.h']]], - ['adlx_5fasic_5ffamily_5ftype_54',['ADLX_ASIC_FAMILY_TYPE',['../group__enumerations.html#gaf4fd628e799e6a74201290ff40418d77',1,'ADLXDefines.h']]], - ['adlx_5fatomic_5fdec_55',['adlx_atomic_dec',['../adlx_atomic_dec.html',1,'funpage']]], - ['adlx_5fatomic_5finc_56',['adlx_atomic_inc',['../adlx_atomic_inc.html',1,'funpage']]], - ['adlx_5fbad_5fver_57',['ADLX_BAD_VER',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ac571770e655e2cf695827fb4a15e35c0',1,'ADLXDefines.h']]], - ['adlx_5fcolor_5fdepth_58',['ADLX_COLOR_DEPTH',['../group__enumerations.html#ga75858347333129a462cee4fdf4729d6b',1,'ADLXDefines.h']]], - ['adlx_5fcustomresolution_59',['ADLX_CustomResolution',['../group__structures_val.html#struct_a_d_l_x___custom_resolution',1,'']]], - ['adlx_5fdesktop_5ftype_60',['ADLX_DESKTOP_TYPE',['../group__enumerations.html#ga83322f63ada9c973559376760f141b89',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5fconnector_5ftype_61',['ADLX_DISPLAY_CONNECTOR_TYPE',['../group__enumerations.html#ga84edd2809be33537c99fb2ab8d04aa5d',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5fscan_5ftype_62',['ADLX_DISPLAY_SCAN_TYPE',['../group__enumerations.html#gae2d0250dc861156a468001600a2ee648',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftiming_5flimitation_63',['ADLX_DISPLAY_TIMING_LIMITATION',['../group__enumerations.html#ga6a4bf151ffad0146661c2c8612382af0',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftiming_5fpolarity_64',['ADLX_DISPLAY_TIMING_POLARITY',['../group__enumerations.html#gacabd271b1699333d9664b8e6320aad3b',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftype_65',['ADLX_DISPLAY_TYPE',['../group__enumerations.html#gae7e516225131af0ff164e9384d8d0a44',1,'ADLXDefines.h']]], - ['adlx_5fdll_5fname_66',['ADLX_DLL_NAME',['../group___a_d_l_x_macro.html#ga01e03ede548cb4521e0895f77feacdc4',1,'ADLX_DLL_NAME(): ADLX.h'],['../group___a_d_l_x_macro.html#ga01e03ede548cb4521e0895f77feacdc4',1,'ADLX_DLL_NAME(): ADLXPage.h']]], - ['adlx_5fdll_5fnamea_67',['ADLX_DLL_NAMEA',['../group___a_d_l_x_macro.html#gae6717665e58771830fb95333b9af6b35',1,'ADLX_DLL_NAMEA(): ADLX.h'],['../group___a_d_l_x_macro.html#gae6717665e58771830fb95333b9af6b35',1,'ADLX_DLL_NAMEA(): ADLXPage.h']]], - ['adlx_5fdll_5fnamew_68',['ADLX_DLL_NAMEW',['../group___a_d_l_x_macro.html#ga230859c12673173fe14d5fa5bf3c2438',1,'ADLX_DLL_NAMEW(): ADLX.h'],['../group___a_d_l_x_macro.html#ga230859c12673173fe14d5fa5bf3c2438',1,'ADLX_DLL_NAMEW(): ADLXPage.h']]], - ['adlx_5fdp_5flink_5frate_69',['ADLX_DP_LINK_RATE',['../group__enumerations.html#gad5b0891b86d362269696ba46e1d4bdee',1,'ADLXDefines.h']]], - ['adlx_5ffail_70',['ADLX_FAIL',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0aa559b325fb345d9152b653588511db5c',1,'ADLXDefines.h']]], - ['adlx_5ffailed_71',['ADLX_FAILED',['../group___a_d_l_x_macro.html#ga6ea0e7f02e40768a1e47cb60e0e6f482',1,'ADLXDefines.h']]], - ['adlx_5ffree_5flibrary_72',['adlx_free_library',['../adlx_free_library.html',1,'funpage']]], - ['adlx_5fgamma_5ftype_73',['ADLX_GAMMA_TYPE',['../group__enumerations.html#ga87f8763d8496a4e5ec84964e149144fd',1,'ADLXDefines.h']]], - ['adlx_5fgammaramp_74',['ADLX_GammaRamp',['../group__structures_val.html#struct_a_d_l_x___gamma_ramp',1,'']]], - ['adlx_5fgamut_5fspace_75',['ADLX_GAMUT_SPACE',['../group__enumerations.html#ga46dff86075115b139c1c72f447e94e14',1,'ADLXDefines.h']]], - ['adlx_5fgamutcolorspace_76',['ADLX_GamutColorSpace',['../group__structures_val.html#struct_a_d_l_x___gamut_color_space',1,'']]], - ['adlx_5fget_5fproc_5faddress_77',['adlx_get_proc_address',['../adlx_get_proc_address.html',1,'funpage']]], - ['adlx_5fgpu_5finactive_78',['ADLX_GPU_INACTIVE',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a7ecc8145f60057fa833a86fb605f83f2',1,'ADLXDefines.h']]], - ['adlx_5fgpu_5ftype_79',['ADLX_GPU_TYPE',['../group__enumerations.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34',1,'ADLXDefines.h']]], - ['adlx_5fhg_5ftype_80',['ADLX_HG_TYPE',['../group__enumerations.html#ga260f926e27eef013ca1eacd0ff7b3ba7',1,'ADLXDefines.h']]], - ['adlx_5fi2c_5fline_81',['ADLX_I2C_LINE',['../group__enumerations.html#ga75eb2c93942ff81ff1cbeef647c2cf67',1,'ADLXDefines.h']]], - ['adlx_5finit_5ffunction_5fname_82',['ADLX_INIT_FUNCTION_NAME',['../group___a_d_l_x_macro.html#ga8f14be1543fc55eae619dda67965bf35',1,'ADLX.h']]], - ['adlx_5finit_5fwith_5fcaller_5fadl_5ffunction_5fname_83',['ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME',['../group___a_d_l_x_macro.html#gad4b30c181751a349fccd865550dbc709',1,'ADLX.h']]], - ['adlx_5finit_5fwith_5fincompatible_5fdriver_5ffunction_5fname_84',['ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME',['../group___a_d_l_x_macro.html#ga6219bdf1844b1f9bbb4fde96630442e4',1,'ADLX.h']]], - ['adlx_5fintrange_85',['ADLX_IntRange',['../group__structures_val.html#struct_a_d_l_x___int_range',1,'']]], - ['adlx_5finvalid_5fargs_86',['ADLX_INVALID_ARGS',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0af44fabfdb08be14d11a6d2f732c856b7',1,'ADLXDefines.h']]], - ['adlx_5finvalid_5fobject_87',['ADLX_INVALID_OBJECT',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a447f8d425a70ea68f944e0678206e74e',1,'ADLXDefines.h']]], - ['adlx_5fload_5flibrary_88',['adlx_load_library',['../adlx_load_library.html',1,'funpage']]], - ['adlx_5flog_5fdestination_89',['ADLX_LOG_DESTINATION',['../group__enumerations.html#gae308b7ad24806dce3fe087e9a780be67',1,'ADLXDefines.h']]], - ['adlx_5flog_5fseverity_90',['ADLX_LOG_SEVERITY',['../group__enumerations.html#gaadfaa61953d62bced2b6c516f8bebccd',1,'ADLXDefines.h']]], - ['adlx_5fmemorytiming_5fdescription_91',['ADLX_MEMORYTIMING_DESCRIPTION',['../group__enumerations.html#gaa25f244e38a3502a52167c303abcec11',1,'ADLXDefines.h']]], - ['adlx_5fmgpu_5fmode_92',['ADLX_MGPU_MODE',['../group__enumerations.html#gada547c00826e15266732f874a0f3478d',1,'ADLXDefines.h']]], - ['adlx_5fnot_5ffound_93',['ADLX_NOT_FOUND',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a407e7fb76cdc6900948ba09adbc55a99',1,'ADLXDefines.h']]], - ['adlx_5fnot_5fsupported_94',['ADLX_NOT_SUPPORTED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a351c7e8c74ef3cfbee06213c43884589',1,'ADLXDefines.h']]], - ['adlx_5fok_95',['ADLX_OK',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a72597a9998fa21f37bfcaddd9cafaed5',1,'ADLXDefines.h']]], - ['adlx_5forientation_96',['ADLX_ORIENTATION',['../group__enumerations.html#gae896c86f4fc55efe4e866450e33465b1',1,'ADLXDefines.h']]], - ['adlx_5forphan_5fobjects_97',['ADLX_ORPHAN_OBJECTS',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a0f2aa9a92254cd0fe4b705b0f77ca314',1,'ADLXDefines.h']]], - ['adlx_5fpci_5fbus_5ftype_98',['ADLX_PCI_BUS_TYPE',['../group__enumerations.html#gafcbeca41c0df518ccf5556e8e6e83f62',1,'ADLXDefines.h']]], - ['adlx_5fpending_5foperation_99',['ADLX_PENDING_OPERATION',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ad2c2b132ffcd5ef80752f2fc2b38811f',1,'ADLXDefines.h']]], - ['adlx_5fpixel_5fformat_100',['ADLX_PIXEL_FORMAT',['../group__enumerations.html#gaa0e9deb1567713f1044419070f2949ab',1,'ADLXDefines.h']]], - ['adlx_5fpoint_101',['ADLX_Point',['../group__structures_val.html#struct_a_d_l_x___point',1,'']]], - ['adlx_5fquery_5ffull_5fversion_5ffunction_5fname_102',['ADLX_QUERY_FULL_VERSION_FUNCTION_NAME',['../group___a_d_l_x_macro.html#ga91ac676c95055e3ce7eefad329fb79bb',1,'ADLX.h']]], - ['adlx_5fquery_5fversion_5ffunction_5fname_103',['ADLX_QUERY_VERSION_FUNCTION_NAME',['../group___a_d_l_x_macro.html#ga792851e2bf013e65cadf8d1979c93aeb',1,'ADLX.h']]], - ['adlx_5fregammacoeff_104',['ADLX_RegammaCoeff',['../group__structures_val.html#struct_a_d_l_x___regamma_coeff',1,'']]], - ['adlx_5fresult_105',['ADLX_RESULT',['../group__enumerations.html#ga9306b05f15578edbf79b649dd612b8c0',1,'ADLXDefines.h']]], - ['adlx_5frgb_106',['ADLX_RGB',['../group__structures_val.html#struct_a_d_l_x___r_g_b',1,'']]], - ['adlx_5fscale_5fmode_107',['ADLX_SCALE_MODE',['../group__enumerations.html#ga0ec0640b97efee73b589bf0b1c07a8fe',1,'ADLXDefines.h']]], - ['adlx_5fssm_5fbias_5fmode_108',['ADLX_SSM_BIAS_MODE',['../group__enumerations.html#gae2895828b9a8b0345e1fb8bf416ff1b4',1,'ADLXDefines.h']]], - ['adlx_5fsucceeded_109',['ADLX_SUCCEEDED',['../group___a_d_l_x_macro.html#gaa6d4b27e28dc60797e52e901ad4e9ced',1,'ADLXDefines.h']]], - ['adlx_5fsync_5forigin_110',['ADLX_SYNC_ORIGIN',['../group__enumerations.html#ga7a1e20106faef482c0664c546e04ba00',1,'ADLXDefines.h']]], - ['adlx_5fterminate_5ffunction_5fname_111',['ADLX_TERMINATE_FUNCTION_NAME',['../group___a_d_l_x_macro.html#ga4eb1fd9b5d55b0699d498535f29c4634',1,'ADLX.h']]], - ['adlx_5fterminated_112',['ADLX_TERMINATED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ae5f780950728a255730b0280499acb72',1,'ADLXDefines.h']]], - ['adlx_5ftessellation_5flevel_113',['ADLX_TESSELLATION_LEVEL',['../group__enumerations.html#ga5967c593434c0cba5891c996d64cff5c',1,'ADLXDefines.h']]], - ['adlx_5ftessellation_5fmode_114',['ADLX_TESSELLATION_MODE',['../group__enumerations.html#ga7899078325beddfbe0f4e63dca8ce8ca',1,'ADLXDefines.h']]], - ['adlx_5ftiming_5fstandard_115',['ADLX_TIMING_STANDARD',['../group__enumerations.html#ga5f02fa0b6e26f22606a85221393f8ae2',1,'ADLXDefines.h']]], - ['adlx_5ftiminginfo_116',['ADLX_TimingInfo',['../group__structures_val.html#struct_a_d_l_x___timing_info',1,'']]], - ['adlx_5fuint16_5frgb_117',['ADLX_UINT16_RGB',['../group__structures_val.html#struct_a_d_l_x___u_i_n_t16___r_g_b',1,'']]], - ['adlx_5funknown_5finterface_118',['ADLX_UNKNOWN_INTERFACE',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a8fc7732baab75a3c05f77d1bf4a70d20',1,'ADLXDefines.h']]], - ['adlx_5fwait_5ffor_5fvertical_5frefresh_5fmode_119',['ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE',['../group__enumerations.html#ga169a825952eda7e83b949176a9a81028',1,'ADLXDefines.h']]], - ['adlx_5fwhite_5fpoint_120',['ADLX_WHITE_POINT',['../group__enumerations.html#gafb56c4b91425c281009c447ccb1feeab',1,'ADLXDefines.h']]], - ['adlxcsharpbind_121',['ADLXCSharpBind',['../cs_sample_adlxcsharpbind.html',1,'page_sample_cs']]], - ['adlxdefines_2eh_122',['ADLXDefines.h',['../_a_d_l_x_defines_8h.html',1,'']]], - ['adlxhelper_123',['ADLXHelper',['../page_cpp_help_new.html',1,'page_ADLXCppHelp']]], - ['adlxhelper_20class_124',['ADLXHelper Class',['../page__a_d_l_x_cpp_help.html',1,'page_ADLXHelps']]], - ['adlxhelper_5fgetadlmapping_125',['ADLXHelper_GetAdlMapping',['../page_c_help_a_d_l_x_helper__get_adl_mapping.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fgetsystemservices_126',['ADLXHelper_GetSystemServices',['../page_c_help_a_d_l_x_helper__get_system_services.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitialize_127',['ADLXHelper_Initialize',['../page_c_help_a_d_l_x_helper__initialize.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitializewithcalleradl_128',['ADLXHelper_InitializeWithCallerAdl',['../page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitializewithincompatibledriver_129',['ADLXHelper_InitializeWithIncompatibleDriver',['../page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fqueryfullversion_130',['ADLXHelper_QueryFullVersion',['../page_c_help_a_d_l_x_helper__query_full_version.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fqueryversion_131',['ADLXHelper_QueryVersion',['../page_c_help_a_d_l_x_helper__query_version.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fterminate_132',['ADLXHelper_Terminate',['../page_c_help_a_d_l_x_helper__terminate.html',1,'page_ADLXCHelp']]], - ['adlxinitialize_5ffn_133',['ADLXInitialize_Fn',['../group___a_d_l_x_defs.html#gac5f7f97490516e7be3e62c3be1383c66',1,'ADLXInitialize_Fn(): ADLX.h'],['../page__a_d_l_x_initialize__fn.html',1,'funpage']]], - ['adlxinitializewithcalleradl_5ffn_134',['ADLXInitializeWithCallerAdl_Fn',['../group___a_d_l_x_defs.html#gadb90c5a66bc15b34f864d5883158ed44',1,'ADLXInitializeWithCallerAdl_Fn(): ADLX.h'],['../page__a_d_l_x_initialize_with_caller_adl__fn.html',1,'funpage']]], - ['adlxjavabind_135',['ADLXJavaBind',['../java_sample_adlxjavabind.html',1,'page_sample_java']]], - ['adlxpybind_136',['ADLXPybind',['../py_sample_adlxpybind.html',1,'page_sample_py']]], - ['adlxqueryfullversion_5ffn_137',['ADLXQueryFullVersion_Fn',['../group___a_d_l_x_defs.html#ga6adc3b43ac10780441c675a07a0fa4ae',1,'ADLXQueryFullVersion_Fn(): ADLX.h'],['../page__a_d_l_x_query_full_version__fn.html',1,'funpage']]], - ['adlxqueryversion_5ffn_138',['ADLXQueryVersion_Fn',['../group___a_d_l_x_defs.html#gacc89675ee4e79ce8f3a2d729bc48fc0b',1,'ADLXQueryVersion_Fn(): ADLX.h'],['../page__a_d_l_x_query_version__fn.html',1,'funpage']]], - ['adlxstructures_2eh_139',['ADLXStructures.h',['../_a_d_l_x_structures_8h.html',1,'']]], - ['adlxterminate_5ffn_140',['ADLXTerminate_Fn',['../group___a_d_l_x_defs.html#ga8c0d01f62522f27bdb72ece0c7c89ded',1,'ADLXTerminate_Fn(): ADLX.h'],['../page__a_d_l_x_terminate__fn.html',1,'funpage']]], - ['advanced_20configurations_141',['Advanced Configurations',['../page_guide_advanced.html',1,'page_adlxprogrammingguide']]], - ['af_5flevel_5finvalid_142',['AF_LEVEL_INVALID',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579ab9c2bf449ef8c6244eba69add4c7a615',1,'ADLXDefines.h']]], - ['af_5flevel_5fx16_143',['AF_LEVEL_X16',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a0ce2f7011e5a76d552aae639bcadef8d',1,'ADLXDefines.h']]], - ['af_5flevel_5fx2_144',['AF_LEVEL_X2',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a7c3092ac1cb5e292fa3492cc3d61ebbe',1,'ADLXDefines.h']]], - ['af_5flevel_5fx4_145',['AF_LEVEL_X4',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a66e217a4423ff7bc5b548f3f0be82b00',1,'ADLXDefines.h']]], - ['af_5flevel_5fx8_146',['AF_LEVEL_X8',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579abed44da66d97a3904e1048c2fd8ae669',1,'ADLXDefines.h']]], - ['agp_147',['AGP',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a3a56bf1c6f4aab3bdae90cca3aac176c',1,'ADLXDefines.h']]], - ['amd_148',['AMD',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7ac1f5c308ff9610759dbc1415b20df568',1,'ADLXDefines.h']]], - ['amd_20device_20library_20extra_149',['AMD Device Library eXtra',['../index.html',1,'']]], - ['anisotropicfiltering_150',['AnisotropicFiltering',['../c__anisotropic_filtering.html',1,'domain_c_sample_3DGraphics'],['../cpp__anisotropic_filtering.html',1,'domain_cpp_sample_3DGraphics']]], - ['antialiasing_151',['AntiAliasing',['../c__anti_aliasing.html',1,'domain_c_sample_3DGraphics'],['../cpp__anti_aliasing.html',1,'domain_cpp_sample_3DGraphics']]], - ['antilag_152',['ANTILAG',['../_a_d_l_x_defines_8h.html#ga67d22cfa2969510afada5140a157df62ad52630a26f9490c28cc16b38e0205ce9',1,'ADLXDefines.h']]], - ['antilag_153',['AntiLag',['../c__anti_lag.html',1,'domain_c_sample_3DGraphics'],['../cpp__anti_lag.html',1,'domain_cpp_sample_3DGraphics']]], - ['antilagnext_154',['ANTILAGNEXT',['../_a_d_l_x_defines_8h.html#ga67d22cfa2969510afada5140a157df62a86bd1f9314544ffffd7a1a374a807e9f',1,'ADLXDefines.h']]], - ['application_155',['APPLICATION',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67a241e8ba97c5a6b68b13a60bb16235b85',1,'ADLXDefines.h']]], - ['asic_5fembedded_156',['ASIC_EMBEDDED',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77ac6b09b34c87726a358773f7fad37ffc8',1,'ADLXDefines.h']]], - ['asic_5ffiremv_157',['ASIC_FIREMV',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a0ad611b8d03595461b2e81edb4ca5195',1,'ADLXDefines.h']]], - ['asic_5ffirepro_158',['ASIC_FIREPRO',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a80725f02993ea38bb16b978d9226fd0b',1,'ADLXDefines.h']]], - ['asic_5ffirestream_159',['ASIC_FIRESTREAM',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77adbd861ee855957a3422ae76d20b71d7c',1,'ADLXDefines.h']]], - ['asic_5ffusion_160',['ASIC_FUSION',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a96ee7dab50a7cdb839879acb9a4e64e3',1,'ADLXDefines.h']]], - ['asic_5fradeon_161',['ASIC_RADEON',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a0dc8ed090699f28b662b7c765274cf9e',1,'ADLXDefines.h']]], - ['asic_5fundefined_162',['ASIC_UNDEFINED',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a3545ff1a23cd34b9adbc8c665a5951be',1,'ADLXDefines.h']]], - ['asicfamilytype_163',['ASICFamilyType',['../_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html',1,'DOX_IADLXGPU']]], - ['asynceventhandling_164',['AsyncEventHandling',['../c_sample__async_event_handling.html',1,'domain_c_sample_globalsync'],['../cpp_sample__async_event_handling.html',1,'domain_cpp_sample_globalsync']]], - ['at_165',['At',['../_d_o_x__i_a_d_l_x_all_metrics_list__at.html',1,'DOX_IADLXAllMetricsList'],['../_d_o_x__i_a_d_l_x_desktop_list__at.html',1,'DOX_IADLXDesktopList'],['../_d_o_x__i_a_d_l_x_display_list__at.html',1,'DOX_IADLXDisplayList'],['../_d_o_x__i_a_d_l_x_display_resolution_list__at.html',1,'DOX_IADLXDisplayResolutionList'],['../_d_o_x__i_a_d_l_x_f_p_s_list__at.html',1,'DOX_IADLXFPSList'],['../_d_o_x__i_a_d_l_x_g_p_u_list__at.html',1,'DOX_IADLXGPUList'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html',1,'DOX_IADLXGPUMetricsList'],['../_d_o_x__i_a_d_l_x_list__at.html',1,'DOX_IADLXList'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html',1,'DOX_IADLXManualFanTuningStateList'],['../_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html',1,'DOX_IADLXManualTuningStateList'],['../_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html',1,'DOX_IADLXMemoryTimingDescriptionList'],['../_d_o_x__i_a_d_l_x_system_metrics_list__at.html',1,'DOX_IADLXSystemMetricsList']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_10.html b/vendor/adlx/SDKDoc/html/search/all_10.html deleted file mode 100644 index 3bf1196..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_10.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_10.js b/vendor/adlx/SDKDoc/html/search/all_10.js deleted file mode 100644 index 8966c4c..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_10.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['queryfullversion_877',['QueryFullVersion',['../page_cpp_help_query_full_version.html',1,'page_ADLXCppHelp']]], - ['queryinterface_878',['QueryInterface',['../_d_o_x__i_a_d_l_x_interface__query_interface.html',1,'DOX_IADLXInterface'],['../_d_o_x__i_a_d_l_x_system__query_interface.html',1,'DOX_IADLXSystem']]], - ['queryversion_879',['QueryVersion',['../page_cpp_help_query_version.html',1,'page_ADLXCppHelp']]], - ['quick_20start_880',['Quick Start',['../page_guide_qs.html',1,'page_adlxprogrammingguide']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_11.html b/vendor/adlx/SDKDoc/html/search/all_11.html deleted file mode 100644 index c9f79d2..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_11.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_11.js b/vendor/adlx/SDKDoc/html/search/all_11.js deleted file mode 100644 index 9023321..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_11.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['read_881',['Read',['../_d_o_x__i_a_d_l_x_i2_c__read.html',1,'DOX_IADLXI2C']]], - ['receiving_20events_20notifications_882',['Receiving Events Notifications',['../domain_c_sample_globalsync.html',1,'page_sample_c'],['../domain_cpp_sample_globalsync.html',1,'page_sample_cpp']]], - ['red_883',['red',['../group__structures_val.html#a1fbcbbc055e40b34aae2823822e9af8c',1,'ADLX_GamutColorSpace::red()'],['../group__structures_val.html#ab8b0398e4a3ec75946dfd7f2fb1f2e95',1,'ADLX_UINT16_RGB::red()']]], - ['refresh_5frate_5fmax_884',['REFRESH_RATE_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0af8650ed5f9e81724ebdf3e4b596900fa',1,'ADLXDefines.h']]], - ['refresh_5frate_5fmin_885',['REFRESH_RATE_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a2458b9ca110c53eadab4bd2cb39fb1e1',1,'ADLXDefines.h']]], - ['refreshrate_886',['RefreshRate',['../_d_o_x__i_a_d_l_x_display__refresh_rate.html',1,'DOX_IADLXDisplay']]], - ['refreshrate_887',['refreshRate',['../group__structures_val.html#ab43f9e225b953494737081fb45c38c7b',1,'ADLX_CustomResolution']]], - ['regamma_5fcoefficients_888',['REGAMMA_COEFFICIENTS',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda9768d1761a8c17484394fe76f01d6c06',1,'ADLXDefines.h']]], - ['regamma_5framp_889',['REGAMMA_RAMP',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda54f1acbc9507d4d16b8ded68349bf02d',1,'ADLXDefines.h']]], - ['release_890',['Release',['../_d_o_x__i_a_d_l_x_interface__release.html',1,'DOX_IADLXInterface']]], - ['remove3dsettingseventlistener_891',['Remove3DSettingsEventListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html',1,'DOX_IADLX3DSettingsChangedHandling']]], - ['remove_5fback_892',['Remove_Back',['../_d_o_x__i_a_d_l_x_list__remove__back.html',1,'DOX_IADLXList']]], - ['removedesktoplisteventlistener_893',['RemoveDesktopListEventListener',['../_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html',1,'DOX_IADLXDesktopChangedHandling']]], - ['removedisplay3dluteventlistener_894',['RemoveDisplay3DLUTEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaygammaeventlistener_895',['RemoveDisplayGammaEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaygamuteventlistener_896',['RemoveDisplayGamutEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaylisteventlistener_897',['RemoveDisplayListEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaysettingseventlistener_898',['RemoveDisplaySettingsEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removegpuslisteventlistener_899',['RemoveGPUsListEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html',1,'DOX_IADLXGPUsChangedHandling']]], - ['removegputuningeventlistener_900',['RemoveGPUTuningEventListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html',1,'DOX_IADLXGPUTuningChangedHandling']]], - ['removepowertuningeventlistener_901',['RemovePowerTuningEventListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html',1,'DOX_IADLXPowerTuningChangedHandling']]], - ['repeatedstartread_902',['RepeatedStartRead',['../_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html',1,'DOX_IADLXI2C']]], - ['resetgammaramp_903',['ResetGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['resetshadercache_904',['ResetShaderCache',['../c__reset_shader_cache.html',1,'domain_c_sample_3DGraphics'],['../cpp__reset_shader_cache.html',1,'domain_cpp_sample_3DGraphics'],['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html',1,'DOX_IADLX3DResetShaderCache']]], - ['resettofactory_905',['ResetToFactory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html',1,'DOX_IADLXGPUTuningServices']]], - ['resheight_906',['resHeight',['../group__structures_val.html#a7941ceb1178e2240fc064dfddaff5792',1,'ADLX_CustomResolution']]], - ['resolution_5fmax_907',['RESOLUTION_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0ae0fdf7b7e8824ac59378edda3a2710a5',1,'ADLXDefines.h']]], - ['resolution_5fmin_908',['RESOLUTION_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a74a5fec7d3d4963e094c0c6072e020c0',1,'ADLXDefines.h']]], - ['reswidth_909',['resWidth',['../group__structures_val.html#a299cbff4bdd201f3e2ef51a261571695',1,'ADLX_CustomResolution']]], - ['revisionid_910',['RevisionId',['../_d_o_x__i_a_d_l_x_g_p_u__revision_id.html',1,'DOX_IADLXGPU']]], - ['rgb_5f444_5ffull_911',['RGB_444_FULL',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba584ee215854f2d23ec8e10be27e14fba',1,'ADLXDefines.h']]], - ['rgb_5f444_5flimited_912',['RGB_444_LIMITED',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949abac5e41241065884bcc7ade21756538ab4',1,'ADLXDefines.h']]], - ['rsr_913',['RSR',['../c__r_s_r.html',1,'domain_c_sample_3DGraphics'],['../cpp__r_s_r.html',1,'domain_cpp_sample_3DGraphics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_12.html b/vendor/adlx/SDKDoc/html/search/all_12.html deleted file mode 100644 index ab93472..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_12.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_12.js b/vendor/adlx/SDKDoc/html/search/all_12.js deleted file mode 100644 index 4cc1454..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_12.js +++ /dev/null @@ -1,98 +0,0 @@ -var searchData= -[ - ['scantype_914',['ScanType',['../_d_o_x__i_a_d_l_x_display__scan_type.html',1,'DOX_IADLXDisplay']]], - ['servicecall_915',['ServiceCall',['../domain_c_sample_servicecall.html',1,'page_sample_c'],['../domain_cpp_sample_servicecall.html',1,'page_sample_cpp']]], - ['setalluser3dlut_916',['SetAllUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setbalanced_917',['SetBalanced',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setbias_918',['SetBias',['../_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html',1,'DOX_IADLXSmartShiftMax']]], - ['setbiasmode_919',['SetBiasMode',['../_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html',1,'DOX_IADLXSmartShiftMax']]], - ['setblanked_920',['SetBlanked',['../_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['setbrightness_921',['SetBrightness',['../_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setcontrast_922',['SetContrast',['../_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setdegammaramp_923',['SetDeGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html',1,'DOX_IADLXDisplayGamma'],['../_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html',1,'DOX_IADLXDisplayGamma']]], - ['setenabled_924',['SetEnabled',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html',1,'DOX_IADLXSmartAccessMemory']]], - ['setenabledhdmiqualitydetection_925',['SetEnabledHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setfanspeed_926',['SetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html',1,'DOX_IADLXManualFanTuningState']]], - ['setfantuningstates_927',['SetFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['setfps_928',['SetFPS',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html',1,'DOX_IADLX3DFrameRateTargetControl']]], - ['setfrequency_929',['SetFrequency',['../_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html',1,'DOX_IADLXManualTuningState']]], - ['setgamut_930',['SetGamut',['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html',1,'DOX_IADLXDisplayGamut']]], - ['setgpumaxfrequency_931',['SetGPUMaxFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['setgpuminfrequency_932',['SetGPUMinFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['setgputuningstates_933',['SetGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['setgpuvoltage_934',['SetGPUVoltage',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['sethdruser3dlut_935',['SetHDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['sethue_936',['SetHue',['../_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setlevel_937',['SetLevel',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html',1,'DOX_IADLX3DAntiLag1'],['../_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html',1,'DOX_IADLX3DTessellation']]], - ['setmaxfps_938',['SetMaxFPS',['../_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['setmaximizebattery_939',['SetMaximizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['setmaximizebrightness_940',['SetMaximizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['setmaxperformancemetricshistorysize_941',['SetMaxPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['setmaxvramfrequency_942',['SetMaxVRAMFrequency',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['setmemorytimingdescription_943',['SetMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['setmethod_944',['SetMethod',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html',1,'DOX_IADLX3DAntiAliasing']]], - ['setminacousticlimit_945',['SetMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['setminfanspeed_946',['SetMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['setminfps_947',['SetMinFPS',['../_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['setmode_948',['SetMode',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html',1,'DOX_IADLXDisplayScalingMode']]], - ['setoptimizebattery_949',['SetOptimizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['setoptimizebrightness_950',['SetOptimizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['setpowerlimit_951',['SetPowerLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['setpowersaver_952',['SetPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setquiet_953',['SetQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setrage_954',['SetRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setregamma36_955',['SetReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammabt709_956',['SetReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammacoefficient_957',['SetReGammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammapq_958',['SetReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammapq2084interim_959',['SetReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammaramp_960',['SetReGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html',1,'DOX_IADLXDisplayGamma'],['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammasrgb_961',['SetReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['setrelativepreemphasis_962',['SetRelativePreEmphasis',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setrelativevoltageswing_963',['SetRelativeVoltageSwing',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setresolution_964',['SetResolution',['../_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html',1,'DOX_IADLX3DBoost']]], - ['setsamplinginterval_965',['SetSamplingInterval',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['setsaturation_966',['SetSaturation',['../_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setscedisabled_967',['SetSCEDisabled',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setscedynamiccontrast_968',['SetSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setscevividgaming_969',['SetSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setsdruser3dlut_970',['SetSDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setsharpness_971',['SetSharpness',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['settargetfanspeed_972',['SetTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['settdclimit_973',['SetTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['settemperature_974',['SetTemperature',['../_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html',1,'DOX_IADLXDisplayCustomColor'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html',1,'DOX_IADLXManualFanTuningState']]], - ['setturbo_975',['SetTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setunblanked_976',['SetUnblanked',['../_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['setvalue_977',['SetValue',['../_d_o_x__i_a_d_l_x_display_color_depth__set_value.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_resolution__set_value.html',1,'DOX_IADLXDisplayResolution']]], - ['setvoltage_978',['SetVoltage',['../_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html',1,'DOX_IADLXManualTuningState']]], - ['setvramtuningstates_979',['SetVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['setzerorpmstate_980',['SetZeroRPMState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html',1,'DOX_IADLXManualFanTuning']]], - ['sharememory_981',['ShareMemory',['../c_sample__share_memory.html',1,'domain_c_sample_servicecall'],['../cpp_sample__share_memory.html',1,'domain_cpp_sample_servicecall']]], - ['size_982',['Size',['../_d_o_x__i_a_d_l_x_desktop__size.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_list__size.html',1,'DOX_IADLXList']]], - ['smartaccessmemory_983',['SmartAccessMemory',['../c_sam.html',1,'domain_c_sample_GPUTuning'],['../cpp_sam.html',1,'domain_cpp_sample_GPUTuning']]], - ['smartshift_984',['SmartShift',['../_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html',1,'DOX_IADLXSystemMetrics']]], - ['smartshiftmax_985',['SmartShiftMax',['../c_ssm.html',1,'domain_c_sample_powertuning'],['../cpp_ssm.html',1,'domain_cpp_sample_powertuning']]], - ['specifications_986',['Specifications',['../page_guide_spe.html',1,'page_adlxprogrammingguide']]], - ['ssm_5fbias_5fauto_987',['SSM_BIAS_AUTO',['../_a_d_l_x_defines_8h.html#gae2895828b9a8b0345e1fb8bf416ff1b4aa01f2492c707f2d545a726a70bfe4885',1,'ADLXDefines.h']]], - ['ssm_5fbias_5fmanual_988',['SSM_BIAS_MANUAL',['../_a_d_l_x_defines_8h.html#gae2895828b9a8b0345e1fb8bf416ff1b4af35e1bfcb1955e0e0c900876c1c67746',1,'ADLXDefines.h']]], - ['startoverclockgpu_989',['StartOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['startoverclockvram_990',['StartOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['startperformancemetricstracking_991',['StartPerformanceMetricsTracking',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['startundervoltgpu_992',['StartUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['step_993',['step',['../group__structures_val.html#ae0e545b501a683c565f08089ed3e8023',1,'ADLX_IntRange']]], - ['stopperformancemetricstracking_994',['StopPerformanceMetricsTracking',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['subscribing_20to_20event_20notifications_20using_20adlx_995',['Subscribing to Event Notifications using ADLX',['../page_guide_event.html',1,'page_guide_qs']]], - ['subsystemid_996',['SubSystemId',['../_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html',1,'DOX_IADLXGPU']]], - ['subsystemvendorid_997',['SubSystemVendorId',['../_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html',1,'DOX_IADLXGPU']]], - ['supported_20operating_20systems_998',['Supported Operating Systems',['../page_guide_os.html',1,'page_guide_spe']]], - ['supported_20programming_20languages_999',['Supported Programming Languages',['../page_guide_languages.html',1,'page_guide_spe']]], - ['sync3dreceive_1000',['Sync3DReceive',['../c__sync3_d_receive.html',1,'domain_c_sample_globalsync'],['../cpp__sync3_d_receive.html',1,'domain_cpp_sample_globalsync']]], - ['sync_5forigin_5fexternal_1001',['SYNC_ORIGIN_EXTERNAL',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a8f0083602d13ae71103b333d6c9c9d00',1,'ADLXDefines.h']]], - ['sync_5forigin_5finternal_1002',['SYNC_ORIGIN_INTERNAL',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a9675678b0b44b0e114901d2e49441eeb',1,'ADLXDefines.h']]], - ['sync_5forigin_5funknown_1003',['SYNC_ORIGIN_UNKNOWN',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a4ba8600162d2d062803b6ff6bc43d8e9',1,'ADLXDefines.h']]], - ['syncdisplayreceive_1004',['SyncDisplayReceive',['../c__sync_display_receive.html',1,'domain_c_sample_globalsync'],['../cpp__sync_display_receive.html',1,'domain_cpp_sample_globalsync']]], - ['syncgputuning_1005',['SyncGPUTuning',['../c__sync_g_p_u_tuning.html',1,'domain_c_sample_globalsync'],['../cpp__sync_g_p_u_tuning.html',1,'domain_cpp_sample_globalsync']]], - ['syncpowertuning_1006',['SyncPowerTuning',['../c__sync_power_tuning.html',1,'domain_c_sample_globalsync'],['../cpp__sync_power_tuning.html',1,'domain_cpp_sample_globalsync']]], - ['system_1007',['System',['../system.html',1,'page_interfaces']]], - ['systemram_1008',['SystemRAM',['../_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html',1,'DOX_IADLXSystemMetrics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_13.html b/vendor/adlx/SDKDoc/html/search/all_13.html deleted file mode 100644 index 51172c2..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_13.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_13.js b/vendor/adlx/SDKDoc/html/search/all_13.js deleted file mode 100644 index 90ad176..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_13.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['t_5flevel_5f16x_1009',['T_LEVEL_16X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca81da4c659b7805407bec0d0ad595bb69',1,'ADLXDefines.h']]], - ['t_5flevel_5f2x_1010',['T_LEVEL_2X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca1ab9133a629987f8ca508e3d4031b4df',1,'ADLXDefines.h']]], - ['t_5flevel_5f32x_1011',['T_LEVEL_32X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca4e5b2fc5d494fd9a30109f7f7038ac03',1,'ADLXDefines.h']]], - ['t_5flevel_5f4x_1012',['T_LEVEL_4X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca2abb616e9496d3cfd550ac2f92c9e3ee',1,'ADLXDefines.h']]], - ['t_5flevel_5f64x_1013',['T_LEVEL_64X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5cafc6e09b3c44597e193bedd8a592474c0',1,'ADLXDefines.h']]], - ['t_5flevel_5f6x_1014',['T_LEVEL_6X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca4f8d9cec3c1ff901e46ed1e9156c7420',1,'ADLXDefines.h']]], - ['t_5flevel_5f8x_1015',['T_LEVEL_8X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5cad61c7030ea4f89ca43af8d9087fafd45',1,'ADLXDefines.h']]], - ['t_5flevel_5foff_1016',['T_LEVEL_OFF',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca07fb2f890b90b7ad6cbcf07cfbcae36c',1,'ADLXDefines.h']]], - ['t_5fmode_5famd_5foptimized_1017',['T_MODE_AMD_OPTIMIZED',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa73ae5eb0bacfbde56077eea258648325',1,'ADLXDefines.h']]], - ['t_5fmode_5foverride_5fapp_5fsettings_1018',['T_MODE_OVERRIDE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa457aa8bc48fb10ec6b107b28e56a56b5',1,'ADLXDefines.h']]], - ['t_5fmode_5fuse_5fapp_5fsettings_1019',['T_MODE_USE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa908c4c2fcd9ca251f77201ac62002b7e',1,'ADLXDefines.h']]], - ['terminate_1020',['Terminate',['../page_cpp_help_terminate.html',1,'page_ADLXCppHelp']]], - ['tessellation_1021',['Tessellation',['../c__tessellation.html',1,'domain_c_sample_3DGraphics'],['../cpp__tessellation.html',1,'domain_cpp_sample_3DGraphics']]], - ['tf_5fg22_1022',['TF_G22',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955a13489b5b70dc2920b2a39b0617a1674d',1,'ADLXDefines.h']]], - ['tf_5fpq_1023',['TF_PQ',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955ab7e789edc19856a34fe8b6e0c23ded66',1,'ADLXDefines.h']]], - ['tf_5fsrgb_1024',['TF_SRGB',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955a0a4fa9ac7814d34d0d9da291b0496208',1,'ADLXDefines.h']]], - ['timestamp_1025',['TimeStamp',['../_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html',1,'DOX_IADLXAllMetrics'],['../_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html',1,'DOX_IADLXFPS'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html',1,'DOX_IADLXGPUMetrics'],['../_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html',1,'DOX_IADLXSystemMetrics']]], - ['timingflags_1026',['timingFlags',['../group__structures_val.html#ac1cdcc878673d086e98cb88e33098a26',1,'ADLX_TimingInfo']]], - ['timingstandard_1027',['timingStandard',['../group__structures_val.html#a0cc91cb01a7769f4a2b5f3da06af8a9f',1,'ADLX_CustomResolution']]], - ['topleft_1028',['TopLeft',['../_d_o_x__i_a_d_l_x_desktop__top_left.html',1,'DOX_IADLXDesktop']]], - ['totalsystemram_1029',['TotalSystemRAM',['../_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html',1,'DOX_IADLXSystem']]], - ['totalvram_1030',['TotalVRAM',['../_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html',1,'DOX_IADLXGPU']]], - ['trademarks_1031',['Trademarks',['../page_legal__trademark.html',1,'page_legal']]], - ['type_1032',['Type',['../_d_o_x__i_a_d_l_x_desktop__type.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_g_p_u__type.html',1,'DOX_IADLXGPU']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_14.html b/vendor/adlx/SDKDoc/html/search/all_14.html deleted file mode 100644 index afecf56..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_14.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_14.js b/vendor/adlx/SDKDoc/html/search/all_14.js deleted file mode 100644 index 1a2ce72..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_14.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['undefined_1033',['UNDEFINED',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a605159e8a4c32319fd69b5d151369d93',1,'ADLXDefines.h']]], - ['uniqueid_1034',['UniqueId',['../_d_o_x__i_a_d_l_x_display__unique_id.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u__unique_id.html',1,'DOX_IADLXGPU']]], - ['unknow_1035',['UNKNOW',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda09b024ff449662360c66ce18d20096fa',1,'ADLXDefines.h']]], - ['userprocess_1036',['UserProcess',['../c_sample_userprocess.html',1,'domain_c_sample_servicecall'],['../cpp_sample_userprocess.html',1,'domain_cpp_sample_servicecall']]], - ['using_20adlx_20in_20a_20system_20service_20application_1037',['Using ADLX in a system service application',['../page_guide_usingservice.html',1,'page_guide_advanced']]], - ['using_20adlx_20in_20an_20application_1038',['Using ADLX in an application',['../page_guide_use__a_d_l_x.html',1,'page_guide_qs']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_15.html b/vendor/adlx/SDKDoc/html/search/all_15.html deleted file mode 100644 index 69f382b..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_15.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_15.js b/vendor/adlx/SDKDoc/html/search/all_15.js deleted file mode 100644 index e58ff3c..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_15.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['vdisplay_1039',['vDisplay',['../group__structures_val.html#ace8b356f5f69d0e332b27392495a6d77',1,'ADLX_TimingInfo']]], - ['vendorid_1040',['VendorId',['../_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html',1,'DOX_IADLXGPU']]], - ['version_1041',['Version',['../_d_o_x__i_a_d_l_x_i2_c__version.html',1,'DOX_IADLXI2C']]], - ['vfrontporch_1042',['vFrontPorch',['../group__structures_val.html#a710becefc88a9b55263fdd7147260251',1,'ADLX_TimingInfo']]], - ['vpolarity_1043',['vPolarity',['../group__structures_val.html#a489f1ef6e39512911fd0184c0b444c26',1,'ADLX_TimingInfo']]], - ['vramtype_1044',['VRAMType',['../_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html',1,'DOX_IADLXGPU']]], - ['vsyncwidth_1045',['vSyncWidth',['../group__structures_val.html#a81a08b07d265370132fa4bc812f4f2ec',1,'ADLX_TimingInfo']]], - ['vtotal_1046',['vTotal',['../group__structures_val.html#a98c760c16b184ee29e341a8e6a246c4d',1,'ADLX_TimingInfo']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_16.html b/vendor/adlx/SDKDoc/html/search/all_16.html deleted file mode 100644 index b19867a..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_16.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_16.js b/vendor/adlx/SDKDoc/html/search/all_16.js deleted file mode 100644 index 20083f7..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_16.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['waitforverticalrefresh_1047',['WaitForVerticalRefresh',['../c__wait_for_vertical_refresh.html',1,'domain_c_sample_3DGraphics'],['../cpp__wait_for_vertical_refresh.html',1,'domain_cpp_sample_3DGraphics']]], - ['wfvr_5falways_5foff_1048',['WFVR_ALWAYS_OFF',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a5c956c1e3c8b9261a07df15adbc10347',1,'ADLXDefines.h']]], - ['wfvr_5falways_5fon_1049',['WFVR_ALWAYS_ON',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a384b1aaeefe96b779cb597fcc6cb2353',1,'ADLXDefines.h']]], - ['wfvr_5foff_5funless_5fapp_5fspecifies_1050',['WFVR_OFF_UNLESS_APP_SPECIFIES',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a91e122d0f7ee258bb27a5c43d5c8c675',1,'ADLXDefines.h']]], - ['wfvr_5fon_5funless_5fapp_5fspecifies_1051',['WFVR_ON_UNLESS_APP_SPECIFIES',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028aa8ff57a67a337b615187f25ae341bc54',1,'ADLXDefines.h']]], - ['white_5fpoint_5f5000k_1052',['WHITE_POINT_5000K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeabafda8bf3f312e8533c6aaaf0e44b5701d',1,'ADLXDefines.h']]], - ['white_5fpoint_5f6500k_1053',['WHITE_POINT_6500K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba0a2e69d2af462123badbcc91a067112d',1,'ADLXDefines.h']]], - ['white_5fpoint_5f7500k_1054',['WHITE_POINT_7500K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba585f24c3732b31a2ad036afeff29f6f7',1,'ADLXDefines.h']]], - ['white_5fpoint_5f9300k_1055',['WHITE_POINT_9300K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeabab5870509771cc459d778cabc1dafa86c',1,'ADLXDefines.h']]], - ['white_5fpoint_5fcustom_1056',['WHITE_POINT_CUSTOM',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba69d26e715baf519132af949a693f443c',1,'ADLXDefines.h']]], - ['workwithadl_1057',['WorkWithADL',['../c_sample__work_with_a_d_l.html',1,'domain_c_sample_Generic'],['../cpp_sample__work_with_a_d_l.html',1,'domain_cpp_sample_Generic']]], - ['write_1058',['Write',['../_d_o_x__i_a_d_l_x_i2_c__write.html',1,'DOX_IADLXI2C']]], - ['writelog_1059',['WriteLog',['../_d_o_x__i_a_d_l_x_log__write_log.html',1,'DOX_IADLXLog']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_17.html b/vendor/adlx/SDKDoc/html/search/all_17.html deleted file mode 100644 index 1ad5d34..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_17.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_17.js b/vendor/adlx/SDKDoc/html/search/all_17.js deleted file mode 100644 index c1b8719..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_17.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['x_1060',['x',['../group__structures_val.html#aa22bab0bfe9e1a768530aa8cab94662e',1,'ADLX_Point']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_18.html b/vendor/adlx/SDKDoc/html/search/all_18.html deleted file mode 100644 index 507d0f8..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_18.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_18.js b/vendor/adlx/SDKDoc/html/search/all_18.js deleted file mode 100644 index 4a22cc7..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_18.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['y_1061',['y',['../group__structures_val.html#a1b2e67a8ba86ac9f0393ee839658fe55',1,'ADLX_Point']]], - ['ycbcr_5f420_1062',['YCBCR_420',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba0287302d7ddd58f71f513f1b992d81ce',1,'ADLXDefines.h']]], - ['ycbcr_5f422_1063',['YCBCR_422',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949abad4d31dab8d82da2918cffe7665065001',1,'ADLXDefines.h']]], - ['ycbcr_5f444_1064',['YCBCR_444',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba85751e7c89b56b44e78fe89bfad9e652',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_19.html b/vendor/adlx/SDKDoc/html/search/all_19.html deleted file mode 100644 index e69289e..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_19.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_19.js b/vendor/adlx/SDKDoc/html/search/all_19.js deleted file mode 100644 index 1825ccc..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_19.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7eadlxhelper_1065',['~ADLXHelper',['../page_cpp_help_delete.html',1,'page_ADLXCppHelp']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_2.html b/vendor/adlx/SDKDoc/html/search/all_2.html deleted file mode 100644 index 02cfffc..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_2.js b/vendor/adlx/SDKDoc/html/search/all_2.js deleted file mode 100644 index 38aba56..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_2.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['bdffromadlxgpu_166',['BdfFromADLXGPU',['../_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html',1,'DOX_IADLMapping']]], - ['begin_167',['Begin',['../_d_o_x__i_a_d_l_x_list__begin.html',1,'DOX_IADLXList']]], - ['benefits_168',['Benefits',['../page_guide_bef.html',1,'page_adlxprogrammingguide']]], - ['biosinfo_169',['BIOSInfo',['../_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html',1,'DOX_IADLXGPU']]], - ['blue_170',['blue',['../group__structures_val.html#ad34c7449d0336a88ffd1cdbef31c2540',1,'ADLX_GamutColorSpace::blue()'],['../group__structures_val.html#a4080ff87d27524db90af579adfb83d72',1,'ADLX_UINT16_RGB::blue()']]], - ['boost_171',['Boost',['../c__boost.html',1,'domain_c_sample_3DGraphics'],['../cpp__boost.html',1,'domain_cpp_sample_3DGraphics']]], - ['bpc_5f10_172',['BPC_10',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6baaf8c112f48f64b58156bcbd3368fee1e',1,'ADLXDefines.h']]], - ['bpc_5f12_173',['BPC_12',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6baba8a9bc6354201651acc2dfed9bce5be',1,'ADLXDefines.h']]], - ['bpc_5f14_174',['BPC_14',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6bae6150c4c30145fa7b316577e56dfecf0',1,'ADLXDefines.h']]], - ['bpc_5f16_175',['BPC_16',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6bab3d477dbdc1ade25a89485357b8ee0ca',1,'ADLXDefines.h']]], - ['bpc_5f6_176',['BPC_6',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6ba2979beb1814574eb6d8a2d8bf7adca5c',1,'ADLXDefines.h']]], - ['bpc_5f8_177',['BPC_8',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6ba156db294ea7f1db8499f7c059343a5b4',1,'ADLXDefines.h']]], - ['building_20c_23_20bindings_20for_20adlx_178',['Building C# bindings for ADLX',['../page_guide_bindcsharp.html',1,'page_guide_qs']]], - ['building_20java_20bindings_20for_20adlx_179',['Building Java bindings for ADLX',['../page_guide_bindjava.html',1,'page_guide_qs']]], - ['building_20python_20bindings_20for_20adlx_180',['Building Python bindings for ADLX',['../page_guide_bindpy.html',1,'page_guide_qs']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_3.html b/vendor/adlx/SDKDoc/html/search/all_3.html deleted file mode 100644 index 39767b8..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_3.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_3.js b/vendor/adlx/SDKDoc/html/search/all_3.js deleted file mode 100644 index 20aaecc..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_3.js +++ /dev/null @@ -1,26 +0,0 @@ -var searchData= -[ - ['c_20samples_181',['C Samples',['../page_sample_c.html',1,'domain_samplePage']]], - ['c_23_20samples_182',['C# Samples',['../page_sample_cs.html',1,'domain_samplePage']]], - ['c_2b_2b_20samples_183',['C++ Samples',['../page_sample_cpp.html',1,'domain_samplePage']]], - ['centered_184',['CENTERED',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8fea53f811bc46dd28493ccb7260b2cc8f38',1,'ADLXDefines.h']]], - ['chill_185',['Chill',['../c__chill.html',1,'domain_c_sample_3DGraphics'],['../cpp__chill.html',1,'domain_cpp_sample_3DGraphics']]], - ['clear_186',['Clear',['../_d_o_x__i_a_d_l_x_list__clear.html',1,'DOX_IADLXList']]], - ['clearperformancemetricshistory_187',['ClearPerformanceMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['clearuser3dlut_188',['ClearUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['coefficienta0_189',['coefficientA0',['../group__structures_val.html#a82a0c072f26cc842b3a8323826142d66',1,'ADLX_RegammaCoeff']]], - ['coefficienta1_190',['coefficientA1',['../group__structures_val.html#a843c3fa65f49561ff7c057e63a7b678f',1,'ADLX_RegammaCoeff']]], - ['coefficienta2_191',['coefficientA2',['../group__structures_val.html#a9059213377ccbe262625666bdf6ce8a1',1,'ADLX_RegammaCoeff']]], - ['coefficienta3_192',['coefficientA3',['../group__structures_val.html#aaab4f232db08f8c41eeed3530737ece2',1,'ADLX_RegammaCoeff']]], - ['compatibility_193',['Compatibility',['../page_guide__compatibility.html',1,'page_guide_spe']]], - ['connectortype_194',['ConnectorType',['../_d_o_x__i_a_d_l_x_display__connector_type.html',1,'DOX_IADLXDisplay']]], - ['cpuusage_195',['CPUUsage',['../_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html',1,'DOX_IADLXSystemMetrics']]], - ['create_196',['Create',['../_d_o_x__i_a_d_l_x_simple_eyefinity__create.html',1,'DOX_IADLXSimpleEyefinity']]], - ['createnewresolution_197',['CreateNewResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['cs_5fbt2020_198',['CS_BT2020',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca39dc38d674d4dbbc54dde4383bb8c842',1,'ADLXDefines.h']]], - ['cs_5fdcip3_199',['CS_DCIP3',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8ccaef18171467fde57447ed94e29d9b4ebb',1,'ADLXDefines.h']]], - ['cs_5fnative_200',['CS_NATIVE',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca9e90a1fb63e1904946eb400980364fdc',1,'ADLXDefines.h']]], - ['cs_5fsrgb_201',['CS_SRGB',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca8eb37dfb98408e99d29c5c0290b03be8',1,'ADLXDefines.h']]], - ['cvt_202',['CVT',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2aa91863e8a8dc6a9708359251cb58da67',1,'ADLXDefines.h']]], - ['cvt_5frb_203',['CVT_RB',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2aa289f79dd3346e3b76f10622218ad88d',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_4.html b/vendor/adlx/SDKDoc/html/search/all_4.html deleted file mode 100644 index fc40463..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_4.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_4.js b/vendor/adlx/SDKDoc/html/search/all_4.js deleted file mode 100644 index cf2fe7b..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_4.js +++ /dev/null @@ -1,79 +0,0 @@ -var searchData= -[ - ['data_204',['data',['../group__structures_val.html#a6c9de079cb901629ad01e9b90df8d501',1,'ADLX_3DLUT_Data']]], - ['dbgview_205',['DBGVIEW',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67a212223605a82f278e4a43166f7ea5e55',1,'ADLXDefines.h']]], - ['degamma_5fcoefficients_206',['DEGAMMA_COEFFICIENTS',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda0cd33109106da8ea0637ff89a488c0e4',1,'ADLXDefines.h']]], - ['degamma_5framp_207',['DEGAMMA_RAMP',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fdab58305a50c2081e5495293490cfa036c',1,'ADLXDefines.h']]], - ['deleteresolution_208',['DeleteResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['desktop_209',['Desktop',['../desktop.html',1,'page_interfaces'],['../domain_c_sample__desktop.html',1,'page_sample_c'],['../domain_cpp_sample__desktop.html',1,'page_sample_cpp']]], - ['desktop_5fduplcate_210',['DESKTOP_DUPLCATE',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89ac96f7ed618b411fc68b0e1fe21f2e62c',1,'ADLXDefines.h']]], - ['desktop_5feyefinity_211',['DESKTOP_EYEFINITY',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89ac483eaf5310613780a7901e317b9b2a2',1,'ADLXDefines.h']]], - ['desktop_5fsingle_212',['DESKTOP_SINGLE',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89a03058f4b63d7d11fe6a5aa47154590a4',1,'ADLXDefines.h']]], - ['desktopsevent_213',['DesktopsEvent',['../c_sample_desktopevent.html',1,'domain_c_sample_globalsync'],['../cpp_sample_desktopevent.html',1,'domain_cpp_sample_globalsync']]], - ['destroy_214',['Destroy',['../_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html',1,'DOX_IADLXSimpleEyefinity']]], - ['destroyall_215',['DestroyAll',['../_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html',1,'DOX_IADLXSimpleEyefinity']]], - ['detailedtiming_216',['detailedTiming',['../group__structures_val.html#ab0cc9e42429d7dcb55187b1b7c9748dd',1,'ADLX_CustomResolution']]], - ['deviceid_217',['DeviceId',['../_d_o_x__i_a_d_l_x_g_p_u__device_id.html',1,'DOX_IADLXGPU']]], - ['disclaimers_218',['Disclaimers',['../page_legal__disclaimer.html',1,'page_legal']]], - ['display_219',['Display',['../display.html',1,'page_interfaces'],['../domain_c_sample__display.html',1,'page_sample_c'],['../domain_cpp_sample__display.html',1,'page_sample_cpp']]], - ['display3dlut_220',['Display3DLUT',['../c_sample_display3_d_l_u_t.html',1,'domain_c_sample_Display'],['../cpp_sample_display3_d_l_u_t.html',1,'domain_cpp_sample_Display']]], - ['display_5fcontype_5fcomposite_221',['DISPLAY_CONTYPE_COMPOSITE',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dadb930735bf83ac951478cfe1e48e988b',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fjpn_222',['DISPLAY_CONTYPE_CVDONGLE_JPN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dab31eb7b3e4b0af7a9c94c3c25ea96037',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fnoni2c_5fjpn_223',['DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da88efbc7121b0b8605d514253aee67b71',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fnoni2c_5fntsc_224',['DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da2d72a829a2749a5b73870051aa9ea532',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fntsc_225',['DISPLAY_CONTYPE_CVDONGLE_NTSC',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6ef67f9c7005bf44c7c9e09ba771a6d1',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdisplayport_226',['DISPLAY_CONTYPE_DISPLAYPORT',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da8b7f2b83c5165a353b89c8ee30f00926',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdvi_5fd_227',['DISPLAY_CONTYPE_DVI_D',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da66e9c3dc1143b21d451f1eeeda928922',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdvi_5fi_228',['DISPLAY_CONTYPE_DVI_I',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da976f94a4c526e32729689885d12b4974',1,'ADLXDefines.h']]], - ['display_5fcontype_5fedp_229',['DISPLAY_CONTYPE_EDP',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6e95611aba096c0c4e9fc4d39fa5b1aa',1,'ADLXDefines.h']]], - ['display_5fcontype_5fhdmi_5ftype_5fa_230',['DISPLAY_CONTYPE_HDMI_TYPE_A',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0ea53d6c677500162804e524be36389e',1,'ADLXDefines.h']]], - ['display_5fcontype_5fhdmi_5ftype_5fb_231',['DISPLAY_CONTYPE_HDMI_TYPE_B',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0f343261982b3c21d374c522e94dbf99',1,'ADLXDefines.h']]], - ['display_5fcontype_5fproprietary_232',['DISPLAY_CONTYPE_PROPRIETARY',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da34fc9104608a5827f65b4966c53a215e',1,'ADLXDefines.h']]], - ['display_5fcontype_5frca_5f3component_233',['DISPLAY_CONTYPE_RCA_3COMPONENT',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6115b6cde3b24f5c0f1f30a551c6f302',1,'ADLXDefines.h']]], - ['display_5fcontype_5fsvideo_234',['DISPLAY_CONTYPE_SVIDEO',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dab0d21daf08250dd0addd6d38c6bde568',1,'ADLXDefines.h']]], - ['display_5fcontype_5funknown_235',['DISPLAY_CONTYPE_UNKNOWN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da294e0c1bbb3ca9ccd0b4c9872f697f66',1,'ADLXDefines.h']]], - ['display_5fcontype_5fusb_5ftype_5fc_236',['DISPLAY_CONTYPE_USB_TYPE_C',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dabcdfb70a8ce8756085bc779863d633cb',1,'ADLXDefines.h']]], - ['display_5fcontype_5fvga_237',['DISPLAY_CONTYPE_VGA',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dafb7606e80d94f991f4adf02a785de52e',1,'ADLXDefines.h']]], - ['display_5fcontype_5fwirelessdisplay_238',['DISPLAY_CONTYPE_WIRELESSDISPLAY',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0dcdd2ed087cd3a4dd1deaa4be25e20c',1,'ADLXDefines.h']]], - ['display_5ftype_5fcomponent_5fvideo_239',['DISPLAY_TYPE_COMPONENT_VIDEO',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44ad1962a730c65ae86adf85285b5e3fe5c',1,'ADLXDefines.h']]], - ['display_5ftype_5fdigital_5fflat_5fpanel_240',['DISPLAY_TYPE_DIGITAL_FLAT_PANEL',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a2e71d866e8fc16c2142042a063cf5c14',1,'ADLXDefines.h']]], - ['display_5ftype_5flcd_5fpanel_241',['DISPLAY_TYPE_LCD_PANEL',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a95122594fce234a2f413fa5bacfbb0b8',1,'ADLXDefines.h']]], - ['display_5ftype_5fmonitor_242',['DISPLAY_TYPE_MONITOR',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44aa2fa6d64ccb655bb744838972531f814',1,'ADLXDefines.h']]], - ['display_5ftype_5fprojector_243',['DISPLAY_TYPE_PROJECTOR',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44aecf18dcce9017bc96ad10dda0c5f5d37',1,'ADLXDefines.h']]], - ['display_5ftype_5ftelevision_244',['DISPLAY_TYPE_TELEVISION',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a8b6bf038d0bc3fa0407ec57552fb6c3a',1,'ADLXDefines.h']]], - ['display_5ftype_5funkown_245',['DISPLAY_TYPE_UNKOWN',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a4a0fe4e9feb3a06c58be5aca25d8c218',1,'ADLXDefines.h']]], - ['displayblanking_246',['DisplayBlanking',['../c_sample_display_blanking.html',1,'domain_c_sample_Display'],['../cpp_sample_display_blanking.html',1,'domain_cpp_sample_Display']]], - ['displaycolordepth_247',['DisplayColorDepth',['../c_display__color_depth.html',1,'domain_c_sample_Display'],['../cpp_display__color_depth.html',1,'domain_cpp_sample_Display']]], - ['displayconnectivityexperience_248',['DisplayConnectivityExperience',['../c_display__display_connectivity_experience.html',1,'domain_c_sample_Display'],['../cpp_display__display_connectivity_experience.html',1,'domain_cpp_sample_Display']]], - ['displaycustomcolor_249',['DisplayCustomColor',['../c_display__custom_color.html',1,'domain_c_sample_Display'],['../cpp_display__custom_color.html',1,'domain_cpp_sample_Display']]], - ['displaycustomresolution_250',['DisplayCustomResolution',['../c_display__custom_resolution.html',1,'domain_c_sample_Display'],['../cpp_display__custom_resolution.html',1,'domain_cpp_sample_Display']]], - ['displayevents_251',['DisplayEvents',['../c_sample_display_events.html',1,'domain_c_sample_Display'],['../cpp_sample_display_events.html',1,'domain_cpp_sample_Display'],['../cs_sample_display_events.html',1,'page_sample_cs'],['../java_sample_display_events.html',1,'page_sample_java'],['../py_sample_display_events.html',1,'page_sample_py']]], - ['displayfreesync_252',['DisplayFreeSync',['../c_display__free_sync.html',1,'domain_c_sample_Display'],['../cpp_display__free_sync.html',1,'domain_cpp_sample_Display']]], - ['displaygamma_253',['DisplayGamma',['../c_sample_display_gamma.html',1,'domain_c_sample_Display'],['../cpp_sample_display_gamma.html',1,'domain_cpp_sample_Display']]], - ['displaygamut_254',['DisplayGamut',['../c_sample_display_gamut.html',1,'domain_c_sample_Display'],['../cpp_sample_display_gamut.html',1,'domain_cpp_sample_Display']]], - ['displaygpuscaling_255',['DisplayGPUScaling',['../c_display__g_p_u_scaling.html',1,'domain_c_sample_Display'],['../cpp_display__g_p_u_scaling.html',1,'domain_cpp_sample_Display']]], - ['displayhdcp_256',['DisplayHDCP',['../c_display__h_d_c_p.html',1,'domain_c_sample_Display'],['../cpp_display__h_d_c_p.html',1,'domain_cpp_sample_Display']]], - ['displayinfo_257',['DisplayInfo',['../c_sample_displayinfo.html',1,'domain_c_sample_Display'],['../cpp_sample_displayinfo.html',1,'domain_cpp_sample_Display'],['../cs_sample_displayinfo.html',1,'page_sample_cs'],['../java_sample_displayinfo.html',1,'page_sample_java'],['../py_sample_displayinfo.html',1,'page_sample_py']]], - ['displayintegerscaling_258',['DisplayIntegerScaling',['../c_display__integer_scaling.html',1,'domain_c_sample_Display'],['../cpp_display__integer_scaling.html',1,'domain_cpp_sample_Display']]], - ['displayorientation_259',['DisplayOrientation',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaypixelformat_260',['DisplayPixelFormat',['../c_display__pixel_format.html',1,'domain_c_sample_Display'],['../cpp_display__pixel_format.html',1,'domain_cpp_sample_Display']]], - ['displayscalingmode_261',['DisplayScalingMode',['../c_display__scaling_mode.html',1,'domain_c_sample_Display'],['../cpp_display__scaling_mode.html',1,'domain_cpp_sample_Display']]], - ['displaysize_262',['DisplaySize',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaytopleft_263',['DisplayTopLeft',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaytype_264',['DisplayType',['../_d_o_x__i_a_d_l_x_display__display_type.html',1,'DOX_IADLXDisplay']]], - ['displayvaribright_265',['DisplayVariBright',['../c_display__display_vari_bright.html',1,'domain_c_sample_Display'],['../cpp_display__display_vari_bright.html',1,'domain_cpp_sample_Display']]], - ['displayvsr_266',['DisplayVSR',['../c_display__v_s_r.html',1,'domain_c_sample_Display'],['../cpp_display__v_s_r.html',1,'domain_cpp_sample_Display']]], - ['dmt_267',['DMT',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2a051eae001856e3b72c6d5f9acf8cadf8',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f2_5f16gbps_268',['DP_LINK_RATE_2_16GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeae87c9d32213824676ec6543f5a3c61b7',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f2_5f43gbps_269',['DP_LINK_RATE_2_43GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea4a9e8270d9b68125a6110a27656b8997',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f4_5f32gbps_270',['DP_LINK_RATE_4_32GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea3372eca0cefeed18988085434d499e3a',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr_271',['DP_LINK_RATE_HBR',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea35645d5d751c605c68d7510626b83c56',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr2_272',['DP_LINK_RATE_HBR2',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea77934704361a860998a76317c52f8b03',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr3_273',['DP_LINK_RATE_HBR3',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea109f634075691572ff18a40be6158252',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5frbr_274',['DP_LINK_RATE_RBR',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea63d5dd3686f86a0119d1cf331f1edca2',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr10_275',['DP_LINK_RATE_UHBR10',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeac78010f42a30fe04e7306d302a3d1245',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr13d5_276',['DP_LINK_RATE_UHBR13D5',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeead12cd6f6bb23b34a3f7878586a0fc730',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr20_277',['DP_LINK_RATE_UHBR20',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeaf2289ad0d49b5e1b667619a2c90fb5f4',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5funknown_278',['DP_LINK_RATE_UNKNOWN',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea04bc6767a7efdf5d1a743582793bf719',1,'ADLXDefines.h']]], - ['driverpath_279',['DriverPath',['../_d_o_x__i_a_d_l_x_g_p_u__driver_path.html',1,'DOX_IADLXGPU']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_5.html b/vendor/adlx/SDKDoc/html/search/all_5.html deleted file mode 100644 index 9dd9344..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_5.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_5.js b/vendor/adlx/SDKDoc/html/search/all_5.js deleted file mode 100644 index c3d8134..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_5.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['edid_280',['EDID',['../_d_o_x__i_a_d_l_x_display__e_d_i_d.html',1,'DOX_IADLXDisplay']]], - ['empty_281',['Empty',['../_d_o_x__i_a_d_l_x_list__empty.html',1,'DOX_IADLXList']]], - ['enablelog_282',['EnableLog',['../_d_o_x__i_a_d_l_x_system__enable_log.html',1,'DOX_IADLXSystem']]], - ['end_283',['End',['../_d_o_x__i_a_d_l_x_list__end.html',1,'DOX_IADLXList']]], - ['enhancedsync_284',['EnhancedSync',['../c__enhanced_sync.html',1,'domain_c_sample_3DGraphics'],['../cpp__enhanced_sync.html',1,'domain_cpp_sample_3DGraphics']]], - ['eyefinity_285',['Eyefinity',['../c_sample_eyefinity.html',1,'domain_c_sample_Desktop'],['../cpp_sample_eyefinity.html',1,'domain_cpp_sample_Desktop']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_6.html b/vendor/adlx/SDKDoc/html/search/all_6.html deleted file mode 100644 index f1e516d..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_6.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_6.js b/vendor/adlx/SDKDoc/html/search/all_6.js deleted file mode 100644 index 585dde8..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_6.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['format_5funknown_286',['FORMAT_UNKNOWN',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba0b0be2c946e4690b69fc97b9aabc262f',1,'ADLXDefines.h']]], - ['fps_287',['FPS',['../_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html',1,'DOX_IADLXFPS']]], - ['frtc_288',['FRTC',['../c__f_r_t_c.html',1,'domain_c_sample_3DGraphics'],['../cpp__f_r_t_c.html',1,'domain_cpp_sample_3DGraphics']]], - ['full_5fpanel_289',['FULL_PANEL',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8fea52e5d81a538ca03d28c5d3d0dd33662c',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_7.html b/vendor/adlx/SDKDoc/html/search/all_7.html deleted file mode 100644 index 8ddbf6c..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_7.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_7.js b/vendor/adlx/SDKDoc/html/search/all_7.js deleted file mode 100644 index e1d967d..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_7.js +++ /dev/null @@ -1,209 +0,0 @@ -var searchData= -[ - ['gamma_290',['gamma',['../group__structures_val.html#acd3904c27f6266d67f9b22e709f177af',1,'ADLX_GammaRamp::gamma()'],['../group__structures_val.html#a3a743f1e79a8a4850642c819a1fae248',1,'ADLX_RegammaCoeff::gamma()']]], - ['gamut_5fspace_5fadobe_5frgb_291',['GAMUT_SPACE_ADOBE_RGB',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a81ccdc7e5afcb1abd12340eb5fa47301',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f2020_292',['GAMUT_SPACE_CCIR_2020',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14adff8da50fc2428d3274deb186a9e363d',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f601_293',['GAMUT_SPACE_CCIR_601',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14ab1622dfde8daae9398a0a245c4798935',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f709_294',['GAMUT_SPACE_CCIR_709',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a6d2c65316d5efd3aee2454740657b8be',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fcie_5frgb_295',['GAMUT_SPACE_CIE_RGB',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a5d7ae134656c91cc92e397e996fadd58',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fcustom_296',['GAMUT_SPACE_CUSTOM',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a74d331b6c316667fc652ce6bf76daf49',1,'ADLXDefines.h']]], - ['gamutb_297',['gamutB',['../group__structures_val.html#a75b06f09bda103527d0c6a3cb1347b0e',1,'ADLX_RGB']]], - ['gamutg_298',['gamutG',['../group__structures_val.html#a7540762d60fe2d8cdad1162521f6e452',1,'ADLX_RGB']]], - ['gamutr_299',['gamutR',['../group__structures_val.html#a8a53f770bc4486014dc6fdeeaef4e483',1,'ADLX_RGB']]], - ['get3dlut_300',['Get3DLUT',['../_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html',1,'DOX_IADLXDisplayServices']]], - ['get3dsettingschangedhandling_301',['Get3DSettingsChangedHandling',['../_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html',1,'DOX_IADLX3DSettingsServices']]], - ['get3dsettingsservices_302',['Get3DSettingsServices',['../_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html',1,'DOX_IADLXSystem']]], - ['getadlmapping_303',['GetAdlMapping',['../page_cpp_help_get_adl_mapping.html',1,'page_ADLXCppHelp']]], - ['getadlxdesktopfromadlids_304',['GetADLXDesktopFromADLIds',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html',1,'DOX_IADLMapping']]], - ['getadlxdisplayfromadlids_305',['GetADLXDisplayFromADLIds',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html',1,'DOX_IADLMapping']]], - ['getadlxgpufromadladapterindex_306',['GetADLXGPUFromAdlAdapterIndex',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html',1,'DOX_IADLMapping']]], - ['getadlxgpufrombdf_307',['GetADLXGPUFromBdf',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html',1,'DOX_IADLMapping']]], - ['getallmetricshistory_308',['GetAllMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getalluser3dlut_309',['GetAllUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getanisotropicfiltering_310',['GetAnisotropicFiltering',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html',1,'DOX_IADLX3DSettingsServices']]], - ['getantialiasing_311',['GetAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html',1,'DOX_IADLX3DSettingsServices']]], - ['getantilag_312',['GetAntiLag',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html',1,'DOX_IADLX3DSettingsServices']]], - ['getautotuning_313',['GetAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getbias_314',['GetBias',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html',1,'DOX_IADLXSmartShiftMax']]], - ['getbiasmode_315',['GetBiasMode',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html',1,'DOX_IADLXSmartShiftMax']]], - ['getbiasrange_316',['GetBiasRange',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html',1,'DOX_IADLXSmartShiftMax']]], - ['getboost_317',['GetBoost',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html',1,'DOX_IADLX3DSettingsServices']]], - ['getbrightness_318',['GetBrightness',['../_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getbrightnessrange_319',['GetBrightnessRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getchill_320',['GetChill',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html',1,'DOX_IADLX3DSettingsServices']]], - ['getcolordepth_321',['GetColorDepth',['../_d_o_x__i_a_d_l_x_display_services__get_color_depth.html',1,'DOX_IADLXDisplayServices']]], - ['getcontrast_322',['GetContrast',['../_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getcontrastrange_323',['GetContrastRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getcpuusagerange_324',['GetCPUUsageRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getcurrentallmetrics_325',['GetCurrentAllMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentappliedresolution_326',['GetCurrentAppliedResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['getcurrentfps_327',['GetCurrentFPS',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentgpumetrics_328',['GetCurrentGPUMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentperformancemetricshistorysize_329',['GetCurrentPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentsystemmetrics_330',['GetCurrentSystemMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcustomcolor_331',['GetCustomColor',['../_d_o_x__i_a_d_l_x_display_services__get_custom_color.html',1,'DOX_IADLXDisplayServices']]], - ['getcustomresolution_332',['GetCustomResolution',['../_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html',1,'DOX_IADLXDisplayServices']]], - ['getdescription_333',['GetDescription',['../_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html',1,'DOX_IADLXMemoryTimingDescription']]], - ['getdesktopchangedhandling_334',['GetDesktopChangedHandling',['../_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html',1,'DOX_IADLXDesktopServices']]], - ['getdesktops_335',['GetDesktops',['../_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html',1,'DOX_IADLXDesktopServices']]], - ['getdesktopsservices_336',['GetDesktopsServices',['../_d_o_x__i_a_d_l_x_system__get_desktops_services.html',1,'DOX_IADLXSystem']]], - ['getdisplay_337',['GetDisplay',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html',1,'DOX_IADLXDisplay3DLUTChangedEvent'],['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html',1,'DOX_IADLXDisplayGammaChangedEvent'],['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html',1,'DOX_IADLXDisplayGamutChangedEvent'],['../_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html',1,'DOX_IADLXDisplaySettingsChangedEvent'],['../_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html',1,'DOX_IADLXEyefinityDesktop']]], - ['getdisplayblanking_338',['GetDisplayBlanking',['../_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html',1,'DOX_IADLXDisplayServices1']]], - ['getdisplaychangedhandling_339',['GetDisplayChangedHandling',['../_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html',1,'DOX_IADLXDisplayServices']]], - ['getdisplayconnectivityexperience_340',['GetDisplayConnectivityExperience',['../_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html',1,'DOX_IADLXDisplayServices2']]], - ['getdisplays_341',['GetDisplays',['../_d_o_x__i_a_d_l_x_desktop__get_displays.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_display_services__get_displays.html',1,'DOX_IADLXDisplayServices']]], - ['getdisplaysservices_342',['GetDisplaysServices',['../_d_o_x__i_a_d_l_x_system__get_displays_services.html',1,'DOX_IADLXSystem']]], - ['getdplinkrate_343',['GetDPLinkRate',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getemptyfantuningstates_344',['GetEmptyFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['getemptygputuningstates_345',['GetEmptyGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getemptyvramtuningstates_346',['GetEmptyVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getenhancedsync_347',['GetEnhancedSync',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html',1,'DOX_IADLX3DSettingsServices']]], - ['getfanspeed_348',['GetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html',1,'DOX_IADLXManualFanTuningState']]], - ['getfantuningranges_349',['GetFanTuningRanges',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html',1,'DOX_IADLXManualFanTuning']]], - ['getfantuningstates_350',['GetFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['getfps_351',['GetFPS',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html',1,'DOX_IADLXAllMetrics']]], - ['getfpshistory_352',['GetFPSHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getfpsrange_353',['GetFPSRange',['../_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html',1,'DOX_IADLX3DFrameRateTargetControl']]], - ['getframeratetargetcontrol_354',['GetFrameRateTargetControl',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html',1,'DOX_IADLX3DSettingsServices']]], - ['getfreesync_355',['GetFreeSync',['../_d_o_x__i_a_d_l_x_display_services__get_free_sync.html',1,'DOX_IADLXDisplayServices']]], - ['getfrequency_356',['GetFrequency',['../_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html',1,'DOX_IADLXManualTuningState']]], - ['getgamma_357',['GetGamma',['../_d_o_x__i_a_d_l_x_display_services__get_gamma.html',1,'DOX_IADLXDisplayServices']]], - ['getgammacoefficient_358',['GetGammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['getgammaramp_359',['GetGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['getgamut_360',['GetGamut',['../_d_o_x__i_a_d_l_x_display_services__get_gamut.html',1,'DOX_IADLXDisplayServices']]], - ['getgamutcolorspace_361',['GetGamutColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['getgpu_362',['GetGPU',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html',1,'DOX_IADLX3DSettingsChangedEvent'],['../_d_o_x__i_a_d_l_x_display__get_g_p_u.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['getgpuclockspeedrange_363',['GetGPUClockSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpufanspeedrange_364',['GetGPUFanSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuhotspottemperaturerange_365',['GetGPUHotspotTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuintaketemperaturerange_366',['GetGPUIntakeTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpumaxfrequency_367',['GetGPUMaxFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpumaxfrequencyrange_368',['GetGPUMaxFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpumetrics_369',['GetGPUMetrics',['../_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html',1,'DOX_IADLXAllMetrics']]], - ['getgpumetricshistory_370',['GetGPUMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getgpuminfrequency_371',['GetGPUMinFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuminfrequencyrange_372',['GetGPUMinFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpupowerrange_373',['GetGPUPowerRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpus_374',['GetGPUs',['../_d_o_x__i_a_d_l_x_system__get_g_p_us.html',1,'DOX_IADLXSystem']]], - ['getgpuscaling_375',['GetGPUScaling',['../_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html',1,'DOX_IADLXDisplayServices']]], - ['getgpuschangedhandling_376',['GetGPUsChangedHandling',['../_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html',1,'DOX_IADLXSystem']]], - ['getgputemperaturerange_377',['GetGPUTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgputotalboardpowerrange_378',['GetGPUTotalBoardPowerRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgputuningchangedhandling_379',['GetGPUTuningChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html',1,'DOX_IADLXGPUTuningServices']]], - ['getgputuningranges_380',['GetGPUTuningRanges',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getgputuningservices_381',['GetGPUTuningServices',['../_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html',1,'DOX_IADLXSystem']]], - ['getgputuningstates_382',['GetGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getgpuusagerange_383',['GetGPUUsageRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuvoltage_384',['GetGPUVoltage',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuvoltagerange_385',['GetGPUVoltageRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html',1,'DOX_IADLXGPUMetricsSupport'],['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuvramclockspeedrange_386',['GetGPUVRAMClockSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuvramrange_387',['GetGPUVRAMRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['gethdcp_388',['GetHDCP',['../_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html',1,'DOX_IADLXDisplayServices']]], - ['gethdruser3dlut_389',['GetHDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['gethue_390',['GetHue',['../_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html',1,'DOX_IADLXDisplayCustomColor']]], - ['gethuerange_391',['GetHueRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['geti2c_392',['GetI2C',['../_d_o_x__i_a_d_l_x_system__get_i2_c.html',1,'DOX_IADLXSystem']]], - ['getimagesharpening_393',['GetImageSharpening',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html',1,'DOX_IADLX3DSettingsServices']]], - ['getintegerscaling_394',['GetIntegerScaling',['../_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html',1,'DOX_IADLXDisplayServices']]], - ['getlevel_395',['GetLevel',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html',1,'DOX_IADLX3DAntiLag1'],['../_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html',1,'DOX_IADLX3DTessellation']]], - ['getmanualfantuning_396',['GetManualFanTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualgfxtuning_397',['GetManualGFXTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualpowertuning_398',['GetManualPowerTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualvramtuning_399',['GetManualVRAMTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmaxfps_400',['GetMaxFPS',['../_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['getmaxperformancemetricshistorysize_401',['GetMaxPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getmaxperformancemetricshistorysizerange_402',['GetMaxPerformanceMetricsHistorySizeRange',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getmaxvramfrequency_403',['GetMaxVRAMFrequency',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmaxvramfrequencyrange_404',['GetMaxVRAMFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmemorytimingdescription_405',['GetMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmethod_406',['GetMethod',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html',1,'DOX_IADLX3DAntiAliasing']]], - ['getminacousticlimit_407',['GetMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['getminacousticlimitrange_408',['GetMinAcousticLimitRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfanspeed_409',['GetMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfanspeedrange_410',['GetMinFanSpeedRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfps_411',['GetMinFPS',['../_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['getmode_412',['GetMode',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html',1,'DOX_IADLXDisplayScalingMode']]], - ['getmorphologicalantialiasing_413',['GetMorphologicalAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html',1,'DOX_IADLX3DSettingsServices']]], - ['getnumberofactivelanes_414',['GetNumberOfActiveLanes',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getnumberofdesktops_415',['GetNumberOfDesktops',['../_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html',1,'DOX_IADLXDesktopServices']]], - ['getnumberofdisplays_416',['GetNumberOfDisplays',['../_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html',1,'DOX_IADLXDisplayServices']]], - ['getnumberoftotallanes_417',['GetNumberOfTotalLanes',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getorigin_418',['GetOrigin',['../_d_o_x__i_a_d_l_x_changed_event__get_origin.html',1,'DOX_IADLXChangedEvent']]], - ['getperformancemonitoringservices_419',['GetPerformanceMonitoringServices',['../_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html',1,'DOX_IADLXSystem']]], - ['getpixelformat_420',['GetPixelFormat',['../_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html',1,'DOX_IADLXDisplayServices']]], - ['getpowerlimit_421',['GetPowerLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['getpowerlimitrange_422',['GetPowerLimitRange',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html',1,'DOX_IADLXManualPowerTuning']]], - ['getpowertuningchangedhandling_423',['GetPowerTuningChangedHandling',['../_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html',1,'DOX_IADLXPowerTuningServices']]], - ['getpowertuningservices_424',['GetPowerTuningServices',['../_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html',1,'DOX_IADLXSystem1']]], - ['getpresettuning_425',['GetPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getradeonsuperresolution_426',['GetRadeonSuperResolution',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html',1,'DOX_IADLX3DSettingsServices']]], - ['getrelativepreemphasis_427',['GetRelativePreEmphasis',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getrelativevoltageswing_428',['GetRelativeVoltageSwing',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getresetshadercache_429',['GetResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html',1,'DOX_IADLX3DSettingsServices']]], - ['getresolution_430',['GetResolution',['../_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html',1,'DOX_IADLX3DBoost']]], - ['getresolutionlist_431',['GetResolutionList',['../_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['getresolutionrange_432',['GetResolutionRange',['../_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html',1,'DOX_IADLX3DBoost']]], - ['getsamplinginterval_433',['GetSamplingInterval',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsamplingintervalrange_434',['GetSamplingIntervalRange',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsaturation_435',['GetSaturation',['../_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getsaturationrange_436',['GetSaturationRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getscalingmode_437',['GetScalingMode',['../_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html',1,'DOX_IADLXDisplayServices']]], - ['getscedynamiccontrast_438',['GetSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getscedynamiccontrastrange_439',['GetSCEDynamicContrastRange',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getsdruser3dlut_440',['GetSDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getsharpness_441',['GetSharpness',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['getsharpnessrange_442',['GetSharpnessRange',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['getsimpleeyefinity_443',['GetSimpleEyefinity',['../_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html',1,'DOX_IADLXDesktopServices']]], - ['getsmartaccessmemory_444',['GetSmartAccessMemory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html',1,'DOX_IADLXGPUTuningServices1']]], - ['getsmartaccessmemorystatus_445',['GetSmartAccessMemoryStatus',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html',1,'DOX_IADLXGPUTuningChangedEvent1']]], - ['getsmartshiftmax_446',['GetSmartShiftMax',['../_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html',1,'DOX_IADLXPowerTuningServices']]], - ['getsmartshiftrange_447',['GetSmartShiftRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getsupportedgpumetrics_448',['GetSupportedGPUMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsupportedmemorytimingdescriptionlist_449',['GetSupportedMemoryTimingDescriptionList',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getsupportedsystemmetrics_450',['GetSupportedSystemMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsystemmetrics_451',['GetSystemMetrics',['../_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html',1,'DOX_IADLXAllMetrics']]], - ['getsystemmetricshistory_452',['GetSystemMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsystemramrange_453',['GetSystemRAMRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getsystemservices_454',['GetSystemServices',['../page_cpp_help_get_system_services.html',1,'page_ADLXCppHelp']]], - ['gettargetfanspeed_455',['GetTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['gettargetfanspeedrange_456',['GetTargetFanSpeedRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html',1,'DOX_IADLXManualFanTuning']]], - ['gettdclimit_457',['GetTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['gettdclimitrange_458',['GetTDCLimitRange',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html',1,'DOX_IADLXManualPowerTuning']]], - ['gettemperature_459',['GetTemperature',['../_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html',1,'DOX_IADLXDisplayCustomColor'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html',1,'DOX_IADLXManualFanTuningState']]], - ['gettemperaturerange_460',['GetTemperatureRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['gettessellation_461',['GetTessellation',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html',1,'DOX_IADLX3DSettingsServices']]], - ['getuser3dlutindex_462',['GetUser3DLUTIndex',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getvalue_463',['GetValue',['../_d_o_x__i_a_d_l_x_display_color_depth__get_value.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_resolution__get_value.html',1,'DOX_IADLXDisplayResolution']]], - ['getvaribright_464',['GetVariBright',['../_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html',1,'DOX_IADLXDisplayServices']]], - ['getvirtualsuperresolution_465',['GetVirtualSuperResolution',['../_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html',1,'DOX_IADLXDisplayServices']]], - ['getvoltage_466',['GetVoltage',['../_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html',1,'DOX_IADLXManualTuningState']]], - ['getvramtuningranges_467',['GetVRAMTuningRanges',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getvramtuningstates_468',['GetVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getwaitforverticalrefresh_469',['GetWaitForVerticalRefresh',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html',1,'DOX_IADLX3DSettingsServices']]], - ['getwhitepoint_470',['GetWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['getzerorpmstate_471',['GetZeroRPMState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html',1,'DOX_IADLXManualFanTuning']]], - ['gpixelclock_472',['GPixelClock',['../group__structures_val.html#adbbd4af06563688dca57c04d58c0ce7c',1,'ADLX_CustomResolution']]], - ['gpu_473',['GPU',['../gpu.html',1,'page_interfaces']]], - ['gpu_20tuning_474',['GPU Tuning',['../domain_c_sample__g_p_u_tuning.html',1,'page_sample_c'],['../domain_cpp_sample__g_p_u_tuning.html',1,'page_sample_cpp'],['../gputuning.html',1,'page_interfaces']]], - ['gpuautotuning_475',['GPUAutoTuning',['../c__g_p_u_auto_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__g_p_u_auto_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['gpuclockspeed_476',['GPUClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['gpufanspeed_477',['GPUFanSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuhotspottemperature_478',['GPUHotspotTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuintaketemperature_479',['GPUIntakeTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gpupower_480',['GPUPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html',1,'DOX_IADLXGPUMetrics']]], - ['gpupresettuning_481',['GPUPresetTuning',['../c__g_p_u_preset_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__g_p_u_preset_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['gpus_482',['GPUs',['../c_sample_gpus.html',1,'domain_c_sample_Generic'],['../cpp_sample_gpus.html',1,'domain_cpp_sample_Generic']]], - ['gpuservicecall_483',['GPUServiceCall',['../c_sample__g_p_u_service_call.html',1,'domain_c_sample_servicecall'],['../cpp_sample__g_p_u_service_call.html',1,'domain_cpp_sample_servicecall']]], - ['gputemperature_484',['GPUTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gputotalboardpower_485',['GPUTotalBoardPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html',1,'DOX_IADLXGPUMetrics']]], - ['gputype_5fdiscrete_486',['GPUTYPE_DISCRETE',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34a5aa5ebc90d45840cfadec5bd25e50423',1,'ADLXDefines.h']]], - ['gputype_5fintegrated_487',['GPUTYPE_INTEGRATED',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34af54e5303fc76110709462383628c0d5b',1,'ADLXDefines.h']]], - ['gputype_5fundefined_488',['GPUTYPE_UNDEFINED',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34ace1bf6380e6eb87aec4f7879f4d117c9',1,'ADLXDefines.h']]], - ['gpuusage_489',['GPUUsage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvoltage_490',['GPUVoltage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvram_491',['GPUVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvramclockspeed_492',['GPUVRAMClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['green_493',['green',['../group__structures_val.html#a34a0f0cc6253a1238f5115694538607f',1,'ADLX_UINT16_RGB::green()'],['../group__structures_val.html#a84a443716c92b943096a38c0128cb197',1,'ADLX_GamutColorSpace::green()']]], - ['gridsize_494',['GridSize',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html',1,'DOX_IADLXEyefinityDesktop']]], - ['gtf_495',['GTF',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2ab1b85071af6cee6911203f8f850eb2bd',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_8.html b/vendor/adlx/SDKDoc/html/search/all_8.html deleted file mode 100644 index 83c55ae..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_8.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_8.js b/vendor/adlx/SDKDoc/html/search/all_8.js deleted file mode 100644 index ea6b3ea..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_8.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['hasdesktops_496',['HasDesktops',['../_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html',1,'DOX_IADLXGPU']]], - ['hdisplay_497',['hDisplay',['../group__structures_val.html#ad3eb58c10b751db671278ca94b885988',1,'ADLX_TimingInfo']]], - ['hfrontporch_498',['hFrontPorch',['../group__structures_val.html#ac826892a2d80335e0c2f186b28f26192',1,'ADLX_TimingInfo']]], - ['hpolarity_499',['hPolarity',['../group__structures_val.html#ab52652a6f236acc894a2e11568478cbc',1,'ADLX_TimingInfo']]], - ['hsyncwidth_500',['hSyncWidth',['../group__structures_val.html#a15cd71c7542b0e1eb0dfdfd5e72b394b',1,'ADLX_TimingInfo']]], - ['htotal_501',['hTotal',['../group__structures_val.html#a154ba5b960ca87bc12e18fdca4327844',1,'ADLX_TimingInfo']]], - ['hybridgraphicstype_502',['HybridGraphicsType',['../_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html',1,'DOX_IADLXSystem']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_9.html b/vendor/adlx/SDKDoc/html/search/all_9.html deleted file mode 100644 index 1e263c1..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_9.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_9.js b/vendor/adlx/SDKDoc/html/search/all_9.js deleted file mode 100644 index 5546c87..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_9.js +++ /dev/null @@ -1,302 +0,0 @@ -var searchData= -[ - ['i2c_503',['I2C',['../c__i2_c.html',1,'domain_c_sample_I2C'],['../cpp__i2_c.html',1,'domain_cpp_sample_I2C'],['../domain_c_sample__i2_c.html',1,'page_sample_c'],['../domain_cpp_sample__i2_c.html',1,'page_sample_cpp'],['../i2c.html',1,'page_interfaces']]], - ['i2c_5fline_5fod_5fcontrol_504',['I2C_LINE_OD_CONTROL',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a15d9e2ca15e335f0b8551dfc9c78a9fd',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem_505',['I2C_LINE_OEM',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67ab041e1bec4cf6e632b086e0bd32d845b',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem2_506',['I2C_LINE_OEM2',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a397ea3400420f6a75ec671eec8318bd9',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem3_507',['I2C_LINE_OEM3',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67ad8562c2a23b5240016bec9febd7e5534',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem4_508',['I2C_LINE_OEM4',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a3bfe8c54790986904c38ed63660d4467',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem5_509',['I2C_LINE_OEM5',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a59f3010d90dd125a1d137cab702b5058',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem6_510',['I2C_LINE_OEM6',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67afe60e6b9655ad805099288bf89647a1e',1,'ADLXDefines.h']]], - ['iadlmapping_511',['IADLMapping',['../_d_o_x__i_a_d_l_mapping.html',1,'misc']]], - ['iadlx3danisotropicfiltering_512',['IADLX3DAnisotropicFiltering',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html',1,'gfx3dgraphics']]], - ['iadlx3dantialiasing_513',['IADLX3DAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing.html',1,'gfx3dgraphics']]], - ['iadlx3dantilag_514',['IADLX3DAntiLag',['../_d_o_x__i_a_d_l_x3_d_anti_lag.html',1,'gfx3dgraphics']]], - ['iadlx3dantilag1_515',['IADLX3DAntiLag1',['../_d_o_x__i_a_d_l_x3_d_anti_lag1.html',1,'gfx3dgraphics']]], - ['iadlx3dboost_516',['IADLX3DBoost',['../_d_o_x__i_a_d_l_x3_d_boost.html',1,'gfx3dgraphics']]], - ['iadlx3dchill_517',['IADLX3DChill',['../_d_o_x__i_a_d_l_x3_d_chill.html',1,'gfx3dgraphics']]], - ['iadlx3denhancedsync_518',['IADLX3DEnhancedSync',['../_d_o_x__i_a_d_l_x3_d_enhanced_sync.html',1,'gfx3dgraphics']]], - ['iadlx3dframeratetargetcontrol_519',['IADLX3DFrameRateTargetControl',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html',1,'gfx3dgraphics']]], - ['iadlx3dimagesharpening_520',['IADLX3DImageSharpening',['../_d_o_x__i_a_d_l_x3_d_image_sharpening.html',1,'gfx3dgraphics']]], - ['iadlx3dmorphologicalantialiasing_521',['IADLX3DMorphologicalAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html',1,'gfx3dgraphics']]], - ['iadlx3dradeonsuperresolution_522',['IADLX3DRadeonSuperResolution',['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html',1,'gfx3dgraphics']]], - ['iadlx3dresetshadercache_523',['IADLX3DResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedevent_524',['IADLX3DSettingsChangedEvent',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedhandling_525',['IADLX3DSettingsChangedHandling',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedlistener_526',['IADLX3DSettingsChangedListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingsservices_527',['IADLX3DSettingsServices',['../_d_o_x__i_a_d_l_x3_d_settings_services.html',1,'gfx3dgraphics']]], - ['iadlx3dtessellation_528',['IADLX3DTessellation',['../_d_o_x__i_a_d_l_x3_d_tessellation.html',1,'gfx3dgraphics']]], - ['iadlx3dwaitforverticalrefresh_529',['IADLX3DWaitForVerticalRefresh',['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html',1,'gfx3dgraphics']]], - ['iadlxallmetrics_530',['IADLXAllMetrics',['../_d_o_x__i_a_d_l_x_all_metrics.html',1,'perfmonitoring']]], - ['iadlxallmetricslist_531',['IADLXAllMetricsList',['../_d_o_x__i_a_d_l_x_all_metrics_list.html',1,'perfmonitoring']]], - ['iadlxchangedevent_532',['IADLXChangedEvent',['../_d_o_x__i_a_d_l_x_changed_event.html',1,'misc']]], - ['iadlxdesktop_533',['IADLXDesktop',['../_d_o_x__i_a_d_l_x_desktop.html',1,'desktop']]], - ['iadlxdesktopchangedhandling_534',['IADLXDesktopChangedHandling',['../_d_o_x__i_a_d_l_x_desktop_changed_handling.html',1,'desktop']]], - ['iadlxdesktoplist_535',['IADLXDesktopList',['../_d_o_x__i_a_d_l_x_desktop_list.html',1,'desktop']]], - ['iadlxdesktoplistchangedlistener_536',['IADLXDesktopListChangedListener',['../_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html',1,'desktop']]], - ['iadlxdesktopservices_537',['IADLXDesktopServices',['../_d_o_x__i_a_d_l_x_desktop_services.html',1,'desktop']]], - ['iadlxdisplay_538',['IADLXDisplay',['../_d_o_x__i_a_d_l_x_display.html',1,'display']]], - ['iadlxdisplay3dlut_539',['IADLXDisplay3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t.html',1,'display']]], - ['iadlxdisplay3dlutchangedevent_540',['IADLXDisplay3DLUTChangedEvent',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html',1,'display']]], - ['iadlxdisplay3dlutchangedlistener_541',['IADLXDisplay3DLUTChangedListener',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html',1,'display']]], - ['iadlxdisplayblanking_542',['IADLXDisplayBlanking',['../_d_o_x__i_a_d_l_x_display_blanking.html',1,'display']]], - ['iadlxdisplaychangedhandling_543',['IADLXDisplayChangedHandling',['../_d_o_x__i_a_d_l_x_display_changed_handling.html',1,'display']]], - ['iadlxdisplaycolordepth_544',['IADLXDisplayColorDepth',['../_d_o_x__i_a_d_l_x_display_color_depth.html',1,'display']]], - ['iadlxdisplayconnectivityexperience_545',['IADLXDisplayConnectivityExperience',['../_d_o_x__i_a_d_l_x_display_connectivity_experience.html',1,'display']]], - ['iadlxdisplaycustomcolor_546',['IADLXDisplayCustomColor',['../_d_o_x__i_a_d_l_x_display_custom_color.html',1,'display']]], - ['iadlxdisplaycustomresolution_547',['IADLXDisplayCustomResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution.html',1,'display']]], - ['iadlxdisplayfreesync_548',['IADLXDisplayFreeSync',['../_d_o_x__i_a_d_l_x_display_free_sync.html',1,'display']]], - ['iadlxdisplaygamma_549',['IADLXDisplayGamma',['../_d_o_x__i_a_d_l_x_display_gamma.html',1,'display']]], - ['iadlxdisplaygammachangedevent_550',['IADLXDisplayGammaChangedEvent',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event.html',1,'display']]], - ['iadlxdisplaygammachangedlistener_551',['IADLXDisplayGammaChangedListener',['../_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html',1,'display']]], - ['iadlxdisplaygamut_552',['IADLXDisplayGamut',['../_d_o_x__i_a_d_l_x_display_gamut.html',1,'display']]], - ['iadlxdisplaygamutchangedevent_553',['IADLXDisplayGamutChangedEvent',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event.html',1,'display']]], - ['iadlxdisplaygamutchangedlistener_554',['IADLXDisplayGamutChangedListener',['../_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html',1,'display']]], - ['iadlxdisplaygpuscaling_555',['IADLXDisplayGPUScaling',['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html',1,'display']]], - ['iadlxdisplayhdcp_556',['IADLXDisplayHDCP',['../_d_o_x__i_a_d_l_x_display_h_d_c_p.html',1,'display']]], - ['iadlxdisplayintegerscaling_557',['IADLXDisplayIntegerScaling',['../_d_o_x__i_a_d_l_x_display_integer_scaling.html',1,'display']]], - ['iadlxdisplaylist_558',['IADLXDisplayList',['../_d_o_x__i_a_d_l_x_display_list.html',1,'display']]], - ['iadlxdisplaylistchangedlistener_559',['IADLXDisplayListChangedListener',['../_d_o_x__i_a_d_l_x_display_list_changed_listener.html',1,'display']]], - ['iadlxdisplaypixelformat_560',['IADLXDisplayPixelFormat',['../_d_o_x__i_a_d_l_x_display_pixel_format.html',1,'display']]], - ['iadlxdisplayresolution_561',['IADLXDisplayResolution',['../_d_o_x__i_a_d_l_x_display_resolution.html',1,'display']]], - ['iadlxdisplayresolutionlist_562',['IADLXDisplayResolutionList',['../_d_o_x__i_a_d_l_x_display_resolution_list.html',1,'display']]], - ['iadlxdisplayscalingmode_563',['IADLXDisplayScalingMode',['../_d_o_x__i_a_d_l_x_display_scaling_mode.html',1,'display']]], - ['iadlxdisplayservices_564',['IADLXDisplayServices',['../_d_o_x__i_a_d_l_x_display_services.html',1,'display']]], - ['iadlxdisplayservices1_565',['IADLXDisplayServices1',['../_d_o_x__i_a_d_l_x_display_services1.html',1,'display']]], - ['iadlxdisplayservices2_566',['IADLXDisplayServices2',['../_d_o_x__i_a_d_l_x_display_services2.html',1,'display']]], - ['iadlxdisplaysettingschangedevent_567',['IADLXDisplaySettingsChangedEvent',['../_d_o_x__i_a_d_l_x_display_settings_changed_event.html',1,'display']]], - ['iadlxdisplaysettingschangedevent1_568',['IADLXDisplaySettingsChangedEvent1',['../_d_o_x__i_a_d_l_x_display_settings_changed_event1.html',1,'display']]], - ['iadlxdisplaysettingschangedevent2_569',['IADLXDisplaySettingsChangedEvent2',['../_d_o_x__i_a_d_l_x_display_settings_changed_event2.html',1,'display']]], - ['iadlxdisplaysettingschangedlistener_570',['IADLXDisplaySettingsChangedListener',['../_d_o_x__i_a_d_l_x_display_settings_changed_listener.html',1,'display']]], - ['iadlxdisplayvaribright_571',['IADLXDisplayVariBright',['../_d_o_x__i_a_d_l_x_display_vari_bright.html',1,'display']]], - ['iadlxdisplayvsr_572',['IADLXDisplayVSR',['../_d_o_x__i_a_d_l_x_display_v_s_r.html',1,'display']]], - ['iadlxeyefinitydesktop_573',['IADLXEyefinityDesktop',['../_d_o_x__i_a_d_l_x_eyefinity_desktop.html',1,'desktop']]], - ['iadlxfps_574',['IADLXFPS',['../_d_o_x__i_a_d_l_x_f_p_s.html',1,'perfmonitoring']]], - ['iadlxfpslist_575',['IADLXFPSList',['../_d_o_x__i_a_d_l_x_f_p_s_list.html',1,'perfmonitoring']]], - ['iadlxgpu_576',['IADLXGPU',['../_d_o_x__i_a_d_l_x_g_p_u.html',1,'gpu']]], - ['iadlxgpu1_577',['IADLXGPU1',['../_d_o_x__i_a_d_l_x_g_p_u1.html',1,'gpu']]], - ['iadlxgpuautotuning_578',['IADLXGPUAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html',1,'gputuning']]], - ['iadlxgpuautotuningcompleteevent_579',['IADLXGPUAutoTuningCompleteEvent',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html',1,'gputuning']]], - ['iadlxgpuautotuningcompletelistener_580',['IADLXGPUAutoTuningCompleteListener',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html',1,'gputuning']]], - ['iadlxgpulist_581',['IADLXGPUList',['../_d_o_x__i_a_d_l_x_g_p_u_list.html',1,'gpu']]], - ['iadlxgpumetrics_582',['IADLXGPUMetrics',['../_d_o_x__i_a_d_l_x_g_p_u_metrics.html',1,'perfmonitoring']]], - ['iadlxgpumetricslist_583',['IADLXGPUMetricsList',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html',1,'perfmonitoring']]], - ['iadlxgpumetricssupport_584',['IADLXGPUMetricsSupport',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html',1,'perfmonitoring']]], - ['iadlxgpupresettuning_585',['IADLXGPUPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html',1,'gputuning']]], - ['iadlxgpuschangedhandling_586',['IADLXGPUsChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html',1,'gpu']]], - ['iadlxgpuseventlistener_587',['IADLXGPUsEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_event_listener.html',1,'gpu']]], - ['iadlxgputuningchangedevent_588',['IADLXGPUTuningChangedEvent',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html',1,'gputuning']]], - ['iadlxgputuningchangedevent1_589',['IADLXGPUTuningChangedEvent1',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html',1,'gputuning']]], - ['iadlxgputuningchangedhandling_590',['IADLXGPUTuningChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html',1,'gputuning']]], - ['iadlxgputuningchangedlistener_591',['IADLXGPUTuningChangedListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html',1,'gputuning']]], - ['iadlxgputuningservices_592',['IADLXGPUTuningServices',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html',1,'gputuning']]], - ['iadlxgputuningservices1_593',['IADLXGPUTuningServices1',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html',1,'gputuning']]], - ['iadlxi2c_594',['IADLXI2C',['../_d_o_x__i_a_d_l_x_i2_c.html',1,'i2c']]], - ['iadlxinterface_595',['IADLXInterface',['../_d_o_x__i_a_d_l_x_interface.html',1,'misc']]], - ['iadlxlist_596',['IADLXList',['../_d_o_x__i_a_d_l_x_list.html',1,'misc']]], - ['iadlxlog_597',['IADLXLog',['../_d_o_x__i_a_d_l_x_log.html',1,'misc']]], - ['iadlxmanualfantuning_598',['IADLXManualFanTuning',['../_d_o_x__i_a_d_l_x_manual_fan_tuning.html',1,'gputuning']]], - ['iadlxmanualfantuningstate_599',['IADLXManualFanTuningState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html',1,'gputuning']]], - ['iadlxmanualfantuningstatelist_600',['IADLXManualFanTuningStateList',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html',1,'gputuning']]], - ['iadlxmanualgraphicstuning1_601',['IADLXManualGraphicsTuning1',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html',1,'gputuning']]], - ['iadlxmanualgraphicstuning2_602',['IADLXManualGraphicsTuning2',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html',1,'gputuning']]], - ['iadlxmanualpowertuning_603',['IADLXManualPowerTuning',['../_d_o_x__i_a_d_l_x_manual_power_tuning.html',1,'gputuning']]], - ['iadlxmanualtuningstate_604',['IADLXManualTuningState',['../_d_o_x__i_a_d_l_x_manual_tuning_state.html',1,'gputuning']]], - ['iadlxmanualtuningstatelist_605',['IADLXManualTuningStateList',['../_d_o_x__i_a_d_l_x_manual_tuning_state_list.html',1,'gputuning']]], - ['iadlxmanualvramtuning1_606',['IADLXManualVRAMTuning1',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html',1,'gputuning']]], - ['iadlxmanualvramtuning2_607',['IADLXManualVRAMTuning2',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html',1,'gputuning']]], - ['iadlxmemorytimingdescription_608',['IADLXMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_memory_timing_description.html',1,'gputuning']]], - ['iadlxmemorytimingdescriptionlist_609',['IADLXMemoryTimingDescriptionList',['../_d_o_x__i_a_d_l_x_memory_timing_description_list.html',1,'gputuning']]], - ['iadlxperformancemonitoringservices_610',['IADLXPerformanceMonitoringServices',['../_d_o_x__i_a_d_l_x_performance_monitoring_services.html',1,'perfmonitoring']]], - ['iadlxpowertuningchangedevent_611',['IADLXPowerTuningChangedEvent',['../_d_o_x__i_a_d_l_x_power_tuning_changed_event.html',1,'domain_powertuning']]], - ['iadlxpowertuningchangedhandling_612',['IADLXPowerTuningChangedHandling',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html',1,'domain_powertuning']]], - ['iadlxpowertuningchangedlistener_613',['IADLXPowerTuningChangedListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html',1,'domain_powertuning']]], - ['iadlxpowertuningservices_614',['IADLXPowerTuningServices',['../_d_o_x__i_a_d_l_x_power_tuning_services.html',1,'domain_powertuning']]], - ['iadlxsimpleeyefinity_615',['IADLXSimpleEyefinity',['../_d_o_x__i_a_d_l_x_simple_eyefinity.html',1,'desktop']]], - ['iadlxsmartaccessmemory_616',['IADLXSmartAccessMemory',['../_d_o_x__i_a_d_l_x_smart_access_memory.html',1,'gputuning']]], - ['iadlxsmartshiftmax_617',['IADLXSmartShiftMax',['../_d_o_x__i_a_d_l_x_smart_shift_max.html',1,'domain_powertuning']]], - ['iadlxsystem_618',['IADLXSystem',['../_d_o_x__i_a_d_l_x_system.html',1,'system']]], - ['iadlxsystem1_619',['IADLXSystem1',['../_d_o_x__i_a_d_l_x_system1.html',1,'system']]], - ['iadlxsystemmetrics_620',['IADLXSystemMetrics',['../_d_o_x__i_a_d_l_x_system_metrics.html',1,'perfmonitoring']]], - ['iadlxsystemmetrics1_621',['IADLXSystemMetrics1',['../_d_o_x__i_a_d_l_x_system_metrics1.html',1,'perfmonitoring']]], - ['iadlxsystemmetricslist_622',['IADLXSystemMetricsList',['../_d_o_x__i_a_d_l_x_system_metrics_list.html',1,'perfmonitoring']]], - ['iadlxsystemmetricssupport_623',['IADLXSystemMetricsSupport',['../_d_o_x__i_a_d_l_x_system_metrics_support.html',1,'perfmonitoring']]], - ['iadlxsystemmetricssupport1_624',['IADLXSystemMetricsSupport1',['../_d_o_x__i_a_d_l_x_system_metrics_support1.html',1,'perfmonitoring']]], - ['imagesharpening_625',['ImageSharpening',['../c__image_sharpening.html',1,'domain_c_sample_3DGraphics'],['../cpp__image_sharpening.html',1,'domain_cpp_sample_3DGraphics']]], - ['initialize_626',['Initialize',['../page_cpp_help_initialize.html',1,'page_ADLXCppHelp']]], - ['initializewithcalleradl_627',['InitializeWithCallerAdl',['../page_cpp_help_initialize_with_caller_adl.html',1,'page_ADLXCppHelp']]], - ['initializewithincompatibledriver_628',['InitializeWithIncompatibleDriver',['../page_cpp_help_initialize_with_incompatible_driver.html',1,'page_ADLXCppHelp']]], - ['initializing_20adlx_20with_20function_20pointers_629',['Initializing ADLX with function pointers',['../page_guide_init_pointer.html',1,'page_guide_qs']]], - ['initializing_20adlx_20with_20the_20adlx_20helpers_630',['Initializing ADLX with the ADLX Helpers',['../page_guide_init_help.html',1,'page_guide_qs']]], - ['interlaced_631',['INTERLACED',['../_a_d_l_x_defines_8h.html#gae2d0250dc861156a468001600a2ee648a855562021fc14e40c67913a5bb4701f7',1,'ADLXDefines.h']]], - ['invalidobject_632',['InvalidObject',['../c_sample__invalid_object.html',1,'domain_c_sample_Generic'],['../cpp_sample__invalid_object.html',1,'domain_cpp_sample_Generic']]], - ['isanisotropicfilteringchanged_633',['IsAnisotropicFilteringChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isantialiasingchanged_634',['IsAntiAliasingChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isantilagchanged_635',['IsAntiLagChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isatfactory_636',['IsAtFactory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html',1,'DOX_IADLXGPUTuningServices']]], - ['isautomatictuningchanged_637',['IsAutomaticTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['isboostchanged_638',['IsBoostChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isbrightnesssupported_639',['IsBrightnessSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['ischillchanged_640',['IsChillChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['iscolordepthchanged_641',['IsColorDepthChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscolorspacechanged_642',['IsColorSpaceChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html',1,'DOX_IADLXDisplayGamutChangedEvent']]], - ['isconnectivityexperiencechanged_643',['IsConnectivityExperienceChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent2']]], - ['iscontrastsupported_644',['IsContrastSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['iscurrent5000kwhitepoint_645',['IsCurrent5000kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent6500kwhitepoint_646',['IsCurrent6500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent7500kwhitepoint_647',['IsCurrent7500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent9300kwhitepoint_648',['IsCurrent9300kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentadobergbcolorspace_649',['IsCurrentAdobeRgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentbalanced_650',['IsCurrentBalanced',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentblanked_651',['IsCurrentBlanked',['../_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['iscurrentccir2020colorspace_652',['IsCurrentCCIR2020ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentccir601colorspace_653',['IsCurrentCCIR601ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentccir709colorspace_654',['IsCurrentCCIR709ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentciergbcolorspace_655',['IsCurrentCIERgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentcustomcolorspace_656',['IsCurrentCustomColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentcustomwhitepoint_657',['IsCurrentCustomWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentdegammaramp_658',['IsCurrentDeGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentmaximizebattery_659',['IsCurrentMaximizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentmaximizebrightness_660',['IsCurrentMaximizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoptimizebattery_661',['IsCurrentOptimizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoptimizebrightness_662',['IsCurrentOptimizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoverclockgpu_663',['IsCurrentOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscurrentoverclockvram_664',['IsCurrentOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscurrentpowersaver_665',['IsCurrentPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentquiet_666',['IsCurrentQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentrage_667',['IsCurrentRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentregamma36_668',['IsCurrentReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammabt709_669',['IsCurrentReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammacoefficient_670',['IsCurrentRegammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammapq_671',['IsCurrentReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammapq2084interim_672',['IsCurrentReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammaramp_673',['IsCurrentReGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammasrgb_674',['IsCurrentReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentscedisabled_675',['IsCurrentSCEDisabled',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentscedynamiccontrast_676',['IsCurrentSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentscevividgaming_677',['IsCurrentSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentturbo_678',['IsCurrentTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentunblanked_679',['IsCurrentUnblanked',['../_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['iscurrentundervoltgpu_680',['IsCurrentUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscustom3dlutchanged_681',['IsCustom3DLUTChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html',1,'DOX_IADLXDisplay3DLUTChangedEvent']]], - ['iscustomcolorbrightnesschanged_682',['IsCustomColorBrightnessChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorcontrastchanged_683',['IsCustomColorContrastChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorhuechanged_684',['IsCustomColorHueChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorsaturationchanged_685',['IsCustomColorSaturationChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolortemperaturechanged_686',['IsCustomColorTemperatureChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomresolutionchanged_687',['IsCustomResolutionChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isdegammachanged_688',['IsDeGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isdisplayblankingchanged_689',['IsDisplayBlankingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent1']]], - ['isenabled_690',['IsEnabled',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html',1,'DOX_IADLXSmartAccessMemory']]], - ['isenabledhdmiqualitydetection_691',['IsEnabledHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['isenabledlinkprotection_692',['IsEnabledLinkProtection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['isenhancedsyncchanged_693',['IsEnhancedSyncChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isexternal_694',['IsExternal',['../_d_o_x__i_a_d_l_x_g_p_u__is_external.html',1,'DOX_IADLXGPU']]], - ['isframeratetargetcontrolchanged_695',['IsFrameRateTargetControlChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isfreesyncchanged_696',['IsFreeSyncChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isgammacoefficientchanged_697',['IsGammaCoefficientChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isgammarampchanged_698',['IsGammaRampChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isgpuscalingchanged_699',['IsGPUScalingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ishdcpchanged_700',['IsHDCPChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ishuesupported_701',['IsHueSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['isimagesharpeningchanged_702',['IsImageSharpeningChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isintegerscalingchanged_703',['IsIntegerScalingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ismanualfantuningchanged_704',['IsManualFanTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualgpuclktuningchanged_705',['IsManualGPUCLKTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualpowertuningchanged_706',['IsManualPowerTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualvramtuningchanged_707',['IsManualVRAMTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismorphologicalantialiasingchanged_708',['IsMorphologicalAntiAliasingChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isoverclockgpucompleted_709',['IsOverclockGPUCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['isoverclockvramcompleted_710',['IsOverclockVRAMCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['ispixelformatchanged_711',['IsPixelFormatChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ispresettuningchanged_712',['IsPresetTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['isradeonsuperresolutionchanged_713',['IsRadeonSuperResolutionChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isregammachanged_714',['IsReGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isresetshadercache_715',['IsResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['issaturationsupported_716',['IsSaturationSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['isscalingmodechanged_717',['IsScalingModeChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isscechanged_718',['IsSCEChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html',1,'DOX_IADLXDisplay3DLUTChangedEvent']]], - ['issmartaccessmemorychanged_719',['IsSmartAccessMemoryChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html',1,'DOX_IADLXGPUTuningChangedEvent1']]], - ['issmartshiftmaxchanged_720',['IsSmartShiftMaxChanged',['../_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html',1,'DOX_IADLXPowerTuningChangedEvent']]], - ['issupported_721',['IsSupported',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__is_supported.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__is_supported.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html',1,'DOX_IADLX3DResetShaderCache'],['../_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_blanking__is_supported.html',1,'DOX_IADLXDisplayBlanking'],['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html',1,'DOX_IADLXDisplayCustomResolution'],['../_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html',1,'DOX_IADLXDisplayScalingMode'],['../_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_i2_c__is_supported.html',1,'DOX_IADLXI2C'],['../_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html',1,'DOX_IADLXSimpleEyefinity'],['../_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html',1,'DOX_IADLXSmartAccessMemory'],['../_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html',1,'DOX_IADLXSmartShiftMax']]], - ['issupported5000kwhitepoint_722',['IsSupported5000kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported6500kwhitepoint_723',['IsSupported6500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported7500kwhitepoint_724',['IsSupported7500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported9300kwhitepoint_725',['IsSupported9300kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedadobergbcolorspace_726',['IsSupportedAdobeRgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedautotuning_727',['IsSupportedAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedbalanced_728',['IsSupportedBalanced',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedbpc_5f10_729',['IsSupportedBPC_10',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f12_730',['IsSupportedBPC_12',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f14_731',['IsSupportedBPC_14',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f16_732',['IsSupportedBPC_16',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f6_733',['IsSupportedBPC_6',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f8_734',['IsSupportedBPC_8',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedccir2020colorspace_735',['IsSupportedCCIR2020ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedccir601colorspace_736',['IsSupportedCCIR601ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedccir709colorspace_737',['IsSupportedCCIR709ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedciergbcolorspace_738',['IsSupportedCIERgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedcolordepth_739',['IsSupportedColorDepth',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedcpuusage_740',['IsSupportedCPUUsage',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedcustomcolorspace_741',['IsSupportedCustomColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedcustomwhitepoint_742',['IsSupportedCustomWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupporteddplink_743',['IsSupportedDPLink',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['issupportedgpuclockspeed_744',['IsSupportedGPUClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpufanspeed_745',['IsSupportedGPUFanSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuhotspottemperature_746',['IsSupportedGPUHotspotTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuintaketemperature_747',['IsSupportedGPUIntakeTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpupower_748',['IsSupportedGPUPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgputemperature_749',['IsSupportedGPUTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgputotalboardpower_750',['IsSupportedGPUTotalBoardPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuusage_751',['IsSupportedGPUUsage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvoltage_752',['IsSupportedGPUVoltage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvram_753',['IsSupportedGPUVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvramclockspeed_754',['IsSupportedGPUVRAMClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedhdmiqualitydetection_755',['IsSupportedHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['issupportedmanualfantuning_756',['IsSupportedManualFanTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualgfxtuning_757',['IsSupportedManualGFXTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualpowertuning_758',['IsSupportedManualPowerTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualvramtuning_759',['IsSupportedManualVRAMTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmemorytiming_760',['IsSupportedMemoryTiming',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['issupportedminacousticlimit_761',['IsSupportedMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedminfanspeed_762',['IsSupportedMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedoverclockgpu_763',['IsSupportedOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupportedoverclockvram_764',['IsSupportedOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupportedpixelformat_765',['IsSupportedPixelFormat',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedpowerdistribution_766',['IsSupportedPowerDistribution',['../_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html',1,'DOX_IADLXSystemMetricsSupport1']]], - ['issupportedpowersaver_767',['IsSupportedPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedpresettuning_768',['IsSupportedPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedquiet_769',['IsSupportedQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedrage_770',['IsSupportedRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedregamma36_771',['IsSupportedReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammabt709_772',['IsSupportedReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammapq_773',['IsSupportedReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammapq2084interim_774',['IsSupportedReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammasrgb_775',['IsSupportedReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedrgb444full_776',['IsSupportedRGB444Full',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedrgb444limited_777',['IsSupportedRGB444Limited',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedsce_778',['IsSupportedSCE',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedscedynamiccontrast_779',['IsSupportedSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedscevividgaming_780',['IsSupportedSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedsmartshift_781',['IsSupportedSmartShift',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedsystemram_782',['IsSupportedSystemRAM',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedtargetfanspeed_783',['IsSupportedTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedtdclimit_784',['IsSupportedTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['issupportedturbo_785',['IsSupportedTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedundervoltgpu_786',['IsSupportedUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupporteduser3dlut_787',['IsSupportedUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedycbcr420_788',['IsSupportedYCbCr420',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedycbcr422_789',['IsSupportedYCbCr422',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedycbcr444_790',['IsSupportedYCbCr444',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedzerorpm_791',['IsSupportedZeroRPM',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html',1,'DOX_IADLXManualFanTuning']]], - ['istemperaturesupported_792',['IsTemperatureSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['istessellationmodechanged_793',['IsTessellationModeChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isundervoltgpucompleted_794',['IsUndervoltGPUCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['isvalidfantuningstates_795',['IsValidFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['isvalidgputuningstates_796',['IsValidGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['isvalidvramtuningstates_797',['IsValidVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['isvaribrightchanged_798',['IsVariBrightChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isvsrchanged_799',['IsVSRChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iswaitforverticalrefreshchanged_800',['IsWaitForVerticalRefreshChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['iswhitepointchanged_801',['IsWhitePointChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html',1,'DOX_IADLXDisplayGamutChangedEvent']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_a.html b/vendor/adlx/SDKDoc/html/search/all_a.html deleted file mode 100644 index 3a6cac1..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_a.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_a.js b/vendor/adlx/SDKDoc/html/search/all_a.js deleted file mode 100644 index 922bf4d..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['java_20samples_802',['Java Samples',['../page_sample_java.html',1,'domain_samplePage']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_b.html b/vendor/adlx/SDKDoc/html/search/all_b.html deleted file mode 100644 index 130deb4..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_b.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_b.js b/vendor/adlx/SDKDoc/html/search/all_b.js deleted file mode 100644 index b81da66..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_b.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['ldebug_803',['LDEBUG',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccda99a9c50ae812fdb9418bb4d04e55521e',1,'ADLXDefines.h']]], - ['legal_20information_20and_20compliance_2fdisclaimers_804',['Legal Information and Compliance/Disclaimers',['../page_legal.html',1,'']]], - ['lerror_805',['LERROR',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccda83ce64538cb7824877b3e5f9161eeb14',1,'ADLXDefines.h']]], - ['localfile_806',['LOCALFILE',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67ab247590fcecf66f9a58d7c3beebd22c8',1,'ADLXDefines.h']]], - ['log_807',['Log',['../c_sample_log.html',1,'domain_c_sample_Generic'],['../cpp_sample_log.html',1,'domain_cpp_sample_Generic']]], - ['lwarning_808',['LWARNING',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccdab27a3dae713258bd0dfa794aeb9ac44f',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_c.html b/vendor/adlx/SDKDoc/html/search/all_c.html deleted file mode 100644 index 3dd5af0..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_c.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_c.js b/vendor/adlx/SDKDoc/html/search/all_c.js deleted file mode 100644 index 5403c92..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_c.js +++ /dev/null @@ -1,24 +0,0 @@ -var searchData= -[ - ['manual_809',['MANUAL',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2a506e8dd29460ea318b68d035f679b01b',1,'ADLXDefines.h']]], - ['manualfantuning_810',['ManualFanTuning',['../c__manual_fan_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_fan_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualgraphicstuning_811',['ManualGraphicsTuning',['../c__manual_graphics_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_graphics_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualpowertuning_812',['ManualPowerTuning',['../c__manual_power_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_power_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualvramtuning_813',['ManualVRAMTuning',['../c__manual_v_r_a_m_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_v_r_a_m_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manufacturerid_814',['ManufacturerID',['../_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html',1,'DOX_IADLXDisplay']]], - ['max_5fuser_5f3dlut_5fnum_5fpoints_815',['MAX_USER_3DLUT_NUM_POINTS',['../group___a_d_l_x_macro.html#gadbbcd4df68e453ba39a3ad9df7403c1d',1,'ADLXDefines.h']]], - ['maxvalue_816',['maxValue',['../group__structures_val.html#a514f377840f96d92a1f11e41af9b3db1',1,'ADLX_IntRange']]], - ['memorytiming_5fautomatic_817',['MEMORYTIMING_AUTOMATIC',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a36391b593ecff100518944cea6668e74',1,'ADLXDefines.h']]], - ['memorytiming_5fdefault_818',['MEMORYTIMING_DEFAULT',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11afe3950cab8cd7256574a2d833ae06f26',1,'ADLXDefines.h']]], - ['memorytiming_5ffast_5ftiming_819',['MEMORYTIMING_FAST_TIMING',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11ae75d55283f428316b2db4833d54ecf77',1,'ADLXDefines.h']]], - ['memorytiming_5ffast_5ftiming_5flevel_5f2_820',['MEMORYTIMING_FAST_TIMING_LEVEL_2',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a9ec2a8597122dc8cc85e9cff91eede1c',1,'ADLXDefines.h']]], - ['memorytiming_5fmemorytiming_5flevel_5f1_821',['MEMORYTIMING_MEMORYTIMING_LEVEL_1',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11ae2165248a4d00fbfe16140ca4afd0e9b',1,'ADLXDefines.h']]], - ['memorytiming_5fmemorytiming_5flevel_5f2_822',['MEMORYTIMING_MEMORYTIMING_LEVEL_2',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a2ae2530d0e57e0db3bf2b94f4f3f96d8',1,'ADLXDefines.h']]], - ['mgpu_5fnone_823',['MGPU_NONE',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478daf2165ffea80d451f834d3a5d2994b3c8',1,'ADLXDefines.h']]], - ['mgpu_5fprimary_824',['MGPU_PRIMARY',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478daa8e7af64a7da10bed79c2e5de97b7cb8',1,'ADLXDefines.h']]], - ['mgpu_5fsecondary_825',['MGPU_SECONDARY',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478da9100baedfaa6e08d64fa900cd7685cef',1,'ADLXDefines.h']]], - ['minvalue_826',['minValue',['../group__structures_val.html#aff4a4b69a07d715083773dc23f162e05',1,'ADLX_IntRange']]], - ['miscellaneous_827',['Miscellaneous',['../domain_c_sample__generic.html',1,'page_sample_c'],['../domain_cpp_sample__generic.html',1,'page_sample_cpp'],['../misc.html',1,'page_interfaces']]], - ['morphologicantialiasing_828',['MorphologicAntiAliasing',['../c__morphologic_anti_aliasing.html',1,'domain_c_sample_3DGraphics'],['../cpp__morphologic_anti_aliasing.html',1,'domain_cpp_sample_3DGraphics']]], - ['multigpumode_829',['MultiGPUMode',['../_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html',1,'DOX_IADLXGPU1']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_d.html b/vendor/adlx/SDKDoc/html/search/all_d.html deleted file mode 100644 index af7f2f0..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_d.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_d.js b/vendor/adlx/SDKDoc/html/search/all_d.js deleted file mode 100644 index 4797916..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_d.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['name_830',['Name',['../_d_o_x__i_a_d_l_x_display__name.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u__name.html',1,'DOX_IADLXGPU']]], - ['nativeresolution_831',['NativeResolution',['../_d_o_x__i_a_d_l_x_display__native_resolution.html',1,'DOX_IADLXDisplay']]], - ['negative_832',['NEGATIVE',['../_a_d_l_x_defines_8h.html#gacabd271b1699333d9664b8e6320aad3ba62d66a51fa7574c652597716f7709865',1,'ADLXDefines.h']]], - ['none_833',['NONE',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7ac157bdf0b85a40d2619cbc8bc1ae5fe2',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_e.html b/vendor/adlx/SDKDoc/html/search/all_e.html deleted file mode 100644 index e25df42..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_e.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_e.js b/vendor/adlx/SDKDoc/html/search/all_e.js deleted file mode 100644 index 2170a4f..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_e.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['on3dsettingschanged_834',['On3DSettingsChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html',1,'DOX_IADLX3DSettingsChangedListener']]], - ['ondesktoplistchanged_835',['OnDesktopListChanged',['../_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html',1,'DOX_IADLXDesktopListChangedListener']]], - ['ondisplay3dlutchanged_836',['OnDisplay3DLUTChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html',1,'DOX_IADLXDisplay3DLUTChangedListener']]], - ['ondisplaygammachanged_837',['OnDisplayGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedListener']]], - ['ondisplaygamutchanged_838',['OnDisplayGamutChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html',1,'DOX_IADLXDisplayGamutChangedListener']]], - ['ondisplaylistchanged_839',['OnDisplayListChanged',['../_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html',1,'DOX_IADLXDisplayListChangedListener']]], - ['ondisplaysettingschanged_840',['OnDisplaySettingsChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html',1,'DOX_IADLXDisplaySettingsChangedListener']]], - ['ongpuautotuningcomplete_841',['OnGPUAutoTuningComplete',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html',1,'DOX_IADLXGPUAutoTuningCompleteListener']]], - ['ongpulistchanged_842',['OnGPUListChanged',['../_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html',1,'DOX_IADLXGPUsEventListener']]], - ['ongputuningchanged_843',['OnGPUTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedListener']]], - ['onpowertuningchanged_844',['OnPowerTuningChanged',['../_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html',1,'DOX_IADLXPowerTuningChangedListener']]], - ['orientation_845',['Orientation',['../_d_o_x__i_a_d_l_x_desktop__orientation.html',1,'DOX_IADLXDesktop']]], - ['orientation_5flandscape_846',['ORIENTATION_LANDSCAPE',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1aeffaa8f11bafc4c40b434f3b941eb1bf',1,'ADLXDefines.h']]], - ['orientation_5flandscape_5fflipped_847',['ORIENTATION_LANDSCAPE_FLIPPED',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1a29f5d104339a45621bab90f391ed3c84',1,'ADLXDefines.h']]], - ['orientation_5fportrait_848',['ORIENTATION_PORTRAIT',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1acd00a965397a558275015a84f2f22dd5',1,'ADLXDefines.h']]], - ['orientation_5fportrait_5fflipped_849',['ORIENTATION_PORTRAIT_FLIPPED',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1a0c4dc7635db48ef031605d4411ab4513',1,'ADLXDefines.h']]], - ['other_850',['OTHER',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7adbf1dee1b8cd7ea3c82661943c7b74f4',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/all_f.html b/vendor/adlx/SDKDoc/html/search/all_f.html deleted file mode 100644 index b23da6c..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_f.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/all_f.js b/vendor/adlx/SDKDoc/html/search/all_f.js deleted file mode 100644 index fdcbeb2..0000000 --- a/vendor/adlx/SDKDoc/html/search/all_f.js +++ /dev/null @@ -1,29 +0,0 @@ -var searchData= -[ - ['pci_851',['PCI',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62adfeeebd622756e33b1bbf14d0b8821ee',1,'ADLXDefines.h']]], - ['pcibuslanewidth_852',['PCIBusLaneWidth',['../_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html',1,'DOX_IADLXGPU1']]], - ['pcibustype_853',['PCIBusType',['../_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html',1,'DOX_IADLXGPU1']]], - ['pcie_854',['PCIE',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62aae1e997bb446fea257f4b0313566a2d2',1,'ADLXDefines.h']]], - ['pcie_5f2_5f0_855',['PCIE_2_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62aa36631de27912207e50cacf93573d0f6',1,'ADLXDefines.h']]], - ['pcie_5f3_5f0_856',['PCIE_3_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a057afcee3226d5df8609f7b055bbf274',1,'ADLXDefines.h']]], - ['pcie_5f4_5f0_857',['PCIE_4_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a5e365dcf6d45b0ea04e3e60b0eb8079c',1,'ADLXDefines.h']]], - ['perfallmetrics_858',['PerfAllMetrics',['../c__perf_all_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_all_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['perffpsmetrics_859',['PerfFPSMetrics',['../c__perf_f_p_s_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_f_p_s_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['perfgpumetrics_860',['PerfGPUMetrics',['../c__perf_g_p_u_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_g_p_u_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['performance_20monitoring_861',['Performance Monitoring',['../domain_c_sample__performance_monitoring.html',1,'page_sample_c'],['../domain_cpp_sample__performance_monitoring.html',1,'page_sample_cpp'],['../perfmonitoring.html',1,'page_interfaces']]], - ['perfsystemmetrics_862',['PerfSystemMetrics',['../c__perf_system_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_system_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['pixel_5fclock_5fmax_863',['PIXEL_CLOCK_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0abe8eaf29508bfdb43618cca61c441128',1,'ADLXDefines.h']]], - ['pixel_5fclock_5fmin_864',['PIXEL_CLOCK_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a458a7aa8afac5aa503ad749178f35c9d',1,'ADLXDefines.h']]], - ['pixelclock_865',['PixelClock',['../_d_o_x__i_a_d_l_x_display__pixel_clock.html',1,'DOX_IADLXDisplay']]], - ['pnpstring_866',['PNPString',['../_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html',1,'DOX_IADLXGPU']]], - ['positive_867',['POSITIVE',['../_a_d_l_x_defines_8h.html#gacabd271b1699333d9664b8e6320aad3ba03d440bbbfb042afc85347f994b44fb5',1,'ADLXDefines.h']]], - ['power_20tuning_868',['Power Tuning',['../domain_c_sample_powertuning.html',1,'page_sample_c'],['../domain_cpp_sample_powertuning.html',1,'page_sample_cpp'],['../domain_powertuning.html',1,'page_interfaces']]], - ['powerdistribution_869',['PowerDistribution',['../_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html',1,'DOX_IADLXSystemMetrics1']]], - ['presentation_870',['presentation',['../group__structures_val.html#a51ca72ac4b7a7d132dc9f809c89f8515',1,'ADLX_CustomResolution']]], - ['preserve_5faspect_5fratio_871',['PRESERVE_ASPECT_RATIO',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8feaed414c2ae5181749af0aee3b30c647d1',1,'ADLXDefines.h']]], - ['primaryadapter_872',['PrimaryAdapter',['../c_sample__primary_adapter.html',1,'domain_c_sample_Desktop'],['../cpp_sample__primary_adapter.html',1,'domain_cpp_sample_Desktop']]], - ['productname_873',['ProductName',['../_d_o_x__i_a_d_l_x_g_p_u1__product_name.html',1,'DOX_IADLXGPU1']]], - ['programming_20with_20adlx_874',['Programming with ADLX',['../page_programwithadlx.html',1,'']]], - ['progressive_875',['PROGRESSIVE',['../_a_d_l_x_defines_8h.html#gae2d0250dc861156a468001600a2ee648aa26e5d6a224712b2542b07280bdab8e9',1,'ADLXDefines.h']]], - ['python_20samples_876',['Python Samples',['../page_sample_py.html',1,'domain_samplePage']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/classes_0.html b/vendor/adlx/SDKDoc/html/search/classes_0.html deleted file mode 100644 index af8159e..0000000 --- a/vendor/adlx/SDKDoc/html/search/classes_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/classes_0.js b/vendor/adlx/SDKDoc/html/search/classes_0.js deleted file mode 100644 index dc56bca..0000000 --- a/vendor/adlx/SDKDoc/html/search/classes_0.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['adlx_5f3dlut_5fdata_1066',['ADLX_3DLUT_Data',['../group__structures_val.html#struct_a_d_l_x__3_d_l_u_t___data',1,'']]], - ['adlx_5fcustomresolution_1067',['ADLX_CustomResolution',['../group__structures_val.html#struct_a_d_l_x___custom_resolution',1,'']]], - ['adlx_5fgammaramp_1068',['ADLX_GammaRamp',['../group__structures_val.html#struct_a_d_l_x___gamma_ramp',1,'']]], - ['adlx_5fgamutcolorspace_1069',['ADLX_GamutColorSpace',['../group__structures_val.html#struct_a_d_l_x___gamut_color_space',1,'']]], - ['adlx_5fintrange_1070',['ADLX_IntRange',['../group__structures_val.html#struct_a_d_l_x___int_range',1,'']]], - ['adlx_5fpoint_1071',['ADLX_Point',['../group__structures_val.html#struct_a_d_l_x___point',1,'']]], - ['adlx_5fregammacoeff_1072',['ADLX_RegammaCoeff',['../group__structures_val.html#struct_a_d_l_x___regamma_coeff',1,'']]], - ['adlx_5frgb_1073',['ADLX_RGB',['../group__structures_val.html#struct_a_d_l_x___r_g_b',1,'']]], - ['adlx_5ftiminginfo_1074',['ADLX_TimingInfo',['../group__structures_val.html#struct_a_d_l_x___timing_info',1,'']]], - ['adlx_5fuint16_5frgb_1075',['ADLX_UINT16_RGB',['../group__structures_val.html#struct_a_d_l_x___u_i_n_t16___r_g_b',1,'']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/close.svg b/vendor/adlx/SDKDoc/html/search/close.svg deleted file mode 100644 index a933eea..0000000 --- a/vendor/adlx/SDKDoc/html/search/close.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - diff --git a/vendor/adlx/SDKDoc/html/search/enums_0.html b/vendor/adlx/SDKDoc/html/search/enums_0.html deleted file mode 100644 index 141fff5..0000000 --- a/vendor/adlx/SDKDoc/html/search/enums_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enums_0.js b/vendor/adlx/SDKDoc/html/search/enums_0.js deleted file mode 100644 index 3ba700d..0000000 --- a/vendor/adlx/SDKDoc/html/search/enums_0.js +++ /dev/null @@ -1,40 +0,0 @@ -var searchData= -[ - ['adlx_5f3dlut_5fcolorspace_1119',['ADLX_3DLUT_COLORSPACE',['../group__enumerations.html#gabe8d6f1562d0472d97c5edbf55c6d8cc',1,'ADLXDefines.h']]], - ['adlx_5f3dlut_5ftransfer_5ffunction_1120',['ADLX_3DLUT_TRANSFER_FUNCTION',['../group__enumerations.html#ga7ebbfe051a5113c2c1521af3426b7955',1,'ADLXDefines.h']]], - ['adlx_5fanisotropic_5ffiltering_5flevel_1121',['ADLX_ANISOTROPIC_FILTERING_LEVEL',['../group__enumerations.html#gac99ad138a55f9242874a960af8e64579',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5flevel_1122',['ADLX_ANTI_ALIASING_LEVEL',['../group__enumerations.html#ga8c2e57a18318ffeb5e36de7717ff953e',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5fmethod_1123',['ADLX_ANTI_ALIASING_METHOD',['../group__enumerations.html#gad99bac74ba876c14fa2d42c094641b44',1,'ADLXDefines.h']]], - ['adlx_5fanti_5faliasing_5fmode_1124',['ADLX_ANTI_ALIASING_MODE',['../group__enumerations.html#ga4d154a77789a08d19a8d0a8ba809b64a',1,'ADLXDefines.h']]], - ['adlx_5fantilag_5fstate_1125',['ADLX_ANTILAG_STATE',['../group__enumerations.html#ga67d22cfa2969510afada5140a157df62',1,'ADLXDefines.h']]], - ['adlx_5fasic_5ffamily_5ftype_1126',['ADLX_ASIC_FAMILY_TYPE',['../group__enumerations.html#gaf4fd628e799e6a74201290ff40418d77',1,'ADLXDefines.h']]], - ['adlx_5fcolor_5fdepth_1127',['ADLX_COLOR_DEPTH',['../group__enumerations.html#ga75858347333129a462cee4fdf4729d6b',1,'ADLXDefines.h']]], - ['adlx_5fdesktop_5ftype_1128',['ADLX_DESKTOP_TYPE',['../group__enumerations.html#ga83322f63ada9c973559376760f141b89',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5fconnector_5ftype_1129',['ADLX_DISPLAY_CONNECTOR_TYPE',['../group__enumerations.html#ga84edd2809be33537c99fb2ab8d04aa5d',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5fscan_5ftype_1130',['ADLX_DISPLAY_SCAN_TYPE',['../group__enumerations.html#gae2d0250dc861156a468001600a2ee648',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftiming_5flimitation_1131',['ADLX_DISPLAY_TIMING_LIMITATION',['../group__enumerations.html#ga6a4bf151ffad0146661c2c8612382af0',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftiming_5fpolarity_1132',['ADLX_DISPLAY_TIMING_POLARITY',['../group__enumerations.html#gacabd271b1699333d9664b8e6320aad3b',1,'ADLXDefines.h']]], - ['adlx_5fdisplay_5ftype_1133',['ADLX_DISPLAY_TYPE',['../group__enumerations.html#gae7e516225131af0ff164e9384d8d0a44',1,'ADLXDefines.h']]], - ['adlx_5fdp_5flink_5frate_1134',['ADLX_DP_LINK_RATE',['../group__enumerations.html#gad5b0891b86d362269696ba46e1d4bdee',1,'ADLXDefines.h']]], - ['adlx_5fgamma_5ftype_1135',['ADLX_GAMMA_TYPE',['../group__enumerations.html#ga87f8763d8496a4e5ec84964e149144fd',1,'ADLXDefines.h']]], - ['adlx_5fgamut_5fspace_1136',['ADLX_GAMUT_SPACE',['../group__enumerations.html#ga46dff86075115b139c1c72f447e94e14',1,'ADLXDefines.h']]], - ['adlx_5fgpu_5ftype_1137',['ADLX_GPU_TYPE',['../group__enumerations.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34',1,'ADLXDefines.h']]], - ['adlx_5fhg_5ftype_1138',['ADLX_HG_TYPE',['../group__enumerations.html#ga260f926e27eef013ca1eacd0ff7b3ba7',1,'ADLXDefines.h']]], - ['adlx_5fi2c_5fline_1139',['ADLX_I2C_LINE',['../group__enumerations.html#ga75eb2c93942ff81ff1cbeef647c2cf67',1,'ADLXDefines.h']]], - ['adlx_5flog_5fdestination_1140',['ADLX_LOG_DESTINATION',['../group__enumerations.html#gae308b7ad24806dce3fe087e9a780be67',1,'ADLXDefines.h']]], - ['adlx_5flog_5fseverity_1141',['ADLX_LOG_SEVERITY',['../group__enumerations.html#gaadfaa61953d62bced2b6c516f8bebccd',1,'ADLXDefines.h']]], - ['adlx_5fmemorytiming_5fdescription_1142',['ADLX_MEMORYTIMING_DESCRIPTION',['../group__enumerations.html#gaa25f244e38a3502a52167c303abcec11',1,'ADLXDefines.h']]], - ['adlx_5fmgpu_5fmode_1143',['ADLX_MGPU_MODE',['../group__enumerations.html#gada547c00826e15266732f874a0f3478d',1,'ADLXDefines.h']]], - ['adlx_5forientation_1144',['ADLX_ORIENTATION',['../group__enumerations.html#gae896c86f4fc55efe4e866450e33465b1',1,'ADLXDefines.h']]], - ['adlx_5fpci_5fbus_5ftype_1145',['ADLX_PCI_BUS_TYPE',['../group__enumerations.html#gafcbeca41c0df518ccf5556e8e6e83f62',1,'ADLXDefines.h']]], - ['adlx_5fpixel_5fformat_1146',['ADLX_PIXEL_FORMAT',['../group__enumerations.html#gaa0e9deb1567713f1044419070f2949ab',1,'ADLXDefines.h']]], - ['adlx_5fresult_1147',['ADLX_RESULT',['../group__enumerations.html#ga9306b05f15578edbf79b649dd612b8c0',1,'ADLXDefines.h']]], - ['adlx_5fscale_5fmode_1148',['ADLX_SCALE_MODE',['../group__enumerations.html#ga0ec0640b97efee73b589bf0b1c07a8fe',1,'ADLXDefines.h']]], - ['adlx_5fssm_5fbias_5fmode_1149',['ADLX_SSM_BIAS_MODE',['../group__enumerations.html#gae2895828b9a8b0345e1fb8bf416ff1b4',1,'ADLXDefines.h']]], - ['adlx_5fsync_5forigin_1150',['ADLX_SYNC_ORIGIN',['../group__enumerations.html#ga7a1e20106faef482c0664c546e04ba00',1,'ADLXDefines.h']]], - ['adlx_5ftessellation_5flevel_1151',['ADLX_TESSELLATION_LEVEL',['../group__enumerations.html#ga5967c593434c0cba5891c996d64cff5c',1,'ADLXDefines.h']]], - ['adlx_5ftessellation_5fmode_1152',['ADLX_TESSELLATION_MODE',['../group__enumerations.html#ga7899078325beddfbe0f4e63dca8ce8ca',1,'ADLXDefines.h']]], - ['adlx_5ftiming_5fstandard_1153',['ADLX_TIMING_STANDARD',['../group__enumerations.html#ga5f02fa0b6e26f22606a85221393f8ae2',1,'ADLXDefines.h']]], - ['adlx_5fwait_5ffor_5fvertical_5frefresh_5fmode_1154',['ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE',['../group__enumerations.html#ga169a825952eda7e83b949176a9a81028',1,'ADLXDefines.h']]], - ['adlx_5fwhite_5fpoint_1155',['ADLX_WHITE_POINT',['../group__enumerations.html#gafb56c4b91425c281009c447ccb1feeab',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_0.html b/vendor/adlx/SDKDoc/html/search/enumvalues_0.html deleted file mode 100644 index 0d131d9..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_0.js b/vendor/adlx/SDKDoc/html/search/enumvalues_0.js deleted file mode 100644 index 485fa0d..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_0.js +++ /dev/null @@ -1,48 +0,0 @@ -var searchData= -[ - ['aa_5flevel_5f2x_1156',['AA_LEVEL_2X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eaeb58238bdb8609c4c2e0a388e294db2f',1,'ADLXDefines.h']]], - ['aa_5flevel_5f2xeq_1157',['AA_LEVEL_2XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea844d2a1f7154e478afe7a624fd9048f0',1,'ADLXDefines.h']]], - ['aa_5flevel_5f4x_1158',['AA_LEVEL_4X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea701fd055b77bc3bbf3abb1d4f739f04c',1,'ADLXDefines.h']]], - ['aa_5flevel_5f4xeq_1159',['AA_LEVEL_4XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea3ca65ee6828959bdfb2c13135f31f229',1,'ADLXDefines.h']]], - ['aa_5flevel_5f8x_1160',['AA_LEVEL_8X',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eacbd5f629935c94c89e40d1ff42b4c9ce',1,'ADLXDefines.h']]], - ['aa_5flevel_5f8xeq_1161',['AA_LEVEL_8XEQ',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953ea44792bd9c8b04fec8a1636030e16295f',1,'ADLXDefines.h']]], - ['aa_5flevel_5finvalid_1162',['AA_LEVEL_INVALID',['../_a_d_l_x_defines_8h.html#ga8c2e57a18318ffeb5e36de7717ff953eac9ed1aab71b7cc44b46126ae15bca500',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fadaptive_5fmultisampling_1163',['AA_METHOD_ADAPTIVE_MULTISAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44adab6ce43f0c5a84fc1e73e9c8332bbdf',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fmultisampling_1164',['AA_METHOD_MULTISAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44aa4eb7e0a05f331b28effb11f1a81396d',1,'ADLXDefines.h']]], - ['aa_5fmethod_5fsupersampling_1165',['AA_METHOD_SUPERSAMPLING',['../_a_d_l_x_defines_8h.html#gad99bac74ba876c14fa2d42c094641b44a3f2065b92560638f8ede3205cd4f954f',1,'ADLXDefines.h']]], - ['aa_5fmode_5fenhance_5fapp_5fsettings_1166',['AA_MODE_ENHANCE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aabfcb1c017509f128c0078105cbc1390d',1,'ADLXDefines.h']]], - ['aa_5fmode_5foverride_5fapp_5fsettings_1167',['AA_MODE_OVERRIDE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aac675f198bfd0017b5301fbd033d6cd7b',1,'ADLXDefines.h']]], - ['aa_5fmode_5fuse_5fapp_5fsettings_1168',['AA_MODE_USE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga4d154a77789a08d19a8d0a8ba809b64aafcdbcd9e36a12cf8a058ce18a76a4e87',1,'ADLXDefines.h']]], - ['adlx_5fadl_5finit_5ferror_1169',['ADLX_ADL_INIT_ERROR',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ab8dc0553a4e73b3f60bec76a9191f281',1,'ADLXDefines.h']]], - ['adlx_5falready_5fenabled_1170',['ADLX_ALREADY_ENABLED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a85feb7c16bb0c565f3aab9892afe5fd5',1,'ADLXDefines.h']]], - ['adlx_5falready_5finitialized_1171',['ADLX_ALREADY_INITIALIZED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ab8b50ab5ce732abd04769f06bf5c47f7',1,'ADLXDefines.h']]], - ['adlx_5fbad_5fver_1172',['ADLX_BAD_VER',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ac571770e655e2cf695827fb4a15e35c0',1,'ADLXDefines.h']]], - ['adlx_5ffail_1173',['ADLX_FAIL',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0aa559b325fb345d9152b653588511db5c',1,'ADLXDefines.h']]], - ['adlx_5fgpu_5finactive_1174',['ADLX_GPU_INACTIVE',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a7ecc8145f60057fa833a86fb605f83f2',1,'ADLXDefines.h']]], - ['adlx_5finvalid_5fargs_1175',['ADLX_INVALID_ARGS',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0af44fabfdb08be14d11a6d2f732c856b7',1,'ADLXDefines.h']]], - ['adlx_5finvalid_5fobject_1176',['ADLX_INVALID_OBJECT',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a447f8d425a70ea68f944e0678206e74e',1,'ADLXDefines.h']]], - ['adlx_5fnot_5ffound_1177',['ADLX_NOT_FOUND',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a407e7fb76cdc6900948ba09adbc55a99',1,'ADLXDefines.h']]], - ['adlx_5fnot_5fsupported_1178',['ADLX_NOT_SUPPORTED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a351c7e8c74ef3cfbee06213c43884589',1,'ADLXDefines.h']]], - ['adlx_5fok_1179',['ADLX_OK',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a72597a9998fa21f37bfcaddd9cafaed5',1,'ADLXDefines.h']]], - ['adlx_5forphan_5fobjects_1180',['ADLX_ORPHAN_OBJECTS',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a0f2aa9a92254cd0fe4b705b0f77ca314',1,'ADLXDefines.h']]], - ['adlx_5fpending_5foperation_1181',['ADLX_PENDING_OPERATION',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ad2c2b132ffcd5ef80752f2fc2b38811f',1,'ADLXDefines.h']]], - ['adlx_5fterminated_1182',['ADLX_TERMINATED',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0ae5f780950728a255730b0280499acb72',1,'ADLXDefines.h']]], - ['adlx_5funknown_5finterface_1183',['ADLX_UNKNOWN_INTERFACE',['../_a_d_l_x_defines_8h.html#ga9306b05f15578edbf79b649dd612b8c0a8fc7732baab75a3c05f77d1bf4a70d20',1,'ADLXDefines.h']]], - ['af_5flevel_5finvalid_1184',['AF_LEVEL_INVALID',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579ab9c2bf449ef8c6244eba69add4c7a615',1,'ADLXDefines.h']]], - ['af_5flevel_5fx16_1185',['AF_LEVEL_X16',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a0ce2f7011e5a76d552aae639bcadef8d',1,'ADLXDefines.h']]], - ['af_5flevel_5fx2_1186',['AF_LEVEL_X2',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a7c3092ac1cb5e292fa3492cc3d61ebbe',1,'ADLXDefines.h']]], - ['af_5flevel_5fx4_1187',['AF_LEVEL_X4',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579a66e217a4423ff7bc5b548f3f0be82b00',1,'ADLXDefines.h']]], - ['af_5flevel_5fx8_1188',['AF_LEVEL_X8',['../_a_d_l_x_defines_8h.html#gac99ad138a55f9242874a960af8e64579abed44da66d97a3904e1048c2fd8ae669',1,'ADLXDefines.h']]], - ['agp_1189',['AGP',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a3a56bf1c6f4aab3bdae90cca3aac176c',1,'ADLXDefines.h']]], - ['amd_1190',['AMD',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7ac1f5c308ff9610759dbc1415b20df568',1,'ADLXDefines.h']]], - ['antilag_1191',['ANTILAG',['../_a_d_l_x_defines_8h.html#ga67d22cfa2969510afada5140a157df62ad52630a26f9490c28cc16b38e0205ce9',1,'ADLXDefines.h']]], - ['antilagnext_1192',['ANTILAGNEXT',['../_a_d_l_x_defines_8h.html#ga67d22cfa2969510afada5140a157df62a86bd1f9314544ffffd7a1a374a807e9f',1,'ADLXDefines.h']]], - ['application_1193',['APPLICATION',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67a241e8ba97c5a6b68b13a60bb16235b85',1,'ADLXDefines.h']]], - ['asic_5fembedded_1194',['ASIC_EMBEDDED',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77ac6b09b34c87726a358773f7fad37ffc8',1,'ADLXDefines.h']]], - ['asic_5ffiremv_1195',['ASIC_FIREMV',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a0ad611b8d03595461b2e81edb4ca5195',1,'ADLXDefines.h']]], - ['asic_5ffirepro_1196',['ASIC_FIREPRO',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a80725f02993ea38bb16b978d9226fd0b',1,'ADLXDefines.h']]], - ['asic_5ffirestream_1197',['ASIC_FIRESTREAM',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77adbd861ee855957a3422ae76d20b71d7c',1,'ADLXDefines.h']]], - ['asic_5ffusion_1198',['ASIC_FUSION',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a96ee7dab50a7cdb839879acb9a4e64e3',1,'ADLXDefines.h']]], - ['asic_5fradeon_1199',['ASIC_RADEON',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a0dc8ed090699f28b662b7c765274cf9e',1,'ADLXDefines.h']]], - ['asic_5fundefined_1200',['ASIC_UNDEFINED',['../_a_d_l_x_defines_8h.html#gaf4fd628e799e6a74201290ff40418d77a3545ff1a23cd34b9adbc8c665a5951be',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_1.html b/vendor/adlx/SDKDoc/html/search/enumvalues_1.html deleted file mode 100644 index cd9187a..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_1.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_1.js b/vendor/adlx/SDKDoc/html/search/enumvalues_1.js deleted file mode 100644 index 94ebf19..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_1.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['bpc_5f10_1201',['BPC_10',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6baaf8c112f48f64b58156bcbd3368fee1e',1,'ADLXDefines.h']]], - ['bpc_5f12_1202',['BPC_12',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6baba8a9bc6354201651acc2dfed9bce5be',1,'ADLXDefines.h']]], - ['bpc_5f14_1203',['BPC_14',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6bae6150c4c30145fa7b316577e56dfecf0',1,'ADLXDefines.h']]], - ['bpc_5f16_1204',['BPC_16',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6bab3d477dbdc1ade25a89485357b8ee0ca',1,'ADLXDefines.h']]], - ['bpc_5f6_1205',['BPC_6',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6ba2979beb1814574eb6d8a2d8bf7adca5c',1,'ADLXDefines.h']]], - ['bpc_5f8_1206',['BPC_8',['../_a_d_l_x_defines_8h.html#ga75858347333129a462cee4fdf4729d6ba156db294ea7f1db8499f7c059343a5b4',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_10.html b/vendor/adlx/SDKDoc/html/search/enumvalues_10.html deleted file mode 100644 index dee29cc..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_10.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_10.js b/vendor/adlx/SDKDoc/html/search/enumvalues_10.js deleted file mode 100644 index 43a1057..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_10.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['wfvr_5falways_5foff_1337',['WFVR_ALWAYS_OFF',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a5c956c1e3c8b9261a07df15adbc10347',1,'ADLXDefines.h']]], - ['wfvr_5falways_5fon_1338',['WFVR_ALWAYS_ON',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a384b1aaeefe96b779cb597fcc6cb2353',1,'ADLXDefines.h']]], - ['wfvr_5foff_5funless_5fapp_5fspecifies_1339',['WFVR_OFF_UNLESS_APP_SPECIFIES',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028a91e122d0f7ee258bb27a5c43d5c8c675',1,'ADLXDefines.h']]], - ['wfvr_5fon_5funless_5fapp_5fspecifies_1340',['WFVR_ON_UNLESS_APP_SPECIFIES',['../_a_d_l_x_defines_8h.html#ga169a825952eda7e83b949176a9a81028aa8ff57a67a337b615187f25ae341bc54',1,'ADLXDefines.h']]], - ['white_5fpoint_5f5000k_1341',['WHITE_POINT_5000K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeabafda8bf3f312e8533c6aaaf0e44b5701d',1,'ADLXDefines.h']]], - ['white_5fpoint_5f6500k_1342',['WHITE_POINT_6500K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba0a2e69d2af462123badbcc91a067112d',1,'ADLXDefines.h']]], - ['white_5fpoint_5f7500k_1343',['WHITE_POINT_7500K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba585f24c3732b31a2ad036afeff29f6f7',1,'ADLXDefines.h']]], - ['white_5fpoint_5f9300k_1344',['WHITE_POINT_9300K',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeabab5870509771cc459d778cabc1dafa86c',1,'ADLXDefines.h']]], - ['white_5fpoint_5fcustom_1345',['WHITE_POINT_CUSTOM',['../_a_d_l_x_defines_8h.html#gafb56c4b91425c281009c447ccb1feeaba69d26e715baf519132af949a693f443c',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_11.html b/vendor/adlx/SDKDoc/html/search/enumvalues_11.html deleted file mode 100644 index 6d0e918..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_11.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_11.js b/vendor/adlx/SDKDoc/html/search/enumvalues_11.js deleted file mode 100644 index a33f808..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_11.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['ycbcr_5f420_1346',['YCBCR_420',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba0287302d7ddd58f71f513f1b992d81ce',1,'ADLXDefines.h']]], - ['ycbcr_5f422_1347',['YCBCR_422',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949abad4d31dab8d82da2918cffe7665065001',1,'ADLXDefines.h']]], - ['ycbcr_5f444_1348',['YCBCR_444',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba85751e7c89b56b44e78fe89bfad9e652',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_2.html b/vendor/adlx/SDKDoc/html/search/enumvalues_2.html deleted file mode 100644 index 2b95d92..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_2.js b/vendor/adlx/SDKDoc/html/search/enumvalues_2.js deleted file mode 100644 index d5dda24..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_2.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['centered_1207',['CENTERED',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8fea53f811bc46dd28493ccb7260b2cc8f38',1,'ADLXDefines.h']]], - ['cs_5fbt2020_1208',['CS_BT2020',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca39dc38d674d4dbbc54dde4383bb8c842',1,'ADLXDefines.h']]], - ['cs_5fdcip3_1209',['CS_DCIP3',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8ccaef18171467fde57447ed94e29d9b4ebb',1,'ADLXDefines.h']]], - ['cs_5fnative_1210',['CS_NATIVE',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca9e90a1fb63e1904946eb400980364fdc',1,'ADLXDefines.h']]], - ['cs_5fsrgb_1211',['CS_SRGB',['../_a_d_l_x_defines_8h.html#gabe8d6f1562d0472d97c5edbf55c6d8cca8eb37dfb98408e99d29c5c0290b03be8',1,'ADLXDefines.h']]], - ['cvt_1212',['CVT',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2aa91863e8a8dc6a9708359251cb58da67',1,'ADLXDefines.h']]], - ['cvt_5frb_1213',['CVT_RB',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2aa289f79dd3346e3b76f10622218ad88d',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_3.html b/vendor/adlx/SDKDoc/html/search/enumvalues_3.html deleted file mode 100644 index bc0ac8a..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_3.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_3.js b/vendor/adlx/SDKDoc/html/search/enumvalues_3.js deleted file mode 100644 index 2eb4c95..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_3.js +++ /dev/null @@ -1,46 +0,0 @@ -var searchData= -[ - ['dbgview_1214',['DBGVIEW',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67a212223605a82f278e4a43166f7ea5e55',1,'ADLXDefines.h']]], - ['degamma_5fcoefficients_1215',['DEGAMMA_COEFFICIENTS',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda0cd33109106da8ea0637ff89a488c0e4',1,'ADLXDefines.h']]], - ['degamma_5framp_1216',['DEGAMMA_RAMP',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fdab58305a50c2081e5495293490cfa036c',1,'ADLXDefines.h']]], - ['desktop_5fduplcate_1217',['DESKTOP_DUPLCATE',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89ac96f7ed618b411fc68b0e1fe21f2e62c',1,'ADLXDefines.h']]], - ['desktop_5feyefinity_1218',['DESKTOP_EYEFINITY',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89ac483eaf5310613780a7901e317b9b2a2',1,'ADLXDefines.h']]], - ['desktop_5fsingle_1219',['DESKTOP_SINGLE',['../_a_d_l_x_defines_8h.html#ga83322f63ada9c973559376760f141b89a03058f4b63d7d11fe6a5aa47154590a4',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcomposite_1220',['DISPLAY_CONTYPE_COMPOSITE',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dadb930735bf83ac951478cfe1e48e988b',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fjpn_1221',['DISPLAY_CONTYPE_CVDONGLE_JPN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dab31eb7b3e4b0af7a9c94c3c25ea96037',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fnoni2c_5fjpn_1222',['DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da88efbc7121b0b8605d514253aee67b71',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fnoni2c_5fntsc_1223',['DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da2d72a829a2749a5b73870051aa9ea532',1,'ADLXDefines.h']]], - ['display_5fcontype_5fcvdongle_5fntsc_1224',['DISPLAY_CONTYPE_CVDONGLE_NTSC',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6ef67f9c7005bf44c7c9e09ba771a6d1',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdisplayport_1225',['DISPLAY_CONTYPE_DISPLAYPORT',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da8b7f2b83c5165a353b89c8ee30f00926',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdvi_5fd_1226',['DISPLAY_CONTYPE_DVI_D',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da66e9c3dc1143b21d451f1eeeda928922',1,'ADLXDefines.h']]], - ['display_5fcontype_5fdvi_5fi_1227',['DISPLAY_CONTYPE_DVI_I',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da976f94a4c526e32729689885d12b4974',1,'ADLXDefines.h']]], - ['display_5fcontype_5fedp_1228',['DISPLAY_CONTYPE_EDP',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6e95611aba096c0c4e9fc4d39fa5b1aa',1,'ADLXDefines.h']]], - ['display_5fcontype_5fhdmi_5ftype_5fa_1229',['DISPLAY_CONTYPE_HDMI_TYPE_A',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0ea53d6c677500162804e524be36389e',1,'ADLXDefines.h']]], - ['display_5fcontype_5fhdmi_5ftype_5fb_1230',['DISPLAY_CONTYPE_HDMI_TYPE_B',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0f343261982b3c21d374c522e94dbf99',1,'ADLXDefines.h']]], - ['display_5fcontype_5fproprietary_1231',['DISPLAY_CONTYPE_PROPRIETARY',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da34fc9104608a5827f65b4966c53a215e',1,'ADLXDefines.h']]], - ['display_5fcontype_5frca_5f3component_1232',['DISPLAY_CONTYPE_RCA_3COMPONENT',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da6115b6cde3b24f5c0f1f30a551c6f302',1,'ADLXDefines.h']]], - ['display_5fcontype_5fsvideo_1233',['DISPLAY_CONTYPE_SVIDEO',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dab0d21daf08250dd0addd6d38c6bde568',1,'ADLXDefines.h']]], - ['display_5fcontype_5funknown_1234',['DISPLAY_CONTYPE_UNKNOWN',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da294e0c1bbb3ca9ccd0b4c9872f697f66',1,'ADLXDefines.h']]], - ['display_5fcontype_5fusb_5ftype_5fc_1235',['DISPLAY_CONTYPE_USB_TYPE_C',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dabcdfb70a8ce8756085bc779863d633cb',1,'ADLXDefines.h']]], - ['display_5fcontype_5fvga_1236',['DISPLAY_CONTYPE_VGA',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5dafb7606e80d94f991f4adf02a785de52e',1,'ADLXDefines.h']]], - ['display_5fcontype_5fwirelessdisplay_1237',['DISPLAY_CONTYPE_WIRELESSDISPLAY',['../_a_d_l_x_defines_8h.html#ga84edd2809be33537c99fb2ab8d04aa5da0dcdd2ed087cd3a4dd1deaa4be25e20c',1,'ADLXDefines.h']]], - ['display_5ftype_5fcomponent_5fvideo_1238',['DISPLAY_TYPE_COMPONENT_VIDEO',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44ad1962a730c65ae86adf85285b5e3fe5c',1,'ADLXDefines.h']]], - ['display_5ftype_5fdigital_5fflat_5fpanel_1239',['DISPLAY_TYPE_DIGITAL_FLAT_PANEL',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a2e71d866e8fc16c2142042a063cf5c14',1,'ADLXDefines.h']]], - ['display_5ftype_5flcd_5fpanel_1240',['DISPLAY_TYPE_LCD_PANEL',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a95122594fce234a2f413fa5bacfbb0b8',1,'ADLXDefines.h']]], - ['display_5ftype_5fmonitor_1241',['DISPLAY_TYPE_MONITOR',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44aa2fa6d64ccb655bb744838972531f814',1,'ADLXDefines.h']]], - ['display_5ftype_5fprojector_1242',['DISPLAY_TYPE_PROJECTOR',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44aecf18dcce9017bc96ad10dda0c5f5d37',1,'ADLXDefines.h']]], - ['display_5ftype_5ftelevision_1243',['DISPLAY_TYPE_TELEVISION',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a8b6bf038d0bc3fa0407ec57552fb6c3a',1,'ADLXDefines.h']]], - ['display_5ftype_5funkown_1244',['DISPLAY_TYPE_UNKOWN',['../_a_d_l_x_defines_8h.html#gae7e516225131af0ff164e9384d8d0a44a4a0fe4e9feb3a06c58be5aca25d8c218',1,'ADLXDefines.h']]], - ['dmt_1245',['DMT',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2a051eae001856e3b72c6d5f9acf8cadf8',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f2_5f16gbps_1246',['DP_LINK_RATE_2_16GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeae87c9d32213824676ec6543f5a3c61b7',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f2_5f43gbps_1247',['DP_LINK_RATE_2_43GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea4a9e8270d9b68125a6110a27656b8997',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5f4_5f32gbps_1248',['DP_LINK_RATE_4_32GBPS',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea3372eca0cefeed18988085434d499e3a',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr_1249',['DP_LINK_RATE_HBR',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea35645d5d751c605c68d7510626b83c56',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr2_1250',['DP_LINK_RATE_HBR2',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea77934704361a860998a76317c52f8b03',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fhbr3_1251',['DP_LINK_RATE_HBR3',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea109f634075691572ff18a40be6158252',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5frbr_1252',['DP_LINK_RATE_RBR',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea63d5dd3686f86a0119d1cf331f1edca2',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr10_1253',['DP_LINK_RATE_UHBR10',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeac78010f42a30fe04e7306d302a3d1245',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr13d5_1254',['DP_LINK_RATE_UHBR13D5',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeead12cd6f6bb23b34a3f7878586a0fc730',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5fuhbr20_1255',['DP_LINK_RATE_UHBR20',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeeaf2289ad0d49b5e1b667619a2c90fb5f4',1,'ADLXDefines.h']]], - ['dp_5flink_5frate_5funknown_1256',['DP_LINK_RATE_UNKNOWN',['../_a_d_l_x_defines_8h.html#gad5b0891b86d362269696ba46e1d4bdeea04bc6767a7efdf5d1a743582793bf719',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_4.html b/vendor/adlx/SDKDoc/html/search/enumvalues_4.html deleted file mode 100644 index ef94dd8..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_4.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_4.js b/vendor/adlx/SDKDoc/html/search/enumvalues_4.js deleted file mode 100644 index cfe17b1..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_4.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['format_5funknown_1257',['FORMAT_UNKNOWN',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba0b0be2c946e4690b69fc97b9aabc262f',1,'ADLXDefines.h']]], - ['full_5fpanel_1258',['FULL_PANEL',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8fea52e5d81a538ca03d28c5d3d0dd33662c',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_5.html b/vendor/adlx/SDKDoc/html/search/enumvalues_5.html deleted file mode 100644 index 1c2e2f3..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_5.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_5.js b/vendor/adlx/SDKDoc/html/search/enumvalues_5.js deleted file mode 100644 index cdafe15..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_5.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['gamut_5fspace_5fadobe_5frgb_1259',['GAMUT_SPACE_ADOBE_RGB',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a81ccdc7e5afcb1abd12340eb5fa47301',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f2020_1260',['GAMUT_SPACE_CCIR_2020',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14adff8da50fc2428d3274deb186a9e363d',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f601_1261',['GAMUT_SPACE_CCIR_601',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14ab1622dfde8daae9398a0a245c4798935',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fccir_5f709_1262',['GAMUT_SPACE_CCIR_709',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a6d2c65316d5efd3aee2454740657b8be',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fcie_5frgb_1263',['GAMUT_SPACE_CIE_RGB',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a5d7ae134656c91cc92e397e996fadd58',1,'ADLXDefines.h']]], - ['gamut_5fspace_5fcustom_1264',['GAMUT_SPACE_CUSTOM',['../_a_d_l_x_defines_8h.html#ga46dff86075115b139c1c72f447e94e14a74d331b6c316667fc652ce6bf76daf49',1,'ADLXDefines.h']]], - ['gputype_5fdiscrete_1265',['GPUTYPE_DISCRETE',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34a5aa5ebc90d45840cfadec5bd25e50423',1,'ADLXDefines.h']]], - ['gputype_5fintegrated_1266',['GPUTYPE_INTEGRATED',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34af54e5303fc76110709462383628c0d5b',1,'ADLXDefines.h']]], - ['gputype_5fundefined_1267',['GPUTYPE_UNDEFINED',['../_a_d_l_x_defines_8h.html#ga6fb3c9944d5c8aa79f7dbd0f675fac34ace1bf6380e6eb87aec4f7879f4d117c9',1,'ADLXDefines.h']]], - ['gtf_1268',['GTF',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2ab1b85071af6cee6911203f8f850eb2bd',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_6.html b/vendor/adlx/SDKDoc/html/search/enumvalues_6.html deleted file mode 100644 index f985df9..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_6.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_6.js b/vendor/adlx/SDKDoc/html/search/enumvalues_6.js deleted file mode 100644 index 8b333be..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_6.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['i2c_5fline_5fod_5fcontrol_1269',['I2C_LINE_OD_CONTROL',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a15d9e2ca15e335f0b8551dfc9c78a9fd',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem_1270',['I2C_LINE_OEM',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67ab041e1bec4cf6e632b086e0bd32d845b',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem2_1271',['I2C_LINE_OEM2',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a397ea3400420f6a75ec671eec8318bd9',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem3_1272',['I2C_LINE_OEM3',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67ad8562c2a23b5240016bec9febd7e5534',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem4_1273',['I2C_LINE_OEM4',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a3bfe8c54790986904c38ed63660d4467',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem5_1274',['I2C_LINE_OEM5',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67a59f3010d90dd125a1d137cab702b5058',1,'ADLXDefines.h']]], - ['i2c_5fline_5foem6_1275',['I2C_LINE_OEM6',['../_a_d_l_x_defines_8h.html#ga75eb2c93942ff81ff1cbeef647c2cf67afe60e6b9655ad805099288bf89647a1e',1,'ADLXDefines.h']]], - ['interlaced_1276',['INTERLACED',['../_a_d_l_x_defines_8h.html#gae2d0250dc861156a468001600a2ee648a855562021fc14e40c67913a5bb4701f7',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_7.html b/vendor/adlx/SDKDoc/html/search/enumvalues_7.html deleted file mode 100644 index 7fdf663..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_7.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_7.js b/vendor/adlx/SDKDoc/html/search/enumvalues_7.js deleted file mode 100644 index 48d2340..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_7.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['ldebug_1277',['LDEBUG',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccda99a9c50ae812fdb9418bb4d04e55521e',1,'ADLXDefines.h']]], - ['lerror_1278',['LERROR',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccda83ce64538cb7824877b3e5f9161eeb14',1,'ADLXDefines.h']]], - ['localfile_1279',['LOCALFILE',['../_a_d_l_x_defines_8h.html#gae308b7ad24806dce3fe087e9a780be67ab247590fcecf66f9a58d7c3beebd22c8',1,'ADLXDefines.h']]], - ['lwarning_1280',['LWARNING',['../_a_d_l_x_defines_8h.html#gaadfaa61953d62bced2b6c516f8bebccdab27a3dae713258bd0dfa794aeb9ac44f',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_8.html b/vendor/adlx/SDKDoc/html/search/enumvalues_8.html deleted file mode 100644 index 674ccda..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_8.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_8.js b/vendor/adlx/SDKDoc/html/search/enumvalues_8.js deleted file mode 100644 index 0fad607..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_8.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['manual_1281',['MANUAL',['../_a_d_l_x_defines_8h.html#ga5f02fa0b6e26f22606a85221393f8ae2a506e8dd29460ea318b68d035f679b01b',1,'ADLXDefines.h']]], - ['memorytiming_5fautomatic_1282',['MEMORYTIMING_AUTOMATIC',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a36391b593ecff100518944cea6668e74',1,'ADLXDefines.h']]], - ['memorytiming_5fdefault_1283',['MEMORYTIMING_DEFAULT',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11afe3950cab8cd7256574a2d833ae06f26',1,'ADLXDefines.h']]], - ['memorytiming_5ffast_5ftiming_1284',['MEMORYTIMING_FAST_TIMING',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11ae75d55283f428316b2db4833d54ecf77',1,'ADLXDefines.h']]], - ['memorytiming_5ffast_5ftiming_5flevel_5f2_1285',['MEMORYTIMING_FAST_TIMING_LEVEL_2',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a9ec2a8597122dc8cc85e9cff91eede1c',1,'ADLXDefines.h']]], - ['memorytiming_5fmemorytiming_5flevel_5f1_1286',['MEMORYTIMING_MEMORYTIMING_LEVEL_1',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11ae2165248a4d00fbfe16140ca4afd0e9b',1,'ADLXDefines.h']]], - ['memorytiming_5fmemorytiming_5flevel_5f2_1287',['MEMORYTIMING_MEMORYTIMING_LEVEL_2',['../_a_d_l_x_defines_8h.html#gaa25f244e38a3502a52167c303abcec11a2ae2530d0e57e0db3bf2b94f4f3f96d8',1,'ADLXDefines.h']]], - ['mgpu_5fnone_1288',['MGPU_NONE',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478daf2165ffea80d451f834d3a5d2994b3c8',1,'ADLXDefines.h']]], - ['mgpu_5fprimary_1289',['MGPU_PRIMARY',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478daa8e7af64a7da10bed79c2e5de97b7cb8',1,'ADLXDefines.h']]], - ['mgpu_5fsecondary_1290',['MGPU_SECONDARY',['../_a_d_l_x_defines_8h.html#gada547c00826e15266732f874a0f3478da9100baedfaa6e08d64fa900cd7685cef',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_9.html b/vendor/adlx/SDKDoc/html/search/enumvalues_9.html deleted file mode 100644 index 60f15ee..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_9.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_9.js b/vendor/adlx/SDKDoc/html/search/enumvalues_9.js deleted file mode 100644 index 50d0b25..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_9.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['negative_1291',['NEGATIVE',['../_a_d_l_x_defines_8h.html#gacabd271b1699333d9664b8e6320aad3ba62d66a51fa7574c652597716f7709865',1,'ADLXDefines.h']]], - ['none_1292',['NONE',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7ac157bdf0b85a40d2619cbc8bc1ae5fe2',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_a.html b/vendor/adlx/SDKDoc/html/search/enumvalues_a.html deleted file mode 100644 index ce1064c..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_a.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_a.js b/vendor/adlx/SDKDoc/html/search/enumvalues_a.js deleted file mode 100644 index 40c6730..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_a.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['orientation_5flandscape_1293',['ORIENTATION_LANDSCAPE',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1aeffaa8f11bafc4c40b434f3b941eb1bf',1,'ADLXDefines.h']]], - ['orientation_5flandscape_5fflipped_1294',['ORIENTATION_LANDSCAPE_FLIPPED',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1a29f5d104339a45621bab90f391ed3c84',1,'ADLXDefines.h']]], - ['orientation_5fportrait_1295',['ORIENTATION_PORTRAIT',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1acd00a965397a558275015a84f2f22dd5',1,'ADLXDefines.h']]], - ['orientation_5fportrait_5fflipped_1296',['ORIENTATION_PORTRAIT_FLIPPED',['../_a_d_l_x_defines_8h.html#gae896c86f4fc55efe4e866450e33465b1a0c4dc7635db48ef031605d4411ab4513',1,'ADLXDefines.h']]], - ['other_1297',['OTHER',['../_a_d_l_x_defines_8h.html#ga260f926e27eef013ca1eacd0ff7b3ba7adbf1dee1b8cd7ea3c82661943c7b74f4',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_b.html b/vendor/adlx/SDKDoc/html/search/enumvalues_b.html deleted file mode 100644 index ec768e7..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_b.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_b.js b/vendor/adlx/SDKDoc/html/search/enumvalues_b.js deleted file mode 100644 index d2babd2..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_b.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['pci_1298',['PCI',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62adfeeebd622756e33b1bbf14d0b8821ee',1,'ADLXDefines.h']]], - ['pcie_1299',['PCIE',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62aae1e997bb446fea257f4b0313566a2d2',1,'ADLXDefines.h']]], - ['pcie_5f2_5f0_1300',['PCIE_2_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62aa36631de27912207e50cacf93573d0f6',1,'ADLXDefines.h']]], - ['pcie_5f3_5f0_1301',['PCIE_3_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a057afcee3226d5df8609f7b055bbf274',1,'ADLXDefines.h']]], - ['pcie_5f4_5f0_1302',['PCIE_4_0',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a5e365dcf6d45b0ea04e3e60b0eb8079c',1,'ADLXDefines.h']]], - ['pixel_5fclock_5fmax_1303',['PIXEL_CLOCK_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0abe8eaf29508bfdb43618cca61c441128',1,'ADLXDefines.h']]], - ['pixel_5fclock_5fmin_1304',['PIXEL_CLOCK_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a458a7aa8afac5aa503ad749178f35c9d',1,'ADLXDefines.h']]], - ['positive_1305',['POSITIVE',['../_a_d_l_x_defines_8h.html#gacabd271b1699333d9664b8e6320aad3ba03d440bbbfb042afc85347f994b44fb5',1,'ADLXDefines.h']]], - ['preserve_5faspect_5fratio_1306',['PRESERVE_ASPECT_RATIO',['../_a_d_l_x_defines_8h.html#ga0ec0640b97efee73b589bf0b1c07a8feaed414c2ae5181749af0aee3b30c647d1',1,'ADLXDefines.h']]], - ['progressive_1307',['PROGRESSIVE',['../_a_d_l_x_defines_8h.html#gae2d0250dc861156a468001600a2ee648aa26e5d6a224712b2542b07280bdab8e9',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_c.html b/vendor/adlx/SDKDoc/html/search/enumvalues_c.html deleted file mode 100644 index bdb4e13..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_c.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_c.js b/vendor/adlx/SDKDoc/html/search/enumvalues_c.js deleted file mode 100644 index c4cd548..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_c.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['refresh_5frate_5fmax_1308',['REFRESH_RATE_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0af8650ed5f9e81724ebdf3e4b596900fa',1,'ADLXDefines.h']]], - ['refresh_5frate_5fmin_1309',['REFRESH_RATE_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a2458b9ca110c53eadab4bd2cb39fb1e1',1,'ADLXDefines.h']]], - ['regamma_5fcoefficients_1310',['REGAMMA_COEFFICIENTS',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda9768d1761a8c17484394fe76f01d6c06',1,'ADLXDefines.h']]], - ['regamma_5framp_1311',['REGAMMA_RAMP',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda54f1acbc9507d4d16b8ded68349bf02d',1,'ADLXDefines.h']]], - ['resolution_5fmax_1312',['RESOLUTION_MAX',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0ae0fdf7b7e8824ac59378edda3a2710a5',1,'ADLXDefines.h']]], - ['resolution_5fmin_1313',['RESOLUTION_MIN',['../_a_d_l_x_defines_8h.html#ga6a4bf151ffad0146661c2c8612382af0a74a5fec7d3d4963e094c0c6072e020c0',1,'ADLXDefines.h']]], - ['rgb_5f444_5ffull_1314',['RGB_444_FULL',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949aba584ee215854f2d23ec8e10be27e14fba',1,'ADLXDefines.h']]], - ['rgb_5f444_5flimited_1315',['RGB_444_LIMITED',['../_a_d_l_x_defines_8h.html#gaa0e9deb1567713f1044419070f2949abac5e41241065884bcc7ade21756538ab4',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_d.html b/vendor/adlx/SDKDoc/html/search/enumvalues_d.html deleted file mode 100644 index 47a7615..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_d.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_d.js b/vendor/adlx/SDKDoc/html/search/enumvalues_d.js deleted file mode 100644 index 0c447e5..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_d.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['ssm_5fbias_5fauto_1316',['SSM_BIAS_AUTO',['../_a_d_l_x_defines_8h.html#gae2895828b9a8b0345e1fb8bf416ff1b4aa01f2492c707f2d545a726a70bfe4885',1,'ADLXDefines.h']]], - ['ssm_5fbias_5fmanual_1317',['SSM_BIAS_MANUAL',['../_a_d_l_x_defines_8h.html#gae2895828b9a8b0345e1fb8bf416ff1b4af35e1bfcb1955e0e0c900876c1c67746',1,'ADLXDefines.h']]], - ['sync_5forigin_5fexternal_1318',['SYNC_ORIGIN_EXTERNAL',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a8f0083602d13ae71103b333d6c9c9d00',1,'ADLXDefines.h']]], - ['sync_5forigin_5finternal_1319',['SYNC_ORIGIN_INTERNAL',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a9675678b0b44b0e114901d2e49441eeb',1,'ADLXDefines.h']]], - ['sync_5forigin_5funknown_1320',['SYNC_ORIGIN_UNKNOWN',['../_a_d_l_x_defines_8h.html#ga7a1e20106faef482c0664c546e04ba00a4ba8600162d2d062803b6ff6bc43d8e9',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_e.html b/vendor/adlx/SDKDoc/html/search/enumvalues_e.html deleted file mode 100644 index c7b30bf..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_e.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_e.js b/vendor/adlx/SDKDoc/html/search/enumvalues_e.js deleted file mode 100644 index 67e3b8f..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_e.js +++ /dev/null @@ -1,17 +0,0 @@ -var searchData= -[ - ['t_5flevel_5f16x_1321',['T_LEVEL_16X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca81da4c659b7805407bec0d0ad595bb69',1,'ADLXDefines.h']]], - ['t_5flevel_5f2x_1322',['T_LEVEL_2X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca1ab9133a629987f8ca508e3d4031b4df',1,'ADLXDefines.h']]], - ['t_5flevel_5f32x_1323',['T_LEVEL_32X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca4e5b2fc5d494fd9a30109f7f7038ac03',1,'ADLXDefines.h']]], - ['t_5flevel_5f4x_1324',['T_LEVEL_4X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca2abb616e9496d3cfd550ac2f92c9e3ee',1,'ADLXDefines.h']]], - ['t_5flevel_5f64x_1325',['T_LEVEL_64X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5cafc6e09b3c44597e193bedd8a592474c0',1,'ADLXDefines.h']]], - ['t_5flevel_5f6x_1326',['T_LEVEL_6X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca4f8d9cec3c1ff901e46ed1e9156c7420',1,'ADLXDefines.h']]], - ['t_5flevel_5f8x_1327',['T_LEVEL_8X',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5cad61c7030ea4f89ca43af8d9087fafd45',1,'ADLXDefines.h']]], - ['t_5flevel_5foff_1328',['T_LEVEL_OFF',['../_a_d_l_x_defines_8h.html#ga5967c593434c0cba5891c996d64cff5ca07fb2f890b90b7ad6cbcf07cfbcae36c',1,'ADLXDefines.h']]], - ['t_5fmode_5famd_5foptimized_1329',['T_MODE_AMD_OPTIMIZED',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa73ae5eb0bacfbde56077eea258648325',1,'ADLXDefines.h']]], - ['t_5fmode_5foverride_5fapp_5fsettings_1330',['T_MODE_OVERRIDE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa457aa8bc48fb10ec6b107b28e56a56b5',1,'ADLXDefines.h']]], - ['t_5fmode_5fuse_5fapp_5fsettings_1331',['T_MODE_USE_APP_SETTINGS',['../_a_d_l_x_defines_8h.html#ga7899078325beddfbe0f4e63dca8ce8caa908c4c2fcd9ca251f77201ac62002b7e',1,'ADLXDefines.h']]], - ['tf_5fg22_1332',['TF_G22',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955a13489b5b70dc2920b2a39b0617a1674d',1,'ADLXDefines.h']]], - ['tf_5fpq_1333',['TF_PQ',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955ab7e789edc19856a34fe8b6e0c23ded66',1,'ADLXDefines.h']]], - ['tf_5fsrgb_1334',['TF_SRGB',['../_a_d_l_x_defines_8h.html#ga7ebbfe051a5113c2c1521af3426b7955a0a4fa9ac7814d34d0d9da291b0496208',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_f.html b/vendor/adlx/SDKDoc/html/search/enumvalues_f.html deleted file mode 100644 index 9a7bb12..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_f.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/enumvalues_f.js b/vendor/adlx/SDKDoc/html/search/enumvalues_f.js deleted file mode 100644 index 41d6184..0000000 --- a/vendor/adlx/SDKDoc/html/search/enumvalues_f.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['undefined_1335',['UNDEFINED',['../_a_d_l_x_defines_8h.html#gafcbeca41c0df518ccf5556e8e6e83f62a605159e8a4c32319fd69b5d151369d93',1,'ADLXDefines.h']]], - ['unknow_1336',['UNKNOW',['../_a_d_l_x_defines_8h.html#ga87f8763d8496a4e5ec84964e149144fda09b024ff449662360c66ce18d20096fa',1,'ADLXDefines.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/files_0.html b/vendor/adlx/SDKDoc/html/search/files_0.html deleted file mode 100644 index 9498842..0000000 --- a/vendor/adlx/SDKDoc/html/search/files_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/files_0.js b/vendor/adlx/SDKDoc/html/search/files_0.js deleted file mode 100644 index eb0b0f1..0000000 --- a/vendor/adlx/SDKDoc/html/search/files_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['adlxdefines_2eh_1076',['ADLXDefines.h',['../_a_d_l_x_defines_8h.html',1,'']]], - ['adlxstructures_2eh_1077',['ADLXStructures.h',['../_a_d_l_x_structures_8h.html',1,'']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/groups_0.html b/vendor/adlx/SDKDoc/html/search/groups_0.html deleted file mode 100644 index c600b49..0000000 --- a/vendor/adlx/SDKDoc/html/search/groups_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/groups_0.js b/vendor/adlx/SDKDoc/html/search/groups_0.js deleted file mode 100644 index af92842..0000000 --- a/vendor/adlx/SDKDoc/html/search/groups_0.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['adlx_20enums_1349',['ADLX Enums',['../group__enumerations.html',1,'']]], - ['adlx_20macro_1350',['ADLX Macro',['../group___a_d_l_x_macro.html',1,'']]], - ['adlx_20primitive_20data_20types_1351',['ADLX Primitive Data Types',['../group__typedefs.html',1,'']]], - ['adlx_20structs_1352',['ADLX Structs',['../group__structures_val.html',1,'']]], - ['adlx_20typedefs_1353',['ADLX Typedefs',['../group___a_d_l_x_defs.html',1,'']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/mag_sel.svg b/vendor/adlx/SDKDoc/html/search/mag_sel.svg deleted file mode 100644 index 03626f6..0000000 --- a/vendor/adlx/SDKDoc/html/search/mag_sel.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/html/search/nomatches.html b/vendor/adlx/SDKDoc/html/search/nomatches.html deleted file mode 100644 index 2b9360b..0000000 --- a/vendor/adlx/SDKDoc/html/search/nomatches.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - -
-
No Matches
-
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_0.html b/vendor/adlx/SDKDoc/html/search/pages_0.html deleted file mode 100644 index 8517b48..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_0.js b/vendor/adlx/SDKDoc/html/search/pages_0.js deleted file mode 100644 index e6c390f..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['3d_20graphics_1354',['3D Graphics',['../domain_c_sample_3_d_graphics.html',1,'page_sample_c'],['../domain_cpp_sample_3_d_graphics.html',1,'page_sample_cpp'],['../gfx3dgraphics.html',1,'page_interfaces']]], - ['3dsettingsevent_1355',['3DSettingsEvent',['../c_3_d_settings_event.html',1,'domain_c_sample_3DGraphics'],['../cpp_3_d_settings_event.html',1,'domain_cpp_sample_3DGraphics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_1.html b/vendor/adlx/SDKDoc/html/search/pages_1.html deleted file mode 100644 index a0fb679..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_1.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_1.js b/vendor/adlx/SDKDoc/html/search/pages_1.js deleted file mode 100644 index 651dc11..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_1.js +++ /dev/null @@ -1,56 +0,0 @@ -var searchData= -[ - ['acquire_1356',['Acquire',['../_d_o_x__i_a_d_l_x_interface__acquire.html',1,'DOX_IADLXInterface']]], - ['add3dsettingseventlistener_1357',['Add3DSettingsEventListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.html',1,'DOX_IADLX3DSettingsChangedHandling']]], - ['add_5fback_1358',['Add_Back',['../_d_o_x__i_a_d_l_x_all_metrics_list__add__back.html',1,'DOX_IADLXAllMetricsList'],['../_d_o_x__i_a_d_l_x_desktop_list__add__back.html',1,'DOX_IADLXDesktopList'],['../_d_o_x__i_a_d_l_x_display_list__add__back.html',1,'DOX_IADLXDisplayList'],['../_d_o_x__i_a_d_l_x_display_resolution_list__add__back.html',1,'DOX_IADLXDisplayResolutionList'],['../_d_o_x__i_a_d_l_x_f_p_s_list__add__back.html',1,'DOX_IADLXFPSList'],['../_d_o_x__i_a_d_l_x_g_p_u_list__add__back.html',1,'DOX_IADLXGPUList'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.html',1,'DOX_IADLXGPUMetricsList'],['../_d_o_x__i_a_d_l_x_list__add__back.html',1,'DOX_IADLXList'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.html',1,'DOX_IADLXManualFanTuningStateList'],['../_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.html',1,'DOX_IADLXManualTuningStateList'],['../_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.html',1,'DOX_IADLXMemoryTimingDescriptionList'],['../_d_o_x__i_a_d_l_x_system_metrics_list__add__back.html',1,'DOX_IADLXSystemMetricsList']]], - ['adddesktoplisteventlistener_1359',['AddDesktopListEventListener',['../_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.html',1,'DOX_IADLXDesktopChangedHandling']]], - ['adddisplay3dluteventlistener_1360',['AddDisplay3DLUTEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaygammaeventlistener_1361',['AddDisplayGammaEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaygamuteventlistener_1362',['AddDisplayGamutEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaylisteventlistener_1363',['AddDisplayListEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['adddisplaysettingseventlistener_1364',['AddDisplaySettingsEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['addgpuslisteventlistener_1365',['AddGPUsListEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.html',1,'DOX_IADLXGPUsChangedHandling']]], - ['addgputuningeventlistener_1366',['AddGPUTuningEventListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.html',1,'DOX_IADLXGPUTuningChangedHandling']]], - ['addpowertuningeventlistener_1367',['AddPowerTuningEventListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.html',1,'DOX_IADLXPowerTuningChangedHandling']]], - ['adladapterindexfromadlxgpu_1368',['AdlAdapterIndexFromADLXGPU',['../_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.html',1,'DOX_IADLMapping']]], - ['adlidsfromadlxdesktop_1369',['ADLIdsFromADLXDesktop',['../_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.html',1,'DOX_IADLMapping']]], - ['adlidsfromadlxdisplay_1370',['ADLIdsFromADLXDisplay',['../_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.html',1,'DOX_IADLMapping']]], - ['adlx_20functions_1371',['ADLX Functions',['../funpage.html',1,'page_sdk']]], - ['adlx_20helper_20functions_1372',['ADLX Helper Functions',['../page__a_d_l_x_c_help.html',1,'page_ADLXHelps']]], - ['adlx_20helpers_1373',['ADLX Helpers',['../page__a_d_l_x_helps.html',1,'page_sdk']]], - ['adlx_20interfaces_1374',['ADLX Interfaces',['../page_interfaces.html',1,'page_sdk']]], - ['adlx_20programming_20guide_1375',['ADLX Programming Guide',['../page_adlxprogrammingguide.html',1,'page_programwithadlx']]], - ['adlx_20samples_1376',['ADLX Samples',['../domain_sample_page.html',1,'page_programwithadlx']]], - ['adlx_20sdk_20references_1377',['ADLX SDK References',['../page_sdk.html',1,'']]], - ['adlx_5fatomic_5fdec_1378',['adlx_atomic_dec',['../adlx_atomic_dec.html',1,'funpage']]], - ['adlx_5fatomic_5finc_1379',['adlx_atomic_inc',['../adlx_atomic_inc.html',1,'funpage']]], - ['adlx_5ffree_5flibrary_1380',['adlx_free_library',['../adlx_free_library.html',1,'funpage']]], - ['adlx_5fget_5fproc_5faddress_1381',['adlx_get_proc_address',['../adlx_get_proc_address.html',1,'funpage']]], - ['adlx_5fload_5flibrary_1382',['adlx_load_library',['../adlx_load_library.html',1,'funpage']]], - ['adlxcsharpbind_1383',['ADLXCSharpBind',['../cs_sample_adlxcsharpbind.html',1,'page_sample_cs']]], - ['adlxhelper_1384',['ADLXHelper',['../page_cpp_help_new.html',1,'page_ADLXCppHelp']]], - ['adlxhelper_20class_1385',['ADLXHelper Class',['../page__a_d_l_x_cpp_help.html',1,'page_ADLXHelps']]], - ['adlxhelper_5fgetadlmapping_1386',['ADLXHelper_GetAdlMapping',['../page_c_help_a_d_l_x_helper__get_adl_mapping.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fgetsystemservices_1387',['ADLXHelper_GetSystemServices',['../page_c_help_a_d_l_x_helper__get_system_services.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitialize_1388',['ADLXHelper_Initialize',['../page_c_help_a_d_l_x_helper__initialize.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitializewithcalleradl_1389',['ADLXHelper_InitializeWithCallerAdl',['../page_c_help_a_d_l_x_helper__initialize_with_caller_adl.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5finitializewithincompatibledriver_1390',['ADLXHelper_InitializeWithIncompatibleDriver',['../page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fqueryfullversion_1391',['ADLXHelper_QueryFullVersion',['../page_c_help_a_d_l_x_helper__query_full_version.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fqueryversion_1392',['ADLXHelper_QueryVersion',['../page_c_help_a_d_l_x_helper__query_version.html',1,'page_ADLXCHelp']]], - ['adlxhelper_5fterminate_1393',['ADLXHelper_Terminate',['../page_c_help_a_d_l_x_helper__terminate.html',1,'page_ADLXCHelp']]], - ['adlxinitialize_5ffn_1394',['ADLXInitialize_Fn',['../page__a_d_l_x_initialize__fn.html',1,'funpage']]], - ['adlxinitializewithcalleradl_5ffn_1395',['ADLXInitializeWithCallerAdl_Fn',['../page__a_d_l_x_initialize_with_caller_adl__fn.html',1,'funpage']]], - ['adlxjavabind_1396',['ADLXJavaBind',['../java_sample_adlxjavabind.html',1,'page_sample_java']]], - ['adlxpybind_1397',['ADLXPybind',['../py_sample_adlxpybind.html',1,'page_sample_py']]], - ['adlxqueryfullversion_5ffn_1398',['ADLXQueryFullVersion_Fn',['../page__a_d_l_x_query_full_version__fn.html',1,'funpage']]], - ['adlxqueryversion_5ffn_1399',['ADLXQueryVersion_Fn',['../page__a_d_l_x_query_version__fn.html',1,'funpage']]], - ['adlxterminate_5ffn_1400',['ADLXTerminate_Fn',['../page__a_d_l_x_terminate__fn.html',1,'funpage']]], - ['advanced_20configurations_1401',['Advanced Configurations',['../page_guide_advanced.html',1,'page_adlxprogrammingguide']]], - ['amd_20device_20library_20extra_1402',['AMD Device Library eXtra',['../index.html',1,'']]], - ['anisotropicfiltering_1403',['AnisotropicFiltering',['../c__anisotropic_filtering.html',1,'domain_c_sample_3DGraphics'],['../cpp__anisotropic_filtering.html',1,'domain_cpp_sample_3DGraphics']]], - ['antialiasing_1404',['AntiAliasing',['../c__anti_aliasing.html',1,'domain_c_sample_3DGraphics'],['../cpp__anti_aliasing.html',1,'domain_cpp_sample_3DGraphics']]], - ['antilag_1405',['AntiLag',['../c__anti_lag.html',1,'domain_c_sample_3DGraphics'],['../cpp__anti_lag.html',1,'domain_cpp_sample_3DGraphics']]], - ['asicfamilytype_1406',['ASICFamilyType',['../_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.html',1,'DOX_IADLXGPU']]], - ['asynceventhandling_1407',['AsyncEventHandling',['../c_sample__async_event_handling.html',1,'domain_c_sample_globalsync'],['../cpp_sample__async_event_handling.html',1,'domain_cpp_sample_globalsync']]], - ['at_1408',['At',['../_d_o_x__i_a_d_l_x_all_metrics_list__at.html',1,'DOX_IADLXAllMetricsList'],['../_d_o_x__i_a_d_l_x_desktop_list__at.html',1,'DOX_IADLXDesktopList'],['../_d_o_x__i_a_d_l_x_display_list__at.html',1,'DOX_IADLXDisplayList'],['../_d_o_x__i_a_d_l_x_display_resolution_list__at.html',1,'DOX_IADLXDisplayResolutionList'],['../_d_o_x__i_a_d_l_x_f_p_s_list__at.html',1,'DOX_IADLXFPSList'],['../_d_o_x__i_a_d_l_x_g_p_u_list__at.html',1,'DOX_IADLXGPUList'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.html',1,'DOX_IADLXGPUMetricsList'],['../_d_o_x__i_a_d_l_x_list__at.html',1,'DOX_IADLXList'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.html',1,'DOX_IADLXManualFanTuningStateList'],['../_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.html',1,'DOX_IADLXManualTuningStateList'],['../_d_o_x__i_a_d_l_x_memory_timing_description_list__at.html',1,'DOX_IADLXMemoryTimingDescriptionList'],['../_d_o_x__i_a_d_l_x_system_metrics_list__at.html',1,'DOX_IADLXSystemMetricsList']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_10.html b/vendor/adlx/SDKDoc/html/search/pages_10.html deleted file mode 100644 index 18b9ef4..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_10.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_10.js b/vendor/adlx/SDKDoc/html/search/pages_10.js deleted file mode 100644 index b6480bb..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_10.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['queryfullversion_1991',['QueryFullVersion',['../page_cpp_help_query_full_version.html',1,'page_ADLXCppHelp']]], - ['queryinterface_1992',['QueryInterface',['../_d_o_x__i_a_d_l_x_interface__query_interface.html',1,'DOX_IADLXInterface'],['../_d_o_x__i_a_d_l_x_system__query_interface.html',1,'DOX_IADLXSystem']]], - ['queryversion_1993',['QueryVersion',['../page_cpp_help_query_version.html',1,'page_ADLXCppHelp']]], - ['quick_20start_1994',['Quick Start',['../page_guide_qs.html',1,'page_adlxprogrammingguide']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_11.html b/vendor/adlx/SDKDoc/html/search/pages_11.html deleted file mode 100644 index bdf5b79..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_11.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_11.js b/vendor/adlx/SDKDoc/html/search/pages_11.js deleted file mode 100644 index d2ca0a3..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_11.js +++ /dev/null @@ -1,24 +0,0 @@ -var searchData= -[ - ['read_1995',['Read',['../_d_o_x__i_a_d_l_x_i2_c__read.html',1,'DOX_IADLXI2C']]], - ['receiving_20events_20notifications_1996',['Receiving Events Notifications',['../domain_c_sample_globalsync.html',1,'page_sample_c'],['../domain_cpp_sample_globalsync.html',1,'page_sample_cpp']]], - ['refreshrate_1997',['RefreshRate',['../_d_o_x__i_a_d_l_x_display__refresh_rate.html',1,'DOX_IADLXDisplay']]], - ['release_1998',['Release',['../_d_o_x__i_a_d_l_x_interface__release.html',1,'DOX_IADLXInterface']]], - ['remove3dsettingseventlistener_1999',['Remove3DSettingsEventListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.html',1,'DOX_IADLX3DSettingsChangedHandling']]], - ['remove_5fback_2000',['Remove_Back',['../_d_o_x__i_a_d_l_x_list__remove__back.html',1,'DOX_IADLXList']]], - ['removedesktoplisteventlistener_2001',['RemoveDesktopListEventListener',['../_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.html',1,'DOX_IADLXDesktopChangedHandling']]], - ['removedisplay3dluteventlistener_2002',['RemoveDisplay3DLUTEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaygammaeventlistener_2003',['RemoveDisplayGammaEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaygamuteventlistener_2004',['RemoveDisplayGamutEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaylisteventlistener_2005',['RemoveDisplayListEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removedisplaysettingseventlistener_2006',['RemoveDisplaySettingsEventListener',['../_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.html',1,'DOX_IADLXDisplayChangedHandling']]], - ['removegpuslisteventlistener_2007',['RemoveGPUsListEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.html',1,'DOX_IADLXGPUsChangedHandling']]], - ['removegputuningeventlistener_2008',['RemoveGPUTuningEventListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.html',1,'DOX_IADLXGPUTuningChangedHandling']]], - ['removepowertuningeventlistener_2009',['RemovePowerTuningEventListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.html',1,'DOX_IADLXPowerTuningChangedHandling']]], - ['repeatedstartread_2010',['RepeatedStartRead',['../_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.html',1,'DOX_IADLXI2C']]], - ['resetgammaramp_2011',['ResetGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['resetshadercache_2012',['ResetShaderCache',['../c__reset_shader_cache.html',1,'domain_c_sample_3DGraphics'],['../cpp__reset_shader_cache.html',1,'domain_cpp_sample_3DGraphics'],['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.html',1,'DOX_IADLX3DResetShaderCache']]], - ['resettofactory_2013',['ResetToFactory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.html',1,'DOX_IADLXGPUTuningServices']]], - ['revisionid_2014',['RevisionId',['../_d_o_x__i_a_d_l_x_g_p_u__revision_id.html',1,'DOX_IADLXGPU']]], - ['rsr_2015',['RSR',['../c__r_s_r.html',1,'domain_c_sample_3DGraphics'],['../cpp__r_s_r.html',1,'domain_cpp_sample_3DGraphics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_12.html b/vendor/adlx/SDKDoc/html/search/pages_12.html deleted file mode 100644 index fef004d..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_12.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_12.js b/vendor/adlx/SDKDoc/html/search/pages_12.js deleted file mode 100644 index 74ec343..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_12.js +++ /dev/null @@ -1,92 +0,0 @@ -var searchData= -[ - ['scantype_2016',['ScanType',['../_d_o_x__i_a_d_l_x_display__scan_type.html',1,'DOX_IADLXDisplay']]], - ['servicecall_2017',['ServiceCall',['../domain_c_sample_servicecall.html',1,'page_sample_c'],['../domain_cpp_sample_servicecall.html',1,'page_sample_cpp']]], - ['setalluser3dlut_2018',['SetAllUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setbalanced_2019',['SetBalanced',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setbias_2020',['SetBias',['../_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.html',1,'DOX_IADLXSmartShiftMax']]], - ['setbiasmode_2021',['SetBiasMode',['../_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.html',1,'DOX_IADLXSmartShiftMax']]], - ['setblanked_2022',['SetBlanked',['../_d_o_x__i_a_d_l_x_display_blanking__set_blanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['setbrightness_2023',['SetBrightness',['../_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setcontrast_2024',['SetContrast',['../_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setdegammaramp_2025',['SetDeGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.html',1,'DOX_IADLXDisplayGamma'],['../_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.html',1,'DOX_IADLXDisplayGamma']]], - ['setenabled_2026',['SetEnabled',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__set_enabled.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__set_enabled.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.html',1,'DOX_IADLXSmartAccessMemory']]], - ['setenabledhdmiqualitydetection_2027',['SetEnabledHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setfanspeed_2028',['SetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.html',1,'DOX_IADLXManualFanTuningState']]], - ['setfantuningstates_2029',['SetFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['setfps_2030',['SetFPS',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.html',1,'DOX_IADLX3DFrameRateTargetControl']]], - ['setfrequency_2031',['SetFrequency',['../_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.html',1,'DOX_IADLXManualTuningState']]], - ['setgamut_2032',['SetGamut',['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.html',1,'DOX_IADLXDisplayGamut'],['../_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.html',1,'DOX_IADLXDisplayGamut']]], - ['setgpumaxfrequency_2033',['SetGPUMaxFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['setgpuminfrequency_2034',['SetGPUMinFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['setgputuningstates_2035',['SetGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['setgpuvoltage_2036',['SetGPUVoltage',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['sethdruser3dlut_2037',['SetHDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['sethue_2038',['SetHue',['../_d_o_x__i_a_d_l_x_display_custom_color__set_hue.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setlevel_2039',['SetLevel',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.html',1,'DOX_IADLX3DAntiLag1'],['../_d_o_x__i_a_d_l_x3_d_tessellation__set_level.html',1,'DOX_IADLX3DTessellation']]], - ['setmaxfps_2040',['SetMaxFPS',['../_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['setmaximizebattery_2041',['SetMaximizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['setmaximizebrightness_2042',['SetMaximizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['setmaxperformancemetricshistorysize_2043',['SetMaxPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['setmaxvramfrequency_2044',['SetMaxVRAMFrequency',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['setmemorytimingdescription_2045',['SetMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['setmethod_2046',['SetMethod',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.html',1,'DOX_IADLX3DAntiAliasing']]], - ['setminacousticlimit_2047',['SetMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['setminfanspeed_2048',['SetMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['setminfps_2049',['SetMinFPS',['../_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['setmode_2050',['SetMode',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.html',1,'DOX_IADLXDisplayScalingMode']]], - ['setoptimizebattery_2051',['SetOptimizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['setoptimizebrightness_2052',['SetOptimizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['setpowerlimit_2053',['SetPowerLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['setpowersaver_2054',['SetPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setquiet_2055',['SetQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setrage_2056',['SetRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setregamma36_2057',['SetReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammabt709_2058',['SetReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammacoefficient_2059',['SetReGammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammapq_2060',['SetReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammapq2084interim_2061',['SetReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammaramp_2062',['SetReGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.html',1,'DOX_IADLXDisplayGamma'],['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.html',1,'DOX_IADLXDisplayGamma']]], - ['setregammasrgb_2063',['SetReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['setrelativepreemphasis_2064',['SetRelativePreEmphasis',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setrelativevoltageswing_2065',['SetRelativeVoltageSwing',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['setresolution_2066',['SetResolution',['../_d_o_x__i_a_d_l_x3_d_boost__set_resolution.html',1,'DOX_IADLX3DBoost']]], - ['setsamplinginterval_2067',['SetSamplingInterval',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['setsaturation_2068',['SetSaturation',['../_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.html',1,'DOX_IADLXDisplayCustomColor']]], - ['setscedisabled_2069',['SetSCEDisabled',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setscedynamiccontrast_2070',['SetSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setscevividgaming_2071',['SetSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setsdruser3dlut_2072',['SetSDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['setsharpness_2073',['SetSharpness',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['settargetfanspeed_2074',['SetTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['settdclimit_2075',['SetTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['settemperature_2076',['SetTemperature',['../_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.html',1,'DOX_IADLXDisplayCustomColor'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.html',1,'DOX_IADLXManualFanTuningState']]], - ['setturbo_2077',['SetTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['setunblanked_2078',['SetUnblanked',['../_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['setvalue_2079',['SetValue',['../_d_o_x__i_a_d_l_x_display_color_depth__set_value.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_pixel_format__set_value.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_resolution__set_value.html',1,'DOX_IADLXDisplayResolution']]], - ['setvoltage_2080',['SetVoltage',['../_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.html',1,'DOX_IADLXManualTuningState']]], - ['setvramtuningstates_2081',['SetVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['setzerorpmstate_2082',['SetZeroRPMState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.html',1,'DOX_IADLXManualFanTuning']]], - ['sharememory_2083',['ShareMemory',['../c_sample__share_memory.html',1,'domain_c_sample_servicecall'],['../cpp_sample__share_memory.html',1,'domain_cpp_sample_servicecall']]], - ['size_2084',['Size',['../_d_o_x__i_a_d_l_x_desktop__size.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_list__size.html',1,'DOX_IADLXList']]], - ['smartaccessmemory_2085',['SmartAccessMemory',['../c_sam.html',1,'domain_c_sample_GPUTuning'],['../cpp_sam.html',1,'domain_cpp_sample_GPUTuning']]], - ['smartshift_2086',['SmartShift',['../_d_o_x__i_a_d_l_x_system_metrics__smart_shift.html',1,'DOX_IADLXSystemMetrics']]], - ['smartshiftmax_2087',['SmartShiftMax',['../c_ssm.html',1,'domain_c_sample_powertuning'],['../cpp_ssm.html',1,'domain_cpp_sample_powertuning']]], - ['specifications_2088',['Specifications',['../page_guide_spe.html',1,'page_adlxprogrammingguide']]], - ['startoverclockgpu_2089',['StartOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['startoverclockvram_2090',['StartOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['startperformancemetricstracking_2091',['StartPerformanceMetricsTracking',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['startundervoltgpu_2092',['StartUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['stopperformancemetricstracking_2093',['StopPerformanceMetricsTracking',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['subscribing_20to_20event_20notifications_20using_20adlx_2094',['Subscribing to Event Notifications using ADLX',['../page_guide_event.html',1,'page_guide_qs']]], - ['subsystemid_2095',['SubSystemId',['../_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.html',1,'DOX_IADLXGPU']]], - ['subsystemvendorid_2096',['SubSystemVendorId',['../_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.html',1,'DOX_IADLXGPU']]], - ['supported_20operating_20systems_2097',['Supported Operating Systems',['../page_guide_os.html',1,'page_guide_spe']]], - ['supported_20programming_20languages_2098',['Supported Programming Languages',['../page_guide_languages.html',1,'page_guide_spe']]], - ['sync3dreceive_2099',['Sync3DReceive',['../c__sync3_d_receive.html',1,'domain_c_sample_globalsync'],['../cpp__sync3_d_receive.html',1,'domain_cpp_sample_globalsync']]], - ['syncdisplayreceive_2100',['SyncDisplayReceive',['../c__sync_display_receive.html',1,'domain_c_sample_globalsync'],['../cpp__sync_display_receive.html',1,'domain_cpp_sample_globalsync']]], - ['syncgputuning_2101',['SyncGPUTuning',['../c__sync_g_p_u_tuning.html',1,'domain_c_sample_globalsync'],['../cpp__sync_g_p_u_tuning.html',1,'domain_cpp_sample_globalsync']]], - ['syncpowertuning_2102',['SyncPowerTuning',['../c__sync_power_tuning.html',1,'domain_c_sample_globalsync'],['../cpp__sync_power_tuning.html',1,'domain_cpp_sample_globalsync']]], - ['system_2103',['System',['../system.html',1,'page_interfaces']]], - ['systemram_2104',['SystemRAM',['../_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.html',1,'DOX_IADLXSystemMetrics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_13.html b/vendor/adlx/SDKDoc/html/search/pages_13.html deleted file mode 100644 index 148a3cd..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_13.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_13.js b/vendor/adlx/SDKDoc/html/search/pages_13.js deleted file mode 100644 index f2f35b7..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_13.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['terminate_2105',['Terminate',['../page_cpp_help_terminate.html',1,'page_ADLXCppHelp']]], - ['tessellation_2106',['Tessellation',['../c__tessellation.html',1,'domain_c_sample_3DGraphics'],['../cpp__tessellation.html',1,'domain_cpp_sample_3DGraphics']]], - ['timestamp_2107',['TimeStamp',['../_d_o_x__i_a_d_l_x_all_metrics__time_stamp.html',1,'DOX_IADLXAllMetrics'],['../_d_o_x__i_a_d_l_x_f_p_s__time_stamp.html',1,'DOX_IADLXFPS'],['../_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.html',1,'DOX_IADLXGPUMetrics'],['../_d_o_x__i_a_d_l_x_system_metrics__time_stamp.html',1,'DOX_IADLXSystemMetrics']]], - ['topleft_2108',['TopLeft',['../_d_o_x__i_a_d_l_x_desktop__top_left.html',1,'DOX_IADLXDesktop']]], - ['totalsystemram_2109',['TotalSystemRAM',['../_d_o_x__i_a_d_l_x_system__total_system_r_a_m.html',1,'DOX_IADLXSystem']]], - ['totalvram_2110',['TotalVRAM',['../_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.html',1,'DOX_IADLXGPU']]], - ['trademarks_2111',['Trademarks',['../page_legal__trademark.html',1,'page_legal']]], - ['type_2112',['Type',['../_d_o_x__i_a_d_l_x_desktop__type.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_g_p_u__type.html',1,'DOX_IADLXGPU']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_14.html b/vendor/adlx/SDKDoc/html/search/pages_14.html deleted file mode 100644 index 54c329d..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_14.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_14.js b/vendor/adlx/SDKDoc/html/search/pages_14.js deleted file mode 100644 index 24e6cea..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_14.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['uniqueid_2113',['UniqueId',['../_d_o_x__i_a_d_l_x_display__unique_id.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u__unique_id.html',1,'DOX_IADLXGPU']]], - ['userprocess_2114',['UserProcess',['../c_sample_userprocess.html',1,'domain_c_sample_servicecall'],['../cpp_sample_userprocess.html',1,'domain_cpp_sample_servicecall']]], - ['using_20adlx_20in_20a_20system_20service_20application_2115',['Using ADLX in a system service application',['../page_guide_usingservice.html',1,'page_guide_advanced']]], - ['using_20adlx_20in_20an_20application_2116',['Using ADLX in an application',['../page_guide_use__a_d_l_x.html',1,'page_guide_qs']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_15.html b/vendor/adlx/SDKDoc/html/search/pages_15.html deleted file mode 100644 index 1875056..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_15.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_15.js b/vendor/adlx/SDKDoc/html/search/pages_15.js deleted file mode 100644 index f883f12..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_15.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['vendorid_2117',['VendorId',['../_d_o_x__i_a_d_l_x_g_p_u__vendor_id.html',1,'DOX_IADLXGPU']]], - ['version_2118',['Version',['../_d_o_x__i_a_d_l_x_i2_c__version.html',1,'DOX_IADLXI2C']]], - ['vramtype_2119',['VRAMType',['../_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.html',1,'DOX_IADLXGPU']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_16.html b/vendor/adlx/SDKDoc/html/search/pages_16.html deleted file mode 100644 index 7ffc238..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_16.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_16.js b/vendor/adlx/SDKDoc/html/search/pages_16.js deleted file mode 100644 index cb88159..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_16.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['waitforverticalrefresh_2120',['WaitForVerticalRefresh',['../c__wait_for_vertical_refresh.html',1,'domain_c_sample_3DGraphics'],['../cpp__wait_for_vertical_refresh.html',1,'domain_cpp_sample_3DGraphics']]], - ['workwithadl_2121',['WorkWithADL',['../c_sample__work_with_a_d_l.html',1,'domain_c_sample_Generic'],['../cpp_sample__work_with_a_d_l.html',1,'domain_cpp_sample_Generic']]], - ['write_2122',['Write',['../_d_o_x__i_a_d_l_x_i2_c__write.html',1,'DOX_IADLXI2C']]], - ['writelog_2123',['WriteLog',['../_d_o_x__i_a_d_l_x_log__write_log.html',1,'DOX_IADLXLog']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_17.html b/vendor/adlx/SDKDoc/html/search/pages_17.html deleted file mode 100644 index a968cdf..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_17.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_17.js b/vendor/adlx/SDKDoc/html/search/pages_17.js deleted file mode 100644 index 0a622d3..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_17.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7eadlxhelper_2124',['~ADLXHelper',['../page_cpp_help_delete.html',1,'page_ADLXCppHelp']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_2.html b/vendor/adlx/SDKDoc/html/search/pages_2.html deleted file mode 100644 index 084edfd..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_2.js b/vendor/adlx/SDKDoc/html/search/pages_2.js deleted file mode 100644 index 45b4195..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_2.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['bdffromadlxgpu_1409',['BdfFromADLXGPU',['../_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.html',1,'DOX_IADLMapping']]], - ['begin_1410',['Begin',['../_d_o_x__i_a_d_l_x_list__begin.html',1,'DOX_IADLXList']]], - ['benefits_1411',['Benefits',['../page_guide_bef.html',1,'page_adlxprogrammingguide']]], - ['biosinfo_1412',['BIOSInfo',['../_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.html',1,'DOX_IADLXGPU']]], - ['boost_1413',['Boost',['../c__boost.html',1,'domain_c_sample_3DGraphics'],['../cpp__boost.html',1,'domain_cpp_sample_3DGraphics']]], - ['building_20c_23_20bindings_20for_20adlx_1414',['Building C# bindings for ADLX',['../page_guide_bindcsharp.html',1,'page_guide_qs']]], - ['building_20java_20bindings_20for_20adlx_1415',['Building Java bindings for ADLX',['../page_guide_bindjava.html',1,'page_guide_qs']]], - ['building_20python_20bindings_20for_20adlx_1416',['Building Python bindings for ADLX',['../page_guide_bindpy.html',1,'page_guide_qs']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_3.html b/vendor/adlx/SDKDoc/html/search/pages_3.html deleted file mode 100644 index c0b45b0..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_3.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_3.js b/vendor/adlx/SDKDoc/html/search/pages_3.js deleted file mode 100644 index 35b153c..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_3.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['c_20samples_1417',['C Samples',['../page_sample_c.html',1,'domain_samplePage']]], - ['c_23_20samples_1418',['C# Samples',['../page_sample_cs.html',1,'domain_samplePage']]], - ['c_2b_2b_20samples_1419',['C++ Samples',['../page_sample_cpp.html',1,'domain_samplePage']]], - ['chill_1420',['Chill',['../c__chill.html',1,'domain_c_sample_3DGraphics'],['../cpp__chill.html',1,'domain_cpp_sample_3DGraphics']]], - ['clear_1421',['Clear',['../_d_o_x__i_a_d_l_x_list__clear.html',1,'DOX_IADLXList']]], - ['clearperformancemetricshistory_1422',['ClearPerformanceMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['clearuser3dlut_1423',['ClearUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['compatibility_1424',['Compatibility',['../page_guide__compatibility.html',1,'page_guide_spe']]], - ['connectortype_1425',['ConnectorType',['../_d_o_x__i_a_d_l_x_display__connector_type.html',1,'DOX_IADLXDisplay']]], - ['cpuusage_1426',['CPUUsage',['../_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.html',1,'DOX_IADLXSystemMetrics']]], - ['create_1427',['Create',['../_d_o_x__i_a_d_l_x_simple_eyefinity__create.html',1,'DOX_IADLXSimpleEyefinity']]], - ['createnewresolution_1428',['CreateNewResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_4.html b/vendor/adlx/SDKDoc/html/search/pages_4.html deleted file mode 100644 index 0f05c2e..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_4.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_4.js b/vendor/adlx/SDKDoc/html/search/pages_4.js deleted file mode 100644 index 9861952..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_4.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['deleteresolution_1429',['DeleteResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['desktop_1430',['Desktop',['../desktop.html',1,'page_interfaces'],['../domain_c_sample__desktop.html',1,'page_sample_c'],['../domain_cpp_sample__desktop.html',1,'page_sample_cpp']]], - ['desktopsevent_1431',['DesktopsEvent',['../c_sample_desktopevent.html',1,'domain_c_sample_globalsync'],['../cpp_sample_desktopevent.html',1,'domain_cpp_sample_globalsync']]], - ['destroy_1432',['Destroy',['../_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.html',1,'DOX_IADLXSimpleEyefinity']]], - ['destroyall_1433',['DestroyAll',['../_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.html',1,'DOX_IADLXSimpleEyefinity']]], - ['deviceid_1434',['DeviceId',['../_d_o_x__i_a_d_l_x_g_p_u__device_id.html',1,'DOX_IADLXGPU']]], - ['disclaimers_1435',['Disclaimers',['../page_legal__disclaimer.html',1,'page_legal']]], - ['display_1436',['Display',['../display.html',1,'page_interfaces'],['../domain_c_sample__display.html',1,'page_sample_c'],['../domain_cpp_sample__display.html',1,'page_sample_cpp']]], - ['display3dlut_1437',['Display3DLUT',['../c_sample_display3_d_l_u_t.html',1,'domain_c_sample_Display'],['../cpp_sample_display3_d_l_u_t.html',1,'domain_cpp_sample_Display']]], - ['displayblanking_1438',['DisplayBlanking',['../c_sample_display_blanking.html',1,'domain_c_sample_Display'],['../cpp_sample_display_blanking.html',1,'domain_cpp_sample_Display']]], - ['displaycolordepth_1439',['DisplayColorDepth',['../c_display__color_depth.html',1,'domain_c_sample_Display'],['../cpp_display__color_depth.html',1,'domain_cpp_sample_Display']]], - ['displayconnectivityexperience_1440',['DisplayConnectivityExperience',['../c_display__display_connectivity_experience.html',1,'domain_c_sample_Display'],['../cpp_display__display_connectivity_experience.html',1,'domain_cpp_sample_Display']]], - ['displaycustomcolor_1441',['DisplayCustomColor',['../c_display__custom_color.html',1,'domain_c_sample_Display'],['../cpp_display__custom_color.html',1,'domain_cpp_sample_Display']]], - ['displaycustomresolution_1442',['DisplayCustomResolution',['../c_display__custom_resolution.html',1,'domain_c_sample_Display'],['../cpp_display__custom_resolution.html',1,'domain_cpp_sample_Display']]], - ['displayevents_1443',['DisplayEvents',['../c_sample_display_events.html',1,'domain_c_sample_Display'],['../cpp_sample_display_events.html',1,'domain_cpp_sample_Display'],['../cs_sample_display_events.html',1,'page_sample_cs'],['../java_sample_display_events.html',1,'page_sample_java'],['../py_sample_display_events.html',1,'page_sample_py']]], - ['displayfreesync_1444',['DisplayFreeSync',['../c_display__free_sync.html',1,'domain_c_sample_Display'],['../cpp_display__free_sync.html',1,'domain_cpp_sample_Display']]], - ['displaygamma_1445',['DisplayGamma',['../c_sample_display_gamma.html',1,'domain_c_sample_Display'],['../cpp_sample_display_gamma.html',1,'domain_cpp_sample_Display']]], - ['displaygamut_1446',['DisplayGamut',['../c_sample_display_gamut.html',1,'domain_c_sample_Display'],['../cpp_sample_display_gamut.html',1,'domain_cpp_sample_Display']]], - ['displaygpuscaling_1447',['DisplayGPUScaling',['../c_display__g_p_u_scaling.html',1,'domain_c_sample_Display'],['../cpp_display__g_p_u_scaling.html',1,'domain_cpp_sample_Display']]], - ['displayhdcp_1448',['DisplayHDCP',['../c_display__h_d_c_p.html',1,'domain_c_sample_Display'],['../cpp_display__h_d_c_p.html',1,'domain_cpp_sample_Display']]], - ['displayinfo_1449',['DisplayInfo',['../c_sample_displayinfo.html',1,'domain_c_sample_Display'],['../cpp_sample_displayinfo.html',1,'domain_cpp_sample_Display'],['../cs_sample_displayinfo.html',1,'page_sample_cs'],['../java_sample_displayinfo.html',1,'page_sample_java'],['../py_sample_displayinfo.html',1,'page_sample_py']]], - ['displayintegerscaling_1450',['DisplayIntegerScaling',['../c_display__integer_scaling.html',1,'domain_c_sample_Display'],['../cpp_display__integer_scaling.html',1,'domain_cpp_sample_Display']]], - ['displayorientation_1451',['DisplayOrientation',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaypixelformat_1452',['DisplayPixelFormat',['../c_display__pixel_format.html',1,'domain_c_sample_Display'],['../cpp_display__pixel_format.html',1,'domain_cpp_sample_Display']]], - ['displayscalingmode_1453',['DisplayScalingMode',['../c_display__scaling_mode.html',1,'domain_c_sample_Display'],['../cpp_display__scaling_mode.html',1,'domain_cpp_sample_Display']]], - ['displaysize_1454',['DisplaySize',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaytopleft_1455',['DisplayTopLeft',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.html',1,'DOX_IADLXEyefinityDesktop']]], - ['displaytype_1456',['DisplayType',['../_d_o_x__i_a_d_l_x_display__display_type.html',1,'DOX_IADLXDisplay']]], - ['displayvaribright_1457',['DisplayVariBright',['../c_display__display_vari_bright.html',1,'domain_c_sample_Display'],['../cpp_display__display_vari_bright.html',1,'domain_cpp_sample_Display']]], - ['displayvsr_1458',['DisplayVSR',['../c_display__v_s_r.html',1,'domain_c_sample_Display'],['../cpp_display__v_s_r.html',1,'domain_cpp_sample_Display']]], - ['driverpath_1459',['DriverPath',['../_d_o_x__i_a_d_l_x_g_p_u__driver_path.html',1,'DOX_IADLXGPU']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_5.html b/vendor/adlx/SDKDoc/html/search/pages_5.html deleted file mode 100644 index 27e2b6c..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_5.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_5.js b/vendor/adlx/SDKDoc/html/search/pages_5.js deleted file mode 100644 index 0e5a0b5..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_5.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['edid_1460',['EDID',['../_d_o_x__i_a_d_l_x_display__e_d_i_d.html',1,'DOX_IADLXDisplay']]], - ['empty_1461',['Empty',['../_d_o_x__i_a_d_l_x_list__empty.html',1,'DOX_IADLXList']]], - ['enablelog_1462',['EnableLog',['../_d_o_x__i_a_d_l_x_system__enable_log.html',1,'DOX_IADLXSystem']]], - ['end_1463',['End',['../_d_o_x__i_a_d_l_x_list__end.html',1,'DOX_IADLXList']]], - ['enhancedsync_1464',['EnhancedSync',['../c__enhanced_sync.html',1,'domain_c_sample_3DGraphics'],['../cpp__enhanced_sync.html',1,'domain_cpp_sample_3DGraphics']]], - ['eyefinity_1465',['Eyefinity',['../c_sample_eyefinity.html',1,'domain_c_sample_Desktop'],['../cpp_sample_eyefinity.html',1,'domain_cpp_sample_Desktop']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_6.html b/vendor/adlx/SDKDoc/html/search/pages_6.html deleted file mode 100644 index 39300b6..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_6.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_6.js b/vendor/adlx/SDKDoc/html/search/pages_6.js deleted file mode 100644 index 5607a7b..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['fps_1466',['FPS',['../_d_o_x__i_a_d_l_x_f_p_s__f_p_s.html',1,'DOX_IADLXFPS']]], - ['frtc_1467',['FRTC',['../c__f_r_t_c.html',1,'domain_c_sample_3DGraphics'],['../cpp__f_r_t_c.html',1,'domain_cpp_sample_3DGraphics']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_7.html b/vendor/adlx/SDKDoc/html/search/pages_7.html deleted file mode 100644 index c005fe5..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_7.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_7.js b/vendor/adlx/SDKDoc/html/search/pages_7.js deleted file mode 100644 index b1bc506..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_7.js +++ /dev/null @@ -1,193 +0,0 @@ -var searchData= -[ - ['get3dlut_1468',['Get3DLUT',['../_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.html',1,'DOX_IADLXDisplayServices']]], - ['get3dsettingschangedhandling_1469',['Get3DSettingsChangedHandling',['../_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.html',1,'DOX_IADLX3DSettingsServices']]], - ['get3dsettingsservices_1470',['Get3DSettingsServices',['../_d_o_x__i_a_d_l_x_system__get3_d_settings_services.html',1,'DOX_IADLXSystem']]], - ['getadlmapping_1471',['GetAdlMapping',['../page_cpp_help_get_adl_mapping.html',1,'page_ADLXCppHelp']]], - ['getadlxdesktopfromadlids_1472',['GetADLXDesktopFromADLIds',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.html',1,'DOX_IADLMapping']]], - ['getadlxdisplayfromadlids_1473',['GetADLXDisplayFromADLIds',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.html',1,'DOX_IADLMapping']]], - ['getadlxgpufromadladapterindex_1474',['GetADLXGPUFromAdlAdapterIndex',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.html',1,'DOX_IADLMapping']]], - ['getadlxgpufrombdf_1475',['GetADLXGPUFromBdf',['../_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.html',1,'DOX_IADLMapping']]], - ['getallmetricshistory_1476',['GetAllMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getalluser3dlut_1477',['GetAllUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getanisotropicfiltering_1478',['GetAnisotropicFiltering',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.html',1,'DOX_IADLX3DSettingsServices']]], - ['getantialiasing_1479',['GetAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.html',1,'DOX_IADLX3DSettingsServices']]], - ['getantilag_1480',['GetAntiLag',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.html',1,'DOX_IADLX3DSettingsServices']]], - ['getautotuning_1481',['GetAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getbias_1482',['GetBias',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.html',1,'DOX_IADLXSmartShiftMax']]], - ['getbiasmode_1483',['GetBiasMode',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.html',1,'DOX_IADLXSmartShiftMax']]], - ['getbiasrange_1484',['GetBiasRange',['../_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.html',1,'DOX_IADLXSmartShiftMax']]], - ['getboost_1485',['GetBoost',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.html',1,'DOX_IADLX3DSettingsServices']]], - ['getbrightness_1486',['GetBrightness',['../_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getbrightnessrange_1487',['GetBrightnessRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getchill_1488',['GetChill',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.html',1,'DOX_IADLX3DSettingsServices']]], - ['getcolordepth_1489',['GetColorDepth',['../_d_o_x__i_a_d_l_x_display_services__get_color_depth.html',1,'DOX_IADLXDisplayServices']]], - ['getcontrast_1490',['GetContrast',['../_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getcontrastrange_1491',['GetContrastRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getcpuusagerange_1492',['GetCPUUsageRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getcurrentallmetrics_1493',['GetCurrentAllMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentappliedresolution_1494',['GetCurrentAppliedResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['getcurrentfps_1495',['GetCurrentFPS',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentgpumetrics_1496',['GetCurrentGPUMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentperformancemetricshistorysize_1497',['GetCurrentPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcurrentsystemmetrics_1498',['GetCurrentSystemMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getcustomcolor_1499',['GetCustomColor',['../_d_o_x__i_a_d_l_x_display_services__get_custom_color.html',1,'DOX_IADLXDisplayServices']]], - ['getcustomresolution_1500',['GetCustomResolution',['../_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.html',1,'DOX_IADLXDisplayServices']]], - ['getdescription_1501',['GetDescription',['../_d_o_x__i_a_d_l_x_memory_timing_description__get_description.html',1,'DOX_IADLXMemoryTimingDescription']]], - ['getdesktopchangedhandling_1502',['GetDesktopChangedHandling',['../_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.html',1,'DOX_IADLXDesktopServices']]], - ['getdesktops_1503',['GetDesktops',['../_d_o_x__i_a_d_l_x_desktop_services__get_desktops.html',1,'DOX_IADLXDesktopServices']]], - ['getdesktopsservices_1504',['GetDesktopsServices',['../_d_o_x__i_a_d_l_x_system__get_desktops_services.html',1,'DOX_IADLXSystem']]], - ['getdisplay_1505',['GetDisplay',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.html',1,'DOX_IADLXDisplay3DLUTChangedEvent'],['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.html',1,'DOX_IADLXDisplayGammaChangedEvent'],['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.html',1,'DOX_IADLXDisplayGamutChangedEvent'],['../_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.html',1,'DOX_IADLXDisplaySettingsChangedEvent'],['../_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.html',1,'DOX_IADLXEyefinityDesktop']]], - ['getdisplayblanking_1506',['GetDisplayBlanking',['../_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.html',1,'DOX_IADLXDisplayServices1']]], - ['getdisplaychangedhandling_1507',['GetDisplayChangedHandling',['../_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.html',1,'DOX_IADLXDisplayServices']]], - ['getdisplayconnectivityexperience_1508',['GetDisplayConnectivityExperience',['../_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.html',1,'DOX_IADLXDisplayServices2']]], - ['getdisplays_1509',['GetDisplays',['../_d_o_x__i_a_d_l_x_desktop__get_displays.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_display_services__get_displays.html',1,'DOX_IADLXDisplayServices']]], - ['getdisplaysservices_1510',['GetDisplaysServices',['../_d_o_x__i_a_d_l_x_system__get_displays_services.html',1,'DOX_IADLXSystem']]], - ['getdplinkrate_1511',['GetDPLinkRate',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getemptyfantuningstates_1512',['GetEmptyFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['getemptygputuningstates_1513',['GetEmptyGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getemptyvramtuningstates_1514',['GetEmptyVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getenhancedsync_1515',['GetEnhancedSync',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.html',1,'DOX_IADLX3DSettingsServices']]], - ['getfanspeed_1516',['GetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.html',1,'DOX_IADLXManualFanTuningState']]], - ['getfantuningranges_1517',['GetFanTuningRanges',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.html',1,'DOX_IADLXManualFanTuning']]], - ['getfantuningstates_1518',['GetFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['getfps_1519',['GetFPS',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.html',1,'DOX_IADLXAllMetrics']]], - ['getfpshistory_1520',['GetFPSHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getfpsrange_1521',['GetFPSRange',['../_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.html',1,'DOX_IADLX3DFrameRateTargetControl']]], - ['getframeratetargetcontrol_1522',['GetFrameRateTargetControl',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.html',1,'DOX_IADLX3DSettingsServices']]], - ['getfreesync_1523',['GetFreeSync',['../_d_o_x__i_a_d_l_x_display_services__get_free_sync.html',1,'DOX_IADLXDisplayServices']]], - ['getfrequency_1524',['GetFrequency',['../_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.html',1,'DOX_IADLXManualTuningState']]], - ['getgamma_1525',['GetGamma',['../_d_o_x__i_a_d_l_x_display_services__get_gamma.html',1,'DOX_IADLXDisplayServices']]], - ['getgammacoefficient_1526',['GetGammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['getgammaramp_1527',['GetGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['getgamut_1528',['GetGamut',['../_d_o_x__i_a_d_l_x_display_services__get_gamut.html',1,'DOX_IADLXDisplayServices']]], - ['getgamutcolorspace_1529',['GetGamutColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['getgpu_1530',['GetGPU',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.html',1,'DOX_IADLX3DSettingsChangedEvent'],['../_d_o_x__i_a_d_l_x_display__get_g_p_u.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['getgpuclockspeedrange_1531',['GetGPUClockSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpufanspeedrange_1532',['GetGPUFanSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuhotspottemperaturerange_1533',['GetGPUHotspotTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuintaketemperaturerange_1534',['GetGPUIntakeTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpumaxfrequency_1535',['GetGPUMaxFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpumaxfrequencyrange_1536',['GetGPUMaxFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpumetrics_1537',['GetGPUMetrics',['../_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.html',1,'DOX_IADLXAllMetrics']]], - ['getgpumetricshistory_1538',['GetGPUMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getgpuminfrequency_1539',['GetGPUMinFrequency',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuminfrequencyrange_1540',['GetGPUMinFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpupowerrange_1541',['GetGPUPowerRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpus_1542',['GetGPUs',['../_d_o_x__i_a_d_l_x_system__get_g_p_us.html',1,'DOX_IADLXSystem']]], - ['getgpuscaling_1543',['GetGPUScaling',['../_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.html',1,'DOX_IADLXDisplayServices']]], - ['getgpuschangedhandling_1544',['GetGPUsChangedHandling',['../_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.html',1,'DOX_IADLXSystem']]], - ['getgputemperaturerange_1545',['GetGPUTemperatureRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgputotalboardpowerrange_1546',['GetGPUTotalBoardPowerRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgputuningchangedhandling_1547',['GetGPUTuningChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.html',1,'DOX_IADLXGPUTuningServices']]], - ['getgputuningranges_1548',['GetGPUTuningRanges',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getgputuningservices_1549',['GetGPUTuningServices',['../_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.html',1,'DOX_IADLXSystem']]], - ['getgputuningstates_1550',['GetGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['getgpuusagerange_1551',['GetGPUUsageRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuvoltage_1552',['GetGPUVoltage',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuvoltagerange_1553',['GetGPUVoltageRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.html',1,'DOX_IADLXGPUMetricsSupport'],['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.html',1,'DOX_IADLXManualGraphicsTuning2']]], - ['getgpuvramclockspeedrange_1554',['GetGPUVRAMClockSpeedRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['getgpuvramrange_1555',['GetGPUVRAMRange',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['gethdcp_1556',['GetHDCP',['../_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.html',1,'DOX_IADLXDisplayServices']]], - ['gethdruser3dlut_1557',['GetHDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['gethue_1558',['GetHue',['../_d_o_x__i_a_d_l_x_display_custom_color__get_hue.html',1,'DOX_IADLXDisplayCustomColor']]], - ['gethuerange_1559',['GetHueRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['geti2c_1560',['GetI2C',['../_d_o_x__i_a_d_l_x_system__get_i2_c.html',1,'DOX_IADLXSystem']]], - ['getimagesharpening_1561',['GetImageSharpening',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.html',1,'DOX_IADLX3DSettingsServices']]], - ['getintegerscaling_1562',['GetIntegerScaling',['../_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.html',1,'DOX_IADLXDisplayServices']]], - ['getlevel_1563',['GetLevel',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.html',1,'DOX_IADLX3DAntiLag1'],['../_d_o_x__i_a_d_l_x3_d_tessellation__get_level.html',1,'DOX_IADLX3DTessellation']]], - ['getmanualfantuning_1564',['GetManualFanTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualgfxtuning_1565',['GetManualGFXTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualpowertuning_1566',['GetManualPowerTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmanualvramtuning_1567',['GetManualVRAMTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getmaxfps_1568',['GetMaxFPS',['../_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['getmaxperformancemetricshistorysize_1569',['GetMaxPerformanceMetricsHistorySize',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getmaxperformancemetricshistorysizerange_1570',['GetMaxPerformanceMetricsHistorySizeRange',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getmaxvramfrequency_1571',['GetMaxVRAMFrequency',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmaxvramfrequencyrange_1572',['GetMaxVRAMFrequencyRange',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmemorytimingdescription_1573',['GetMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getmethod_1574',['GetMethod',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.html',1,'DOX_IADLX3DAntiAliasing']]], - ['getminacousticlimit_1575',['GetMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['getminacousticlimitrange_1576',['GetMinAcousticLimitRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfanspeed_1577',['GetMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfanspeedrange_1578',['GetMinFanSpeedRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.html',1,'DOX_IADLXManualFanTuning']]], - ['getminfps_1579',['GetMinFPS',['../_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.html',1,'DOX_IADLX3DChill']]], - ['getmode_1580',['GetMode',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.html',1,'DOX_IADLXDisplayScalingMode']]], - ['getmorphologicalantialiasing_1581',['GetMorphologicalAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.html',1,'DOX_IADLX3DSettingsServices']]], - ['getnumberofactivelanes_1582',['GetNumberOfActiveLanes',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getnumberofdesktops_1583',['GetNumberOfDesktops',['../_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.html',1,'DOX_IADLXDesktopServices']]], - ['getnumberofdisplays_1584',['GetNumberOfDisplays',['../_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.html',1,'DOX_IADLXDesktop'],['../_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.html',1,'DOX_IADLXDisplayServices']]], - ['getnumberoftotallanes_1585',['GetNumberOfTotalLanes',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getorigin_1586',['GetOrigin',['../_d_o_x__i_a_d_l_x_changed_event__get_origin.html',1,'DOX_IADLXChangedEvent']]], - ['getperformancemonitoringservices_1587',['GetPerformanceMonitoringServices',['../_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.html',1,'DOX_IADLXSystem']]], - ['getpixelformat_1588',['GetPixelFormat',['../_d_o_x__i_a_d_l_x_display_services__get_pixel_format.html',1,'DOX_IADLXDisplayServices']]], - ['getpowerlimit_1589',['GetPowerLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['getpowerlimitrange_1590',['GetPowerLimitRange',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.html',1,'DOX_IADLXManualPowerTuning']]], - ['getpowertuningchangedhandling_1591',['GetPowerTuningChangedHandling',['../_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.html',1,'DOX_IADLXPowerTuningServices']]], - ['getpowertuningservices_1592',['GetPowerTuningServices',['../_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.html',1,'DOX_IADLXSystem1']]], - ['getpresettuning_1593',['GetPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['getradeonsuperresolution_1594',['GetRadeonSuperResolution',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.html',1,'DOX_IADLX3DSettingsServices']]], - ['getrelativepreemphasis_1595',['GetRelativePreEmphasis',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getrelativevoltageswing_1596',['GetRelativeVoltageSwing',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['getresetshadercache_1597',['GetResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.html',1,'DOX_IADLX3DSettingsServices']]], - ['getresolution_1598',['GetResolution',['../_d_o_x__i_a_d_l_x3_d_boost__get_resolution.html',1,'DOX_IADLX3DBoost']]], - ['getresolutionlist_1599',['GetResolutionList',['../_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.html',1,'DOX_IADLXDisplayCustomResolution']]], - ['getresolutionrange_1600',['GetResolutionRange',['../_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.html',1,'DOX_IADLX3DBoost']]], - ['getsamplinginterval_1601',['GetSamplingInterval',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsamplingintervalrange_1602',['GetSamplingIntervalRange',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsaturation_1603',['GetSaturation',['../_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getsaturationrange_1604',['GetSaturationRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['getscalingmode_1605',['GetScalingMode',['../_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.html',1,'DOX_IADLXDisplayServices']]], - ['getscedynamiccontrast_1606',['GetSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getscedynamiccontrastrange_1607',['GetSCEDynamicContrastRange',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getsdruser3dlut_1608',['GetSDRUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getsharpness_1609',['GetSharpness',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['getsharpnessrange_1610',['GetSharpnessRange',['../_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.html',1,'DOX_IADLX3DRadeonSuperResolution']]], - ['getsimpleeyefinity_1611',['GetSimpleEyefinity',['../_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.html',1,'DOX_IADLXDesktopServices']]], - ['getsmartaccessmemory_1612',['GetSmartAccessMemory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.html',1,'DOX_IADLXGPUTuningServices1']]], - ['getsmartaccessmemorystatus_1613',['GetSmartAccessMemoryStatus',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.html',1,'DOX_IADLXGPUTuningChangedEvent1']]], - ['getsmartshiftmax_1614',['GetSmartShiftMax',['../_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.html',1,'DOX_IADLXPowerTuningServices']]], - ['getsmartshiftrange_1615',['GetSmartShiftRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getsupportedgpumetrics_1616',['GetSupportedGPUMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsupportedmemorytimingdescriptionlist_1617',['GetSupportedMemoryTimingDescriptionList',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['getsupportedsystemmetrics_1618',['GetSupportedSystemMetrics',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsystemmetrics_1619',['GetSystemMetrics',['../_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.html',1,'DOX_IADLXAllMetrics']]], - ['getsystemmetricshistory_1620',['GetSystemMetricsHistory',['../_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.html',1,'DOX_IADLXPerformanceMonitoringServices']]], - ['getsystemramrange_1621',['GetSystemRAMRange',['../_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['getsystemservices_1622',['GetSystemServices',['../page_cpp_help_get_system_services.html',1,'page_ADLXCppHelp']]], - ['gettargetfanspeed_1623',['GetTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['gettargetfanspeedrange_1624',['GetTargetFanSpeedRange',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.html',1,'DOX_IADLXManualFanTuning']]], - ['gettdclimit_1625',['GetTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['gettdclimitrange_1626',['GetTDCLimitRange',['../_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.html',1,'DOX_IADLXManualPowerTuning']]], - ['gettemperature_1627',['GetTemperature',['../_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.html',1,'DOX_IADLXDisplayCustomColor'],['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.html',1,'DOX_IADLXManualFanTuningState']]], - ['gettemperaturerange_1628',['GetTemperatureRange',['../_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.html',1,'DOX_IADLXDisplayCustomColor']]], - ['gettessellation_1629',['GetTessellation',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.html',1,'DOX_IADLX3DSettingsServices']]], - ['getuser3dlutindex_1630',['GetUser3DLUTIndex',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.html',1,'DOX_IADLXDisplay3DLUT']]], - ['getvalue_1631',['GetValue',['../_d_o_x__i_a_d_l_x_display_color_depth__get_value.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_pixel_format__get_value.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_resolution__get_value.html',1,'DOX_IADLXDisplayResolution']]], - ['getvaribright_1632',['GetVariBright',['../_d_o_x__i_a_d_l_x_display_services__get_vari_bright.html',1,'DOX_IADLXDisplayServices']]], - ['getvirtualsuperresolution_1633',['GetVirtualSuperResolution',['../_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.html',1,'DOX_IADLXDisplayServices']]], - ['getvoltage_1634',['GetVoltage',['../_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.html',1,'DOX_IADLXManualTuningState']]], - ['getvramtuningranges_1635',['GetVRAMTuningRanges',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getvramtuningstates_1636',['GetVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['getwaitforverticalrefresh_1637',['GetWaitForVerticalRefresh',['../_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.html',1,'DOX_IADLX3DSettingsServices']]], - ['getwhitepoint_1638',['GetWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__get_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['getzerorpmstate_1639',['GetZeroRPMState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.html',1,'DOX_IADLXManualFanTuning']]], - ['gpu_1640',['GPU',['../gpu.html',1,'page_interfaces']]], - ['gpu_20tuning_1641',['GPU Tuning',['../domain_c_sample__g_p_u_tuning.html',1,'page_sample_c'],['../domain_cpp_sample__g_p_u_tuning.html',1,'page_sample_cpp'],['../gputuning.html',1,'page_interfaces']]], - ['gpuautotuning_1642',['GPUAutoTuning',['../c__g_p_u_auto_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__g_p_u_auto_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['gpuclockspeed_1643',['GPUClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['gpufanspeed_1644',['GPUFanSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuhotspottemperature_1645',['GPUHotspotTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuintaketemperature_1646',['GPUIntakeTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gpupower_1647',['GPUPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.html',1,'DOX_IADLXGPUMetrics']]], - ['gpupresettuning_1648',['GPUPresetTuning',['../c__g_p_u_preset_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__g_p_u_preset_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['gpus_1649',['GPUs',['../c_sample_gpus.html',1,'domain_c_sample_Generic'],['../cpp_sample_gpus.html',1,'domain_cpp_sample_Generic']]], - ['gpuservicecall_1650',['GPUServiceCall',['../c_sample__g_p_u_service_call.html',1,'domain_c_sample_servicecall'],['../cpp_sample__g_p_u_service_call.html',1,'domain_cpp_sample_servicecall']]], - ['gputemperature_1651',['GPUTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.html',1,'DOX_IADLXGPUMetrics']]], - ['gputotalboardpower_1652',['GPUTotalBoardPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuusage_1653',['GPUUsage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvoltage_1654',['GPUVoltage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvram_1655',['GPUVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.html',1,'DOX_IADLXGPUMetrics']]], - ['gpuvramclockspeed_1656',['GPUVRAMClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.html',1,'DOX_IADLXGPUMetrics']]], - ['gridsize_1657',['GridSize',['../_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.html',1,'DOX_IADLXEyefinityDesktop']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_8.html b/vendor/adlx/SDKDoc/html/search/pages_8.html deleted file mode 100644 index c942aa2..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_8.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_8.js b/vendor/adlx/SDKDoc/html/search/pages_8.js deleted file mode 100644 index 80c1646..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['hasdesktops_1658',['HasDesktops',['../_d_o_x__i_a_d_l_x_g_p_u__has_desktops.html',1,'DOX_IADLXGPU']]], - ['hybridgraphicstype_1659',['HybridGraphicsType',['../_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.html',1,'DOX_IADLXSystem']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_9.html b/vendor/adlx/SDKDoc/html/search/pages_9.html deleted file mode 100644 index 4199c40..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_9.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_9.js b/vendor/adlx/SDKDoc/html/search/pages_9.js deleted file mode 100644 index 6022d1c..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_9.js +++ /dev/null @@ -1,294 +0,0 @@ -var searchData= -[ - ['i2c_1660',['I2C',['../c__i2_c.html',1,'domain_c_sample_I2C'],['../cpp__i2_c.html',1,'domain_cpp_sample_I2C'],['../domain_c_sample__i2_c.html',1,'page_sample_c'],['../domain_cpp_sample__i2_c.html',1,'page_sample_cpp'],['../i2c.html',1,'page_interfaces']]], - ['iadlmapping_1661',['IADLMapping',['../_d_o_x__i_a_d_l_mapping.html',1,'misc']]], - ['iadlx3danisotropicfiltering_1662',['IADLX3DAnisotropicFiltering',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.html',1,'gfx3dgraphics']]], - ['iadlx3dantialiasing_1663',['IADLX3DAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_anti_aliasing.html',1,'gfx3dgraphics']]], - ['iadlx3dantilag_1664',['IADLX3DAntiLag',['../_d_o_x__i_a_d_l_x3_d_anti_lag.html',1,'gfx3dgraphics']]], - ['iadlx3dantilag1_1665',['IADLX3DAntiLag1',['../_d_o_x__i_a_d_l_x3_d_anti_lag1.html',1,'gfx3dgraphics']]], - ['iadlx3dboost_1666',['IADLX3DBoost',['../_d_o_x__i_a_d_l_x3_d_boost.html',1,'gfx3dgraphics']]], - ['iadlx3dchill_1667',['IADLX3DChill',['../_d_o_x__i_a_d_l_x3_d_chill.html',1,'gfx3dgraphics']]], - ['iadlx3denhancedsync_1668',['IADLX3DEnhancedSync',['../_d_o_x__i_a_d_l_x3_d_enhanced_sync.html',1,'gfx3dgraphics']]], - ['iadlx3dframeratetargetcontrol_1669',['IADLX3DFrameRateTargetControl',['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.html',1,'gfx3dgraphics']]], - ['iadlx3dimagesharpening_1670',['IADLX3DImageSharpening',['../_d_o_x__i_a_d_l_x3_d_image_sharpening.html',1,'gfx3dgraphics']]], - ['iadlx3dmorphologicalantialiasing_1671',['IADLX3DMorphologicalAntiAliasing',['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.html',1,'gfx3dgraphics']]], - ['iadlx3dradeonsuperresolution_1672',['IADLX3DRadeonSuperResolution',['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.html',1,'gfx3dgraphics']]], - ['iadlx3dresetshadercache_1673',['IADLX3DResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedevent_1674',['IADLX3DSettingsChangedEvent',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedhandling_1675',['IADLX3DSettingsChangedHandling',['../_d_o_x__i_a_d_l_x3_d_settings_changed_handling.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingschangedlistener_1676',['IADLX3DSettingsChangedListener',['../_d_o_x__i_a_d_l_x3_d_settings_changed_listener.html',1,'gfx3dgraphics']]], - ['iadlx3dsettingsservices_1677',['IADLX3DSettingsServices',['../_d_o_x__i_a_d_l_x3_d_settings_services.html',1,'gfx3dgraphics']]], - ['iadlx3dtessellation_1678',['IADLX3DTessellation',['../_d_o_x__i_a_d_l_x3_d_tessellation.html',1,'gfx3dgraphics']]], - ['iadlx3dwaitforverticalrefresh_1679',['IADLX3DWaitForVerticalRefresh',['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.html',1,'gfx3dgraphics']]], - ['iadlxallmetrics_1680',['IADLXAllMetrics',['../_d_o_x__i_a_d_l_x_all_metrics.html',1,'perfmonitoring']]], - ['iadlxallmetricslist_1681',['IADLXAllMetricsList',['../_d_o_x__i_a_d_l_x_all_metrics_list.html',1,'perfmonitoring']]], - ['iadlxchangedevent_1682',['IADLXChangedEvent',['../_d_o_x__i_a_d_l_x_changed_event.html',1,'misc']]], - ['iadlxdesktop_1683',['IADLXDesktop',['../_d_o_x__i_a_d_l_x_desktop.html',1,'desktop']]], - ['iadlxdesktopchangedhandling_1684',['IADLXDesktopChangedHandling',['../_d_o_x__i_a_d_l_x_desktop_changed_handling.html',1,'desktop']]], - ['iadlxdesktoplist_1685',['IADLXDesktopList',['../_d_o_x__i_a_d_l_x_desktop_list.html',1,'desktop']]], - ['iadlxdesktoplistchangedlistener_1686',['IADLXDesktopListChangedListener',['../_d_o_x__i_a_d_l_x_desktop_list_changed_listener.html',1,'desktop']]], - ['iadlxdesktopservices_1687',['IADLXDesktopServices',['../_d_o_x__i_a_d_l_x_desktop_services.html',1,'desktop']]], - ['iadlxdisplay_1688',['IADLXDisplay',['../_d_o_x__i_a_d_l_x_display.html',1,'display']]], - ['iadlxdisplay3dlut_1689',['IADLXDisplay3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t.html',1,'display']]], - ['iadlxdisplay3dlutchangedevent_1690',['IADLXDisplay3DLUTChangedEvent',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.html',1,'display']]], - ['iadlxdisplay3dlutchangedlistener_1691',['IADLXDisplay3DLUTChangedListener',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.html',1,'display']]], - ['iadlxdisplayblanking_1692',['IADLXDisplayBlanking',['../_d_o_x__i_a_d_l_x_display_blanking.html',1,'display']]], - ['iadlxdisplaychangedhandling_1693',['IADLXDisplayChangedHandling',['../_d_o_x__i_a_d_l_x_display_changed_handling.html',1,'display']]], - ['iadlxdisplaycolordepth_1694',['IADLXDisplayColorDepth',['../_d_o_x__i_a_d_l_x_display_color_depth.html',1,'display']]], - ['iadlxdisplayconnectivityexperience_1695',['IADLXDisplayConnectivityExperience',['../_d_o_x__i_a_d_l_x_display_connectivity_experience.html',1,'display']]], - ['iadlxdisplaycustomcolor_1696',['IADLXDisplayCustomColor',['../_d_o_x__i_a_d_l_x_display_custom_color.html',1,'display']]], - ['iadlxdisplaycustomresolution_1697',['IADLXDisplayCustomResolution',['../_d_o_x__i_a_d_l_x_display_custom_resolution.html',1,'display']]], - ['iadlxdisplayfreesync_1698',['IADLXDisplayFreeSync',['../_d_o_x__i_a_d_l_x_display_free_sync.html',1,'display']]], - ['iadlxdisplaygamma_1699',['IADLXDisplayGamma',['../_d_o_x__i_a_d_l_x_display_gamma.html',1,'display']]], - ['iadlxdisplaygammachangedevent_1700',['IADLXDisplayGammaChangedEvent',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event.html',1,'display']]], - ['iadlxdisplaygammachangedlistener_1701',['IADLXDisplayGammaChangedListener',['../_d_o_x__i_a_d_l_x_display_gamma_changed_listener.html',1,'display']]], - ['iadlxdisplaygamut_1702',['IADLXDisplayGamut',['../_d_o_x__i_a_d_l_x_display_gamut.html',1,'display']]], - ['iadlxdisplaygamutchangedevent_1703',['IADLXDisplayGamutChangedEvent',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event.html',1,'display']]], - ['iadlxdisplaygamutchangedlistener_1704',['IADLXDisplayGamutChangedListener',['../_d_o_x__i_a_d_l_x_display_gamut_changed_listener.html',1,'display']]], - ['iadlxdisplaygpuscaling_1705',['IADLXDisplayGPUScaling',['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling.html',1,'display']]], - ['iadlxdisplayhdcp_1706',['IADLXDisplayHDCP',['../_d_o_x__i_a_d_l_x_display_h_d_c_p.html',1,'display']]], - ['iadlxdisplayintegerscaling_1707',['IADLXDisplayIntegerScaling',['../_d_o_x__i_a_d_l_x_display_integer_scaling.html',1,'display']]], - ['iadlxdisplaylist_1708',['IADLXDisplayList',['../_d_o_x__i_a_d_l_x_display_list.html',1,'display']]], - ['iadlxdisplaylistchangedlistener_1709',['IADLXDisplayListChangedListener',['../_d_o_x__i_a_d_l_x_display_list_changed_listener.html',1,'display']]], - ['iadlxdisplaypixelformat_1710',['IADLXDisplayPixelFormat',['../_d_o_x__i_a_d_l_x_display_pixel_format.html',1,'display']]], - ['iadlxdisplayresolution_1711',['IADLXDisplayResolution',['../_d_o_x__i_a_d_l_x_display_resolution.html',1,'display']]], - ['iadlxdisplayresolutionlist_1712',['IADLXDisplayResolutionList',['../_d_o_x__i_a_d_l_x_display_resolution_list.html',1,'display']]], - ['iadlxdisplayscalingmode_1713',['IADLXDisplayScalingMode',['../_d_o_x__i_a_d_l_x_display_scaling_mode.html',1,'display']]], - ['iadlxdisplayservices_1714',['IADLXDisplayServices',['../_d_o_x__i_a_d_l_x_display_services.html',1,'display']]], - ['iadlxdisplayservices1_1715',['IADLXDisplayServices1',['../_d_o_x__i_a_d_l_x_display_services1.html',1,'display']]], - ['iadlxdisplayservices2_1716',['IADLXDisplayServices2',['../_d_o_x__i_a_d_l_x_display_services2.html',1,'display']]], - ['iadlxdisplaysettingschangedevent_1717',['IADLXDisplaySettingsChangedEvent',['../_d_o_x__i_a_d_l_x_display_settings_changed_event.html',1,'display']]], - ['iadlxdisplaysettingschangedevent1_1718',['IADLXDisplaySettingsChangedEvent1',['../_d_o_x__i_a_d_l_x_display_settings_changed_event1.html',1,'display']]], - ['iadlxdisplaysettingschangedevent2_1719',['IADLXDisplaySettingsChangedEvent2',['../_d_o_x__i_a_d_l_x_display_settings_changed_event2.html',1,'display']]], - ['iadlxdisplaysettingschangedlistener_1720',['IADLXDisplaySettingsChangedListener',['../_d_o_x__i_a_d_l_x_display_settings_changed_listener.html',1,'display']]], - ['iadlxdisplayvaribright_1721',['IADLXDisplayVariBright',['../_d_o_x__i_a_d_l_x_display_vari_bright.html',1,'display']]], - ['iadlxdisplayvsr_1722',['IADLXDisplayVSR',['../_d_o_x__i_a_d_l_x_display_v_s_r.html',1,'display']]], - ['iadlxeyefinitydesktop_1723',['IADLXEyefinityDesktop',['../_d_o_x__i_a_d_l_x_eyefinity_desktop.html',1,'desktop']]], - ['iadlxfps_1724',['IADLXFPS',['../_d_o_x__i_a_d_l_x_f_p_s.html',1,'perfmonitoring']]], - ['iadlxfpslist_1725',['IADLXFPSList',['../_d_o_x__i_a_d_l_x_f_p_s_list.html',1,'perfmonitoring']]], - ['iadlxgpu_1726',['IADLXGPU',['../_d_o_x__i_a_d_l_x_g_p_u.html',1,'gpu']]], - ['iadlxgpu1_1727',['IADLXGPU1',['../_d_o_x__i_a_d_l_x_g_p_u1.html',1,'gpu']]], - ['iadlxgpuautotuning_1728',['IADLXGPUAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.html',1,'gputuning']]], - ['iadlxgpuautotuningcompleteevent_1729',['IADLXGPUAutoTuningCompleteEvent',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.html',1,'gputuning']]], - ['iadlxgpuautotuningcompletelistener_1730',['IADLXGPUAutoTuningCompleteListener',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.html',1,'gputuning']]], - ['iadlxgpulist_1731',['IADLXGPUList',['../_d_o_x__i_a_d_l_x_g_p_u_list.html',1,'gpu']]], - ['iadlxgpumetrics_1732',['IADLXGPUMetrics',['../_d_o_x__i_a_d_l_x_g_p_u_metrics.html',1,'perfmonitoring']]], - ['iadlxgpumetricslist_1733',['IADLXGPUMetricsList',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_list.html',1,'perfmonitoring']]], - ['iadlxgpumetricssupport_1734',['IADLXGPUMetricsSupport',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support.html',1,'perfmonitoring']]], - ['iadlxgpupresettuning_1735',['IADLXGPUPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.html',1,'gputuning']]], - ['iadlxgpuschangedhandling_1736',['IADLXGPUsChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_us_changed_handling.html',1,'gpu']]], - ['iadlxgpuseventlistener_1737',['IADLXGPUsEventListener',['../_d_o_x__i_a_d_l_x_g_p_us_event_listener.html',1,'gpu']]], - ['iadlxgputuningchangedevent_1738',['IADLXGPUTuningChangedEvent',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.html',1,'gputuning']]], - ['iadlxgputuningchangedevent1_1739',['IADLXGPUTuningChangedEvent1',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.html',1,'gputuning']]], - ['iadlxgputuningchangedhandling_1740',['IADLXGPUTuningChangedHandling',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.html',1,'gputuning']]], - ['iadlxgputuningchangedlistener_1741',['IADLXGPUTuningChangedListener',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.html',1,'gputuning']]], - ['iadlxgputuningservices_1742',['IADLXGPUTuningServices',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services.html',1,'gputuning']]], - ['iadlxgputuningservices1_1743',['IADLXGPUTuningServices1',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.html',1,'gputuning']]], - ['iadlxi2c_1744',['IADLXI2C',['../_d_o_x__i_a_d_l_x_i2_c.html',1,'i2c']]], - ['iadlxinterface_1745',['IADLXInterface',['../_d_o_x__i_a_d_l_x_interface.html',1,'misc']]], - ['iadlxlist_1746',['IADLXList',['../_d_o_x__i_a_d_l_x_list.html',1,'misc']]], - ['iadlxlog_1747',['IADLXLog',['../_d_o_x__i_a_d_l_x_log.html',1,'misc']]], - ['iadlxmanualfantuning_1748',['IADLXManualFanTuning',['../_d_o_x__i_a_d_l_x_manual_fan_tuning.html',1,'gputuning']]], - ['iadlxmanualfantuningstate_1749',['IADLXManualFanTuningState',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state.html',1,'gputuning']]], - ['iadlxmanualfantuningstatelist_1750',['IADLXManualFanTuningStateList',['../_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.html',1,'gputuning']]], - ['iadlxmanualgraphicstuning1_1751',['IADLXManualGraphicsTuning1',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1.html',1,'gputuning']]], - ['iadlxmanualgraphicstuning2_1752',['IADLXManualGraphicsTuning2',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning2.html',1,'gputuning']]], - ['iadlxmanualpowertuning_1753',['IADLXManualPowerTuning',['../_d_o_x__i_a_d_l_x_manual_power_tuning.html',1,'gputuning']]], - ['iadlxmanualtuningstate_1754',['IADLXManualTuningState',['../_d_o_x__i_a_d_l_x_manual_tuning_state.html',1,'gputuning']]], - ['iadlxmanualtuningstatelist_1755',['IADLXManualTuningStateList',['../_d_o_x__i_a_d_l_x_manual_tuning_state_list.html',1,'gputuning']]], - ['iadlxmanualvramtuning1_1756',['IADLXManualVRAMTuning1',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.html',1,'gputuning']]], - ['iadlxmanualvramtuning2_1757',['IADLXManualVRAMTuning2',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.html',1,'gputuning']]], - ['iadlxmemorytimingdescription_1758',['IADLXMemoryTimingDescription',['../_d_o_x__i_a_d_l_x_memory_timing_description.html',1,'gputuning']]], - ['iadlxmemorytimingdescriptionlist_1759',['IADLXMemoryTimingDescriptionList',['../_d_o_x__i_a_d_l_x_memory_timing_description_list.html',1,'gputuning']]], - ['iadlxperformancemonitoringservices_1760',['IADLXPerformanceMonitoringServices',['../_d_o_x__i_a_d_l_x_performance_monitoring_services.html',1,'perfmonitoring']]], - ['iadlxpowertuningchangedevent_1761',['IADLXPowerTuningChangedEvent',['../_d_o_x__i_a_d_l_x_power_tuning_changed_event.html',1,'domain_powertuning']]], - ['iadlxpowertuningchangedhandling_1762',['IADLXPowerTuningChangedHandling',['../_d_o_x__i_a_d_l_x_power_tuning_changed_handling.html',1,'domain_powertuning']]], - ['iadlxpowertuningchangedlistener_1763',['IADLXPowerTuningChangedListener',['../_d_o_x__i_a_d_l_x_power_tuning_changed_listener.html',1,'domain_powertuning']]], - ['iadlxpowertuningservices_1764',['IADLXPowerTuningServices',['../_d_o_x__i_a_d_l_x_power_tuning_services.html',1,'domain_powertuning']]], - ['iadlxsimpleeyefinity_1765',['IADLXSimpleEyefinity',['../_d_o_x__i_a_d_l_x_simple_eyefinity.html',1,'desktop']]], - ['iadlxsmartaccessmemory_1766',['IADLXSmartAccessMemory',['../_d_o_x__i_a_d_l_x_smart_access_memory.html',1,'gputuning']]], - ['iadlxsmartshiftmax_1767',['IADLXSmartShiftMax',['../_d_o_x__i_a_d_l_x_smart_shift_max.html',1,'domain_powertuning']]], - ['iadlxsystem_1768',['IADLXSystem',['../_d_o_x__i_a_d_l_x_system.html',1,'system']]], - ['iadlxsystem1_1769',['IADLXSystem1',['../_d_o_x__i_a_d_l_x_system1.html',1,'system']]], - ['iadlxsystemmetrics_1770',['IADLXSystemMetrics',['../_d_o_x__i_a_d_l_x_system_metrics.html',1,'perfmonitoring']]], - ['iadlxsystemmetrics1_1771',['IADLXSystemMetrics1',['../_d_o_x__i_a_d_l_x_system_metrics1.html',1,'perfmonitoring']]], - ['iadlxsystemmetricslist_1772',['IADLXSystemMetricsList',['../_d_o_x__i_a_d_l_x_system_metrics_list.html',1,'perfmonitoring']]], - ['iadlxsystemmetricssupport_1773',['IADLXSystemMetricsSupport',['../_d_o_x__i_a_d_l_x_system_metrics_support.html',1,'perfmonitoring']]], - ['iadlxsystemmetricssupport1_1774',['IADLXSystemMetricsSupport1',['../_d_o_x__i_a_d_l_x_system_metrics_support1.html',1,'perfmonitoring']]], - ['imagesharpening_1775',['ImageSharpening',['../c__image_sharpening.html',1,'domain_c_sample_3DGraphics'],['../cpp__image_sharpening.html',1,'domain_cpp_sample_3DGraphics']]], - ['initialize_1776',['Initialize',['../page_cpp_help_initialize.html',1,'page_ADLXCppHelp']]], - ['initializewithcalleradl_1777',['InitializeWithCallerAdl',['../page_cpp_help_initialize_with_caller_adl.html',1,'page_ADLXCppHelp']]], - ['initializewithincompatibledriver_1778',['InitializeWithIncompatibleDriver',['../page_cpp_help_initialize_with_incompatible_driver.html',1,'page_ADLXCppHelp']]], - ['initializing_20adlx_20with_20function_20pointers_1779',['Initializing ADLX with function pointers',['../page_guide_init_pointer.html',1,'page_guide_qs']]], - ['initializing_20adlx_20with_20the_20adlx_20helpers_1780',['Initializing ADLX with the ADLX Helpers',['../page_guide_init_help.html',1,'page_guide_qs']]], - ['invalidobject_1781',['InvalidObject',['../c_sample__invalid_object.html',1,'domain_c_sample_Generic'],['../cpp_sample__invalid_object.html',1,'domain_cpp_sample_Generic']]], - ['isanisotropicfilteringchanged_1782',['IsAnisotropicFilteringChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isantialiasingchanged_1783',['IsAntiAliasingChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isantilagchanged_1784',['IsAntiLagChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isatfactory_1785',['IsAtFactory',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.html',1,'DOX_IADLXGPUTuningServices']]], - ['isautomatictuningchanged_1786',['IsAutomaticTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['isboostchanged_1787',['IsBoostChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isbrightnesssupported_1788',['IsBrightnessSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['ischillchanged_1789',['IsChillChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['iscolordepthchanged_1790',['IsColorDepthChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscolorspacechanged_1791',['IsColorSpaceChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.html',1,'DOX_IADLXDisplayGamutChangedEvent']]], - ['isconnectivityexperiencechanged_1792',['IsConnectivityExperienceChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent2']]], - ['iscontrastsupported_1793',['IsContrastSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['iscurrent5000kwhitepoint_1794',['IsCurrent5000kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent6500kwhitepoint_1795',['IsCurrent6500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent7500kwhitepoint_1796',['IsCurrent7500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrent9300kwhitepoint_1797',['IsCurrent9300kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentadobergbcolorspace_1798',['IsCurrentAdobeRgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentbalanced_1799',['IsCurrentBalanced',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentblanked_1800',['IsCurrentBlanked',['../_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['iscurrentccir2020colorspace_1801',['IsCurrentCCIR2020ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentccir601colorspace_1802',['IsCurrentCCIR601ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentccir709colorspace_1803',['IsCurrentCCIR709ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentciergbcolorspace_1804',['IsCurrentCIERgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentcustomcolorspace_1805',['IsCurrentCustomColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentcustomwhitepoint_1806',['IsCurrentCustomWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['iscurrentdegammaramp_1807',['IsCurrentDeGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentmaximizebattery_1808',['IsCurrentMaximizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentmaximizebrightness_1809',['IsCurrentMaximizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoptimizebattery_1810',['IsCurrentOptimizeBattery',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoptimizebrightness_1811',['IsCurrentOptimizeBrightness',['../_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.html',1,'DOX_IADLXDisplayVariBright']]], - ['iscurrentoverclockgpu_1812',['IsCurrentOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscurrentoverclockvram_1813',['IsCurrentOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscurrentpowersaver_1814',['IsCurrentPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentquiet_1815',['IsCurrentQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentrage_1816',['IsCurrentRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentregamma36_1817',['IsCurrentReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammabt709_1818',['IsCurrentReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammacoefficient_1819',['IsCurrentRegammaCoefficient',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammapq_1820',['IsCurrentReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammapq2084interim_1821',['IsCurrentReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammaramp_1822',['IsCurrentReGammaRamp',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentregammasrgb_1823',['IsCurrentReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['iscurrentscedisabled_1824',['IsCurrentSCEDisabled',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentscedynamiccontrast_1825',['IsCurrentSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentscevividgaming_1826',['IsCurrentSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['iscurrentturbo_1827',['IsCurrentTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['iscurrentunblanked_1828',['IsCurrentUnblanked',['../_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.html',1,'DOX_IADLXDisplayBlanking']]], - ['iscurrentundervoltgpu_1829',['IsCurrentUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['iscustom3dlutchanged_1830',['IsCustom3DLUTChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.html',1,'DOX_IADLXDisplay3DLUTChangedEvent']]], - ['iscustomcolorbrightnesschanged_1831',['IsCustomColorBrightnessChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorcontrastchanged_1832',['IsCustomColorContrastChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorhuechanged_1833',['IsCustomColorHueChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolorsaturationchanged_1834',['IsCustomColorSaturationChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomcolortemperaturechanged_1835',['IsCustomColorTemperatureChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iscustomresolutionchanged_1836',['IsCustomResolutionChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isdegammachanged_1837',['IsDeGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isdisplayblankingchanged_1838',['IsDisplayBlankingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent1']]], - ['isenabled_1839',['IsEnabled',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__is_enabled.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__is_enabled.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.html',1,'DOX_IADLXSmartAccessMemory']]], - ['isenabledhdmiqualitydetection_1840',['IsEnabledHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['isenabledlinkprotection_1841',['IsEnabledLinkProtection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['isenhancedsyncchanged_1842',['IsEnhancedSyncChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isexternal_1843',['IsExternal',['../_d_o_x__i_a_d_l_x_g_p_u__is_external.html',1,'DOX_IADLXGPU']]], - ['isframeratetargetcontrolchanged_1844',['IsFrameRateTargetControlChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isfreesyncchanged_1845',['IsFreeSyncChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isgammacoefficientchanged_1846',['IsGammaCoefficientChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isgammarampchanged_1847',['IsGammaRampChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isgpuscalingchanged_1848',['IsGPUScalingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ishdcpchanged_1849',['IsHDCPChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ishuesupported_1850',['IsHueSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['isimagesharpeningchanged_1851',['IsImageSharpeningChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isintegerscalingchanged_1852',['IsIntegerScalingChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ismanualfantuningchanged_1853',['IsManualFanTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualgpuclktuningchanged_1854',['IsManualGPUCLKTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualpowertuningchanged_1855',['IsManualPowerTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismanualvramtuningchanged_1856',['IsManualVRAMTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['ismorphologicalantialiasingchanged_1857',['IsMorphologicalAntiAliasingChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isoverclockgpucompleted_1858',['IsOverclockGPUCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['isoverclockvramcompleted_1859',['IsOverclockVRAMCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['ispixelformatchanged_1860',['IsPixelFormatChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['ispresettuningchanged_1861',['IsPresetTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedEvent']]], - ['isradeonsuperresolutionchanged_1862',['IsRadeonSuperResolutionChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isregammachanged_1863',['IsReGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedEvent']]], - ['isresetshadercache_1864',['IsResetShaderCache',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['issaturationsupported_1865',['IsSaturationSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['isscalingmodechanged_1866',['IsScalingModeChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isscechanged_1867',['IsSCEChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.html',1,'DOX_IADLXDisplay3DLUTChangedEvent']]], - ['issmartaccessmemorychanged_1868',['IsSmartAccessMemoryChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.html',1,'DOX_IADLXGPUTuningChangedEvent1']]], - ['issmartshiftmaxchanged_1869',['IsSmartShiftMaxChanged',['../_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.html',1,'DOX_IADLXPowerTuningChangedEvent']]], - ['issupported_1870',['IsSupported',['../_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.html',1,'DOX_IADLX3DAnisotropicFiltering'],['../_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.html',1,'DOX_IADLX3DAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.html',1,'DOX_IADLX3DAntiLag'],['../_d_o_x__i_a_d_l_x3_d_boost__is_supported.html',1,'DOX_IADLX3DBoost'],['../_d_o_x__i_a_d_l_x3_d_chill__is_supported.html',1,'DOX_IADLX3DChill'],['../_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.html',1,'DOX_IADLX3DEnhancedSync'],['../_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.html',1,'DOX_IADLX3DFrameRateTargetControl'],['../_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.html',1,'DOX_IADLX3DImageSharpening'],['../_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.html',1,'DOX_IADLX3DMorphologicalAntiAliasing'],['../_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.html',1,'DOX_IADLX3DRadeonSuperResolution'],['../_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.html',1,'DOX_IADLX3DResetShaderCache'],['../_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.html',1,'DOX_IADLX3DTessellation'],['../_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.html',1,'DOX_IADLX3DWaitForVerticalRefresh'],['../_d_o_x__i_a_d_l_x_display_blanking__is_supported.html',1,'DOX_IADLXDisplayBlanking'],['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported.html',1,'DOX_IADLXDisplayColorDepth'],['../_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.html',1,'DOX_IADLXDisplayCustomResolution'],['../_d_o_x__i_a_d_l_x_display_free_sync__is_supported.html',1,'DOX_IADLXDisplayFreeSync'],['../_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.html',1,'DOX_IADLXDisplayGPUScaling'],['../_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.html',1,'DOX_IADLXDisplayHDCP'],['../_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.html',1,'DOX_IADLXDisplayIntegerScaling'],['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.html',1,'DOX_IADLXDisplayPixelFormat'],['../_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.html',1,'DOX_IADLXDisplayScalingMode'],['../_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.html',1,'DOX_IADLXDisplayVariBright'],['../_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.html',1,'DOX_IADLXDisplayVSR'],['../_d_o_x__i_a_d_l_x_i2_c__is_supported.html',1,'DOX_IADLXI2C'],['../_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.html',1,'DOX_IADLXSimpleEyefinity'],['../_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.html',1,'DOX_IADLXSmartAccessMemory'],['../_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.html',1,'DOX_IADLXSmartShiftMax']]], - ['issupported5000kwhitepoint_1871',['IsSupported5000kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported6500kwhitepoint_1872',['IsSupported6500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported7500kwhitepoint_1873',['IsSupported7500kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupported9300kwhitepoint_1874',['IsSupported9300kWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedadobergbcolorspace_1875',['IsSupportedAdobeRgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedautotuning_1876',['IsSupportedAutoTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedbalanced_1877',['IsSupportedBalanced',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedbpc_5f10_1878',['IsSupportedBPC_10',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f12_1879',['IsSupportedBPC_12',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f14_1880',['IsSupportedBPC_14',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f16_1881',['IsSupportedBPC_16',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f6_1882',['IsSupportedBPC_6',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedbpc_5f8_1883',['IsSupportedBPC_8',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedccir2020colorspace_1884',['IsSupportedCCIR2020ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedccir601colorspace_1885',['IsSupportedCCIR601ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedccir709colorspace_1886',['IsSupportedCCIR709ColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedciergbcolorspace_1887',['IsSupportedCIERgbColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedcolordepth_1888',['IsSupportedColorDepth',['../_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.html',1,'DOX_IADLXDisplayColorDepth']]], - ['issupportedcpuusage_1889',['IsSupportedCPUUsage',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedcustomcolorspace_1890',['IsSupportedCustomColorSpace',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.html',1,'DOX_IADLXDisplayGamut']]], - ['issupportedcustomwhitepoint_1891',['IsSupportedCustomWhitePoint',['../_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.html',1,'DOX_IADLXDisplayGamut']]], - ['issupporteddplink_1892',['IsSupportedDPLink',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['issupportedgpuclockspeed_1893',['IsSupportedGPUClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpufanspeed_1894',['IsSupportedGPUFanSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuhotspottemperature_1895',['IsSupportedGPUHotspotTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuintaketemperature_1896',['IsSupportedGPUIntakeTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpupower_1897',['IsSupportedGPUPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgputemperature_1898',['IsSupportedGPUTemperature',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgputotalboardpower_1899',['IsSupportedGPUTotalBoardPower',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuusage_1900',['IsSupportedGPUUsage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvoltage_1901',['IsSupportedGPUVoltage',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvram_1902',['IsSupportedGPUVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedgpuvramclockspeed_1903',['IsSupportedGPUVRAMClockSpeed',['../_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.html',1,'DOX_IADLXGPUMetricsSupport']]], - ['issupportedhdmiqualitydetection_1904',['IsSupportedHDMIQualityDetection',['../_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.html',1,'DOX_IADLXDisplayConnectivityExperience']]], - ['issupportedmanualfantuning_1905',['IsSupportedManualFanTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualgfxtuning_1906',['IsSupportedManualGFXTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualpowertuning_1907',['IsSupportedManualPowerTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmanualvramtuning_1908',['IsSupportedManualVRAMTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedmemorytiming_1909',['IsSupportedMemoryTiming',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.html',1,'DOX_IADLXManualVRAMTuning1'],['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.html',1,'DOX_IADLXManualVRAMTuning2']]], - ['issupportedminacousticlimit_1910',['IsSupportedMinAcousticLimit',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedminfanspeed_1911',['IsSupportedMinFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedoverclockgpu_1912',['IsSupportedOverclockGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupportedoverclockvram_1913',['IsSupportedOverclockVRAM',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupportedpixelformat_1914',['IsSupportedPixelFormat',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedpowerdistribution_1915',['IsSupportedPowerDistribution',['../_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.html',1,'DOX_IADLXSystemMetricsSupport1']]], - ['issupportedpowersaver_1916',['IsSupportedPowerSaver',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedpresettuning_1917',['IsSupportedPresetTuning',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.html',1,'DOX_IADLXGPUTuningServices']]], - ['issupportedquiet_1918',['IsSupportedQuiet',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedrage_1919',['IsSupportedRage',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedregamma36_1920',['IsSupportedReGamma36',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammabt709_1921',['IsSupportedReGammaBT709',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammapq_1922',['IsSupportedReGammaPQ',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammapq2084interim_1923',['IsSupportedReGammaPQ2084Interim',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedregammasrgb_1924',['IsSupportedReGammaSRGB',['../_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.html',1,'DOX_IADLXDisplayGamma']]], - ['issupportedrgb444full_1925',['IsSupportedRGB444Full',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedrgb444limited_1926',['IsSupportedRGB444Limited',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedsce_1927',['IsSupportedSCE',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedscedynamiccontrast_1928',['IsSupportedSCEDynamicContrast',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedscevividgaming_1929',['IsSupportedSCEVividGaming',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedsmartshift_1930',['IsSupportedSmartShift',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedsystemram_1931',['IsSupportedSystemRAM',['../_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.html',1,'DOX_IADLXSystemMetricsSupport']]], - ['issupportedtargetfanspeed_1932',['IsSupportedTargetFanSpeed',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.html',1,'DOX_IADLXManualFanTuning']]], - ['issupportedtdclimit_1933',['IsSupportedTDCLimit',['../_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.html',1,'DOX_IADLXManualPowerTuning']]], - ['issupportedturbo_1934',['IsSupportedTurbo',['../_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.html',1,'DOX_IADLXGPUPresetTuning']]], - ['issupportedundervoltgpu_1935',['IsSupportedUndervoltGPU',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.html',1,'DOX_IADLXGPUAutoTuning']]], - ['issupporteduser3dlut_1936',['IsSupportedUser3DLUT',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.html',1,'DOX_IADLXDisplay3DLUT']]], - ['issupportedycbcr420_1937',['IsSupportedYCbCr420',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedycbcr422_1938',['IsSupportedYCbCr422',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedycbcr444_1939',['IsSupportedYCbCr444',['../_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.html',1,'DOX_IADLXDisplayPixelFormat']]], - ['issupportedzerorpm_1940',['IsSupportedZeroRPM',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.html',1,'DOX_IADLXManualFanTuning']]], - ['istemperaturesupported_1941',['IsTemperatureSupported',['../_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.html',1,'DOX_IADLXDisplayCustomColor']]], - ['istessellationmodechanged_1942',['IsTessellationModeChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['isundervoltgpucompleted_1943',['IsUndervoltGPUCompleted',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.html',1,'DOX_IADLXGPUAutoTuningCompleteEvent']]], - ['isvalidfantuningstates_1944',['IsValidFanTuningStates',['../_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.html',1,'DOX_IADLXManualFanTuning']]], - ['isvalidgputuningstates_1945',['IsValidGPUTuningStates',['../_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.html',1,'DOX_IADLXManualGraphicsTuning1']]], - ['isvalidvramtuningstates_1946',['IsValidVRAMTuningStates',['../_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.html',1,'DOX_IADLXManualVRAMTuning1']]], - ['isvaribrightchanged_1947',['IsVariBrightChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['isvsrchanged_1948',['IsVSRChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.html',1,'DOX_IADLXDisplaySettingsChangedEvent']]], - ['iswaitforverticalrefreshchanged_1949',['IsWaitForVerticalRefreshChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.html',1,'DOX_IADLX3DSettingsChangedEvent']]], - ['iswhitepointchanged_1950',['IsWhitePointChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.html',1,'DOX_IADLXDisplayGamutChangedEvent']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_a.html b/vendor/adlx/SDKDoc/html/search/pages_a.html deleted file mode 100644 index 2cc9d19..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_a.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_a.js b/vendor/adlx/SDKDoc/html/search/pages_a.js deleted file mode 100644 index e545e66..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['java_20samples_1951',['Java Samples',['../page_sample_java.html',1,'domain_samplePage']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_b.html b/vendor/adlx/SDKDoc/html/search/pages_b.html deleted file mode 100644 index 151db55..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_b.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_b.js b/vendor/adlx/SDKDoc/html/search/pages_b.js deleted file mode 100644 index 606b1bf..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_b.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['legal_20information_20and_20compliance_2fdisclaimers_1952',['Legal Information and Compliance/Disclaimers',['../page_legal.html',1,'']]], - ['log_1953',['Log',['../c_sample_log.html',1,'domain_c_sample_Generic'],['../cpp_sample_log.html',1,'domain_cpp_sample_Generic']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_c.html b/vendor/adlx/SDKDoc/html/search/pages_c.html deleted file mode 100644 index 6790b0d..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_c.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_c.js b/vendor/adlx/SDKDoc/html/search/pages_c.js deleted file mode 100644 index b3e1d72..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_c.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['manualfantuning_1954',['ManualFanTuning',['../c__manual_fan_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_fan_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualgraphicstuning_1955',['ManualGraphicsTuning',['../c__manual_graphics_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_graphics_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualpowertuning_1956',['ManualPowerTuning',['../c__manual_power_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_power_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manualvramtuning_1957',['ManualVRAMTuning',['../c__manual_v_r_a_m_tuning.html',1,'domain_c_sample_GPUTuning'],['../cpp__manual_v_r_a_m_tuning.html',1,'domain_cpp_sample_GPUTuning']]], - ['manufacturerid_1958',['ManufacturerID',['../_d_o_x__i_a_d_l_x_display__manufacturer_i_d.html',1,'DOX_IADLXDisplay']]], - ['miscellaneous_1959',['Miscellaneous',['../domain_c_sample__generic.html',1,'page_sample_c'],['../domain_cpp_sample__generic.html',1,'page_sample_cpp'],['../misc.html',1,'page_interfaces']]], - ['morphologicantialiasing_1960',['MorphologicAntiAliasing',['../c__morphologic_anti_aliasing.html',1,'domain_c_sample_3DGraphics'],['../cpp__morphologic_anti_aliasing.html',1,'domain_cpp_sample_3DGraphics']]], - ['multigpumode_1961',['MultiGPUMode',['../_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.html',1,'DOX_IADLXGPU1']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_d.html b/vendor/adlx/SDKDoc/html/search/pages_d.html deleted file mode 100644 index ad1c7b6..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_d.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_d.js b/vendor/adlx/SDKDoc/html/search/pages_d.js deleted file mode 100644 index a135c29..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['name_1962',['Name',['../_d_o_x__i_a_d_l_x_display__name.html',1,'DOX_IADLXDisplay'],['../_d_o_x__i_a_d_l_x_g_p_u__name.html',1,'DOX_IADLXGPU']]], - ['nativeresolution_1963',['NativeResolution',['../_d_o_x__i_a_d_l_x_display__native_resolution.html',1,'DOX_IADLXDisplay']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_e.html b/vendor/adlx/SDKDoc/html/search/pages_e.html deleted file mode 100644 index 05947b0..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_e.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_e.js b/vendor/adlx/SDKDoc/html/search/pages_e.js deleted file mode 100644 index 2bc67eb..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_e.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['on3dsettingschanged_1964',['On3DSettingsChanged',['../_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.html',1,'DOX_IADLX3DSettingsChangedListener']]], - ['ondesktoplistchanged_1965',['OnDesktopListChanged',['../_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.html',1,'DOX_IADLXDesktopListChangedListener']]], - ['ondisplay3dlutchanged_1966',['OnDisplay3DLUTChanged',['../_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.html',1,'DOX_IADLXDisplay3DLUTChangedListener']]], - ['ondisplaygammachanged_1967',['OnDisplayGammaChanged',['../_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.html',1,'DOX_IADLXDisplayGammaChangedListener']]], - ['ondisplaygamutchanged_1968',['OnDisplayGamutChanged',['../_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.html',1,'DOX_IADLXDisplayGamutChangedListener']]], - ['ondisplaylistchanged_1969',['OnDisplayListChanged',['../_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.html',1,'DOX_IADLXDisplayListChangedListener']]], - ['ondisplaysettingschanged_1970',['OnDisplaySettingsChanged',['../_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.html',1,'DOX_IADLXDisplaySettingsChangedListener']]], - ['ongpuautotuningcomplete_1971',['OnGPUAutoTuningComplete',['../_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.html',1,'DOX_IADLXGPUAutoTuningCompleteListener']]], - ['ongpulistchanged_1972',['OnGPUListChanged',['../_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.html',1,'DOX_IADLXGPUsEventListener']]], - ['ongputuningchanged_1973',['OnGPUTuningChanged',['../_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.html',1,'DOX_IADLXGPUTuningChangedListener']]], - ['onpowertuningchanged_1974',['OnPowerTuningChanged',['../_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.html',1,'DOX_IADLXPowerTuningChangedListener']]], - ['orientation_1975',['Orientation',['../_d_o_x__i_a_d_l_x_desktop__orientation.html',1,'DOX_IADLXDesktop']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/pages_f.html b/vendor/adlx/SDKDoc/html/search/pages_f.html deleted file mode 100644 index da78179..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_f.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/pages_f.js b/vendor/adlx/SDKDoc/html/search/pages_f.js deleted file mode 100644 index bce47e4..0000000 --- a/vendor/adlx/SDKDoc/html/search/pages_f.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['pcibuslanewidth_1976',['PCIBusLaneWidth',['../_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.html',1,'DOX_IADLXGPU1']]], - ['pcibustype_1977',['PCIBusType',['../_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.html',1,'DOX_IADLXGPU1']]], - ['perfallmetrics_1978',['PerfAllMetrics',['../c__perf_all_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_all_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['perffpsmetrics_1979',['PerfFPSMetrics',['../c__perf_f_p_s_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_f_p_s_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['perfgpumetrics_1980',['PerfGPUMetrics',['../c__perf_g_p_u_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_g_p_u_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['performance_20monitoring_1981',['Performance Monitoring',['../domain_c_sample__performance_monitoring.html',1,'page_sample_c'],['../domain_cpp_sample__performance_monitoring.html',1,'page_sample_cpp'],['../perfmonitoring.html',1,'page_interfaces']]], - ['perfsystemmetrics_1982',['PerfSystemMetrics',['../c__perf_system_metrics.html',1,'domain_c_sample_PerformanceMonitoring'],['../cpp__perf_system_metrics.html',1,'domain_cpp_sample_PerformanceMonitoring']]], - ['pixelclock_1983',['PixelClock',['../_d_o_x__i_a_d_l_x_display__pixel_clock.html',1,'DOX_IADLXDisplay']]], - ['pnpstring_1984',['PNPString',['../_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.html',1,'DOX_IADLXGPU']]], - ['power_20tuning_1985',['Power Tuning',['../domain_c_sample_powertuning.html',1,'page_sample_c'],['../domain_cpp_sample_powertuning.html',1,'page_sample_cpp'],['../domain_powertuning.html',1,'page_interfaces']]], - ['powerdistribution_1986',['PowerDistribution',['../_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.html',1,'DOX_IADLXSystemMetrics1']]], - ['primaryadapter_1987',['PrimaryAdapter',['../c_sample__primary_adapter.html',1,'domain_c_sample_Desktop'],['../cpp_sample__primary_adapter.html',1,'domain_cpp_sample_Desktop']]], - ['productname_1988',['ProductName',['../_d_o_x__i_a_d_l_x_g_p_u1__product_name.html',1,'DOX_IADLXGPU1']]], - ['programming_20with_20adlx_1989',['Programming with ADLX',['../page_programwithadlx.html',1,'']]], - ['python_20samples_1990',['Python Samples',['../page_sample_py.html',1,'domain_samplePage']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/search.css b/vendor/adlx/SDKDoc/html/search/search.css deleted file mode 100644 index a0dba44..0000000 --- a/vendor/adlx/SDKDoc/html/search/search.css +++ /dev/null @@ -1,273 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - float: none; - margin-top: 0px; - right: 0px; - width: 170px; - height: 24px; - z-index: 102; - display: inline; - position: absolute; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:111px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; - -webkit-border-radius: 0px; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:0px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; - z-index:10000; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #F0F3F8; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/vendor/adlx/SDKDoc/html/search/search.js b/vendor/adlx/SDKDoc/html/search/search.js deleted file mode 100644 index eef67fb..0000000 --- a/vendor/adlx/SDKDoc/html/search/search.js +++ /dev/null @@ -1,831 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - searchValue = searchValue.toLowerCase(); - if (searchValue.endsWith("ptr")) - { - searchValue = searchValue.replace("ptr", ""); - } - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches' + this.extension; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline-block'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W diff --git a/vendor/adlx/SDKDoc/html/search/search_r.png b/vendor/adlx/SDKDoc/html/search/search_r.png deleted file mode 100644 index 1af5d21ee13e070d7600f1c4657fde843b953a69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD diff --git a/vendor/adlx/SDKDoc/html/search/searchdata.js b/vendor/adlx/SDKDoc/html/search/searchdata.js deleted file mode 100644 index fc0cea0..0000000 --- a/vendor/adlx/SDKDoc/html/search/searchdata.js +++ /dev/null @@ -1,39 +0,0 @@ -var indexSectionsWithContent = -{ - 0: "3abcdefghijlmnopqrstuvwxy~", - 1: "a", - 2: "a", - 3: "bcdghmprstvxy", - 4: "a", - 5: "a", - 6: "abcdfgilmnoprstuwy", - 7: "a", - 8: "3abcdefghijlmnopqrstuvw~" -}; - -var indexSectionNames = -{ - 0: "all", - 1: "classes", - 2: "files", - 3: "variables", - 4: "typedefs", - 5: "enums", - 6: "enumvalues", - 7: "groups", - 8: "pages" -}; - -var indexSectionLabels = -{ - 0: "All", - 1: "Classes", - 2: "Files", - 3: "Variables", - 4: "Typedefs", - 5: "Enumerations", - 6: "Enumerator", - 7: "Modules", - 8: "Pages" -}; - diff --git a/vendor/adlx/SDKDoc/html/search/typedefs_0.html b/vendor/adlx/SDKDoc/html/search/typedefs_0.html deleted file mode 100644 index a4684c4..0000000 --- a/vendor/adlx/SDKDoc/html/search/typedefs_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/typedefs_0.js b/vendor/adlx/SDKDoc/html/search/typedefs_0.js deleted file mode 100644 index 5bf9f49..0000000 --- a/vendor/adlx/SDKDoc/html/search/typedefs_0.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['adlx_5fadl_5fmain_5fmemory_5ffree_1113',['ADLX_ADL_Main_Memory_Free',['../group___a_d_l_x_defs.html#ga7301579b153c3612dca5c442e5f2dd45',1,'ADLX.h']]], - ['adlxinitialize_5ffn_1114',['ADLXInitialize_Fn',['../group___a_d_l_x_defs.html#gac5f7f97490516e7be3e62c3be1383c66',1,'ADLX.h']]], - ['adlxinitializewithcalleradl_5ffn_1115',['ADLXInitializeWithCallerAdl_Fn',['../group___a_d_l_x_defs.html#gadb90c5a66bc15b34f864d5883158ed44',1,'ADLX.h']]], - ['adlxqueryfullversion_5ffn_1116',['ADLXQueryFullVersion_Fn',['../group___a_d_l_x_defs.html#ga6adc3b43ac10780441c675a07a0fa4ae',1,'ADLX.h']]], - ['adlxqueryversion_5ffn_1117',['ADLXQueryVersion_Fn',['../group___a_d_l_x_defs.html#gacc89675ee4e79ce8f3a2d729bc48fc0b',1,'ADLX.h']]], - ['adlxterminate_5ffn_1118',['ADLXTerminate_Fn',['../group___a_d_l_x_defs.html#ga8c0d01f62522f27bdb72ece0c7c89ded',1,'ADLX.h']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_0.html b/vendor/adlx/SDKDoc/html/search/variables_0.html deleted file mode 100644 index 1e477c0..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_0.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_0.js b/vendor/adlx/SDKDoc/html/search/variables_0.js deleted file mode 100644 index 851246c..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['blue_1078',['blue',['../group__structures_val.html#ad34c7449d0336a88ffd1cdbef31c2540',1,'ADLX_GamutColorSpace::blue()'],['../group__structures_val.html#a4080ff87d27524db90af579adfb83d72',1,'ADLX_UINT16_RGB::blue()']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_1.html b/vendor/adlx/SDKDoc/html/search/variables_1.html deleted file mode 100644 index ea73d9a..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_1.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_1.js b/vendor/adlx/SDKDoc/html/search/variables_1.js deleted file mode 100644 index 5eb856f..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['coefficienta0_1079',['coefficientA0',['../group__structures_val.html#a82a0c072f26cc842b3a8323826142d66',1,'ADLX_RegammaCoeff']]], - ['coefficienta1_1080',['coefficientA1',['../group__structures_val.html#a843c3fa65f49561ff7c057e63a7b678f',1,'ADLX_RegammaCoeff']]], - ['coefficienta2_1081',['coefficientA2',['../group__structures_val.html#a9059213377ccbe262625666bdf6ce8a1',1,'ADLX_RegammaCoeff']]], - ['coefficienta3_1082',['coefficientA3',['../group__structures_val.html#aaab4f232db08f8c41eeed3530737ece2',1,'ADLX_RegammaCoeff']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_2.html b/vendor/adlx/SDKDoc/html/search/variables_2.html deleted file mode 100644 index 0580462..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_2.js b/vendor/adlx/SDKDoc/html/search/variables_2.js deleted file mode 100644 index efb6314..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['data_1083',['data',['../group__structures_val.html#a6c9de079cb901629ad01e9b90df8d501',1,'ADLX_3DLUT_Data']]], - ['detailedtiming_1084',['detailedTiming',['../group__structures_val.html#ab0cc9e42429d7dcb55187b1b7c9748dd',1,'ADLX_CustomResolution']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_3.html b/vendor/adlx/SDKDoc/html/search/variables_3.html deleted file mode 100644 index 0d69e76..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_3.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_3.js b/vendor/adlx/SDKDoc/html/search/variables_3.js deleted file mode 100644 index 2e082a2..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_3.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['gamma_1085',['gamma',['../group__structures_val.html#acd3904c27f6266d67f9b22e709f177af',1,'ADLX_GammaRamp::gamma()'],['../group__structures_val.html#a3a743f1e79a8a4850642c819a1fae248',1,'ADLX_RegammaCoeff::gamma()']]], - ['gamutb_1086',['gamutB',['../group__structures_val.html#a75b06f09bda103527d0c6a3cb1347b0e',1,'ADLX_RGB']]], - ['gamutg_1087',['gamutG',['../group__structures_val.html#a7540762d60fe2d8cdad1162521f6e452',1,'ADLX_RGB']]], - ['gamutr_1088',['gamutR',['../group__structures_val.html#a8a53f770bc4486014dc6fdeeaef4e483',1,'ADLX_RGB']]], - ['gpixelclock_1089',['GPixelClock',['../group__structures_val.html#adbbd4af06563688dca57c04d58c0ce7c',1,'ADLX_CustomResolution']]], - ['green_1090',['green',['../group__structures_val.html#a84a443716c92b943096a38c0128cb197',1,'ADLX_GamutColorSpace::green()'],['../group__structures_val.html#a34a0f0cc6253a1238f5115694538607f',1,'ADLX_UINT16_RGB::green()']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_4.html b/vendor/adlx/SDKDoc/html/search/variables_4.html deleted file mode 100644 index a4b6506..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_4.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_4.js b/vendor/adlx/SDKDoc/html/search/variables_4.js deleted file mode 100644 index 4fb945e..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_4.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['hdisplay_1091',['hDisplay',['../group__structures_val.html#ad3eb58c10b751db671278ca94b885988',1,'ADLX_TimingInfo']]], - ['hfrontporch_1092',['hFrontPorch',['../group__structures_val.html#ac826892a2d80335e0c2f186b28f26192',1,'ADLX_TimingInfo']]], - ['hpolarity_1093',['hPolarity',['../group__structures_val.html#ab52652a6f236acc894a2e11568478cbc',1,'ADLX_TimingInfo']]], - ['hsyncwidth_1094',['hSyncWidth',['../group__structures_val.html#a15cd71c7542b0e1eb0dfdfd5e72b394b',1,'ADLX_TimingInfo']]], - ['htotal_1095',['hTotal',['../group__structures_val.html#a154ba5b960ca87bc12e18fdca4327844',1,'ADLX_TimingInfo']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_5.html b/vendor/adlx/SDKDoc/html/search/variables_5.html deleted file mode 100644 index 7e345d1..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_5.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_5.js b/vendor/adlx/SDKDoc/html/search/variables_5.js deleted file mode 100644 index a3f2889..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['maxvalue_1096',['maxValue',['../group__structures_val.html#a514f377840f96d92a1f11e41af9b3db1',1,'ADLX_IntRange']]], - ['minvalue_1097',['minValue',['../group__structures_val.html#aff4a4b69a07d715083773dc23f162e05',1,'ADLX_IntRange']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_6.html b/vendor/adlx/SDKDoc/html/search/variables_6.html deleted file mode 100644 index 7d48e75..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_6.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_6.js b/vendor/adlx/SDKDoc/html/search/variables_6.js deleted file mode 100644 index f983b80..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['presentation_1098',['presentation',['../group__structures_val.html#a51ca72ac4b7a7d132dc9f809c89f8515',1,'ADLX_CustomResolution']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_7.html b/vendor/adlx/SDKDoc/html/search/variables_7.html deleted file mode 100644 index 5c26340..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_7.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_7.js b/vendor/adlx/SDKDoc/html/search/variables_7.js deleted file mode 100644 index 1763418..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_7.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['red_1099',['red',['../group__structures_val.html#a1fbcbbc055e40b34aae2823822e9af8c',1,'ADLX_GamutColorSpace::red()'],['../group__structures_val.html#ab8b0398e4a3ec75946dfd7f2fb1f2e95',1,'ADLX_UINT16_RGB::red()']]], - ['refreshrate_1100',['refreshRate',['../group__structures_val.html#ab43f9e225b953494737081fb45c38c7b',1,'ADLX_CustomResolution']]], - ['resheight_1101',['resHeight',['../group__structures_val.html#a7941ceb1178e2240fc064dfddaff5792',1,'ADLX_CustomResolution']]], - ['reswidth_1102',['resWidth',['../group__structures_val.html#a299cbff4bdd201f3e2ef51a261571695',1,'ADLX_CustomResolution']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_8.html b/vendor/adlx/SDKDoc/html/search/variables_8.html deleted file mode 100644 index dc9ec54..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_8.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_8.js b/vendor/adlx/SDKDoc/html/search/variables_8.js deleted file mode 100644 index b248572..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['step_1103',['step',['../group__structures_val.html#ae0e545b501a683c565f08089ed3e8023',1,'ADLX_IntRange']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_9.html b/vendor/adlx/SDKDoc/html/search/variables_9.html deleted file mode 100644 index 7b01475..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_9.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_9.js b/vendor/adlx/SDKDoc/html/search/variables_9.js deleted file mode 100644 index 9b0dec1..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_9.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['timingflags_1104',['timingFlags',['../group__structures_val.html#ac1cdcc878673d086e98cb88e33098a26',1,'ADLX_TimingInfo']]], - ['timingstandard_1105',['timingStandard',['../group__structures_val.html#a0cc91cb01a7769f4a2b5f3da06af8a9f',1,'ADLX_CustomResolution']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_a.html b/vendor/adlx/SDKDoc/html/search/variables_a.html deleted file mode 100644 index 52a724d..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_a.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_a.js b/vendor/adlx/SDKDoc/html/search/variables_a.js deleted file mode 100644 index d4942e3..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_a.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['vdisplay_1106',['vDisplay',['../group__structures_val.html#ace8b356f5f69d0e332b27392495a6d77',1,'ADLX_TimingInfo']]], - ['vfrontporch_1107',['vFrontPorch',['../group__structures_val.html#a710becefc88a9b55263fdd7147260251',1,'ADLX_TimingInfo']]], - ['vpolarity_1108',['vPolarity',['../group__structures_val.html#a489f1ef6e39512911fd0184c0b444c26',1,'ADLX_TimingInfo']]], - ['vsyncwidth_1109',['vSyncWidth',['../group__structures_val.html#a81a08b07d265370132fa4bc812f4f2ec',1,'ADLX_TimingInfo']]], - ['vtotal_1110',['vTotal',['../group__structures_val.html#a98c760c16b184ee29e341a8e6a246c4d',1,'ADLX_TimingInfo']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_b.html b/vendor/adlx/SDKDoc/html/search/variables_b.html deleted file mode 100644 index f376b27..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_b.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_b.js b/vendor/adlx/SDKDoc/html/search/variables_b.js deleted file mode 100644 index 268e3ce..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_b.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['x_1111',['x',['../group__structures_val.html#aa22bab0bfe9e1a768530aa8cab94662e',1,'ADLX_Point']]] -]; diff --git a/vendor/adlx/SDKDoc/html/search/variables_c.html b/vendor/adlx/SDKDoc/html/search/variables_c.html deleted file mode 100644 index 6019eba..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_c.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vendor/adlx/SDKDoc/html/search/variables_c.js b/vendor/adlx/SDKDoc/html/search/variables_c.js deleted file mode 100644 index 8d1b1d2..0000000 --- a/vendor/adlx/SDKDoc/html/search/variables_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['y_1112',['y',['../group__structures_val.html#a1b2e67a8ba86ac9f0393ee839658fe55',1,'ADLX_Point']]] -]; diff --git a/vendor/adlx/SDKDoc/html/splitbar.png b/vendor/adlx/SDKDoc/html/splitbar.png deleted file mode 100644 index fe895f2c58179b471a22d8320b39a4bd7312ec8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T diff --git a/vendor/adlx/SDKDoc/html/sync_off.png b/vendor/adlx/SDKDoc/html/sync_off.png deleted file mode 100644 index 3b443fc62892114406e3d399421b2a881b897acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* diff --git a/vendor/adlx/SDKDoc/html/sync_on.png b/vendor/adlx/SDKDoc/html/sync_on.png deleted file mode 100644 index e08320fb64e6fa33b573005ed6d8fe294e19db76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 diff --git a/vendor/adlx/SDKDoc/html/system.html b/vendor/adlx/SDKDoc/html/system.html deleted file mode 100644 index fc2c31f..0000000 --- a/vendor/adlx/SDKDoc/html/system.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -AMD Device Library eXtra: System - - - - - - - - - - - - - - - -
-
- - - - - - - - -
-
AMD Device Library eXtra -  v1.2 -
-
- - - - - - -
-
-
- - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
System
-
-
-

The System domain contains interfaces that provide platform-specific access to entries of other domains. Examples include GPU, Display or GPU Tuning.

-
    -
-
-
-
- - - - - - diff --git a/vendor/adlx/SDKDoc/html/system.js b/vendor/adlx/SDKDoc/html/system.js deleted file mode 100644 index 38d7970..0000000 --- a/vendor/adlx/SDKDoc/html/system.js +++ /dev/null @@ -1,5 +0,0 @@ -var system = -[ - [ "IADLXSystem", "_d_o_x__i_a_d_l_x_system.html", "_d_o_x__i_a_d_l_x_system" ], - [ "IADLXSystem1", "_d_o_x__i_a_d_l_x_system1.html", "_d_o_x__i_a_d_l_x_system1" ] -]; \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/html/tab_a.png b/vendor/adlx/SDKDoc/html/tab_a.png deleted file mode 100644 index 3b725c41c5a527a3a3e40097077d0e206a681247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 diff --git a/vendor/adlx/SDKDoc/html/tab_b.png b/vendor/adlx/SDKDoc/html/tab_b.png deleted file mode 100644 index e2b4a8638cb3496a016eaed9e16ffc12846dea18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ diff --git a/vendor/adlx/SDKDoc/html/tabs.css b/vendor/adlx/SDKDoc/html/tabs.css deleted file mode 100644 index 85a0cd5..0000000 --- a/vendor/adlx/SDKDoc/html/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x3_d_settings_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x3_d_settings_page_8h.xml deleted file mode 100644 index 7f0597a..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x3_d_settings_page_8h.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - ADLX3DSettingsPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLX3DAntiLag -//---------------------------------------------------------------------------------------------- -//IADLX3DAntiLag1 -//---------------------------------------------------------------------------------------------- -//IADLX3DChill -//---------------------------------------------------------------------------------------------- -//IADLX3DBoost -//---------------------------------------------------------------------------------------------- -//IADLX3DImageSharpening -//---------------------------------------------------------------------------------------------- -//IADLX3DEnhancedSync -//---------------------------------------------------------------------------------------------- -//IADLX3DWaitForVerticalRefresh -//---------------------------------------------------------------------------------------------- -//IADLX3DFrameRateTargetControl -//---------------------------------------------------------------------------------------------- -//IADLX3DAntiAliasing -//---------------------------------------------------------------------------------------------- -//IADLX3DMorphologicalAntiAliasing -//---------------------------------------------------------------------------------------------- -//IADLX3DAnisotropicFiltering -//---------------------------------------------------------------------------------------------- -//IADLX3DTessellation -//---------------------------------------------------------------------------------------------- -//IADLX3DRadeonSuperResolution -//---------------------------------------------------------------------------------------------- -//IADLX3DResetShaderCache -//---------------------------------------------------------------------------------------------- -//IADLX3DSettingsChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLX3DSettingsChangedListener -//---------------------------------------------------------------------------------------------- -//IADLX3DSettingsChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLX3DSettingsServices -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_8h.xml deleted file mode 100644 index f73d566..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_8h.xml +++ /dev/null @@ -1,375 +0,0 @@ - - - - ADLX.h - ADLXDefines.h - ISystem.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C/ADLXHelper.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADLX_DLL_NAMEW - L"amdadlx64.dll" - - - -Unicode name for 64-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEW L"amdadlx64.dll" - - - - - - - - ADLX_DLL_NAMEA - "amdadlx64.dll" - - - -ANSI name for 64-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEA "amdadlx64.dll" - - - - - - - - ADLX_DLL_NAME - ADLX_DLL_NAMEW - - - -ADLX dll name in Unicode applications Definition - - - #define ADLX_DLL_NAME ADLX_DLL_NAMEW - - - - - - - - ADLX_QUERY_FULL_VERSION_FUNCTION_NAME - "ADLXQueryFullVersion" - - - -The function name of QueryFullVersion Definition - - - #define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME "ADLXQueryFullVersion" - - - - - - - - ADLX_QUERY_VERSION_FUNCTION_NAME - "ADLXQueryVersion" - - - -The function name of QueryVersion Definition - - - #define ADLX_QUERY_VERSION_FUNCTION_NAME "ADLXQueryVersion" - - - - - - - - ADLX_INIT_FUNCTION_NAME - "ADLXInitialize" - - - -The function name of ADLXInitialize Definition - - - #define ADLX_INIT_FUNCTION_NAME "ADLXInitialize" - - - - - - - - ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME - "ADLXInitializeWithIncompatibleDriver" - - - -The function name of ADLXInitializeWithIncompatibleDriver Definition - - - #define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME "ADLXInitializeWithIncompatibleDriver" - - - - - - - - ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME - "ADLXInitializeWithCallerAdl" - - - -The function name of ADLXInitializeWithCallerAdl Definition - - - #define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME "ADLXInitializeWithCallerAdl" - - - - - - - - ADLX_TERMINATE_FUNCTION_NAME - "ADLXTerminate" - - - -The function name of ADLXTerminate Definition - - - #define ADLX_TERMINATE_FUNCTION_NAME "ADLXTerminate" - - - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXQueryFullVersion_Fn - )(adlx_uint64 *fullVersion) - ADLXQueryFullVersion_Fn - - - -The typedef of QueryFullVersion function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryFullVersion_Fn)(adlx_uint64* fullVersion) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXQueryVersion_Fn - )(const char **version) - ADLXQueryVersion_Fn - - - -The typedef of QueryVersion function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryVersion_Fn)(const char** version) - - - - - - - - void(ADLX_STD_CALL * - ADLX_ADL_Main_Memory_Free - )(void **buffer) - ADLX_ADL_Main_Memory_Free - - - -The typedef of ADLX_ADL_Main_Memory_Free function. Definition - - - typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXInitialize_Fn - )(adlx_uint64 version, adlx::IADLXSystem **ppSystem) - ADLXInitialize_Fn - - - -The typedef of ADLXInitialize function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXInitializeWithCallerAdl_Fn - )(adlx_uint64 version, adlx::IADLXSystem **ppSystem, adlx::IADLMapping **ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - ADLXInitializeWithCallerAdl_Fn - - - -The typedef of ADLXInitializeWithCallerAdl function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXTerminate_Fn - )() - ADLXTerminate_Fn - - - -The typedef of ADLXTerminate function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)() - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_H -#defineADLX_H -#pragmaonce - -#include"ADLXDefines.h" -#include"ISystem.h" - -#pragmaregiondllname -#ifdefined(_WIN32) -#ifdefined(_M_AMD64) -#defineADLX_DLL_NAMEWL"amdadlx64.dll" -#defineADLX_DLL_NAMEA"amdadlx64.dll" -#else//_M_AMD64 -#defineADLX_DLL_NAMEWL"amdadlx32.dll" -#defineADLX_DLL_NAMEA"amdadlx32.dll" -#endif//_M_AMD64 - -#ifdefined(UNICODE) -#defineADLX_DLL_NAMEADLX_DLL_NAMEW -#else//UNICODE -#defineADLX_DLL_NAMEADLX_DLL_NAMEA -#endif//UNICODE -#endif//_WIN32 -#pragmaendregiondllname - -#pragmaregionADLXcallbacks -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryFullVersion_Fn)(adlx_uint64*fullVersion); -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryVersion_Fn)(constchar**version); - -typedefvoid(ADLX_STD_CALL*ADLX_ADL_Main_Memory_Free)(void**buffer); -#pragmaendregionADLXcallbacks - -#pragmaregionC-stylefunctions -#defineADLX_QUERY_FULL_VERSION_FUNCTION_NAME"ADLXQueryFullVersion" - -#defineADLX_QUERY_VERSION_FUNCTION_NAME"ADLXQueryVersion" - -#defineADLX_INIT_FUNCTION_NAME"ADLXInitialize" - -#defineADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME"ADLXInitializeWithIncompatibleDriver" - -#defineADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME"ADLXInitializeWithCallerAdl" - -#defineADLX_TERMINATE_FUNCTION_NAME"ADLXTerminate" - -#ifdefined(__cplusplus) - -extern"C" -{ -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryFullVersion_Fn)(adlx_uint64*fullVersion); - -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryVersion_Fn)(constchar**version); - -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXInitialize_Fn)(adlx_uint64version,adlx::IADLXSystem**ppSystem); - -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXInitializeWithCallerAdl_Fn)(adlx_uint64version,adlx::IADLXSystem**ppSystem,adlx::IADLMapping**ppAdlMapping,adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree); - -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXTerminate_Fn)(); -} -#else -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryFullVersion_Fn)(adlx_uint64*fullVersion); -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXQueryVersion_Fn)(constchar**version); -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXInitialize_Fn)(adlx_uint64version,IADLXSystem**ppSystem); -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXInitializeWithCallerAdl_Fn)(adlx_uint64version,IADLXSystem**ppSystem,IADLMapping**ppAdlMapping,adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree); -typedefADLX_RESULT(ADLX_CDECL_CALL*ADLXTerminate_Fn)(); -#endif - -#pragmaendregionC-stylefunctions - -#endif//ADLX_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_c_sharp_bind_8md.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_c_sharp_bind_8md.xml deleted file mode 100644 index 4777d31..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_c_sharp_bind_8md.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - ADLXCSharpBind.md - - - - - -@pagepage_guide_bindcsharpBuildingC#bindingsforADLX -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -ThisguideoutlinesthestepstobuildaC#bindingwrapperforADLX,aprerequisitetoprogrammingwithADLXinaC#application. - -<h2>Prerequisite(s)</h2> - --**ADLXSDK**isinstalled. --**VisualStudio2019**isinstalled. --**swigwin4.0.2**isinstalled,andthepathtotheswigwin4.0.2installationisaddedtothe**Path**userenvironmentvariable. - -<h2>TobuildADLXbindingsinC#</h2> - -1.CreateandnameafolderfortheC#ADLXbindingwrapper,forexample`ADLXCSharpBind`. -2.Createanewfileinthe`ADLXCSharpBind`folderandtitleit`ADLXCSharpBind.i`. -3.Edit`ADLXCSharpBind.i`andaddtheSDKheaderfilesfortheinterfacesyouwishtowrapbyusingtheSWIGinputformat.Tocreatebindingsforeventnotifications,turnonthe`director`wrappingcallbackforrespectivelistenerinterfaces.<br>Forexample, - -@codeStart -%feature("director")IADLXDisplayListChangedListener; -@codeEnd -**Note:**RefertotheC#samples@refcs_sample_adlxcsharpbind"ADLXCSharpBind.i"fileforanexampleofaC#binding. - -4.CreateaC++DynamicLinkLibraryprojectnamed`ADLXCSharpBind`andconfiguretheprojectasfollows: - -- -|Key|Value|Observations| -|----|----|---| -|C/C++>PrecompiledHeader|NotUsingPrecompiledHeaders|Donotuseprecompiledheaders| - -5.Addthe`ADLXCSharpBind.i`filetotheproject. - -6.Right-clickthe`ADLXCSharpBind.i`file,andselectPropertiesfromthemenu. -InthePropertiesdialogselect**ConfigurationProperties**>**General**>**ItemType**>**CustomBuildTool**.<br> -Settheconfigurationasfollows: - -- -|Key|Value|Observations| -|----|----|---| -|CommandLine|ifnotexist\$(SolutionDir)outmkdir\$(SolutionDir)outswig.exe-c++-csharp-dllimportADLXCSharpBind-outdir../out/ADLXCSharpBind.i|InvokeSWIG.exetobuild`ADLXCSharpBind.i`file| -|Outputs|%(Filename)_wrap.cxx|Setoutputfilenameformat| - -7.Buildtheproject. - -**Result:**Thefollowingfilesareaddedtothe`ADLXCSharpBind`projectoutputfolder: --`ADLXCSharpBind_wrap.h`file. --`ADLXCSharpBind_wrap.cxx`file. --All*.csfilesthatcorrespondtotheadditionalinterfacesinthe`ADLXCSharpBind.i`file. - -8.Addthefollowingfilestotheproject: --`ADLXCSharpBind_wrap.h` --`ADLXCSharpBind_wrap.cxx` --`SDK/Platform/Windows/WinAPIs.cpp` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp` - -9.Rebuildtheproject. - -**Result:**The`ADLXCSharpBind.dll`isbuiltinthe`"$(SolutionDir)$(Platform)$/(Configuration)/"`folder. - - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_defines_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_defines_8h.xml deleted file mode 100644 index 4cf222d..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_defines_8h.xml +++ /dev/null @@ -1,3622 +0,0 @@ - - - - ADLXDefines.h - Windows.h - stdio.h - stdint.h - ADLXVersion.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLXStructures.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IChangedEvent.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ICollections.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLX.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplay3DLUT.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ILog.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/II2C.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ISystem.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXInterface - adlx::IADLXInterfacePtr_T - adlx - - - ADLX_MAKE_FULL_VER - VERSION_MAJOR - VERSION_MINOR - VERSION_RELEASE - VERSION_BUILD_NUM - ( ((adlx_uint64)(VERSION_MAJOR) << 48ull) | ((adlx_uint64)(VERSION_MINOR) << 32ull) | ((adlx_uint64)(VERSION_RELEASE) << 16ull) | (adlx_uint64)(VERSION_BUILD_NUM)) - - - - - - - - - - ADLX_FULL_VERSION - ADLX_MAKE_FULL_VER(ADLX_VER_MAJOR, ADLX_VER_MINOR, ADLX_VER_RELEASE, ADLX_VER_BUILD_NUM) - - - - - - - - - - ADLX_VERSION_STR - ADLX_VER_MAJOR##.##ADLX_VER_MINOR - - - - - - - - - - ADLX_CORE_LINK - __declspec(dllexport) - - - - - - - - - - ADLX_STD_CALL - __stdcall - - - - - - - - - - ADLX_CDECL_CALL - __cdecl - - - - - - - - - - ADLX_FAST_CALL - __fastcall - - - - - - - - - - ADLX_INLINE - __inline - - - - - - - - - - ADLX_FORCEINLINE - __forceinline - - - - - - - - - - ADLX_NO_VTABLE - __declspec(novtable) - - - - - - - - - - ADLX_SUCCEEDED - x - (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - - - -Checks if the result code passed as parameter indicates a successful operation. Definition - - - #define ADLX_SUCCEEDED(x) (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - - - - - - - - ADLX_FAILED - x - (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - - - -Checks if the result code passed as parameter indicates an unsuccessful operation. Definition - - - #define ADLX_FAILED(x) (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - - - - - - - - MAX_USER_3DLUT_NUM_POINTS - 17 - - - -Constant value used to set size of user 3D LUT data Definition - - - #define MAX_USER_3DLUT_NUM_POINTS 17 - - - - - - - - ADLX_DECLARE_IID - X - static ADLX_INLINE const wchar_t* IID() { return X; } - - - - - - - - - - ADLX_IS_IID - X - Y - (!wcscmp (X, Y)) - - - - - - - - - - ADLX_DECLARE_ITEM_IID - X - static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } - - - - - - - - - - - - - ADLX_RESULT - - ADLX_OK - = 0 - - - -This result indicates success. - - - - - ADLX_ALREADY_ENABLED - - - -This result indicates that the asked action is already enabled. - - - - - ADLX_ALREADY_INITIALIZED - - - -This result indicates that ADLX has a unspecified type of initialization. - - - - - ADLX_FAIL - - - -This result indicates an unspecified failure. - - - - - ADLX_INVALID_ARGS - - - -This result indicates that the arguments are invalid. - - - - - ADLX_BAD_VER - - - -This result indicates that the asked version is incompatible with the current version. - - - - - ADLX_UNKNOWN_INTERFACE - - - -This result indicates that an unknown interface was asked. - - - - - ADLX_TERMINATED - - - -This result indicates that the calls were made in an interface after ADLX was terminated. - - - - - ADLX_ADL_INIT_ERROR - - - -This result indicates that the ADL initialization failed. - - - - - ADLX_NOT_FOUND - - - -This result indicates that the item is not found. - - - - - ADLX_INVALID_OBJECT - - - -This result indicates that the method was called into an invalid object. - - - - - ADLX_ORPHAN_OBJECTS - - - -This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. - - - - - ADLX_NOT_SUPPORTED - - - -This result indicates that the asked feature is not supported. - - - - - ADLX_PENDING_OPERATION - - - -This result indicates a failure due to an operation currently in progress. - - - - - ADLX_GPU_INACTIVE - - - -This result indicates that the GPU is inactive. - - - - -Indicates the result returned from an ADLX function or from an ADLX method. - - - - - - - - - - ADLX_HG_TYPE - - NONE - = 0 - - - -This is not a Hybrid Graphics system. - - - - - AMD - - - -This is an AMD integrated GPU. - - - - - OTHER - - - -This is a non-AMD integrated GPU. - - - - -Indicates the type of Hybrid Graphic. - - - - - - - - - - ADLX_ASIC_FAMILY_TYPE - - ASIC_UNDEFINED - = 0 - - - -The ASIC family type is not defined. - - - - - ASIC_RADEON - - - -The ASIC family type is discrete. - - - - - ASIC_FIREPRO - - - -The ASIC family type is Firepro. - - - - - ASIC_FIREMV - - - -The ASIC family type is FireMV. - - - - - ASIC_FIRESTREAM - - - -The ASIC family type is FireStream. - - - - - ASIC_FUSION - - - -The ASIC family type is Fusion. - - - - - ASIC_EMBEDDED - - - -The ASIC family type is Embedded. - - - - -Indicates the ASIC family type. - - - - - - - - - - ADLX_PCI_BUS_TYPE - - UNDEFINED - = 0 - - - -The PCI bus type is not defined. - - - - - PCI - - - -The PCI bus type is PCI bus. - - - - - AGP - - - -The PCI bus type is AGP bus. - - - - - PCIE - - - -The PCI bus type is PCI Express bus. - - - - - PCIE_2_0 - - - -The PCI bus type is PCI Express 2nd generation bus. - - - - - PCIE_3_0 - - - -The PCI bus type is PCI Express 3rd generation bus. - - - - - PCIE_4_0 - - - -The PCI bus type is PCI Express 4th generation bus. - - - - -Indicates the PCI bus type. - - - - - - - - - - ADLX_DP_LINK_RATE - - DP_LINK_RATE_UNKNOWN - = 0 - - - -The DP link rate is unknown. - - - - - DP_LINK_RATE_RBR - - - -The DP link rate is 1.62 Gbps/Lane. - - - - - DP_LINK_RATE_2_16GBPS - - - -The DP link rate is 2.16 Gbps/Lane. - - - - - DP_LINK_RATE_2_43GBPS - - - -The DP link rate is 2.43 Gbps/Lane. - - - - - DP_LINK_RATE_HBR - - - -The DP link rate is 2.70 Gbps/Lane. - - - - - DP_LINK_RATE_4_32GBPS - - - -The DP link rate is 4.32 Gbps/Lane. - - - - - DP_LINK_RATE_HBR2 - - - -The DP link rate is 5.40 Gbps/Lane. - - - - - DP_LINK_RATE_HBR3 - - - -The DP link rate is 8.10 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR10 - - - -The DP link rate is 10 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR13D5 - - - -The DP link rate is 13.5 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR20 - - - -The DP link rate is 20 Gbps/Lane. - - - - -Indicates the DP link rate. - - - - - - - - - - ADLX_GPU_TYPE - - GPUTYPE_UNDEFINED - = 0 - - - -The GPU type is unknown. - - - - - GPUTYPE_INTEGRATED - - - -The GPU type is an integrated GPU. - - - - - GPUTYPE_DISCRETE - - - -The GPU type is a discrete GPU. - - - - -Indicates the GPU type. - - - - - - - - - - ADLX_DISPLAY_CONNECTOR_TYPE - - DISPLAY_CONTYPE_UNKNOWN - = 0 - - - -The display connector type is unknown. - - - - - DISPLAY_CONTYPE_VGA - - - -The display connector type is VGA. - - - - - DISPLAY_CONTYPE_DVI_D - - - -The display connector type is DVI-D. - - - - - DISPLAY_CONTYPE_DVI_I - - - -The display connector type is DVI-I. - - - - - DISPLAY_CONTYPE_CVDONGLE_NTSC - - - -The display connector type is NTSC. - - - - - DISPLAY_CONTYPE_CVDONGLE_JPN - - - -The display connector type is JPN. - - - - - DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN - - - -The display connector type is NONI2C-JPN. - - - - - DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC - - - -The display connector type is NONI2C-NTSC. - - - - - DISPLAY_CONTYPE_PROPRIETARY - - - -The display connector type is PROPRIETARY. - - - - - DISPLAY_CONTYPE_HDMI_TYPE_A - - - -The display connector type is HDMI A. - - - - - DISPLAY_CONTYPE_HDMI_TYPE_B - - - -The display connector type is HDMI B. - - - - - DISPLAY_CONTYPE_SVIDEO - - - -The display connector type is SVIDEO. - - - - - DISPLAY_CONTYPE_COMPOSITE - - - -The display connector type is COMPOSITE. - - - - - DISPLAY_CONTYPE_RCA_3COMPONENT - - - -The display connector type is RCA. - - - - - DISPLAY_CONTYPE_DISPLAYPORT - - - -The display connector type is DISPLAYPORT. - - - - - DISPLAY_CONTYPE_EDP - - - -The display connector type is EDP. - - - - - DISPLAY_CONTYPE_WIRELESSDISPLAY - - - -The display connector type is WIRELESSDISPLAY. - - - - - DISPLAY_CONTYPE_USB_TYPE_C - - - -The display connector type is USB Type-C. - - - - -Indicates the display connector type. - - - - - - - - - - ADLX_DISPLAY_TYPE - - DISPLAY_TYPE_UNKOWN - = 0 - - - -The display type is an unknown display. - - - - - DISPLAY_TYPE_MONITOR - - - -The display type is a monitor display. - - - - - DISPLAY_TYPE_TELEVISION - - - -The display type is a TV display. - - - - - DISPLAY_TYPE_LCD_PANEL - - - -The display type is an LCD display. - - - - - DISPLAY_TYPE_DIGITAL_FLAT_PANEL - - - -The display type is a DFP display. - - - - - DISPLAY_TYPE_COMPONENT_VIDEO - - - -The display type is a component video display. - - - - - DISPLAY_TYPE_PROJECTOR - - - -The display type is a projector display. - - - - -Indicates the display type. - - - - - - - - - - ADLX_DISPLAY_SCAN_TYPE - - PROGRESSIVE - = 0 - - - -The display scan type is progressive mode. - - - - - INTERLACED - - - -The display scan type is interlaced mode. - - - - -Indicates the display scan type. - - - - - - - - - - ADLX_DISPLAY_TIMING_POLARITY - - POSITIVE - = 0 - - - -Positive Polarity - - - - - NEGATIVE - - - -Negative Polarity - - - - -Display timing polarity. - - - - - - - - - - ADLX_DISPLAY_TIMING_LIMITATION - - PIXEL_CLOCK_MAX - = 650000 - - - -Maximum pixel clock - - - - - PIXEL_CLOCK_MIN - = 0 - - - -Minimum pixel clock - - - - - REFRESH_RATE_MAX - = 200 - - - -Maximum refresh rate - - - - - REFRESH_RATE_MIN - = 1 - - - -Minimum refresh rate - - - - - RESOLUTION_MAX - = 9999 - - - -Maximum resolution - - - - - RESOLUTION_MIN - = 1 - - - -Minimum resolution - - - - -Display timing limitation. - - - - - - - - - - ADLX_GAMUT_SPACE - - GAMUT_SPACE_CCIR_709 - = 0 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_709. - - - - - GAMUT_SPACE_CCIR_601 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_601. - - - - - GAMUT_SPACE_ADOBE_RGB - - - -The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. - - - - - GAMUT_SPACE_CIE_RGB - - - -The predefined gamut space is GAMUT_SPACE_CIE_RGB. - - - - - GAMUT_SPACE_CCIR_2020 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_2020. - - - - - GAMUT_SPACE_CUSTOM - - - -The predefined gamut space is GAMUT_SPACE_CUSTOM. - - - - -Indicates the predefined gamut space. - - - - - - - - - - ADLX_WHITE_POINT - - WHITE_POINT_5000K - = 0 - - - -The white point setting is 5000k. - - - - - WHITE_POINT_6500K - - - -The white point setting is 6500k. - - - - - WHITE_POINT_7500K - - - -The white point setting is 7500k. - - - - - WHITE_POINT_9300K - - - -The white point setting is 9300k. - - - - - WHITE_POINT_CUSTOM - - - -The white point setting is customized. - - - - -Indicates the standardized white point setting. - - - - - - - - - - ADLX_GAMMA_TYPE - - UNKNOW - = 0 - - - -The gamma type is unknown. - - - - - DEGAMMA_RAMP - - - -The gamma type is Degamma Ramp way. - - - - - REGAMMA_RAMP - - - -The gamma type is Regamma Ramp way. - - - - - DEGAMMA_COEFFICIENTS - - - -The gamma type is Degamma coefficients way. - - - - - REGAMMA_COEFFICIENTS - - - -The gamma type is Regamma coefficients way. - - - - -Indicates the gamma type. - - - - - - - - - - ADLX_ORIENTATION - - ORIENTATION_LANDSCAPE - = 0 - - - -The orientation is landscape. - - - - - ORIENTATION_PORTRAIT - = 90 - - - -The orientation is Portrait. - - - - - ORIENTATION_LANDSCAPE_FLIPPED - = 180 - - - -The orientation is landscape (flipped). - - - - - ORIENTATION_PORTRAIT_FLIPPED - = 270 - - - -the orientation is Portrait (flipped). - - - - -Indicates the orientation. - - - - - - - - - - ADLX_DESKTOP_TYPE - - DESKTOP_SINGLE - = 0 - - - -Single display desktop: one display showing the entire desktop - - - - - DESKTOP_DUPLCATE - = 1 - - - -Duplicate desktop: two or more displays each show the entire desktop - - - - - DESKTOP_EYEFINITY - = 2 - - - -AMD Eyefinity desktop: two or more displays each show a portion of the desktop - - - - -Types of desktops in respect to display composition. - - - - - - - - - - ADLX_LOG_SEVERITY - - LDEBUG - = 0 - - - -The log captures errors, warnings and debug information. - - - - - LWARNING - - - -The log captures errors and warnings. - - - - - LERROR - - - -The log captures errors. - - - - -Indicates the severity level for ADLX logs. - - - - - - - - - - ADLX_LOG_DESTINATION - - LOCALFILE - = 0 - - - -The log destination is a file. - - - - - DBGVIEW - - - -The log destination is the application debugger. - - - - - APPLICATION - - - -The log destination is the application. - - - - -Indicates the location of the log traces that are generated from the internal code execution of ADLX. - - - - - - - - - - ADLX_SCALE_MODE - - PRESERVE_ASPECT_RATIO - = 0 - - - -The scale mode preserves aspect ratio. - - - - - FULL_PANEL - - - -The scale mode extends to full panel. - - - - - CENTERED - - - -The scale mode is centered on screen. - - - - -Indicates the methods to stretch and position the image to fit on the display. - - - - - - - - - - ADLX_COLOR_DEPTH - - BPC_UNKNOWN - = 0 - - - - - - - BPC_6 - - - -A color component/pixel with 6 bits - - - - - BPC_8 - - - -A color component/pixel with 8 bits - - - - - BPC_10 - - - -A color component/pixel with 10 bits - - - - - BPC_12 - - - -A color component/pixel with 12 bits - - - - - BPC_14 - - - -A color component/pixel with 14 bits - - - - - BPC_16 - - - -A color component/pixel with 16 bits - - - - -Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel. - - - - - - - - - - ADLX_PIXEL_FORMAT - - FORMAT_UNKNOWN - = 0 - - - -The pixel format is unknown. - - - - - RGB_444_FULL - - - -The pixel format is RGB 4:4:4 PC Standard (Full RGB). - - - - - YCBCR_444 - - - -The pixel format is YCbCr 4:4:4. - - - - - YCBCR_422 - - - -The pixel format is YCbCr 4:2:2. - - - - - RGB_444_LIMITED - - - -The pixel format is RGB 4:4:4 Studio (Limited RGB). - - - - - YCBCR_420 - - - -The pixel format is YCbCr 4:2:0 Pixel Format. - - - - -Indicates the pixel format to encode images for the display. - - - - - - - - - - ADLX_TIMING_STANDARD - - CVT - = 0 - - - -Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. - - - - - CVT_RB - - - -Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking periods and allows a lower pixel clock rate and higher frame rates. - - - - - GTF - - - -Generalized Timing Formula(GTF). A method of generating industry standard display timings. - - - - - DMT - - - -Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. - - - - - MANUAL - - - -Manual control - - - - -Timing standard for custom resolution. - - - - - - - - - - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - - WFVR_ALWAYS_OFF - = 0 - - - -VSync is always off. - - - - - WFVR_OFF_UNLESS_APP_SPECIFIES - - - -VSync is off, unless specified by the application. - - - - - WFVR_ON_UNLESS_APP_SPECIFIES - - - -VSync is on, unless specified by application. - - - - - WFVR_ALWAYS_ON - - - -VSync is always on. - - - - -Indicates the modes of VSync settings. - - - - - - - - - - ADLX_ANTI_ALIASING_MODE - - AA_MODE_USE_APP_SETTINGS - = 0 - - - -The anti-aliasing mode uses application settings. - - - - - AA_MODE_ENHANCE_APP_SETTINGS - - - -The anti-aliasing mode enhances the application settings. - - - - - AA_MODE_OVERRIDE_APP_SETTINGS - - - -The anti-aliasing mode overrides the application settings. - - - - -Indicates the anti-aliasing mode. - - - - - - - - - - ADLX_ANTI_ALIASING_LEVEL - - AA_LEVEL_INVALID - = 0 - - - -The anti-aliasing level is invalid. - - - - - AA_LEVEL_2X - = 2 - - - -The anti-aliasing level is 2X. - - - - - AA_LEVEL_2XEQ - = 3 - - - -The anti-aliasing level is 2XEQ. - - - - - AA_LEVEL_4X - = 4 - - - -The anti-aliasing level is 4X. - - - - - AA_LEVEL_4XEQ - = 5 - - - -The anti-aliasing level is 4XEQ. - - - - - AA_LEVEL_8X - = 8 - - - -The anti-aliasing level is 8X. - - - - - AA_LEVEL_8XEQ - = 9 - - - -The anti-aliasing level is 8XEQ. - - - - -Indicates the anti-aliasing level. - - - - - - - - - - ADLX_ANTI_ALIASING_METHOD - - AA_METHOD_MULTISAMPLING - = 0 - - - -The multi-sampling method. - - - - - AA_METHOD_ADAPTIVE_MULTISAMPLING - - - -The adaptive multi-sampling method. - - - - - AA_METHOD_SUPERSAMPLING - - - -The super-sampling method. - - - - -Indicates the anti-aliasing method. - - - - - - - - - - ADLX_ANISOTROPIC_FILTERING_LEVEL - - AF_LEVEL_INVALID - = 0 - - - -The Anisotropic Filtering level is invalid. - - - - - AF_LEVEL_X2 - = 2 - - - -The Anisotropic Filtering level is 2X. - - - - - AF_LEVEL_X4 - = 4 - - - -The Anisotropic Filtering level is 4X. - - - - - AF_LEVEL_X8 - = 8 - - - -The Anisotropic Filtering level is 8X. - - - - - AF_LEVEL_X16 - = 16 - - - -The Anisotropic Filtering level is 16X. - - - - -Indicates the Anisotropic Filtering level. - - - - - - - - - - ADLX_TESSELLATION_MODE - - T_MODE_AMD_OPTIMIZED - = 0 - - - -This mode uses AMD optimization. - - - - - T_MODE_USE_APP_SETTINGS - - - -This mode uses application settings. - - - - - T_MODE_OVERRIDE_APP_SETTINGS - - - -This mode uses override application settings. - - - - -Indicates the tessellation setting on a GPU. - - - - - - - - - - ADLX_TESSELLATION_LEVEL - - T_LEVEL_OFF - = 1 - - - -The tessellation level is Off. - - - - - T_LEVEL_2X - = 2 - - - -The tessellation level is 2X. - - - - - T_LEVEL_4X - = 4 - - - -The tessellation level is 4X. - - - - - T_LEVEL_6X - = 6 - - - -The tessellation level is 6X. - - - - - T_LEVEL_8X - = 8 - - - -The tessellation level is 8X. - - - - - T_LEVEL_16X - = 16 - - - -The tessellation level is 16X. - - - - - T_LEVEL_32X - = 32 - - - -The tessellation level is 32X. - - - - - T_LEVEL_64X - = 64 - - - -The tessellation level is 64X. - - - - -Indicates the tessellation level on a GPU. - - - - - - - - - - ADLX_MEMORYTIMING_DESCRIPTION - - MEMORYTIMING_DEFAULT - = 0 - - - -The memory timing is default. - - - - - MEMORYTIMING_FAST_TIMING - - - -The memory timing is fast timing. - - - - - MEMORYTIMING_FAST_TIMING_LEVEL_2 - - - -The memory timing is fast timing level 2. - - - - - MEMORYTIMING_AUTOMATIC - - - -The memory timing is automatic. - - - - - MEMORYTIMING_MEMORYTIMING_LEVEL_1 - - - -The memory timing is level 1. - - - - - MEMORYTIMING_MEMORYTIMING_LEVEL_2 - - - -The memory timing is level 2. - - - - -Indicates the priority of the log entry. - - - - - - - - - - ADLX_I2C_LINE - - I2C_LINE_OEM - = 1 - - - -The I2C line is OEM. - - - - - I2C_LINE_OD_CONTROL - - - -The I2C line is Over Driver Control. - - - - - I2C_LINE_OEM2 - - - -The I2C line is OEM2. - - - - - I2C_LINE_OEM3 - - - -The I2C line is OEM3. - - - - - I2C_LINE_OEM4 - - - -The I2C line is OEM4. - - - - - I2C_LINE_OEM5 - - - -The I2C line is OEM5. - - - - - I2C_LINE_OEM6 - - - -The I2C line is OEM6. - - - - -Indicates the I2C line options. - - - - - - - - - - ADLX_SYNC_ORIGIN - - SYNC_ORIGIN_UNKNOWN - = 1 - - - -The event has an unknown trigger. - - - - - SYNC_ORIGIN_INTERNAL - - - -The event is triggered by a change in settings using ADLX in this application. - - - - - SYNC_ORIGIN_EXTERNAL - - - -The event is triggered by a change in settings using ADLX in another application. - - - - -Indicates the origin of an event. - - - - - - - - - - ADLX_3DLUT_TRANSFER_FUNCTION - - TF_SRGB - = 1 - - - -The transfer function is sRGB. - - - - - TF_PQ - - - -The transfer function is PQ. - - - - - TF_G22 - - - -The transfer function is G22. - - - - -Indicates the User 3D LUT transfer function. - - - - - - - - - - ADLX_3DLUT_COLORSPACE - - CS_SRGB - = 1 - - - -The color space is sRGB. - - - - - CS_BT2020 - - - -The color space is BT2020. - - - - - CS_DCIP3 - - - -The color space is DCIP3. - - - - - CS_NATIVE - - - -The color space is native. - - - - -Indicates the custom 3D LUT color space. - - - - - - - - - - ADLX_SSM_BIAS_MODE - - SSM_BIAS_AUTO - = 0 - - - -The bias control type is auto. - - - - - SSM_BIAS_MANUAL - - - -The bias control type is manual. - - - - -AMD SmartShift Max bias mode. - - - - - - - - - - ADLX_ANTILAG_STATE - - ANTILAG - = 0 - - - -The Antilag level is AntiLag. - - - - - ANTILAGNEXT - - - -The Antilag level is AntiLag Next. - - - - -Indicates the state of Anti Lag. - - - - - - - - - - ADLX_MGPU_MODE - - MGPU_NONE - = 0 - - - -The GPU is not part of an AMD MGPU configuration. - - - - - MGPU_PRIMARY - - - -The GPU is the primary GPU in an AMD MGPU configuration. - - - - - MGPU_SECONDARY - - - -The GPU is the secondary GPU in an AMD MGPU configuration. - - - - -Indicates the AMD MGPU mode. - - - - - - - - - - - int64_t - typedef int64_t adlx_int64 - - adlx_int64 - - - - - - - - - - int32_t - typedef int32_t adlx_int32 - - adlx_int32 - - - - - - - - - - int16_t - typedef int16_t adlx_int16 - - adlx_int16 - - - - - - - - - - int8_t - typedef int8_t adlx_int8 - - adlx_int8 - - - - - - - - - - uint64_t - typedef uint64_t adlx_uint64 - - adlx_uint64 - - - - - - - - - - uint32_t - typedef uint32_t adlx_uint32 - - adlx_uint32 - - - - - - - - - - uint16_t - typedef uint16_t adlx_uint16 - - adlx_uint16 - - - - - - - - - - uint8_t - typedef uint8_t adlx_uint8 - - adlx_uint8 - - - - - - - - - - size_t - typedef size_t adlx_size - - adlx_size - - - - - - - - - - void * - typedef void* adlx_handle - - adlx_handle - - - - - - - - - - double - typedef double adlx_double - - adlx_double - - - - - - - - - - float - typedef float adlx_float - - adlx_float - - - - - - - - - - void - typedef void adlx_void - - adlx_void - - - - - - - - - - long - typedef long adlx_long - - adlx_long - - - - - - - - - - adlx_int32 - typedef adlx_int32 adlx_int - - adlx_int - - - - - - - - - - unsigned long - typedef unsigned long adlx_ulong - - adlx_ulong - - - - - - - - - - adlx_uint32 - typedef adlx_uint32 adlx_uint - - adlx_uint - - - - - - - - - - uint8_t - typedef uint8_t adlx_byte - - adlx_byte - - - - - - - - - - bool - typedef bool adlx_bool - - adlx_bool - - - - - - - - - - - - adlx_long ADLX_CDECL_CALL - adlx_long ADLX_CDECL_CALL adlx_atomic_inc - (adlx_long *x) - adlx_atomic_inc - - adlx_long * - x - - - - - - - - - - - adlx_long ADLX_CDECL_CALL - adlx_long ADLX_CDECL_CALL adlx_atomic_dec - (adlx_long *x) - adlx_atomic_dec - - adlx_long * - x - - - - - - - - - - - adlx_handle ADLX_CDECL_CALL - adlx_handle ADLX_CDECL_CALL adlx_load_library - (const TCHAR *filename) - adlx_load_library - - const TCHAR * - filename - - - - - - - - - - - int ADLX_CDECL_CALL - int ADLX_CDECL_CALL adlx_free_library - (adlx_handle module) - adlx_free_library - - adlx_handle - module - - - - - - - - - - - void *ADLX_CDECL_CALL - void* ADLX_CDECL_CALL adlx_get_proc_address - (adlx_handle module, const char *procName) - adlx_get_proc_address - - adlx_handle - module - - - const char * - procName - - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_DEFINES_H -#defineADLX_DEFINES_H -#pragmaonce - -#ifdefined(_WIN32) -#include<Windows.h> -#endif - -#include<stdio.h> -#include<stdint.h> -#include"ADLXVersion.h" - -//------------------------------------------------------------------------------------------------- -//Versionstuff -#pragmaregionversion - -#defineADLX_MAKE_FULL_VER(VERSION_MAJOR,VERSION_MINOR,VERSION_RELEASE,VERSION_BUILD_NUM)(((adlx_uint64)(VERSION_MAJOR)<<48ull)|((adlx_uint64)(VERSION_MINOR)<<32ull)|((adlx_uint64)(VERSION_RELEASE)<<16ull)|(adlx_uint64)(VERSION_BUILD_NUM)) -#defineADLX_FULL_VERSIONADLX_MAKE_FULL_VER(ADLX_VER_MAJOR,ADLX_VER_MINOR,ADLX_VER_RELEASE,ADLX_VER_BUILD_NUM) - -#defineADLX_VERSION_STRADLX_VER_MAJOR##.##ADLX_VER_MINOR -#pragmaendregionversion - -//------------------------------------------------------------------------------------------------- -//ADLXPlatform-platform-specificdefines,suchastypesandC/C++declarations -#pragmaregionplatform -#pragmaregionADLXsimpledatatypes -typedefint64_tadlx_int64; -typedefint32_tadlx_int32; -typedefint16_tadlx_int16; -typedefint8_tadlx_int8; - -typedefuint64_tadlx_uint64; -typedefuint32_tadlx_uint32; -typedefuint16_tadlx_uint16; -typedefuint8_tadlx_uint8; -typedefsize_tadlx_size; - -typedefvoid*adlx_handle; -typedefdoubleadlx_double; -typedeffloatadlx_float; - -typedefvoidadlx_void; - -typedeflongadlx_long; -typedefadlx_int32adlx_int; -typedefunsignedlongadlx_ulong; -typedefadlx_uint32adlx_uint; - -typedefuint8_tadlx_byte; - -#ifdefined(__cplusplus) -typedefbooladlx_bool; -#else -typedefadlx_uint8adlx_bool; -#definetrue1 -#definefalse0 -#endif -#pragmaendregionADLXsimpledatatypes - -//Callingstandards -#pragmaregionExportdeclarations - -#ifdefined(_WIN32) -//Microsoft -#defineADLX_CORE_LINK__declspec(dllexport) -#defineADLX_STD_CALL__stdcall -#defineADLX_CDECL_CALL__cdecl -#defineADLX_FAST_CALL__fastcall -#defineADLX_INLINE__inline -#defineADLX_FORCEINLINE__forceinline -#defineADLX_NO_VTABLE__declspec(novtable) -#else -#defineEXPORT -#defineIMPORT -#pragmawarningUnknowndynamiclinkimport/exportsemantics. -#endif - -#pragmaendregionExportdeclarations - -//VariousplatformAPIs -#pragmaregionPlatformAPIs - -adlx_longADLX_CDECL_CALLadlx_atomic_inc(adlx_long*x); - -adlx_longADLX_CDECL_CALLadlx_atomic_dec(adlx_long*x); - - -adlx_handleADLX_CDECL_CALLadlx_load_library(constTCHAR*filename); - -intADLX_CDECL_CALLadlx_free_library(adlx_handlemodule); - -void*ADLX_CDECL_CALLadlx_get_proc_address(adlx_handlemodule,constchar*procName); - -#pragmaendregionPlatformAPIs - -#pragmaendregionplatform -//------------------------------------------------------------------------------------------------- -//ADLXdatatypes -#pragmaregionADLXdatatypes - -#pragmaregionADLX_RESULT -typedefenum -{ -ADLX_OK=0, -ADLX_ALREADY_ENABLED, -ADLX_ALREADY_INITIALIZED, -ADLX_FAIL, -ADLX_INVALID_ARGS, -ADLX_BAD_VER, -ADLX_UNKNOWN_INTERFACE, -ADLX_TERMINATED, -ADLX_ADL_INIT_ERROR, -ADLX_NOT_FOUND, -ADLX_INVALID_OBJECT, -ADLX_ORPHAN_OBJECTS, -ADLX_NOT_SUPPORTED, -ADLX_PENDING_OPERATION, -ADLX_GPU_INACTIVE -}ADLX_RESULT; - -#defineADLX_SUCCEEDED(x)(ADLX_OK==(x)||ADLX_ALREADY_ENABLED==(x)||ADLX_ALREADY_INITIALIZED==(x)) - -#defineADLX_FAILED(x)(ADLX_OK!=(x)&&ADLX_ALREADY_ENABLED!=(x)&&ADLX_ALREADY_INITIALIZED!=(x)) - -#pragmaendregionADLX_RESULT - -#pragmaregionADLX_HG_TYPE -typedefenum -{ -NONE=0, -AMD, -OTHER, -}ADLX_HG_TYPE; -#pragmaendregionADLX_HG_TYPE - -#pragmaregionADLX_ASIC_FAMILY_TYPE -typedefenum -{ -ASIC_UNDEFINED=0, -ASIC_RADEON, -ASIC_FIREPRO, -ASIC_FIREMV, -ASIC_FIRESTREAM, -ASIC_FUSION, -ASIC_EMBEDDED, -}ADLX_ASIC_FAMILY_TYPE; -#pragmaendregionADLX_ASIC_FAMILY_TYPE - -#pragmaregionADLX_PCI_BUS_TYPE -typedefenum -{ -UNDEFINED=0, -PCI, -AGP, -PCIE, -PCIE_2_0, -PCIE_3_0, -PCIE_4_0 -}ADLX_PCI_BUS_TYPE; -#pragmaendregionADLX_PCI_BUS_TYPE - -#pragmaregionADLX_DP_LINK_RATE -typedefenum -{ -DP_LINK_RATE_UNKNOWN=0, -DP_LINK_RATE_RBR, -DP_LINK_RATE_2_16GBPS, -DP_LINK_RATE_2_43GBPS, -DP_LINK_RATE_HBR, -DP_LINK_RATE_4_32GBPS, -DP_LINK_RATE_HBR2, -DP_LINK_RATE_HBR3, -DP_LINK_RATE_UHBR10, -DP_LINK_RATE_UHBR13D5, -DP_LINK_RATE_UHBR20 -}ADLX_DP_LINK_RATE; - -#pragmaendregionADLX_DP_LINK_RATE - -#pragmaregionADLX_GPU_TYPE -typedefenum -{ -GPUTYPE_UNDEFINED=0, -GPUTYPE_INTEGRATED, -GPUTYPE_DISCRETE, -}ADLX_GPU_TYPE; -#pragmaendregionADLX_GPU_TYPE - -#pragmaregionADLX_DISPLAY_CONNECTOR_TYPE -typedefenum -{ -DISPLAY_CONTYPE_UNKNOWN=0, -DISPLAY_CONTYPE_VGA, -DISPLAY_CONTYPE_DVI_D, -DISPLAY_CONTYPE_DVI_I, -DISPLAY_CONTYPE_CVDONGLE_NTSC, -DISPLAY_CONTYPE_CVDONGLE_JPN, -DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN, -DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC, -DISPLAY_CONTYPE_PROPRIETARY, -DISPLAY_CONTYPE_HDMI_TYPE_A, -DISPLAY_CONTYPE_HDMI_TYPE_B, -DISPLAY_CONTYPE_SVIDEO, -DISPLAY_CONTYPE_COMPOSITE, -DISPLAY_CONTYPE_RCA_3COMPONENT, -DISPLAY_CONTYPE_DISPLAYPORT, -DISPLAY_CONTYPE_EDP, -DISPLAY_CONTYPE_WIRELESSDISPLAY, -DISPLAY_CONTYPE_USB_TYPE_C -}ADLX_DISPLAY_CONNECTOR_TYPE; -#pragmaendregionADLX_DISPLAY_CONNECTOR_TYPE - -#pragmaregionADLX_DISPLAY_TYPE -typedefenum -{ -DISPLAY_TYPE_UNKOWN=0, -DISPLAY_TYPE_MONITOR, -DISPLAY_TYPE_TELEVISION, -DISPLAY_TYPE_LCD_PANEL, -DISPLAY_TYPE_DIGITAL_FLAT_PANEL, -DISPLAY_TYPE_COMPONENT_VIDEO, -DISPLAY_TYPE_PROJECTOR -}ADLX_DISPLAY_TYPE; -#pragmaendregionADLX_DISPLAY_TYPE - -#pragmaregionADLX_DISPLAY_SCAN_TYPE -typedefenum -{ -PROGRESSIVE=0, -INTERLACED -}ADLX_DISPLAY_SCAN_TYPE; -#pragmaendregionADLX_DISPLAY_SCAN_TYPE - -#pragmaregionADLX_DISPLAY_TIMING_POLARITY -typedefenum -{ -POSITIVE=0, -NEGATIVE -}ADLX_DISPLAY_TIMING_POLARITY; - -#pragmaendregionADLX_DISPLAY_TIMING_POLARITY - -#pragmaregionADLX_DISPLAY_TIMING_LIMITATION -typedefenum -{ -PIXEL_CLOCK_MAX=650000, -PIXEL_CLOCK_MIN=0, -REFRESH_RATE_MAX=200, -REFRESH_RATE_MIN=1, -RESOLUTION_MAX=9999, -RESOLUTION_MIN=1 -}ADLX_DISPLAY_TIMING_LIMITATION; - -#pragmaendregionADLX_DISPLAY_TIMING_LIMITATION - -#pragmaregionADLX_USER_3DLUT_SIZE -#defineMAX_USER_3DLUT_NUM_POINTS17 - -#pragmaendregionADLX_USER_3DLUT_SIZE - -#pragmaregionADLX_GAMUT_SPACE -typedefenum -{ -GAMUT_SPACE_CCIR_709=0, -GAMUT_SPACE_CCIR_601, -GAMUT_SPACE_ADOBE_RGB, -GAMUT_SPACE_CIE_RGB, -GAMUT_SPACE_CCIR_2020, -GAMUT_SPACE_CUSTOM -}ADLX_GAMUT_SPACE; -#pragmaendregionADLX_GAMUT_SPACE - -#pragmaregionADLX_WHITE_POINT -typedefenum -{ -WHITE_POINT_5000K=0, -WHITE_POINT_6500K, -WHITE_POINT_7500K, -WHITE_POINT_9300K, -WHITE_POINT_CUSTOM -}ADLX_WHITE_POINT; -#pragmaendregionADLX_WHITE_POINT - -#pragmaregionADLX_GAMMA_TYPE -typedefenum -{ -UNKNOW=0, -DEGAMMA_RAMP, -REGAMMA_RAMP, -DEGAMMA_COEFFICIENTS, -REGAMMA_COEFFICIENTS -}ADLX_GAMMA_TYPE; -#pragmaendregionADLX_GAMMA_TYPE - -#pragmaregionADLX_ORIENTATION -typedefenum -{ -ORIENTATION_LANDSCAPE=0, -ORIENTATION_PORTRAIT=90, -ORIENTATION_LANDSCAPE_FLIPPED=180, -ORIENTATION_PORTRAIT_FLIPPED=270, -}ADLX_ORIENTATION; -#pragmaendregionADLX_ORIENTATION - -#pragmaregionADLX_DESKTOP_TYPE -typedefenum{ -DESKTOP_SINGLE=0, -DESKTOP_DUPLCATE=1, -DESKTOP_EYEFINITY=2, -}ADLX_DESKTOP_TYPE; -#pragmaendregionADLX_DESKTOP_TYPE - -#pragmaregionADLX_LOG_SEVERITY -typedefenum -{ -LDEBUG=0, -LWARNING, -LERROR, -}ADLX_LOG_SEVERITY; -#pragmaendregionADLX_LOG_SEVERITY - -#pragmaregionADLX_LOG_DESTINATION -typedefenum -{ -LOCALFILE=0, -DBGVIEW, -APPLICATION, -}ADLX_LOG_DESTINATION; -#pragmaendregionADLX_LOG_DESTINATION - -#pragmaregionADLX_SCALE_MODE -typedefenum -{ -PRESERVE_ASPECT_RATIO=0, -FULL_PANEL, -CENTERED -}ADLX_SCALE_MODE; - -#pragmaendregionADLX_SCALE_MODE - -#pragmaregionADLX_COLOR_DEPTH -typedefenum -{ -BPC_UNKNOWN=0, -BPC_6, -BPC_8, -BPC_10, -BPC_12, -BPC_14, -BPC_16 -}ADLX_COLOR_DEPTH; - -#pragmaendregionADLX_COLOR_DEPTH - -#pragmaregionADLX_PIXEL_FORMAT -typedefenum -{ -FORMAT_UNKNOWN=0, -RGB_444_FULL, -YCBCR_444, -YCBCR_422, -RGB_444_LIMITED, -YCBCR_420 -}ADLX_PIXEL_FORMAT; - -#pragmaendregionADLX_PIXEL_FORMAT - -#pragmaregionADLX_TIMING_STANDARD - -typedefenum -{ -CVT=0, -CVT_RB, -GTF, -DMT, -MANUAL -}ADLX_TIMING_STANDARD; - -#pragmaendregionADLX_TIMING_STANDARD - -#pragmaregionADLX_WAIT_FOR_VERTICAL_REFRESH_MODE -typedefenum -{ -WFVR_ALWAYS_OFF=0, -WFVR_OFF_UNLESS_APP_SPECIFIES, -WFVR_ON_UNLESS_APP_SPECIFIES, -WFVR_ALWAYS_ON, -}ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE; -#pragmaendregionADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - -#pragmaregionADLX_ANTI_ALIASING_MODE -typedefenum -{ -AA_MODE_USE_APP_SETTINGS=0, -AA_MODE_ENHANCE_APP_SETTINGS, -AA_MODE_OVERRIDE_APP_SETTINGS, -}ADLX_ANTI_ALIASING_MODE; -#pragmaendregionADLX_ANTI_ALIASING_MODE - -#pragmaregionADLX_ANTI_ALIASING_LEVEL -typedefenum -{ -AA_LEVEL_INVALID=0, -AA_LEVEL_2X=2, -AA_LEVEL_2XEQ=3, -AA_LEVEL_4X=4, -AA_LEVEL_4XEQ=5, -AA_LEVEL_8X=8, -AA_LEVEL_8XEQ=9, -}ADLX_ANTI_ALIASING_LEVEL; -#pragmaendregionADLX_ANTI_ALIASING_LEVEL - -#pragmaregionADLX_ANTI_ALIASING_METHOD -typedefenum -{ -AA_METHOD_MULTISAMPLING=0, -AA_METHOD_ADAPTIVE_MULTISAMPLING, -AA_METHOD_SUPERSAMPLING, -}ADLX_ANTI_ALIASING_METHOD; -#pragmaendregionADLX_ANTI_ALIASING_METHOD - -#pragmaregionADLX_ANISOTROPIC_FILTERING_LEVEL -typedefenum -{ -AF_LEVEL_INVALID=0, -AF_LEVEL_X2=2, -AF_LEVEL_X4=4, -AF_LEVEL_X8=8, -AF_LEVEL_X16=16, -}ADLX_ANISOTROPIC_FILTERING_LEVEL; -#pragmaendregionADLX_ANISOTROPIC_FILTERING_LEVEL - -#pragmaregionADLX_TESSELLATION_MODE -typedefenum -{ -T_MODE_AMD_OPTIMIZED=0, -T_MODE_USE_APP_SETTINGS, -T_MODE_OVERRIDE_APP_SETTINGS, -}ADLX_TESSELLATION_MODE; -#pragmaendregionADLX_TESSELLATION_MODE - -#pragmaregionADLX_TESSELLATION_LEVEL -typedefenum -{ -T_LEVEL_OFF=1, -T_LEVEL_2X=2, -T_LEVEL_4X=4, -T_LEVEL_6X=6, -T_LEVEL_8X=8, -T_LEVEL_16X=16, -T_LEVEL_32X=32, -T_LEVEL_64X=64, -}ADLX_TESSELLATION_LEVEL; -#pragmaendregionADLX_TESSELLATION_LEVEL - -#pragmaregionADLX_MEMORYTIMING_DESCRIPTION -typedefenum -{ -MEMORYTIMING_DEFAULT=0, -MEMORYTIMING_FAST_TIMING, -MEMORYTIMING_FAST_TIMING_LEVEL_2, -MEMORYTIMING_AUTOMATIC, -MEMORYTIMING_MEMORYTIMING_LEVEL_1, -MEMORYTIMING_MEMORYTIMING_LEVEL_2, -}ADLX_MEMORYTIMING_DESCRIPTION; -#pragmaendregionADLX_MEMORYTIMING_DESCRIPTION - - -#pragmaregionADLX_I2C_LINE -typedefenum -{ -I2C_LINE_OEM=1, -I2C_LINE_OD_CONTROL, -I2C_LINE_OEM2, -I2C_LINE_OEM3, -I2C_LINE_OEM4, -I2C_LINE_OEM5, -I2C_LINE_OEM6 -}ADLX_I2C_LINE; -#pragmaendregionADLX_I2C_LINE - -#pragmaregionADLX_SYNC_ORIGIN -typedefenum -{ -SYNC_ORIGIN_UNKNOWN=1, -SYNC_ORIGIN_INTERNAL, -SYNC_ORIGIN_EXTERNAL -}ADLX_SYNC_ORIGIN; -#pragmaendregionADLX_SYNC_ORIGIN - -#pragmaregionADLX_3DLUT_TRANSFER_FUNCTION -typedefenum -{ -TF_SRGB=1, -TF_PQ, -TF_G22 -}ADLX_3DLUT_TRANSFER_FUNCTION; -#pragmaendregionADLX_3DLUT_TRANSFER_FUNCTION - -#pragmaregionADLX_3DLUT_COLORSPACE -typedefenum -{ -CS_SRGB=1, -CS_BT2020, -CS_DCIP3, -CS_NATIVE -}ADLX_3DLUT_COLORSPACE; -#pragmaendregionADLX_3DLUT_COLORSPACE - -#pragmaregionADLX_SSM_BIAS_MODE -typedefenum -{ -SSM_BIAS_AUTO=0, -SSM_BIAS_MANUAL -}ADLX_SSM_BIAS_MODE; -#pragmaendregionADLX_SSM_BIAS_MODE - -#pragmaregionADLX_ANTILAG_STATE -typedefenum -{ -ANTILAG=0, -ANTILAGNEXT, -}ADLX_ANTILAG_STATE; -#pragmaendregionADLX_ANTILAG_STATE - -#pragmaregionADLX_MGPU_MODE -typedefenum -{ -MGPU_NONE=0, -MGPU_PRIMARY, -MGPU_SECONDARY, -}ADLX_MGPU_MODE; -#pragmaendregionADLX_MGPU_MODE - -#pragmaendregionADLXdatatypes - -//------------------------------------------------------------------------------------------------- -//definitionsforIADLXInterface -#pragmaregionADLX_DECLARE_IID -//------------------------------------------------------------------------ -//IID's -#ifdefined(__cplusplus) -#defineADLX_DECLARE_IID(X)staticADLX_INLINEconstwchar_t*IID(){returnX;} -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) - -#defineADLX_DECLARE_ITEM_IID(X)staticADLX_INLINEconstwchar_t*ITEM_IID(){returnX;} -#else//__cplusplus -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) -#defineADLX_DECLARE_IID(name,X)staticconstwchar_t*IID_##name(void){returnX;} - -#defineADLX_DECLARE_ITEM_IID(name,X)staticconstwchar_t*ITEM_IID_##name(void){returnX;} -#endif//__cplusplus -#pragmaendregionADLX_DECLARE_IID - -//------------------------------------------------------------------------ -//Allref-countedinterfacesderivefromthisinterface -#pragmaregionIADLXInterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXInterface") -virtualadlx_longADLX_STD_CALLAcquire()=0; -virtualadlx_longADLX_STD_CALLRelease()=0; - -virtualADLX_RESULTADLX_STD_CALLQueryInterface(constwchar_t*interfaceId,void**ppInterface)=0; -};//IADLXInterface -}//namespaceadlx -//---------------------------------------------------------------------------------------------- -#else//__cplusplus -ADLX_DECLARE_IID(IADLXInterface,L"IADLXInterface") -typedefstructIADLXInterfaceIADLXInterface; - -typedefstructIADLXInterfaceVtbl -{ -//IADLXInterfaceinterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXInterface*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXInterface*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXInterface*pThis,constwchar_t*interfaceId,void**ppInterface); -}IADLXInterfaceVtbl; - -structIADLXInterface -{ -constIADLXInterfaceVtbl*pVtbl; -}; - -#endif//__cplusplus -#pragmaendregionIADLXInterface - -//------------------------------------------------------------------------ -//TemplateforADLXsmartpointerforinterfacesderivedfromIADLXInterface -#pragmaregionIADLXInterfacePtr -#ifdefined(__cplusplus) -namespaceadlx -{ -template<class_Interf> -classIADLXInterfacePtr_T -{ -private: -_Interf*m_pInterf; - -voidInternalAcquire() -{ -if(m_pInterf!=nullptr) -{ -m_pInterf->Acquire(); -} -} -voidInternalRelease() -{ -if(m_pInterf!=nullptr) -{ -m_pInterf->Release(); -} -} -public: -IADLXInterfacePtr_T():m_pInterf(nullptr) -{} - -IADLXInterfacePtr_T(constIADLXInterfacePtr_T<_Interf>&p):m_pInterf(p.m_pInterf) -{ -InternalAcquire(); -} - -IADLXInterfacePtr_T(_Interf*pInterface):m_pInterf(pInterface) -{ -InternalAcquire(); -} - -template<class_OtherInterf> -explicitIADLXInterfacePtr_T(constIADLXInterfacePtr_T<_OtherInterf>&cp):m_pInterf(nullptr) -{ -void*pInterf=nullptr; -if((cp==NULL)||(cp->QueryInterface(_Interf::IID(),&pInterf)!=ADLX_OK)) -{ -pInterf=nullptr; -} -m_pInterf=static_cast<_Interf*>(pInterf); -} - -template<class_OtherInterf> -explicitIADLXInterfacePtr_T(_OtherInterf*cp):m_pInterf(nullptr) -{ -void*pInterf=nullptr; -if((cp==nullptr)||(cp->QueryInterface(_Interf::IID(),&pInterf)!=ADLX_OK)) -{ -pInterf=nullptr; -} -m_pInterf=static_cast<_Interf*>(pInterf); -} - -~IADLXInterfacePtr_T() -{ -InternalRelease(); -} - -IADLXInterfacePtr_T&operator=(_Interf*pInterface) -{ -if(m_pInterf!=pInterface) -{ -_Interf*pOldInterface=m_pInterf; -m_pInterf=pInterface; -InternalAcquire(); -if(pOldInterface!=nullptr) -{ -pOldInterface->Release(); -} -} -return*this; -} - -IADLXInterfacePtr_T&operator=(constIADLXInterfacePtr_T<_Interf>&cp) -{ -returnoperator=(cp.m_pInterf); -} - -voidAttach(_Interf*pInterface) -{ -InternalRelease(); -m_pInterf=pInterface; -} - -_Interf*Detach() -{ -_Interf*constpOld=m_pInterf; -m_pInterf=NULL; -returnpOld; -} -voidRelease() -{ -InternalRelease(); -m_pInterf=NULL; -} - -operator_Interf*()const -{ -returnm_pInterf; -} - -_Interf&operator*()const -{ -return*m_pInterf; -} - -//Returnstheaddressoftheinterfacepointercontainedinthis -//class.ThisisrequiredforinitializingfromC-stylefactoryfunctionto -//avoidgettinganincorrectrefcountatthebeginning. - -_Interf**operator&() -{ -InternalRelease(); -m_pInterf=0; -return&m_pInterf; -} - -_Interf*operator->()const -{ -returnm_pInterf; -} - -booloperator==(constIADLXInterfacePtr_T<_Interf>&p) -{ -return(m_pInterf==p.m_pInterf); -} - -booloperator==(_Interf*p) -{ -return(m_pInterf==p); -} - -booloperator!=(constIADLXInterfacePtr_T<_Interf>&p) -{ -return!(operator==(p)); -} -booloperator!=(_Interf*p) -{ -return!(operator==(p)); -} - -_Interf*GetPtr() -{ -returnm_pInterf; -} - -const_Interf*GetPtr()const -{ -returnm_pInterf; -} -};//IADLXInterfacePtr_T - -typedefIADLXInterfacePtr_T<IADLXInterface>IADLXInterfacePtr; - -}//namespaceadlx -#endif//__cplusplus -#pragmaendregionIADLXInterfacePtr - -#endif//ADLX_DEFINES_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_desktop_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_desktop_page_8h.xml deleted file mode 100644 index 5980245..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_desktop_page_8h.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - ADLXDesktopPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXDesktop -//---------------------------------------------------------------------------------------------- -//IADLXEyefinityDesktop -//---------------------------------------------------------------------------------------------- -//IADLXDesktopList -//---------------------------------------------------------------------------------------------- -//IADLXDesktopListChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDesktopChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLXSimpleEyefinity -//---------------------------------------------------------------------------------------------- -//IADLXDesktopServices -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_display_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_display_page_8h.xml deleted file mode 100644 index 68d76a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_display_page_8h.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - ADLXDisplayPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXDisplay -//---------------------------------------------------------------------------------------------- -//IADLXDisplayList -//---------------------------------------------------------------------------------------------- -//IADLXDisplayListChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGamutChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGamutChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGammaChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGammaChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDisplay3DLUTChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXDisplay3DLUTChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDisplaySettingsChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXDisplaySettingsChangedEvent1 -//---------------------------------------------------------------------------------------------- -//IADLXDisplaySettingsChangedEvent2 -//---------------------------------------------------------------------------------------------- -//IADLXDisplaySettingsChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXDisplayChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLXDisplayServices -//---------------------------------------------------------------------------------------------- -//IADLXDisplayServices1 -//---------------------------------------------------------------------------------------------- -//IADLXDisplayServices2 -//---------------------------------------------------------------------------------------------- -//IADLXDisplayFreeSync -//---------------------------------------------------------------------------------------------- -//IADLXDisplayVSR -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGPUScaling -//---------------------------------------------------------------------------------------------- -//IADLXDisplayScalingMode -//---------------------------------------------------------------------------------------------- -//IADLXDisplayIntegerScaling -//---------------------------------------------------------------------------------------------- -//IADLXDisplayColorDepth -//---------------------------------------------------------------------------------------------- -//IADLXDisplayPixelFormat -//---------------------------------------------------------------------------------------------- -//IADLXDisplayCustomColor -//---------------------------------------------------------------------------------------------- -//IADLXDisplayHDCP -//---------------------------------------------------------------------------------------------- -//IADLXDisplayResolution -//---------------------------------------------------------------------------------------------- -//IADLXDisplayResolutionList -//---------------------------------------------------------------------------------------------- -//IADLXDisplayCustomResolution -//---------------------------------------------------------------------------------------------- -//IADLXDisplayVariBright -//---------------------------------------------------------------------------------------------- -//IADLXDisplayConnectivityExperience -//---------------------------------------------------------------------------------------------- -//IADLXDisplayGamut -//---------------------------------------------------------------------------------------------- -//DOX_IADLXDisplayGamma -//---------------------------------------------------------------------------------------------- -//IADLXDisplay3DLUT -//---------------------------------------------------------------------------------------------- -//IADLXDisplayBlanking -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_dox_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_dox_8h.xml deleted file mode 100644 index 3336cad..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_dox_8h.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - ADLXDox.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLXDox_H -#defineADLXDox_H -#pragmaonce - -//Domain_Start_Documentation - -//Domain_End_Documentation -#endif//ADLXDox_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_page_8h.xml deleted file mode 100644 index 244da31..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_page_8h.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - ADLXGPUPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- -//ADLXGPUPage.h-InterfacesforADLXGPUfunctionality - - -#pragmaonce - -//IADLXGPU -//---------------------------------------------------------------------------------------------- -//IADLXGPUList -//---------------------------------------------------------------------------------------------- -//IADLXGPUsEventListener -//---------------------------------------------------------------------------------------------- -//IADLXGPUsChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLXGPU1 -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_tuning_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_tuning_page_8h.xml deleted file mode 100644 index 3a5d2b2..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_g_p_u_tuning_page_8h.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - ADLXGPUTuningPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXSmartAccessMemory -//---------------------------------------------------------------------------------------------- -//IADLXManualTuningState -//---------------------------------------------------------------------------------------------- -//IADLXMemoryTimingDescription -//---------------------------------------------------------------------------------------------- -//IADLXManualTuningStateList -//---------------------------------------------------------------------------------------------- -//IADLXMemoryTimingDescriptionList -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningChangedEvent1 -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningServices -//---------------------------------------------------------------------------------------------- -//IADLXGPUTuningServices1 -//---------------------------------------------------------------------------------------------- -//IADLXGPUPresetTuning -//---------------------------------------------------------------------------------------------- -//IADLXManualVRAMTuning1 -//---------------------------------------------------------------------------------------------- -//IADLXManualVRAMTuning2 -//---------------------------------------------------------------------------------------------- -//IADLXManualPowerTuning -//---------------------------------------------------------------------------------------------- -//IADLXManualGraphicsTuning1 -//---------------------------------------------------------------------------------------------- -//IADLXManualGraphicsTuning2 -//---------------------------------------------------------------------------------------------- -//IADLXManualFanTuningState -//---------------------------------------------------------------------------------------------- -//IADLXManualFanTuningStateList -//---------------------------------------------------------------------------------------------- -//IADLXManualFanTuning -//---------------------------------------------------------------------------------------------- -//IADLXGPUAutoTuningCompleteEvent -//---------------------------------------------------------------------------------------------- -//IADLXGPUAutoTuningCompleteListener -//---------------------------------------------------------------------------------------------- -//IADLXGPUAutoTuning -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8c.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8c.xml deleted file mode 100644 index f7f91f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8c.xml +++ /dev/null @@ -1,373 +0,0 @@ - - - - ADLXHelper.c - ADLXHelper.h - ADLXHelper - - - struct ADLXHelper - typedef struct ADLXHelper ADLXHelper - - ADLXHelper - - - - - - - - - - - - ADLXHelper - ADLXHelper g_ADLX - - g_ADLX - = {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL} - - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT InitializePrivate - (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree, adlx_bool useIncompatibleDriver) - InitializePrivate - - adlx_handle - adlContext - - - ADLX_ADL_Main_Memory_Free - adlMainMemoryFree - - - adlx_bool - useIncompatibleDriver - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_Initialize - () - ADLXHelper_Initialize - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver - () - ADLXHelper_InitializeWithIncompatibleDriver - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_InitializeWithCallerAdl - (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - ADLXHelper_InitializeWithCallerAdl - - adlx_handle - adlContext - - - ADLX_ADL_Main_Memory_Free - adlMainMemoryFree - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_Terminate - () - ADLXHelper_Terminate - - - - - - - - - - adlx_uint64 - adlx_uint64 ADLXHelper_QueryFullVersion - () - ADLXHelper_QueryFullVersion - - - - - - - - - - const char * - const char* ADLXHelper_QueryVersion - () - ADLXHelper_QueryVersion - - - - - - - - - - IADLXSystem * - IADLXSystem* ADLXHelper_GetSystemServices - () - ADLXHelper_GetSystemServices - - - - - - - - - - IADLMapping * - IADLMapping* ADLXHelper_GetAdlMapping - () - ADLXHelper_GetAdlMapping - - - - - - - - - - ADLX_RESULT - ADLX_RESULT LoadADLXDll - () - LoadADLXDll - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- -#include"ADLXHelper.h" - -typedefstructADLXHelper -{ -//HandletotheADLXdll -adlx_handlem_hDLLHandle; - -//FullVersionofthisADLXinstance -adlx_uint64m_ADLXFullVersion; - -//VersionofthisADLXinstance -constchar*m_ADLXVersion; - -//TheADLXsystemservicesinterface -IADLXSystem*m_pSystemServices; - -//theADLmappinginterface -IADLMapping*m_pAdlMapping; - -//ADLXfunction-queryfullversion -ADLXQueryFullVersion_Fnm_fullVersionFn; - -//ADLXfunction-qeryversion -ADLXQueryVersion_Fnm_versionFn; - -//ADLXfunction-initializewithADL -ADLXInitializeWithCallerAdl_Fnm_initWithADLFn; - -//ADLXfunction-initializewithincompatibledriver -ADLXInitialize_Fnm_initFnEx; - -//ADLXfunction-initialize -ADLXInitialize_Fnm_initFn; - -//ADLXfunction-terminate -ADLXTerminate_Fnm_terminateFn; -}ADLXHelper; - -staticADLXHelperg_ADLX={NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; - -ADLX_RESULTInitializePrivate(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree,adlx_booluseIncompatibleDriver); - -//------------------------------------------------------------------------------------------------- -//Initialization -ADLX_RESULTADLXHelper_Initialize() -{ -returnInitializePrivate(NULL,NULL,false); -} - -ADLX_RESULTADLXHelper_InitializeWithIncompatibleDriver() -{ -returnInitializePrivate(NULL,NULL,true); -} - -ADLX_RESULTADLXHelper_InitializeWithCallerAdl(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree) -{ -if(adlContext==NULL||adlMainMemoryFree==NULL) -{ -returnADLX_INVALID_ARGS; -} -returnInitializePrivate(adlContext,adlMainMemoryFree,false); -} - -//------------------------------------------------------------------------------------------------- -//Termination -ADLX_RESULTADLXHelper_Terminate() -{ -ADLX_RESULTres=ADLX_OK; -if(g_ADLX.m_hDLLHandle!=NULL) -{ -g_ADLX.m_ADLXFullVersion=0; -g_ADLX.m_ADLXVersion=NULL; -g_ADLX.m_pSystemServices=NULL; -g_ADLX.m_pAdlMapping=NULL; -if(NULL!=g_ADLX.m_terminateFn) -{ -res=g_ADLX.m_terminateFn(); -} -g_ADLX.m_fullVersionFn=NULL; -g_ADLX.m_versionFn=NULL; -g_ADLX.m_initWithADLFn=NULL; -g_ADLX.m_initFnEx=NULL; -g_ADLX.m_initFn=NULL; -g_ADLX.m_terminateFn=NULL; -adlx_free_library(g_ADLX.m_hDLLHandle); -g_ADLX.m_hDLLHandle=NULL; -} -returnres; -} - -//------------------------------------------------------------------------------------------------- -//GetthefullversionforthisADLXinstance -adlx_uint64ADLXHelper_QueryFullVersion() -{ -returng_ADLX.m_ADLXFullVersion; -} - -//------------------------------------------------------------------------------------------------- -//GettheversionforthisADLXinstance -constchar*ADLXHelper_QueryVersion() -{ -returng_ADLX.m_ADLXVersion; -} - -//------------------------------------------------------------------------------------------------- -//GettheIADLXSysteminterface -IADLXSystem*ADLXHelper_GetSystemServices() -{ -returng_ADLX.m_pSystemServices; -} - -//------------------------------------------------------------------------------------------------- -//GettheIADLMappinginterface -IADLMapping*ADLXHelper_GetAdlMapping() -{ -returng_ADLX.m_pAdlMapping; -} - -//------------------------------------------------------------------------------------------------- -//LoadsADLXandfindsthefunctionpointerstotheADLXfunctions -ADLX_RESULTLoadADLXDll() -{ -if(g_ADLX.m_hDLLHandle==NULL) -{ -g_ADLX.m_hDLLHandle=adlx_load_library(ADLX_DLL_NAME); -if(g_ADLX.m_hDLLHandle) -{ -g_ADLX.m_fullVersionFn=(ADLXQueryFullVersion_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_QUERY_FULL_VERSION_FUNCTION_NAME); -g_ADLX.m_versionFn=(ADLXQueryVersion_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_QUERY_VERSION_FUNCTION_NAME); -g_ADLX.m_initWithADLFn=(ADLXInitializeWithCallerAdl_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME); -g_ADLX.m_initFnEx=(ADLXInitialize_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME); -g_ADLX.m_initFn=(ADLXInitialize_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_INIT_FUNCTION_NAME); -g_ADLX.m_terminateFn=(ADLXTerminate_Fn)adlx_get_proc_address(g_ADLX.m_hDLLHandle,ADLX_TERMINATE_FUNCTION_NAME); -} -} -if(g_ADLX.m_fullVersionFn&&g_ADLX.m_versionFn&&g_ADLX.m_initWithADLFn&&g_ADLX.m_initFnEx&&g_ADLX.m_initFn&&g_ADLX.m_terminateFn) -{ -returnADLX_OK; -} -returnADLX_FAIL; -} - -//------------------------------------------------------------------------------------------------- -//InitializesADLXbasedontheparameters -ADLX_RESULTInitializePrivate(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree,adlx_booluseIncompatibleDriver) -{ -ADLX_RESULTres=LoadADLXDll(); -if(ADLX_OK==res) -{ -g_ADLX.m_fullVersionFn(&g_ADLX.m_ADLXFullVersion); -g_ADLX.m_versionFn(&g_ADLX.m_ADLXVersion); -if(adlContext!=NULL&&adlMainMemoryFree!=NULL) -{ -res=g_ADLX.m_initWithADLFn(ADLX_FULL_VERSION,&g_ADLX.m_pSystemServices,&g_ADLX.m_pAdlMapping,adlContext,adlMainMemoryFree); -} -else -{ -if(useIncompatibleDriver) -{ -res=g_ADLX.m_initFnEx(ADLX_FULL_VERSION,&g_ADLX.m_pSystemServices); -} -else -{ -res=g_ADLX.m_initFn(ADLX_FULL_VERSION,&g_ADLX.m_pSystemServices); -} -} -returnres; -} - -returnADLX_FAIL; -} - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8cpp.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8cpp.xml deleted file mode 100644 index 1c79fe3..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_helper_8cpp.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - ADLXHelper.cpp - ADLXHelper.h - - - ADLXHelper - ADLXHelper g_ADLX - - g_ADLX - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#include"ADLXHelper.h" - -ADLXHelperg_ADLX; - -//------------------------------------------------------------------------------------------------- -//Constructor -ADLXHelper::ADLXHelper() -{} - -//------------------------------------------------------------------------------------------------- -//Destructor -ADLXHelper::~ADLXHelper() -{ -Terminate(); -} - -//------------------------------------------------------------------------------------------------- -//Initialization -ADLX_RESULTADLXHelper::Initialize() -{ -returnInitializePrivate(nullptr,nullptr); -} - -ADLX_RESULTADLXHelper::InitializeWithIncompatibleDriver() -{ -returnInitializePrivate(nullptr,nullptr,true); -} - -ADLX_RESULTADLXHelper::InitializeWithCallerAdl(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree) -{ -if(adlContext==nullptr||adlMainMemoryFree==nullptr) -{ -returnADLX_INVALID_ARGS; -} -returnInitializePrivate(adlContext,adlMainMemoryFree); -} - -//------------------------------------------------------------------------------------------------- -//Termination -ADLX_RESULTADLXHelper::Terminate() -{ -ADLX_RESULTres=ADLX_OK; -if(m_hDLLHandle!=nullptr) -{ -m_ADLXFullVersion=0; -m_ADLXVersion=nullptr; -m_pSystemServices=nullptr; -m_pAdlMapping=nullptr; -if(nullptr!=m_terminateFn) -{ -res=m_terminateFn(); -} -m_fullVersionFn=nullptr; -m_versionFn=nullptr; -m_initWithADLFn=nullptr; -m_initFnEx=nullptr; -m_initFn=nullptr; -m_terminateFn=nullptr; -adlx_free_library(m_hDLLHandle); -m_hDLLHandle=nullptr; -} -returnres; -} - -//------------------------------------------------------------------------------------------------- -//GetsthefullversionofADLX -adlx_uint64ADLXHelper::QueryFullVersion() -{ -returnm_ADLXFullVersion; -} - -//------------------------------------------------------------------------------------------------- -//GetstheversionofADLX -constchar*ADLXHelper::QueryVersion() -{ -returnm_ADLXVersion; -} - -//------------------------------------------------------------------------------------------------- -//GetstheADLXsysteminterface -adlx::IADLXSystem*ADLXHelper::GetSystemServices() -{ -returnm_pSystemServices; -} - -//------------------------------------------------------------------------------------------------- -//GetstheADLMappinginterface -adlx::IADLMapping*ADLXHelper::GetAdlMapping() -{ -returnm_pAdlMapping; -} - -//------------------------------------------------------------------------------------------------- -//LoadsADLXandfindsthefunctionpointerstotheADLXfunctions -ADLX_RESULTADLXHelper::LoadADLXDll() -{ -if(m_hDLLHandle==nullptr) -{ -m_hDLLHandle=adlx_load_library(ADLX_DLL_NAME); -if(m_hDLLHandle) -{ -m_fullVersionFn=(ADLXQueryFullVersion_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_QUERY_FULL_VERSION_FUNCTION_NAME); -m_versionFn=(ADLXQueryVersion_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_QUERY_VERSION_FUNCTION_NAME); -m_initWithADLFn=(ADLXInitializeWithCallerAdl_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME); -m_initFnEx=(ADLXInitialize_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME); -m_initFn=(ADLXInitialize_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_INIT_FUNCTION_NAME); -m_terminateFn=(ADLXTerminate_Fn)adlx_get_proc_address(m_hDLLHandle,ADLX_TERMINATE_FUNCTION_NAME); -} -} - -if(m_fullVersionFn&&m_versionFn&&m_initWithADLFn&&m_initFnEx&&m_initFn&&m_terminateFn) -{ -returnADLX_OK; -} - -returnADLX_FAIL; -} - -//------------------------------------------------------------------------------------------------- -//InitializesADLXbasedontheparameters -ADLX_RESULTADLXHelper::InitializePrivate(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree,adlx_booluseIncompatibleDriver) -{ -ADLX_RESULTres=LoadADLXDll(); -if(ADLX_OK==res) -{ -m_fullVersionFn(&m_ADLXFullVersion); -m_versionFn(&m_ADLXVersion); -if(adlContext!=nullptr&&adlMainMemoryFree!=nullptr) -{ -res=m_initWithADLFn(ADLX_FULL_VERSION,&m_pSystemServices,&m_pAdlMapping,adlContext,adlMainMemoryFree); -} -else -{ -if(useIncompatibleDriver) -{ -res=m_initFnEx(ADLX_FULL_VERSION,&m_pSystemServices); -} -else -{ -res=m_initFn(ADLX_FULL_VERSION,&m_pSystemServices); -} -} -returnres; -} - -returnADLX_FAIL; -} - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_i2_c_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_i2_c_page_8h.xml deleted file mode 100644 index aeda1fd..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_i2_c_page_8h.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - ADLXI2CPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXI2C -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_java_bind_8md.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_java_bind_8md.xml deleted file mode 100644 index 4e007d7..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_java_bind_8md.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - ADLXJavaBind.md - - - - - -@pagepage_guide_bindjavaBuildingJavabindingsforADLX -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisguideoutlinesthestepstobuildaJavabindingwrapperforADLX,aprerequisitetoprogrammingwithADLXinaJavaapplication. -<h2>Prerequisite(s)</h2> - --**ADLXSDK**isinstalled. --**VisualStudio2019**isinstalled. --**swigwin4.0.2**isinstalled,andthepathtotheswigwin4.0.2installationisaddedtothe**Path**userenvironmentvariable. --**OpenJDK17**isinstalled. --ThepathtotheOpenJDK17installationisaddedtothe**JAVA_HOME**systemenvironmentvariable. --ThebinpathfortheOpenJDK17installationisaddedtothe**Path**systemenvironmentvariable. - -<h2>TobuildADLXbindingsinJava</h2> - -1.CreateandnameafolderforyourJavaADLXbindingwrapper,forexample`ADLXJavaBind`. -2.Createanewfileinthe`ADLXJavaBind`folderandtitleit`ADLXJavaBind.i`. -3.Edit`ADLXJavaBind.i`andaddtheSDKheaderfilesfortheinterfacesyouwishtowrapbyusingtheSWIGinputformat.Tocreatebindingsforeventnotifications, -turnon`director`wrappingcallbackfortherespectivelistenerinterfaces.<br>Forexample, - -@codeStart -%feature("director")IADLXDisplayListChangedListener; -@codeEnd -**Note:**RefertotheJavasamples@refjava_sample_adlxjavabind"ADLXJavaBind.i"fileforanexampleofaJavabinding. - -4.CreateaC++DynamicLinkLibraryprojectnamed`ADLXJavaBind`andconfiguretheprojectasfollows: - -- -|Key|Value|Observations| -|----|----|---| -|VC++Directories>IncludeDirectories|\$(JAVA_HOME)/includeand\$(JAVA_HOME)/include/win32|Addpathofjavaincludeandpathofjava/win32include| -|C/C++>PrecompiledHeader|NotUsingPrecompiledHeaders|Donotuseprecompiledheaders| - -5.Addthe`ADLXJavaBind.i`filetotheproject. -6.Right-clickthe`ADLXJavaBind.i`fileandselectPropertiesfromthemenu.IntheProperties -dialogselect**ConfigurationProperties**>**General**>**ItemType**>**CustomBuildTool**.<br> -Settheconfigurationasfollows: - -- -|Key|Value|Observations| -|----|----|---| -|CommandLine|ifnotexist\$(SolutionDir)outmkdir\$(SolutionDir)outswig.exe-c++-java-packageout-outdir../out/ADLXJavaBind.i|InvokeSWIG.exetobuild`ADLXJavaBind.i`file| -|Outputs|%(Filename)_wrap.cxx|Setoutputfilenameformat| - -7.Buildtheproject. - -**Result:**Thefollowingfilesareaddedtothe`ADLXJavaBind`projectoutputfolder: --`ADLXJavaBind_wrap.h`file. --`ADLXJavaBind_wrap.cxx`file. --Several*.javafiles. - -8.Addthefollowingfilestotheproject: --`ADLXJavaBind_wrap.h` --`ADLXJavaBind_wrap.cxx` --`SDK/Platform/Windows/WinAPIs.cpp` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp` - -9.Rebuildtheproject. - -**Result:**The`ADLXJavaBind.dll`isbuiltinthe`"$(SolutionDir)$(Platform)$/(Configuration)/"`folder. - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_miscellaneous_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_miscellaneous_page_8h.xml deleted file mode 100644 index d8fdae6..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_miscellaneous_page_8h.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - ADLXMiscellaneousPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLMapping -//---------------------------------------------------------------------------------------------- -//IADLXLog -//---------------------------------------------------------------------------------------------- -//IADLXList -//---------------------------------------------------------------------------------------------- -//IADLXChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXInterface -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_page_8h.xml deleted file mode 100644 index 80db935..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_page_8h.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - ADLXPage.h - - - ADLX_DLL_NAMEW - L"amdadlx32.dll" - - - -Unicode name for 32-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEW L"amdadlx32.dll" - - - - - - - - ADLX_DLL_NAMEA - "amdadlx32.dll" - - - -ANSI name for 32-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEA "amdadlx32.dll" - - - - - - - - ADLX_DLL_NAME - ADLX_DLL_NAMEA - - - -ADLX dll name in ANSI applications Definition - - - #define ADLX_DLL_NAME ADLX_DLL_NAMEA - - - - - - - - - - - - -// -//Copyright(c)2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLXPAGE_H -#defineADLXPAGE_H -#pragmaonce - -#pragmaregiondllname -#defineADLX_DLL_NAMEWL"amdadlx32.dll" -#defineADLX_DLL_NAMEA"amdadlx32.dll" -#defineADLX_DLL_NAMEADLX_DLL_NAMEA -#pragmaendregiondllname - - -#endif//ADLXPAGE_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_performance_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_performance_page_8h.xml deleted file mode 100644 index e9013c4..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_performance_page_8h.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - ADLXPerformancePage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXGPUMetricsSupport -//---------------------------------------------------------------------------------------------- -//IADLXSystemMetricsSupport -//---------------------------------------------------------------------------------------------- -//IADLXGPUMetrics -//---------------------------------------------------------------------------------------------- -//IADLXGPUMetricsList -//---------------------------------------------------------------------------------------------- -//IADLXSystemMetrics -//---------------------------------------------------------------------------------------------- -//IADLXSystemMetricsList -//---------------------------------------------------------------------------------------------- -//IADLXFPS -//---------------------------------------------------------------------------------------------- -//IADLXFPSList -//---------------------------------------------------------------------------------------------- -//IADLXAllMetrics -//---------------------------------------------------------------------------------------------- -//IADLXAllMetricsList -//---------------------------------------------------------------------------------------------- -//IADLXPerformanceMonitoringServices -//---------------------------------------------------------------------------------------------- -//IADLXSystemMetrics1 -//---------------------------------------------------------------------------------------------- -//IADLXSystemMetricsSupport1 -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_power_tuning_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_power_tuning_page_8h.xml deleted file mode 100644 index 6ff8960..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_power_tuning_page_8h.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - ADLXPowerTuningPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXPowerTuningServices -//---------------------------------------------------------------------------------------------- -//IADLXPowerTuningChangedHandling -//---------------------------------------------------------------------------------------------- -//IADLXPowerTuningChangedListener -//---------------------------------------------------------------------------------------------- -//IADLXPowerTuningChangedEvent -//---------------------------------------------------------------------------------------------- -//IADLXSmartShiftMax -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_py_bind_8md.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_py_bind_8md.xml deleted file mode 100644 index 991de6f..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_py_bind_8md.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - ADLXPyBind.md - - - - - -@pagepage_guide_bindpyBuildingPythonbindingsforADLX -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisguideoutlinesthestepstobuildaPythonbindingwrapperforADLX,aprerequisitetoprogrammingwithADLXinaPythonapplication. - -<h2>Prerequisite(s)</h2> - --**ADLXSDK**isinstalled. --**VisualStudio2019**isinstalled. --**Python3.9**isinstalled. --**pybind11**isinstalled. --ThepathtothePython3.9installationisaddedtothe**PYHOME**systemenvironmentvariable. - -<h2>TobuildADLXbindingsinPython</h2> - -1.CreateafolderforyourPythonADLXbindingwrapper,forexample`ADLXPybind`. -2.Createanewfileinthe`ADLXPybind`folderandtitleit`bind.cpp`. -3.Edit`bind.cpp`andbindtheinterfacesyouwishtowrapusing`pybind11`. -Tocreatebindingsforeventnotifications,inherittherespectivelistenerinterface.<br>Forexample,inherit@refDOX_IADLXDisplayListChangedListener. - -**Note:**RefertothePythonsamples@refpy_sample_adlxpybind"bind.cpp"fileforanexampleofaPythonbinding. - -4.CreateaC++DynamicLinkLibraryprojectnamed`ADLXPybind`andconfiguretheprojectasfollows: - -- -|Key|Value|Observations| -|----|----|---| -|Advanced>TargetFileExtension|.pyd|Use.pydastheextension| -|VC++Directories>IncludeDirectories|\$(PYHOME)/include<br>\$(PYHOME)/Lib/site-packages/pybind11/include<br>|AddPathofpythonincludeandpathofpybind11include| -|VC++Directories>LibraryDirectories|\$(PYHOME)/libs|Addpathofpythonlibs| -|C/C++>PrecompiledHeader|NotUsingPrecompiledHeaders|Donotuseprecompiledheaders| -|Linker>Inpit|`python39.lib`|Addpythonlib| - -5.Addthe`bind.cpp`filetotheproject -6.Addthefollowingfilestotheproject: - --`SDK/Platform/Windows/WinAPIs.cpp` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h` --`SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp` - -7.Buildtheproject. - -**Result:**The`ADLXPybind.pyd`isbuiltinthe`"$(SolutionDir)$(Platform)$/(Configuration)/"`folder. - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_structures_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_structures_8h.xml deleted file mode 100644 index f668d8f..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_structures_8h.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - ADLXStructures.h - ADLXDefines.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/I3DSettings.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDesktops.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplay3DLUT.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplayGamma.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplayGamut.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplays.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUAutoTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUManualFanTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUManualPowerTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplaySettings.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUManualGFXTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUManualVRAMTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUPresetTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IPowerTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUTuning1.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IPerformanceMonitoring.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ISmartAccessMemory.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADLX_RGB - ADLX_Point - ADLX_GamutColorSpace - ADLX_GammaRamp - ADLX_RegammaCoeff - ADLX_TimingInfo - ADLX_CustomResolution - ADLX_IntRange - ADLX_UINT16_RGB - ADLX_3DLUT_Data - - - struct ADLX_UINT16_RGB - typedef struct ADLX_UINT16_RGB ADLX_UINT16_RGB - - ADLX_UINT16_RGB - - - - - - - - - - struct ADLX_3DLUT_Data - typedef struct ADLX_3DLUT_Data ADLX_3DLUT_Data - - ADLX_3DLUT_Data - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_STRUCTURES_H -#defineADLX_STRUCTURES_H -#pragmaonce -#include"ADLXDefines.h" - -//------------------------------------------------------------------------------------------------- -#pragmaregionADLX_RGB -typedefstruct -{ -adlx_doublegamutR; -adlx_doublegamutG; -adlx_doublegamutB; -}ADLX_RGB; -#pragmaendregionADLX_RGB - -#pragmaregionADLX_Point -typedefstruct -{ -adlx_intx; -adlx_inty; -}ADLX_Point; -#pragmaendregionADLX_Point - -#pragmaregionADLX_GamutColorSpace -typedefstruct -{ -ADLX_Pointred; -ADLX_Pointgreen; -ADLX_Pointblue; -}ADLX_GamutColorSpace; -#pragmaendregionADLX_GamutColorSpace - -#pragmaregionADLX_GammaRamp -typedefstruct -{ -adlx_uint16gamma[256*3]; -}ADLX_GammaRamp; -#pragmaendregionADLX_GammaRamp - -#pragmaregionADLX_RegammaCoeff -typedefstruct -{ -adlx_intcoefficientA0; -adlx_intcoefficientA1; -adlx_intcoefficientA2; -adlx_intcoefficientA3; -adlx_intgamma; -}ADLX_RegammaCoeff; -#pragmaendregionADLX_RegammaCoeff - -#pragmaregionADLX_TimingInfo -typedefstruct -{ -adlx_inttimingFlags; -adlx_inthTotal; -adlx_intvTotal; -adlx_inthDisplay; -adlx_intvDisplay; -adlx_inthFrontPorch; -adlx_intvFrontPorch; -adlx_inthSyncWidth; -adlx_intvSyncWidth; -adlx_inthPolarity; -adlx_intvPolarity; -}ADLX_TimingInfo; - -#pragmaendregionADLX_TimingInfo - -#pragmaregionADLX_CustomResolution -typedefstruct -{ -adlx_intresWidth; -adlx_intresHeight; -adlx_intrefreshRate; -ADLX_DISPLAY_SCAN_TYPEpresentation; -ADLX_TIMING_STANDARDtimingStandard; -adlx_longGPixelClock; -ADLX_TimingInfodetailedTiming; -}ADLX_CustomResolution; - -#pragmaendregionADLX_CustomResolution - -#pragmaregionADLX_IntRange -typedefstruct -{ -adlx_intminValue; -adlx_intmaxValue; -adlx_intstep; -}ADLX_IntRange; -#pragmaendregionADLX_IntRange - -#pragmaregionADLX_UINT16_RGB -typedefstructADLX_UINT16_RGB -{ -adlx_uint16red; -adlx_uint16green; -adlx_uint16blue; -}ADLX_UINT16_RGB; -#pragmaendregionADLX_UINT16_RGB - -#pragmaregionADLX_3DLUT_Data -typedefstructADLX_3DLUT_Data -{ -ADLX_UINT16_RGBdata[MAX_USER_3DLUT_NUM_POINTS*MAX_USER_3DLUT_NUM_POINTS*MAX_USER_3DLUT_NUM_POINTS]; -}ADLX_3DLUT_Data; -#pragmaendregionADLX_3DLUT_Data - -#endif//ADLX_STRUCTURES_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_system1_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_system1_page_8h.xml deleted file mode 100644 index c244a16..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_system1_page_8h.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - ADLXSystem1Page.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXSystem1 -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_system_page_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_system_page_8h.xml deleted file mode 100644 index 7b7198f..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_system_page_8h.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - ADLXSystemPage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#pragmaonce - -//IADLXSystem -//---------------------------------------------------------------------------------------------- - - - - diff --git a/vendor/adlx/SDKDoc/xml/_a_d_l_x_version_8h.xml b/vendor/adlx/SDKDoc/xml/_a_d_l_x_version_8h.xml deleted file mode 100644 index a3e82ce..0000000 --- a/vendor/adlx/SDKDoc/xml/_a_d_l_x_version_8h.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - ADLXVersion.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLXDefines.h - - - - - - - - - - - - - - - - - - - - - ADLX_VER_MAJOR - 1 - - - - - - - - - - ADLX_VER_MINOR - 2 - - - - - - - - - - ADLX_VER_RELEASE - 0 - - - - - - - - - - ADLX_VER_BUILD_NUM - 72 - - - - - - - - - - STRING - a - #a - - - - - - - - - - STRING_EXPAND - a - STRING(a) - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_VERSION_H -#defineADLX_VERSION_H -#pragmaonce - -#defineADLX_VER_MAJOR1 -#defineADLX_VER_MINOR2 -#defineADLX_VER_RELEASE0 -#defineADLX_VER_BUILD_NUM72 - -#defineSTRING(a)#a -#defineSTRING_EXPAND(a)STRING(a) - -#endif//ADLX_VERSION_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_c_2_a_d_l_x_helper_8h.xml b/vendor/adlx/SDKDoc/xml/_c_2_a_d_l_x_helper_8h.xml deleted file mode 100644 index eb99954..0000000 --- a/vendor/adlx/SDKDoc/xml/_c_2_a_d_l_x_helper_8h.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - - ADLXHelper.h - ../../../Include/ADLX.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C/ADLXHelper.c - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_Initialize - () - ADLXHelper_Initialize - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver - () - ADLXHelper_InitializeWithIncompatibleDriver - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_InitializeWithCallerAdl - (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - ADLXHelper_InitializeWithCallerAdl - - adlx_handle - adlContext - - - ADLX_ADL_Main_Memory_Free - adlMainMemoryFree - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper_Terminate - () - ADLXHelper_Terminate - - - - - - - - - - IADLXSystem * - IADLXSystem* ADLXHelper_GetSystemServices - () - ADLXHelper_GetSystemServices - - - - - - - - - - IADLMapping * - IADLMapping* ADLXHelper_GetAdlMapping - () - ADLXHelper_GetAdlMapping - - - - - - - - - - adlx_uint64 - adlx_uint64 ADLXHelper_QueryFullVersion - () - ADLXHelper_QueryFullVersion - - - - - - - - - - const char * - const char* ADLXHelper_QueryVersion - () - ADLXHelper_QueryVersion - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_ADLXFactory_h -#defineADLX_ADLXFactory_h -#pragmaonce - -#include"../../../Include/ADLX.h" - -ADLX_RESULTADLXHelper_Initialize(); - -ADLX_RESULTADLXHelper_InitializeWithIncompatibleDriver(); - -ADLX_RESULTADLXHelper_InitializeWithCallerAdl(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree); - -ADLX_RESULTADLXHelper_Terminate(); - -IADLXSystem*ADLXHelper_GetSystemServices(); - -IADLMapping*ADLXHelper_GetAdlMapping(); - -adlx_uint64ADLXHelper_QueryFullVersion(); - -constchar*ADLXHelper_QueryVersion(); -#endif//__ADLXFactoryC_h__ - - - - - diff --git a/vendor/adlx/SDKDoc/xml/_c_2_read_me_8md.xml b/vendor/adlx/SDKDoc/xml/_c_2_read_me_8md.xml deleted file mode 100644 index d483739..0000000 --- a/vendor/adlx/SDKDoc/xml/_c_2_read_me_8md.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - ReadMe.md - - - - - -@pagepage_sample_cCSamples -<!-- -#Copyright(c)2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisdocumentdescribeshowtobuildtheADLXCsamplesandtheenvironmentinwhichtheycanbeexecuted.TheADLXCsamplesareorganizedperdomain,andtheydemonstratetheentireADLXfunctionality. - -<h2>SupportedOperatingSystems</h2> -Windows®10(32-and64-bitversions)andup. - -<h2>BuildTool</h2> -VisualStudio2019withCandC++componentsfordesktop. - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudio2019.</li> -<li>Click<b>File>Open>CMake</b>.</li> -<li>Selectthe`~Samples\C`folderfromtheAddressbarinthepop-updialogbox.</li> -<li>Select`CMakeLists.txt`in`~ADLX\Samples\C`andclick<b>Open</b>.</li> -<li>Select<b>vs2019_Release_x64</b>intheConfigurationdrop-down.</li> -<li>Click<b>Switchbetweenavailableviews>CMakeTargetsview</b>intheSolutionExplorer.</li> -<li>Click<b>SamplesProject</b>andexpandthelistofsamples.Right-clickontherequiredsampleandclick<b>SetAsStartupItem</b>.Forexample,`DisplayInfo.exe`.</li> -<li>Right-clickonthesamesampleandclick<b>Build</b>.</li> -<li>Runthesample.</li> -</ol> - - - - diff --git a/vendor/adlx/SDKDoc/xml/_c_p_p_2_read_me_8md.xml b/vendor/adlx/SDKDoc/xml/_c_p_p_2_read_me_8md.xml deleted file mode 100644 index 3056994..0000000 --- a/vendor/adlx/SDKDoc/xml/_c_p_p_2_read_me_8md.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - ReadMe.md - - - - - -@pagepage_sample_cppC++Samples -<!-- -#Copyright(c)2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisdocumentdescribeshowtobuildtheADLXC++samplesandtheenvironmentinwhichtheycanbeexecuted.TheADLXC++samplesareorganizedperdomain,andtheydemonstratetheentireADLXfunctionality. - -<h2>SupportedOperatingSystems</h2> -Windows®10(32-and64-bitversions)andup. - -<h2>BuildTool</h2> -VisualStudio2019withCandC++componentsfordesktop. - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudio2019.</li> -<li>Click<b>File>Open>CMake</b>.</li> -<li>Selectthe`~Samples\CPP`folderfromtheAddressbarinthepop-updialogbox.</li> -<li>Select`CMakeLists.txt`in`~ADLX\Samples\CPP`andclick<b>Open</b>.</li> -<li>Select<b>vs2019_Release_x64</b>intheConfigurationdrop-down.</li> -<li>Click<b>Switchbetweenavailableviews>CMakeTargetsview</b>intheSolutionExplorer.</li> -<li>Click<b>SamplesProject</b>andexpandthelistofsamples.Right-clickontherequiredsampleandclick<b>SetAsStartupItem</b>.Forexample,`DisplayInfo.exe`.</li> -<li>Right-clickonthesamesampleandclick<b>Build</b>.</li> -<li>Runthesample.</li> -</ol> - - - - diff --git a/vendor/adlx/SDKDoc/xml/_cpp_2_a_d_l_x_helper_8h.xml b/vendor/adlx/SDKDoc/xml/_cpp_2_a_d_l_x_helper_8h.xml deleted file mode 100644 index 71ceae7..0000000 --- a/vendor/adlx/SDKDoc/xml/_cpp_2_a_d_l_x_helper_8h.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - ADLXHelper.h - ../../../Include/ADLX.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ADLXHelper - - - extern ::ADLXHelper - extern ::ADLXHelper g_ADLX - - g_ADLX - - - - - - - - - - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_ADLXHelper_h -#defineADLX_ADLXHelper_h - -#pragmaonce - -#include"../../../Include/ADLX.h" - -classADLXHelper -{ -public: -ADLXHelper(); - -virtual~ADLXHelper(); - -//Initialization.EitheroftheseversionsMustbecalledbeforeanycallsinthisclass - -ADLX_RESULTInitializeWithCallerAdl(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree); - -ADLX_RESULTInitialize(); - -ADLX_RESULTInitializeWithIncompatibleDriver(); - -//Destruction. -//WARNING:NooutstandinginterfacesfromADLXmustexistwhencallingthismethod. -//Afterthiscalltheywillbeinvalidandcallsintothemwillresultinaccessviolation. - -ADLX_RESULTTerminate(); - -//ReturnstheADLXversion - -adlx_uint64QueryFullVersion(); - -constchar*QueryVersion(); - -adlx::IADLXSystem*GetSystemServices(); - -adlx::IADLMapping*GetAdlMapping(); - -protected: - -//HandletotheADLXdll -adlx_handlem_hDLLHandle=nullptr; - -//FullVersionofthisADLXinstance -adlx_uint64m_ADLXFullVersion=0; - -//VersionofthisADLXinstance -constchar*m_ADLXVersion=nullptr; - -//TheADLXsystemservicesinterface -adlx::IADLXSystem*m_pSystemServices=nullptr; - -//theADLmappinginterface -adlx::IADLMapping*m_pAdlMapping=nullptr; - -//ADLXfunction-queryfullversion -ADLXQueryFullVersion_Fnm_fullVersionFn=nullptr; - -//ADLXfunction-queryversion -ADLXQueryVersion_Fnm_versionFn=nullptr; - -//ADLXfunction-initializewithADL -ADLXInitializeWithCallerAdl_Fnm_initWithADLFn=nullptr; - -//ADLXfunction-initializewithincompatibledriver -ADLXInitialize_Fnm_initFnEx=nullptr; - -//ADLXfunction-initialize -ADLXInitialize_Fnm_initFn=nullptr; - -//ADLXfunction-terminate -ADLXTerminate_Fnm_terminateFn=nullptr; - -//LoadsADLXandfindsthefunctionpointerstotheADLXfunctions -ADLX_RESULTLoadADLXDll(); - -//InitializesADLXbasedontheparameters -ADLX_RESULTInitializePrivate(adlx_handleadlContext,ADLX_ADL_Main_Memory_FreeadlMainMemoryFree,adlx_booluseIncompatibleDriver=false); -};//classADLXHelper - -extern::ADLXHelperg_ADLX; - -#endif//ADLX_ADLXHelper_h - - - - diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping.xml deleted file mode 100644 index e4bd3f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - DOX_IADLMapping - IADLMapping - ADLIdsFromADLXDesktop - ADLIdsFromADLXDisplay - AdlAdapterIndexFromADLXGPU - BdfFromADLXGPU - GetADLXDesktopFromADLIds - GetADLXDisplayFromADLIds - GetADLXGPUFromAdlAdapterIndex - GetADLXGPUFromBdf - - - -The IADLXMapping interface allows conversion of data between ADL and ADLX. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-In an application that uses both ADL and ADLX, ADLX is initialized with the ADL context corresponding to the ADL already in use in the application. When this application must make both ADL and ADLX calls related to a GPU, display or desktop, the IADLXMapping interface provides the required data conversions. This interface is returned from the ADLX initialization with the ADL context from the application. - For more information, refer to Using ADLX in an ADL application. -Methods - - -Method -Description - - -ADLIdsFromADLXDesktop -Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified IADLXDesktop interface. - - -ADLIdsFromADLXDisplay -Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified IADLXDisplay interface. - - -AdlAdapterIndexFromADLXGPU -Gets the ADL Adapter index corresponding to the GPU with the specified IADLXGPU interface. - - -BdfFromADLXGPU -Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified IADLXGPU interface. - - -GetADLXDesktopFromADLIds -Gets the reference counted IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number. - - -GetADLXDisplayFromADLIds -Gets the reference counted IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number. - - -GetADLXGPUFromAdlAdapterIndex -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified ADL adapter index. - - -GetADLXGPUFromBdf -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number. - -
-
-Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the WorkWithADL C++ sample. - For a C application, refer to the WorkWithADL C sample. - -ADLIdsFromADLXDesktop -ADLIdsFromADLXDisplay -AdlAdapterIndexFromADLXGPU -BdfFromADLXGPU -GetADLXDesktopFromADLIds -GetADLXDisplayFromADLIds -GetADLXGPUFromAdlAdapterIndex -GetADLXGPUFromBdf - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.xml deleted file mode 100644 index af07f0a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_desktop.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - DOX_IADLMapping_ADLIdsFromADLXDesktop - ADLIdsFromADLXDesktop - -Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified IADLXDesktop interface. - - -Gets the ADL Adapter index, Vid source ID, the PCIE bus number, device number, and function number corresponding to desktop with the specified IADLXDesktop interface. -Syntax - - - ADLX_RESULT ADLIdsFromADLXDesktop (IADLXDesktop* pDesktop, adlx_int* adapterIndex, adlx_int* VidPnSourceId, adlx_int* bus, adlx_int* device, adlx_int* function) - -Parameters - - - - -1. -[in] -pDesktop -IADLXDesktop* -The pointer to the desktop interface. - -
-
-
-
- - - -2. -[out] -adapterIndex -adlx_int* -The pointer to a variable where the ADL adapter index of the GPU that drives the requested desktop is returned. - -
-
-
-
- - - -3. -[out] -VidPnSourceId -adlx_int* -The pointer to a variable where the zero-based identification number of the video present network (VidPN) topology of the requested desktop is returned. - -
-
-
-
- - - -4. -[out] -bus -adlx_int* -The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested desktop is returned. - -
-
-
-
- - - -5. -[out] -device -adlx_int* -The pointer to a variable where the device number of the GPU that drives the requested desktop is returned. - -
-
-
-
- - - -6. -[out] -function -adlx_int* -The pointer to a variable where the function number of the GPU that drives the requested desktop is returned. - -
-
-
-
-
-Return Value - -If the IADLXDesktop interface is successfully returned, ADLX_OK is returned. - If the IADLXDesktop interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes -Remarks - -ADLIdsFromADLXDesktop is used when an ADL function must be called for a desktop obtained from ADLX, or for the GPU that drives the desktop. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.xml deleted file mode 100644 index f9bba18..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__a_d_l_ids_from_a_d_l_x_display.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - DOX_IADLMapping_ADLIdsFromADLXDisplay - ADLIdsFromADLXDisplay - -Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified IADLXDisplay interface. - - -Gets the ADL Adapter index, display index, the PCI bus number, device number, and function number corresponding to the display with the specified IADLXDisplay interface. -Syntax - - - ADLX_RESULT ADLIdsFromADLXDisplay (IADLXDisplay* pDisplay, adlx_int* adapterIndex, adlx_int* displayIndex, adlx_int* bus, adlx_int* device, adlx_int* function) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -adapterIndex -adlx_int* -The pointer to a variable where the ADL adapter index of the GPU that drives the requested display is returned. - -
-
-
-
- - - -3. -[out] -displayIndex -adlx_int* -The pointer to a variable where the ADL logical display index of the GPU that drives the requested display is returned. - -
-
-
-
- - - -4. -[out] -bus -adlx_int* -The pointer to a variable where the unique PCIE bus number of the GPU that drives the requested display is returned. - -
-
-
-
- - - -5. -[out] -device -adlx_int* -The pointer to a variable where the device number of the GPU that drives the requested display is returned. - -
-
-
-
- - - -6. -[out] -function -adlx_int* -The pointer to a variable where the function number of the GPU that drives the requested display is returned. - -
-
-
-
-
-Return Value - -If the IADLXDisplay interface is successfully returned, ADLX_OK is returned. - If the IADLXDisplay interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -ADLIdsFromADLXDisplay is used when an ADL function must be called for a display obtained from ADLX, or for the GPU where the display is connected. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.xml deleted file mode 100644 index 0bfbf98..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__adl_adapter_index_from_a_d_l_x_g_p_u.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - DOX_IADLMapping_AdlAdapterIndexFromADLXGPU - AdlAdapterIndexFromADLXGPU - -Gets the ADL Adapter index corresponding to the GPU with the specified IADLXGPU interface. - - -Gets the ADL Adapter index corresponding to the GPU with the specified IADLXGPU interface. -Syntax - - - ADLX_RESULT AdlAdapterIndexFromADLXGPU (IADLXGPU* ppGPU, adlx_int* adlAdapterIndex) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -adlAdapterIndex -adlx_int* -The pointer to a variable where ADL adapter index of the requested GPU is returned. - -
-
-
-
-
-Return Value - -If the ADL adapter index is successfully returned, ADLX_OK is returned. - If the ADL Adapter index is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -AdlAdapterIndexFromADLXGPU is used when an ADL function must be called for a GPU obtained from ADLX, and the ADL adapter index is required for that ADL function. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.xml deleted file mode 100644 index e5e48f9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__bdf_from_a_d_l_x_g_p_u.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - DOX_IADLMapping_BdfFromADLXGPU - BdfFromADLXGPU - -Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified IADLXGPU interface. - - -Gets the PCI bus number, device number, and function number corresponding to the GPU with the specified IADLXGPU interface. -Syntax - - - ADLX_RESULT BdfFromADLXGPU (IADLXGPU* ppGPU, adlx_int* bus, adlx_int* device, adlx_int* function) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -bus -adlx_int* -The pointer to a variable where the unique PCIE bus number of the requested GPU is returned. - -
-
-
-
- - - -3. -[out] -device -adlx_int* -The pointer to a variable where the device number of the requested GPU is returned. - -
-
-
-
- - - -4. -[out] -function -adlx_int* -The pointer to a variable where function number of the requested GPU is returned. - -
-
-
-
-
-Return Value - -If bus, device, function are returned correctly, ADLX_OK is returned. - If bus, device, function are not returned correctly, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -BdfFromADLXGPU is used when an ADL function must be called for a GPU obtained from ADLX, and the GPU's PCI bus, device, and function are required for that ADL function. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.xml deleted file mode 100644 index fb7952d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_desktop_from_a_d_l_ids.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - DOX_IADLMapping_GetADLXDesktopFromADLIds - GetADLXDesktopFromADLIds - -Gets the reference counted IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number. - - -Gets the reference counted IADLXDesktop interface corresponding to the desktop with the specified ADL adapter index, VidPnSource ID, the PCI bus number, device number, and function number. -Syntax - - - ADLX_RESULT GetADLXDesktopFromADLIds (adlx_int adapterIndex, adlx_int VidPnSource, adlx_int bus, adlx_int device, adlx_int function, IADLXDesktop** ppDesktop) - -Parameters - - - - -1. -[in] -adapterIndex -adlx_int -The ADL adapter index of the GPU where the requested desktop is instantiated. - -
-
-
-
- - - -2. -[in] -VidPnSourceID -adlx_int -The zero-based identification number of the video present source in a path of a video present network (VidPN) topology of the requested desktop. - -
-
-
-
- - - -3. -[in] -bus -adlx_int -The unique PCIE bus number of the GPU where the requested desktop is instantiated. - -
-
-
-
- - - -4. -[in] -device -adlx_int -The device number of the GPU where the requested desktop is instantiated. - -
-
-
-
- - - -5. -[in] -function -adlx_int -The function number of the GPU where the requested desktop is instantiated. - -
-
-
-
- - - -6. -[out] -ppDesktop -IADLXDesktop** -The address of the pointer to the returned interface. If the desktop was not found, the method sets the dereferenced address *ppDesktop to nullptr. - -
-
-
-
-
-Return Value - -If the IADLXDesktop interface is successfully returned, ADLX_OK is returned. - If the arguments are incorrect ADLX_INVALID_ARGS s returned. - If IADLXDesktop interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -GetADLXDesktopFromADLIds is used when and ADLX method must be called from a desktop obtained from ADL. The adapter index corresponds to the GPU where the desktop is instantiated. - The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber of the GPU where that desktop is instantiated. - The VidPnSource ID is obtained from D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME.VidPnSourceId field for this desktop. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.xml deleted file mode 100644 index def63a1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_display_from_a_d_l_ids.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - DOX_IADLMapping_GetADLXDisplayFromADLIds - GetADLXDisplayFromADLIds - -Gets the reference counted IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number. - - -Gets the reference counted IADLXDisplay interface corresponding to the display with the specified ADL adapter index, display index, PCI bus number, device number, and function number. -Syntax - - - ADLX_RESULT GetADLXDisplayFromADLIds (adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, IADLXDisplay** ppDisplay) - -Parameters - - - - -1. -[in] -adapterIndex -adlx_int -The ADL adapter index of the GPU where the requested display is connected. - -
-
-
-
- - - -2. -[in] -displayIndex -adlx_int -The ADL logical display index of the requested display. - -
-
-
-
- - - -3. -[in] -bus -adlx_int -The unique PCIE bus number of the GPU where the requested display is connected. - -
-
-
-
- - - -4. -[in] -device -adlx_int -The device number of the GPU where the requested display is connected. - -
-
-
-
- - - -5. -[in] -function -adlx_int -The device number of the GPU where the requested display is connected. - -
-
-
-
- - - -6. -[out] -ppDisplay -IADLXDisplay** -The address of the pointer to the returned interface. If the display was not found, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the IADLXDisplay interface is successfully returned, ADLX_OK is returned. - If the IADLXDisplay interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -GetADLXDisplayFromADLIds is used when an ADLX method must be called for a display obtained from ADL. The ADL adapter index corresponds to the GPU to which the display is connected. - The display index corresponds to the ADLDisplayID.iDisplayLogicalIndex field for the display. - The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber for the GPU where that display is connected. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.xml deleted file mode 100644 index b2f3398..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_adl_adapter_index.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLMapping_GetADLXGPUFromAdlAdapterIndex - GetADLXGPUFromAdlAdapterIndex - -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified ADL adapter index. - - -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified ADL adapter index. -Syntax - - - ADLX_RESULT GetADLXGPUFromAdlAdapterIndex (adlx_int adlAdapterIndex, IADLXGPU** ppGPU) - -Parameters - - - - -1. -[in] -adlAdapterIndex -adlx_int -The ADL adapter index for the requested GPU. - -
-
-
-
- - - -2. -[out] -ppGPU -IADLXGPU** -The address of the pointer to the returned interface. If the GPU was not found, the method sets the dereferenced address *ppGPU to nullptr. - -
-
-
-
-
-Return Value - -If the IADLXGPU is successfully returned, ADLX_OK is returned. - If the IADLXGPU is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes -Remarks - -GetADLXGPUFromAdlAdapterIndex is used when an ADLX method must be called for a GPU obtained from ADL for which an ADL adapter index is available. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.xml deleted file mode 100644 index d657719..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_mapping__get_a_d_l_x_g_p_u_from_bdf.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - DOX_IADLMapping_GetADLXGPUFromBdf - GetADLXGPUFromBdf - -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number. - - -Gets the reference counted IADLXGPU interface corresponding to the GPU with the specified PCI bus number, device number, and function number. -Syntax - - - ADLX_RESULT GetADLXGPUFromBdf (adlx_int bus, adlx_int device, adlx_int function, IADLXGPU** ppGPU) - -Parameters - - - - -1. -[in] -bus -adlx_int -The unique PCIE bus number of the requested GPU. - -
-
-
-
- - - -2. -[in] -device -adlx_int -The device number of the requested GPU. - -
-
-
-
- - - -3. -[in] -function -adlx_int -The function number of the requested GPU. - -
-
-
-
- - - -4. -[out] -ppGPU -IADLXGPU** -The address of the pointer to the returned interface. If the GPU was not found, the method sets the dereferenced address *ppGPU to nullptr. - -
-
-
-
-
-Return Value - -If the IADLXGPU is successfully returned, ADLX_OK is returned. - If the IADLXGPU is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -GetADLXGPUFromBdf is used when an ADLX method must be called for a GPU obtained from ADL where an AdapterInfo structure is available. - The PCI bus number, device number, and function number parameters correspond to ADL AdapterInfo.iBusNumber, AdapterInfo.iDeviceNumber, and AdapterInfo.iFunctionNumber for that GPU. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.xml deleted file mode 100644 index 1df057e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering - IADLX3DAnisotropicFiltering - GetLevel - IsEnabled - IsSupported - SetEnabled - SetLevel - - - -The IADLX3DAnisotropicFiltering interface configures the anisotropic filtering settings of a GPU. - -InterfaceId: -IADLX3DAnisotropicFiltering - - -Smart Pointer Interface Name: -IADLX3DAnisotropicFilteringPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Methods - - -Method -Description - - -GetLevel -Gets the current anisotropic filtering level on a GPU. - - -IsEnabled -Checks if anisotropic filtering is enabled on a GPU. - - -IsSupported -Checks if anisotropic filtering is supported on a GPU. - - -SetEnabled -Sets anisotropic filtering to an enabled or disabled state on a GPU. - - -SetLevel -Sets the anisotropic filtering level of a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the AnisotropicFiltering C++ sample. - For a C application, refer to the AnisotropicFiltering C sample. - -GetLevel -IsEnabled -IsSupported -SetEnabled -SetLevel - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.xml deleted file mode 100644 index 6607522..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__get_level.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering_GetLevel - GetLevel - -Gets the current anisotropic filtering level on a GPU. - - -Gets the current anisotropic filtering level on a GPU. -Syntax - - - ADLX_RESULT GetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel) - -Parameters - - - - -1. -[out] -currentLevel -ADLX_ANISOTROPIC_FILTERING_LEVEL* -The pointer to a variable where the current anisotropic filtering level is returned. - -
-
-
-
-
-Return Value - -If the current anisotropic filtering level is successfully returned, ADLX_OK is returned. - If the current anisotropic filtering level is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.xml deleted file mode 100644 index b8e0156..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering_IsEnabled - IsEnabled - -Checks if anisotropic filtering is enabled on a GPU. - - -Checks if anisotropic filtering is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of anisotropic filtering is returned. The variable is true if anisotropic filtering is enabled. The variable is false if anisotropic filtering is not enabled. - -
-
-
-
-
-Return Value - -If the state of anisotropic filtering is successfully returned, ADLX_OK is returned. - If the state of anisotropic filtering is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.xml deleted file mode 100644 index 69f2d0b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__is_supported.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering_IsSupported - IsSupported - -Checks if anisotropic filtering is supported on a GPU. - - -Checks if anisotropic filtering is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of anisotropic filtering is returned. The variable is true if anisotropic filtering is supported. The variable is false if anisotropic filtering is not supported. - -
-
-
-
-
-Return Value - -If the state of anisotropic filtering is successfully returned, ADLX_OK is returned. - If the state of anisotropic filtering is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.xml deleted file mode 100644 index bd8a16d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering_SetEnabled - SetEnabled - -Sets anisotropic filtering to an enabled or disabled state on a GPU. - - -Sets anisotropic filtering to an enabled or disabled state on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new anisotropic filtering state. Set true to enable anisotropic filtering. Set false to disable anisotropic filtering. - -
-
-
-
-
-Return Value - -If the state of anisotropic filtering is successfully set, ADLX_OK is returned. - If the state of anisotropic filtering is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.xml deleted file mode 100644 index f3c1c3d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anisotropic_filtering__set_level.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAnisotropicFiltering_SetLevel - SetLevel - -Sets the anisotropic filtering level of a GPU. - - -Sets the anisotropic filtering level of a GPU. -Syntax - - - ADLX_RESULT SetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL level) - -Parameters - - - - -1. -[in] -level -ADLX_ANISOTROPIC_FILTERING_LEVEL -The new anisotropic filtering level. - -
-
-
-
-
-Return Value - -If the anisotropic filtering level is successfully set, ADLX_OK is returned. - If the anisotropic filtering level is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance. - Only affects DirectX® 9 applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing.xml deleted file mode 100644 index 553cbb2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing - IADLX3DAntiAliasing - GetLevel - GetMethod - GetMode - IsSupported - SetLevel - SetMethod - SetMode - - - -The IADLX3DAntiAliasing interface configures the anti-aliasing settings of a GPU. - -InterfaceId: -IADLX3DAntiAliasing - - -Smart Pointer Interface Name: -IADLX3DAntiAliasingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Methods - - -Method -Description - - -GetLevel -Gets the current anti-aliasing level of a GPU. - - -GetMethod -Gets the current anti-aliasing method of a GPU. - - -GetMode -Gets the current anti-aliasing mode of a GPU. - - -IsSupported -Checks if anti-aliasing is supported on a GPU. - - -SetLevel -Sets the anti-aliasing level on a GPU. - - -SetMethod -Sets the anti-aliasing method on a GPU. - - -SetMode -Sets the anti-aliasing mode on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the AntiAliasing C++ sample. - For a C application, refer to the AntiAliasing C sample. - -GetLevel -GetMethod -GetMode -IsSupported -SetLevel -SetMethod -SetMode - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.xml deleted file mode 100644 index 7176bdc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_level.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_GetLevel - GetLevel - -Gets the current anti-aliasing level of a GPU. - - -Gets the current anti-aliasing level of a GPU. -Syntax - - - ADLX_RESULT GetLevel (ADLX_ANTI_ALIASING_LEVEL* currentLevel) - -Parameters - - - - -1. -[out] -currentLevel -ADLX_ANTI_ALIASING_LEVEL* -The pointer to a variable where the current anti-aliasing level is returned. - -
-
-
-
-
-Return Value - -If the current anti-aliasing level is successfully returned, ADLX_OK is returned. - If the current anti-aliasing level is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.xml deleted file mode 100644 index 0049ba8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_method.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_GetMethod - GetMethod - -Gets the current anti-aliasing method of a GPU. - - -Gets the current anti-aliasing method of a GPU. -Syntax - - - ADLX_RESULT GetMethod (ADLX_ANTI_ALIASING_METHOD* currentMethod) - -Parameters - - - - -1. -[out] -currentMethod -ADLX_ANTI_ALIASING_METHOD* -The pointer to a variable where the current anti-aliasing method is returned. - -
-
-
-
-
-Return Value - -If the current anti-aliasing method is successfully returned, ADLX_OK is returned. - If the current anti-aliasing method is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.xml deleted file mode 100644 index 5e66bd2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__get_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_GetMode - GetMode - -Gets the current anti-aliasing mode of a GPU. - - -Gets the current anti-aliasing mode of a GPU. -Syntax - - - ADLX_RESULT GetMode (ADLX_ANTI_ALIASING_MODE* currentMode) - -Parameters - - - - -1. -[out] -currentMode -ADLX_ANTI_ALIASING_MODE* -The pointer to a variable where the current anti-aliasing mode is returned. - -
-
-
-
-
-Return Value - -If the current anti-aliasing mode is successfully returned, ADLX_OK is returned. - If the current anti-aliasing mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.xml deleted file mode 100644 index 104d1f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_IsSupported - IsSupported - -Checks if anti-aliasing is supported on a GPU. - - -Checks if anti-aliasing is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of anti-aliasing is returned. The variable is true if anti-aliasing is supported. The variable is false if anti-aliasing is not supported. - -
-
-
-
-
-Return Value - -If the state of anti-aliasing is successfully returned, ADLX_OK is returned. - If the state of anti-aliasing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.xml deleted file mode 100644 index 5c68b9b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_level.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_SetLevel - SetLevel - -Sets the anti-aliasing level on a GPU. - - -Sets the anti-aliasing level on a GPU. -Syntax - - - ADLX_RESULT SetLevel (ADLX_ANTI_ALIASING_LEVEL level) - -Parameters - - - - -1. -[in] -level -ADLX_ANTI_ALIASING_LEVEL -The new anti-aliasing level. - -
-
-
-
-
-Return Value - -If the anti-aliasing level is successfully set, ADLX_OK is returned. - If the anti-aliasing level is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.xml deleted file mode 100644 index e751b83..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_method.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_SetMethod - SetMethod - -Sets the anti-aliasing method on a GPU. - - -Sets the anti-aliasing method on a GPU. -Syntax - - - ADLX_RESULT SetMethod (ADLX_ANTI_ALIASING_METHOD method) - -Parameters - - - - -1. -[in] -method -ADLX_ANTI_ALIASING_METHOD -The new anti-aliasing method. - -
-
-
-
-
-Return Value - -If the anti-aliasing method is successfully set, ADLX_OK is returned. - If the anti-aliasing method is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.xml deleted file mode 100644 index cbd4e26..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_aliasing__set_mode.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DAntiAliasing_SetMode - SetMode - -Sets the anti-aliasing mode on a GPU. - - -Sets the anti-aliasing mode on a GPU. -Syntax - - - ADLX_RESULT SetMode (ADLX_ANTI_ALIASING_MODE mode) - -Parameters - - - - -1. -[in] -mode -ADLX_ANTI_ALIASING_MODE -The new anti-aliasing mode. - -
-
-
-
-
-Return Value - -If the anti-aliasing mode is successfully set, ADLX_OK is returned. - If the anti-aliasing mode is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance. -Note: Set the mode to AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS to concurrently enable other anti-aliasing methods, such as morphological anti-aliasing. - For more information, refer to IADLX3DMorphologicalAntiAliasing. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag.xml deleted file mode 100644 index 39b26d3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLX3DAntiLag - IADLX3DAntiLag - IsEnabled - IsSupported - SetEnabled - - - -The IADLX3DAntiLag interface configures the AMD Radeon™ Anti-Lag settings of a GPU. - -InterfaceId: -IADLX3DAntiLag - - -Smart Pointer Interface Name: -IADLX3DAntiLagPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLX3DAntiLag1 - -
-
-AMD Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - -Dependent Interfaces - -When AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled. - Note: If the disabled setting is later re-enabled, its previous configuration will be restored. -Methods - - -Method -Description - - -IsEnabled -Checks if AMD Radeon™ Anti-Lag is enabled on a GPU. - - -IsSupported -Checks if AMD Radeon™ Anti-Lag is supported on a GPU. - - -SetEnabled -Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the AntiLag C++ sample. - For a C application, refer to the AntiLag C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1.xml deleted file mode 100644 index ab892ea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLX3DAntiLag1 - IADLX3DAntiLag1 - GetLevel - SetLevel - - - -IADLX3DAntiLag1 (AMD Radeon™ Anti-Lag Next) is an extension to IADLX3DAntiLag, and provides an interface to configure the Anti-Lag level of a GPU. - -InterfaceId: -IADLX3DAntiLag1 - - -Smart Pointer Interface Name: -IADLX3DAntiLag1Ptr - - -Inherits: -IADLX3DAntiLag - - -Inherited By: -N/A - -
-
-Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience. The IADLX3DAntiLag1 interface is obtained from the IADLX3DAntiLag interface using QueryInterface. - -Dependent Interfaces - -When AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled. - Note: If the disabled setting is later re-enabled, its previous configuration will be restored. -Methods - - -Method -Description - - -GetLevel -Gets the AMD Radeon™ Anti-Lag level on a GPU. - - -SetLevel -Sets the AMD Radeon™ Anti-Lag level on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings1.h" - - -Minimum version -1.1 - -
-
-Example - -To use this interface in a C++ application, refer to the AntiLag C++ sample. - For a C application, refer to the AntiLag C sample. - -GetLevel -SetLevel - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.xml deleted file mode 100644 index 420d6e0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__get_level.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiLag1_GetLevel - GetLevel - -Gets the AMD Radeon™ Anti-Lag level on a GPU. - - -Gets the AMD Radeon™ Anti-Lag level on a GPU. -Syntax - - - ADLX_RESULT GetLevel(ADLX_ANTILAG_STATE* level) - -Parameters - - - - -1. -[out] -level -ADLX_ANTILAG_STATE -The pointer to a variable where the Radeon Anti-Lag level is returned. - -
-
-
-
-
-Return Value - -If the Radeon Anti-Lag level is successfully returned, ADLX_OK is returned. - If the Radeon Anti-Lag level is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. -Requirements - - -Header -include "I3DSettings1.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.xml deleted file mode 100644 index 86d5edf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag1__set_level.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAntiLag1_SetLevel - SetLevel - -Sets the AMD Radeon™ Anti-Lag level on a GPU. - - -Sets the AMD Radeon™ Anti-Lag level on a GPU. -Syntax - - - ADLX_RESULT SetLevel (ADLX_ANTILAG_STATE level) - -Parameters - - - - -1. -[in] -level -ADLX_ANTILAG_STATE -The new Radeon Anti-Lag level. - -
-
-
-
-
-Return Value - -If the Radeon Anti-Lag level is successfully set, ADLX_OK is returned. - If the Radeon Anti-Lag level is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience. -Requirements - - -Header -include "I3DSettings1.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.xml deleted file mode 100644 index cb2c1a8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAntiLag_IsEnabled - IsEnabled - -Checks if AMD Radeon™ Anti-Lag is enabled on a GPU. - - -Checks if AMD Radeon™ Anti-Lag is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is true if Radeon Anti-Lag is enabled. The variable is false if Radeon Anti-Lag is not enabled. - -
-
-
-
-
-Return Value - -If the state of Radeon Anti-Lag is successfully returned, ADLX_OK is returned. - If the state of Radeon Anti-Lag is returned is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - Note: AMD Radeon Chill, and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Anti-Lag is automatically disabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.xml deleted file mode 100644 index 7300115..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DAntiLag_IsSupported - IsSupported - -Checks if AMD Radeon™ Anti-Lag is supported on a GPU. - - -Checks if AMD Radeon™ Anti-Lag is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is true if Radeon Anti-Lag is supported. The variable is false if Radeon Anti-Lag is not supported. - -
-
-
-
-
-Return Value - -If the state of Radeon Anti-Lag is successfully returned, ADLX_OK is returned. - If the state of Radeon Anti-Lag is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.xml deleted file mode 100644 index 5499583..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_anti_lag__set_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DAntiLag_SetEnabled - SetEnabled - -Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU. - - -Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new Radeon Anti-Lag state. Set true to enable Radeon Anti-Lag. Set false to disable Radeon Anti-Lag. - -
-
-
-
-
-Return Value - -If the state of Radeon Anti-Lag is successfully set, ADLX_OK is returned. - If the state of Radeon Anti-Lag is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. - Note: AMD Radeon Chill, and AMD Radeon Anti-Lag features cannot be enabled simultaneously. If AMD Radeon Anti-Lag is enabled, AMD Radeon Chill is automatically disabled. However, the configuration of the disabled feature is preserved. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost.xml deleted file mode 100644 index 6fcb46a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - DOX_IADLX3DBoost - IADLX3DBoost - GetResolution - GetResolutionRange - IsEnabled - IsSupported - SetEnabled - SetResolution - - - -The IADLX3DBoost interface configures AMD Radeon™ Boost of a GPU. - -InterfaceId: -IADLX3DBoost - - -Smart Pointer Interface Name: -IADLX3DBoostPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games. - -Dependent Interfaces - -When AMD Radeon Boost is enabled, AMD Radeon Chill is automatically disabled. - Note: If the disabled setting is later re-enabled, its previous configuration will be restored. -Methods - - -Method -Description - - -GetResolution -Gets the current minimum resolution of AMD Radeon™ Boost on a GPU. - - -GetResolutionRange -Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU. - - -IsEnabled -Checks if AMD Radeon™ Boost is enabled on a GPU. - - -IsSupported -Checks if AMD Radeon™ Boost is supported on a GPU. - - -SetEnabled -Sets AMD Radeon™ Boost to enabled or disabled on a GPU. - - -SetResolution -Sets the minimum resolution of AMD Radeon™ Boost on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Boost C++ sample. - For a C application, refer to the Boost C sample. - -GetResolution -GetResolutionRange -IsEnabled -IsSupported -SetEnabled -SetResolution - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.xml deleted file mode 100644 index 48aaab8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DBoost_GetResolution - GetResolution - -Gets the current minimum resolution of AMD Radeon™ Boost on a GPU. - - -Gets the current minimum resolution of AMD Radeon™ Boost on a GPU. -Syntax - - - ADLX_RESULT GetResolution (adlx_int* currentMinRes) - -Parameters - - - - -1. -[out] -currentMinRes -adlx_int* -The pointer to a variable where the current minimum resolution (in %) of AMD Radeon Boost is returned. - -
-
-
-
-
-Return Value - -If the current minimum resolution is successfully returned, ADLX_OK is returned. - If the current minimum resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. - Only works in supported games. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.xml deleted file mode 100644 index e846baf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__get_resolution_range.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DBoost_GetResolutionRange - GetResolutionRange - -Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU. - - -Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU. -Syntax - - - ADLX_RESULT GetResolutionRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the resolution range of AMD Radeon Boost is returned. - -
-
-
-
-
-Return Value - -If the resolution range is successfully returned, ADLX_OK is returned. - If the resolution range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum resolution, minimum resolution, and step resolution of AMD Radeon Boost are read only. -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. - Only works in supported games. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.xml deleted file mode 100644 index 45a2b41..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_enabled.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DBoost_IsEnabled - IsEnabled - -Checks if AMD Radeon™ Boost is enabled on a GPU. - - -Checks if AMD Radeon™ Boost is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is true if AMD Radeon Boost is enabled. The variable is false if AMD Radeon Boost is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Boost is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Boost is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games. - Note: AMD Radeon Chill, AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Chill is enabled, AMD Radeon Boost is automatically disabled. - On some AMD GPUs, AMD Radeon Boost and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Boost is automatically disabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_supported.xml deleted file mode 100644 index c718e13..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__is_supported.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DBoost_IsSupported - IsSupported - -Checks if AMD Radeon™ Boost is supported on a GPU. - - -Checks if AMD Radeon™ Boost is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is true if AMD Radeon Boost is supported. The variable is false if AMD Radeon Boost is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Boost is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Boost is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. - Only works in supported games. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.xml deleted file mode 100644 index a755afc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_enabled.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DBoost_SetEnabled - SetEnabled - -Sets AMD Radeon™ Boost to enabled or disabled on a GPU. - - -Sets AMD Radeon™ Boost to enabled or disabled on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Radeon Boost state. Set true to enable AMD Radeon Boost. Set false to disable AMD Radeon Boost. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Boost is successfully set, ADLX_OK is returned. - If the state of AMD Radeon Boost is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games. - Note: AMD Radeon Chill, AMD Radeon Boost features cannot be enabled simultaneously. If AMD Radeon Boost is enabled, AMD Radeon Chill are automatically disabled. However, the configuration of the disabled feature is preserved. - On some AMD GPUs, AMD Radeon Boost and Radeon Super Resolution cannot be enabled simultaneously. If AMD Radeon Boost is enabled, Radeon Super Resolution is automatically disabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.xml deleted file mode 100644 index dd249d3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_boost__set_resolution.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DBoost_SetResolution - SetResolution - -Sets the minimum resolution of AMD Radeon™ Boost on a GPU. - - -Sets the minimum resolution of AMD Radeon™ Boost on a GPU. -Syntax - - - ADLX_RESULT SetResolution (adlx_int minRes) - -Parameters - - - - -1. -[in] -minRes -adlx_int -The new minimum resolution (in %) of AMD Radeon Boost. - -
-
-
-
-
-Return Value - -If the minimum resolution is successfully set, ADLX_OK is returned. - If the minimum resolution is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill.xml deleted file mode 100644 index bedc885..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - DOX_IADLX3DChill - IADLX3DChill - GetFPSRange - GetMaxFPS - GetMinFPS - IsEnabled - IsSupported - SetEnabled - SetMaxFPS - SetMinFPS - - - -The IADLX3DChill interface configures the AMD Radeon™ Chill settings of a GPU. - -InterfaceId: -IADLX3DChill - - -Smart Pointer Interface Name: -IADLX3DChillPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - -Dependent Interfaces - -When AMD Radeon Chill is enabled, AMD Radeon Boost, AMD Radeon Anti-Lag, AMD Radeon™ Anti-Lag Next, and Radeon Super Resolution are automatically disabled. - Note: If the disabled setting is later re-enabled, its previous configuration settings will be restored. -Methods - - -Method -Description - - -GetFPSRange -Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU. - - -GetMaxFPS -Gets the AMD Radeon™ Chill current maximum FPS on a GPU. - - -GetMinFPS -Gets the AMD Radeon™ Chill current minimum FPS on a GPU. - - -IsEnabled -Checks if AMD Radeon™ Chill is enabled on a GPU. - - -IsSupported -Checks if AMD Radeon™ Chill is supported on a GPU. - - -SetEnabled -Sets the activation status of AMD Radeon™ Chill on a GPU. - - -SetMaxFPS -Sets the AMD Radeon™ Chill maximum FPS on a GPU. - - -SetMinFPS -Sets the AMD Radeon™ Chill minimum FPS on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Chill C++ sample. - For a C application, refer to the Chill C sample. - -GetFPSRange -GetMaxFPS -GetMinFPS -IsEnabled -IsSupported -SetEnabled -SetMaxFPS -SetMinFPS - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.xml deleted file mode 100644 index ad52b3d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_f_p_s_range.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLX3DChill_GetFPSRange - GetFPSRange - -Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU. - - -Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU. -Syntax - - - ADLX_RESULT GetFPSRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the FPS range of AMD Radeon Chill is returned. - -
-
-
-
-
-Return Value - -If the FPS range is successfully returned, ADLX_OK is returned. - If the FPS range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum FPS, minimum FPS, and step FPS values are read only. -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -The maximum FPS determines the target frame rate during periods of intense action. -The minimum FPS determines the target frame rate when in-game interaction is minimal. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.xml deleted file mode 100644 index 8d9ecf0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_max_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DChill_GetMaxFPS - GetMaxFPS - -Gets the AMD Radeon™ Chill current maximum FPS on a GPU. - - -Gets the AMD Radeon™ Chill current maximum FPS on a GPU. -Syntax - - - ADLX_RESULT GetMaxFPS (adlx_int* currentMaxFPS) - -Parameters - - - - -1. -[out] -currentMaxFPS -adlx_int* -The pointer to a variable where the current maximum FPS value of AMD Radeon Chill is returned. - -
-
-
-
-
-Return Value - -If the current maximum FPS is successfully returned, ADLX_OK is returned. - If the current maximum FPS is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -The maximum FPS determines the target frame rate during periods of intense action. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.xml deleted file mode 100644 index ea645e6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__get_min_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DChill_GetMinFPS - GetMinFPS - -Gets the AMD Radeon™ Chill current minimum FPS on a GPU. - - -Gets the AMD Radeon™ Chill current minimum FPS on a GPU. -Syntax - - - ADLX_RESULT GetMinFPS (adlx_int* currentMinFPS) - -Parameters - - - - -1. -[out] -currentMinFPS -adlx_int* -The pointer to a variable where the current minimum FPS value of AMD Radeon Chill is returned. - -
-
-
-
-
-Return Value - -If the current minimum FPS is successfully returned, ADLX_OK is returned. - If the current minimum FPS is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -The minimum FPS determines the target frame rate when in-game interaction is minimal. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.xml deleted file mode 100644 index 6d859ce..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DChill_IsEnabled - IsEnabled - -Checks if AMD Radeon™ Chill is enabled on a GPU. - - -Checks if AMD Radeon™ Chill is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is true if AMD Radeon Chill is enabled. The variable is false if AMD Radeon Chill is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Chill is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Chill is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - AMD Radeon Chill cannot be enabled simultaneously with AMD Radeon Boost, AMD Radeon Anti-Lag, and AMD Radeon Anti-Lag Next. - On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with Radeon Super Resolution. - When a mutually exclusive feature is enabled, AMD Radeon Chill is automatically disabled. - Note: If AMD Radeon Chill is later re-enabled, its previous configuration settings will be restored. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_supported.xml deleted file mode 100644 index be80ef3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DChill_IsSupported - IsSupported - -Checks if AMD Radeon™ Chill is supported on a GPU. - - -Checks if AMD Radeon™ Chill is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is true if AMD Radeon Chill is supported. The variable is false if AMD Radeon Chill is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Chill is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Chill is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.xml deleted file mode 100644 index edafaa3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DChill_SetEnabled - SetEnabled - -Sets the activation status of AMD Radeon™ Chill on a GPU. - - -Sets the activation status of AMD Radeon™ Chill on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Radeon Chill state. Set true to enable AMD Radeon Chill. Set false to disable AMD Radeon Chill. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Chill is successfully set, ADLX_OK is returned. - If the state of AMD Radeon Chill is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. - AMD Radeon Chill cannot be enabled simultaneously with AMD Radeon Boost, AMD Radeon Anti-Lag, and AMD Radeon Anti-Lag Next. - On some AMD GPUs, AMD Radeon Chill cannot be enabled simultaneously with Radeon Super Resolution. - When AMD Radeon Chill is enabled, the mutually exclusive features are automatically disabled. - Note: If the disabled feature is later re-enabled, its previous configuration settings will be restored. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.xml deleted file mode 100644 index 51f4fdd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_max_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DChill_SetMaxFPS - SetMaxFPS - -Sets the AMD Radeon™ Chill maximum FPS on a GPU. - - -Sets the AMD Radeon™ Chill maximum FPS on a GPU. -Syntax - - - ADLX_RESULT SetMaxFPS (adlx_int maxFPS) - -Parameters - - - - -1. -[in] -maxFPS -adlx_int -The new maximum FPS value of AMD Radeon Chill. - -
-
-
-
-
-Return Value - -If the maximum FPS is successfully set, ADLX_OK is returned. - If the maximum FPS is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -The maximum FPS determines the target frame rate during periods of intense action. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.xml deleted file mode 100644 index 3fd6c12..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_chill__set_min_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DChill_SetMinFPS - SetMinFPS - -Sets the AMD Radeon™ Chill minimum FPS on a GPU. - - -Sets the AMD Radeon™ Chill minimum FPS on a GPU. -Syntax - - - ADLX_RESULT SetMinFPS (adlx_int minFPS) - -Parameters - - - - -1. -[in] -minFPS -adlx_int -The new minimum FPS value of AMD Radeon Chill. - -
-
-
-
-
-Return Value - -If the minimum FPS is successfully set, ADLX_OK is returned. - If the minimum FPS is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement. -The minimum FPS determines the target frame rate when in-game interaction is minimal. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync.xml deleted file mode 100644 index d189f32..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - DOX_IADLX3DEnhancedSync - IADLX3DEnhancedSync - IsEnabled - IsSupported - SetEnabled - - - -The IADLX3DEnhancedSync interface configures the AMD Radeon™ Enhanced Sync settings of a GPU. - -InterfaceId: -IADLX3DEnhancedSync - - -Smart Pointer Interface Name: -IADLX3DEnhancedSyncPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames. - Does not limit the frame rate at the display’s refresh rate. - -Dependent Interfaces - -Note: AMD Radeon Enhanced Sync configuration is dependent on the state of VSync. - If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled. - If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled. -Methods - - -Method -Description - - -IsEnabled -Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU. - - -IsSupported -Checks if AMD Radeon™ Enhanced Sync is supported on a GPU. - - -SetEnabled -Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the EnhancedSync C++ sample. - For a C application, refer to the EnhancedSync C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.xml deleted file mode 100644 index aa8e5a4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DEnhancedSync_IsEnabled - IsEnabled - -Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU. - - -Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is true if AMD Radeon Enhanced Sync is enabled. The variable is false if AMD Radeon Enhanced Sync is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Enhanced Sync is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames. - Does not limit the frame rate at the display’s refresh rate. - Note: AMD Radeon Enhanced Sync configuration is dependent on the state of VSync. - If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled. - If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.xml deleted file mode 100644 index 9b58003..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__is_supported.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DEnhancedSync_IsSupported - IsSupported - -Checks if AMD Radeon™ Enhanced Sync is supported on a GPU. - - -Checks if AMD Radeon™ Enhanced Sync is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is true if AMD Radeon Enhanced Sync is supported. The variable is false if AMD Radeon Enhanced Sync is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Enhanced Sync is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames. - Does not limit the frame rate at the display’s refresh rate. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.xml deleted file mode 100644 index 5dabd4c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_enhanced_sync__set_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DEnhancedSync_SetEnabled - SetEnabled - -Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU. - - -Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Radeon Enhanced Sync state. Set true to enable AMD Radeon Enhanced Sync. Set false to disable AMD Radeon Enhanced Sync. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Enhanced Sync is successfully set, ADLX_OK is returned. - If the state of AMD Radeon Enhanced Sync is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames. - Does not limit the frame rate at the display’s refresh rate. - Note: AMD Radeon Enhanced Sync configuration affects the state of VSync. - If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled. - If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.xml deleted file mode 100644 index 36a4e39..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl - IADLX3DFrameRateTargetControl - GetFPS - GetFPSRange - IsEnabled - IsSupported - SetEnabled - SetFPS - - - -The IADLX3DFrameRateTargetControl interface configures AMD Frame Rate Target Control of a GPU. - -InterfaceId: -IADLX3DFrameRateTargetControl - - -Smart Pointer Interface Name: -IADLX3DFrameRateTargetControlPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Methods - - -Method -Description - - -GetFPS -Gets the current FPS of AMD Frame Rate Target Control on a GPU. - - -GetFPSRange -Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU. - - -IsEnabled -Checks if AMD Frame Rate Target Control is enabled on a GPU. - - -IsSupported -Checks if AMD Frame Rate Target Control is supported on a GPU. - - -SetEnabled -Sets AMD Frame Rate Target Control to enabled or disabled on a GPU. - - -SetFPS -Sets the maximum FPS of AMD Frame Rate Target Control on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the FRTC C++ sample. - For a C application, refer to the FRTC C sample. - -GetFPS -GetFPSRange -IsEnabled -IsSupported -SetEnabled -SetFPS - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.xml deleted file mode 100644 index 9bad7ed..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_GetFPS - GetFPS - -Gets the current FPS of AMD Frame Rate Target Control on a GPU. - - -Gets the current FPS of AMD Frame Rate Target Control on a GPU. -Syntax - - - ADLX_RESULT GetFPS (adlx_int* currentFPS) - -Parameters - - - - -1. -[out] -currentFPS -adlx_int* -The pointer to a variable where the current FPS value of AMD Frame Rate Target Control is returned. - -
-
-
-
-
-Return Value - -If the current FPS is successfully returned, ADLX_OK is returned. - If the current FPS is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.xml deleted file mode 100644 index ad84212..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__get_f_p_s_range.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_GetFPSRange - GetFPSRange - -Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU. - - -Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU. -Syntax - - - ADLX_RESULT GetFPSRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the FPS range of AMD Frame Rate Target Control is returned. - -
-
-
-
-
-Return Value - -If the FPS range is successfully returned, ADLX_OK is returned. - If the FPS range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control are read only. -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.xml deleted file mode 100644 index bb53579..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_IsEnabled - IsEnabled - -Checks if AMD Frame Rate Target Control is enabled on a GPU. - - -Checks if AMD Frame Rate Target Control is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is true if AMD Frame Rate Target Control is enabled. The variable is false if AMD Frame Rate Target Control is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Frame Rate Target Control is successfully returned, ADLX_OK is returned. - If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.xml deleted file mode 100644 index 33f3f00..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__is_supported.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_IsSupported - IsSupported - -Checks if AMD Frame Rate Target Control is supported on a GPU. - - -Checks if AMD Frame Rate Target Control is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is true if AMD Frame Rate Target Control is supported. The variable is false if AMD Frame Rate Target Control is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Frame Rate Target Control is successfully returned, ADLX_OK is returned. - If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.xml deleted file mode 100644 index 2f70f7b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_SetEnabled - SetEnabled - -Sets AMD Frame Rate Target Control to enabled or disabled on a GPU. - - -Sets AMD Frame Rate Target Control to enabled or disabled on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Frame Rate Target Control state. Set true to enable AMD Frame Rate Target Control. Set false to disable AMD Frame Rate Target Control. - -
-
-
-
-
-Return Value - -If the state of AMD Frame Rate Target Control is successfully set, ADLX_OK is returned. - If the state of AMD Frame Rate Target Control is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.xml deleted file mode 100644 index c691511..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_frame_rate_target_control__set_f_p_s.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DFrameRateTargetControl_SetFPS - SetFPS - -Sets the maximum FPS of AMD Frame Rate Target Control on a GPU. - - -Sets the maximum FPS of AMD Frame Rate Target Control on a GPU. -Syntax - - - ADLX_RESULT SetFPS (adlx_int maxFPS) - -Parameters - - - - -1. -[in] -maxFPS -adlx_int -The new maximum FPS value of AMD Frame Rate Target Control. - -
-
-
-
-
-Return Value - -If the maximum FPS is successfully set, ADLX_OK is returned. - If the maximum FPS is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption. - Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening.xml deleted file mode 100644 index bdff098..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - DOX_IADLX3DImageSharpening - IADLX3DImageSharpening - GetSharpness - GetSharpnessRange - IsEnabled - IsSupported - SetEnabled - SetSharpness - - - -The IADLX3DImageSharpening interface configures the AMD Radeon™ Image Sharpening settings of a GPU. - -InterfaceId: -IADLX3DImageSharpening - - -Smart Pointer Interface Name: -IADLX3DImageSharpeningPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. -Methods - - -Method -Description - - -GetSharpness -Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU. - - -GetSharpnessRange -Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU. - - -IsEnabled -Checks if AMD Radeon™ Image Sharpening is enabled on a GPU. - - -IsSupported -Checks if AMD Radeon™ Image Sharpening is supported on a GPU. - - -SetEnabled -Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU. - - -SetSharpness -Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ImageSharpening C++ sample. - For a C application, refer to the ImageSharpening C sample. - -GetSharpness -GetSharpnessRange -IsEnabled -IsSupported -SetEnabled -SetSharpness - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.xml deleted file mode 100644 index d7388ba..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_GetSharpness - GetSharpness - -Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU. - - -Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU. -Syntax - - - ADLX_RESULT GetSharpness (adlx_int* currentSharpness) - -Parameters - - - - -1. -[out] -currentSharpness -adlx_int* -The pointer to a variable where the current sharpness (in %) is returned. - -
-
-
-
-
-Return Value - -If the current sharpness is successfully returned, ADLX_OK is returned. - If the current sharpness is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.xml deleted file mode 100644 index 1517d0a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__get_sharpness_range.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_GetSharpnessRange - GetSharpnessRange - -Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU. - - -Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU. -Syntax - - - ADLX_RESULT GetSharpnessRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the sharpness range is returned. - -
-
-
-
-
-Return Value - -If the sharpness range is successfully returned, ADLX_OK is returned. - If the sharpness range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum sharpness, minimum sharpness, and step sharpness of AMD Radeon Image Sharpening are read only. -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.xml deleted file mode 100644 index 5f682c4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_IsEnabled - IsEnabled - -Checks if AMD Radeon™ Image Sharpening is enabled on a GPU. - - -Checks if AMD Radeon™ Image Sharpening is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is true if AMD Radeon Image Sharpening is enabled. The variable is false if AMD Radeon Image Sharpening is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Image Sharpening is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - Note: On some AMD GPUs, AMD Radeon Image Sharpening and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, AMD Radeon Image Sharpening is automatically disabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.xml deleted file mode 100644 index 33cb5a3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_IsSupported - IsSupported - -Checks if AMD Radeon™ Image Sharpening is supported on a GPU. - - -Checks if AMD Radeon™ Image Sharpening is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is true if AMD Radeon Image Sharpening is supported. The variable is false if AMD Radeon Image Sharpening is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Image Sharpening is successfully returned, ADLX_OK is returned. - If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.xml deleted file mode 100644 index 1e5e775..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_SetEnabled - SetEnabled - -Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU. - - -Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Radeon Image Sharpening state. Set true to enable AMD Radeon Image Sharpening. Set false to disable AMD Radeon Image Sharpening. - -
-
-
-
-
-Return Value - -If the state of AMD Radeon Image Sharpening is successfully set, ADLX_OK is returned. - If the state of AMD Radeon Image Sharpening is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. - Note: On some AMD GPUs, AMD Radeon Image Sharpening and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Image Sharpening is enabled, AMD Radeon Super Resolution is automatically disabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.xml deleted file mode 100644 index 1afbaa1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_image_sharpening__set_sharpness.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DImageSharpening_SetSharpness - SetSharpness - -Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU. - - -Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU. -Syntax - - - ADLX_RESULT SetSharpness (adlx_int sharpness) - -Parameters - - - - -1. -[in] -sharpness -adlx_int -The new sharpness (in %). - -
-
-
-
-
-Return Value - -If the sharpness is successfully set, ADLX_OK is returned. - If the sharpness is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.xml deleted file mode 100644 index 4b7009f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - DOX_IADLX3DMorphologicalAntiAliasing - IADLX3DMorphologicalAntiAliasing - IsEnabled - IsSupported - SetEnabled - - - -The IADLX3DMorphologicalAntiAliasing interface configures the morphological anti-aliasing settings of a GPU. - -InterfaceId: -IADLX3DMorphologicalAntiAliasing - - -Smart Pointer Interface Name: -IADLX3DMorphologicalAntiAliasingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead. - The applications must run exclusively in full-screen mode. - Not applicable to DirectX® 12 and Vulkan® applications. -Methods - - -Method -Description - - -IsEnabled -Checks if morphological anti-aliasing is enabled on a GPU. - - -IsSupported -Checks if morphological anti-aliasing is supported on a GPU. - - -SetEnabled -Sets morphological anti-aliasing to enabled or disabled state on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the MorphologicAntiAliasing C++ sample. - For a C application, refer to the MorphologicAntiAliasing C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.xml deleted file mode 100644 index 3dd48ba..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_enabled.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DMorphologicalAntiAliasing_IsEnabled - IsEnabled - -Checks if morphological anti-aliasing is enabled on a GPU. - - -Checks if morphological anti-aliasing is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is true if morphological anti-aliasing is enabled. The variable is false if morphological anti-aliasing is not enabled. - -
-
-
-
-
-Return Value - -If the state of morphological anti-aliasing is successfully returned, ADLX_OK is returned. - If the state of morphological anti-aliasing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead. - The applications must run exclusively in full-screen mode. - Not applicable to DirectX® 12 and Vulkan® applications. -Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.xml deleted file mode 100644 index a6cf3a2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__is_supported.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DMorphologicalAntiAliasing_IsSupported - IsSupported - -Checks if morphological anti-aliasing is supported on a GPU. - - -Checks if morphological anti-aliasing is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is true if morphological anti-aliasing is supported. The variable is false if morphological anti-aliasing is not supported. - -
-
-
-
-
-Return Value - -If the state of morphological anti-aliasing is successfully returned, ADLX_OK is returned. - If the state of morphological anti-aliasing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead. - The applications must run exclusively in full-screen mode. - Not applicable to DirectX® 12 and Vulkan® applications. -Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.xml deleted file mode 100644 index 8f193db..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_morphological_anti_aliasing__set_enabled.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DMorphologicalAntiAliasing_SetEnabled - SetEnabled - -Sets morphological anti-aliasing to enabled or disabled state on a GPU. - - -Sets morphological anti-aliasing to enabled or disabled state on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new morphological anti-aliasing state. Set true to enable morphological anti-aliasing. Set false to disable morphological anti-aliasing. - -
-
-
-
-
-Return Value - -If the state of morphological anti-aliasing is successfully set, ADLX_OK is returned. - If the state of morphological anti-aliasing is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead. - The applications must run exclusively in full-screen mode. - Not applicable to DirectX® 12 and Vulkan® applications. -Note: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be AA_MODE_ENHANCE_APP_SETTINGS or AA_MODE_OVERRIDE_APP_SETTINGS, as returned by GetMode. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.xml deleted file mode 100644 index 2644fcb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution - IADLX3DRadeonSuperResolution - GetSharpness - GetSharpnessRange - IsEnabled - IsSupported - SetEnabled - SetSharpness - - - -The IADLX3DRadeonSuperResolution interface configures the Radeon™ Super Resolution settings on all the compatible AMD GPUs. - -InterfaceId: -IADLX3DRadeonSuperResolution - - -Smart Pointer Interface Name: -IADLX3DRadeonSuperResolutionPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Radeon Super Resolution is an upscaling feature for faster frame rates on any game that runs exclusively in full-screen mode. - -This feature is inactive until the in-game resolution is set lower than the monitor's native resolution. Radeon Super Resolution automatically detects the resolution change, upscales to the native monitor resolution and delivers extra performance. - - Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. -On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled. - -Methods - - -Method -Description - - -GetSharpness -Gets the Radeon™ Super Resolution current sharpness. - - -GetSharpnessRange -Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness. - - -IsEnabled -Checks if Radeon™ Super Resolution is enabled. - - -IsSupported -Checks if Radeon™ Super Resolution is supported. - - -SetEnabled -Sets the activation status of Radeon™ Super Resolution. - - -SetSharpness -Sets the Radeon™ Super Resolution sharpness. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the RSR C++ sample. - For a C application, refer to the RSR C sample. - -GetSharpness -GetSharpnessRange -IsEnabled -IsSupported -SetEnabled -SetSharpness - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.xml deleted file mode 100644 index 19675dd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_GetSharpness - GetSharpness - -Gets the Radeon™ Super Resolution current sharpness. - - -Gets the Radeon™ Super Resolution current sharpness. -Syntax - - - ADLX_RESULT GetSharpness (adlx_int* currentSharpness) - -Parameters - - - - -1. -[out] -currentSharpness -adlx_int* -The pointer to a variable where the current sharpness of Radeon Super Resolution is returned. - -
-
-
-
-
-Return Value - -If the current sharpness is successfully returned, ADLX_OK is returned. - If the current sharpness is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.xml deleted file mode 100644 index 7705813..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__get_sharpness_range.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_GetSharpnessRange - GetSharpnessRange - -Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness. - - -Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness. -Syntax - - - ADLX_RESULT GetSharpnessRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the sharpness range of Radeon Super Resolution is returned. - -
-
-
-
-
-Return Value - -If the sharpness range is successfully returned, ADLX_OK is returned. - If the sharpness range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum sharpness, minimum sharpness, and step sharpness values are read only. -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.xml deleted file mode 100644 index f64c862..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_IsEnabled - IsEnabled - -Checks if Radeon™ Super Resolution is enabled. - - -Checks if Radeon™ Super Resolution is enabled. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is true if Radeon Super Resolution is enabled. The variable is false if Radeon Super Resolution is not enabled. - -
-
-
-
-
-Return Value - -If the state of Radeon Super Resolution is successfully returned, ADLX_OK is returned. - If the state of Radeon Super Resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. - -Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. -On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.xml deleted file mode 100644 index ab8fd0d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_IsSupported - IsSupported - -Checks if Radeon™ Super Resolution is supported. - - -Checks if Radeon™ Super Resolution is supported. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is true if Radeon Super Resolution is supported. The variable is false if Radeon Super Resolution is not supported. - -
-
-
-
-
-Return Value - -If the state of Radeon Super Resolution is successfully returned, ADLX_OK is returned. - If the state of Radeon Super Resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.xml deleted file mode 100644 index 8dab545..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_SetEnabled - SetEnabled - -Sets the activation status of Radeon™ Super Resolution. - - -Sets the activation status of Radeon™ Super Resolution. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new Radeon Super Resolution state. Set true to enable Radeon Super Resolution. Set false to disable Radeon Super Resolution. - -
-
-
-
-
-Return Value - -If the state of Radeon Super Resolution is successfully set, ADLX_OK is returned. - If the state of Radeon Super Resolution is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. - -Note: GPU scaling is a requirement for Radeon Super Resolution. When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. -On some AMD GPUs, Radeon Super Resolution is mutually exclusive with AMD Radeon Chill, AMD Radeon Boost, AMD Radeon Image Sharpening, Integer Display Scaling, and Center Scaling. When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.xml deleted file mode 100644 index 6777eb7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_radeon_super_resolution__set_sharpness.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DRadeonSuperResolution_SetSharpness - SetSharpness - -Sets the Radeon™ Super Resolution sharpness. - - -Sets the Radeon™ Super Resolution sharpness. -Syntax - - - ADLX_RESULT SetSharpness (adlx_int sharpness) - -Parameters - - - - -1. -[in] -sharpness -adlx_int -The new sharpness of Radeon Super Resolution. - -
-
-
-
-
-Return Value - -If the sharpness is successfully set, ADLX_OK is returned. - If the sharpness is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Radeon Super Resolution is an upscaling feature for faster game frame rates. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.xml deleted file mode 100644 index 3f1046c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLX3DResetShaderCache - IADLX3DResetShaderCache - IsSupported - ResetShaderCache - - - -The IADLX3DResetShaderCache interface configures reset shader cache on a GPU. - -InterfaceId: -IADLX3DResetShaderCache - - -Smart Pointer Interface Name: -IADLX3DResetShaderCachePtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache. -Methods - - -Method -Description - - -IsSupported -Checks if resetting the shader cache of a GPU is supported. - - -ResetShaderCache -Resets the content in a disk-based shader cache on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ResetShaderCache C++ sample. - For a C application, refer to the ResetShaderCache C sample. - -IsSupported -ResetShaderCache - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.xml deleted file mode 100644 index 2325b8e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DResetShaderCache_IsSupported - IsSupported - -Checks if resetting the shader cache of a GPU is supported. - - -Checks if resetting the shader cache of a GPU is supported. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of shader cache reset is returned. The variable is true if shader cache reset is supported. The variable is false if shader cache reset is not supported. - -
-
-
-
-
-Return Value - -If the state of shader cache reset is successfully returned, ADLX_OK is returned. - If the state of shader cache reset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.xml deleted file mode 100644 index 409c173..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_reset_shader_cache__reset_shader_cache.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLX3DResetShaderCache_ResetShaderCache - ResetShaderCache - -Resets the content in a disk-based shader cache on a GPU. - - -Resets the content in a disk-based shader cache on a GPU. -Syntax - - - ADLX_RESULT ResetShaderCache () - -Parameters - -N/A -Return Value - -If the shader cache is successfully reset, ADLX_OK is returned. - If the shader cache is not successfully reset, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears the contents of the disk-based shader cache. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event.xml deleted file mode 100644 index 9b52bcd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent - IADLX3DSettingsChangedEvent - GetGPU - IsAnisotropicFilteringChanged - IsAntiAliasingChanged - IsAntiLagChanged - IsBoostChanged - IsChillChanged - IsEnhancedSyncChanged - IsFrameRateTargetControlChanged - IsImageSharpeningChanged - IsMorphologicalAntiAliasingChanged - IsRadeonSuperResolutionChanged - IsResetShaderCache - IsTessellationModeChanged - IsWaitForVerticalRefreshChanged - - - -The IADLX3DSettingsChangedEvent interface provides methods to check for changes to the 3D Graphics settings. - -InterfaceId: -IADLX3DSettingsChangedEvent - - -Smart Pointer Interface Name: -IADLX3DSettingsChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -NA - -
-
-Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings. -Methods - - -Method -Description - - -GetGPU -Gets the reference-counted GPU interface on which 3D Graphics settings are changed. - - -IsAnisotropicFilteringChanged -Checks for changes to the Anisotropic Filtering settings. - - -IsAntiAliasingChanged -Checks for changes to the Anti-Aliasing settings. - - -IsAntiLagChanged -Checks for changes to the AMD Radeon™ Anti-Lag settings. - - -IsBoostChanged -Checks for changes to the AMD Radeon™ Boost settings. - - -IsChillChanged -Checks for changes to the AMD Radeon™ Chill settings. - - -IsEnhancedSyncChanged -Checks for changes to the AMD Radeon™ Enhanced Sync settings. - - -IsFrameRateTargetControlChanged -Checks for changes to the AMD Frame Rate Target Control settings. - - -IsImageSharpeningChanged -Checks for changes to the AMD Radeon Image Sharpening settings. - - -IsMorphologicalAntiAliasingChanged -Checks for changes to the Morphological Anti-Aliasing settings. - - -IsRadeonSuperResolutionChanged -Checks for changes to the Radeon™ Super Resolution settings. - - -IsResetShaderCache -Checks if shader cache is reset. - - -IsTessellationModeChanged -Checks for changes to the Tessellation settings. - - -IsWaitForVerticalRefreshChanged -Checks for changes to the Wait for Vertical Refresh settings. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample. - For a C application, refer to the Sync3DReceive C sample. - -GetGPU -IsAnisotropicFilteringChanged -IsAntiAliasingChanged -IsAntiLagChanged -IsBoostChanged -IsChillChanged -IsEnhancedSyncChanged -IsFrameRateTargetControlChanged -IsImageSharpeningChanged -IsMorphologicalAntiAliasingChanged -IsRadeonSuperResolutionChanged -IsResetShaderCache -IsTessellationModeChanged -IsWaitForVerticalRefreshChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.xml deleted file mode 100644 index 4bfa8c3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__get_g_p_u.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_GetGPU - GetGPU - -Gets the reference-counted GPU interface on which 3D Graphics settings are changed. - - -Gets the reference-counted GPU interface on which 3D Graphics settings are changed. -Syntax - - - ADLX_RESULT GetGPU (IADLXGPU **ppGPU) - -Parameters - - - - -1. -[out] -ppGPU -IADLXGPU** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr. - -
-
-
-
-
-Return Value - -If the GPU interface is successfully returned, ADLX_OK is returned. - If the GPU interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.xml deleted file mode 100644 index 926c0af..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anisotropic_filtering_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsAnisotropicFilteringChanged - IsAnisotropicFilteringChanged - -Checks for changes to the Anisotropic Filtering settings. - - -Checks for changes to the Anisotropic Filtering settings. -Syntax - - - adlx_bool IsAnisotropicFilteringChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Anisotropic Filtering settings, true is returned. - If there are on changes to the Anisotropic Filtering settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.xml deleted file mode 100644 index 22b6b9a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_aliasing_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsAntiAliasingChanged - IsAntiAliasingChanged - -Checks for changes to the Anti-Aliasing settings. - - -Checks for changes to the Anti-Aliasing settings. -Syntax - - - adlx_bool IsAntiAliasingChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Anti-Aliasing settings, true is returned. - If there are on changes to the Anti-Aliasing settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.xml deleted file mode 100644 index 0b804ea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_anti_lag_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsAntiLagChanged - IsAntiLagChanged - -Checks for changes to the AMD Radeon™ Anti-Lag settings. - - -Checks for changes to the AMD Radeon™ Anti-Lag settings. -Syntax - - - adlx_bool IsAntiLagChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Radeon Anti-Lag settings, true is returned. - If there are on changes to the Radeon Anti-Lag settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.xml deleted file mode 100644 index 0d258f7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_boost_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsBoostChanged - IsBoostChanged - -Checks for changes to the AMD Radeon™ Boost settings. - - -Checks for changes to the AMD Radeon™ Boost settings. -Syntax - - - adlx_bool IsBoostChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the AMD Radeon Boost settings, true is returned. - If there are on changes to the AMD Radeon Boost settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.xml deleted file mode 100644 index 47178e7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_chill_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsChillChanged - IsChillChanged - -Checks for changes to the AMD Radeon™ Chill settings. - - -Checks for changes to the AMD Radeon™ Chill settings. -Syntax - - - adlx_bool IsChillChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the AMD Radeon Chill settings, true is returned. - If there are on changes to the AMD Radeon Chill settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.xml deleted file mode 100644 index 51c0473..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_enhanced_sync_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsEnhancedSyncChanged - IsEnhancedSyncChanged - -Checks for changes to the AMD Radeon™ Enhanced Sync settings. - - -Checks for changes to the AMD Radeon™ Enhanced Sync settings. -Syntax - - - adlx_bool IsEnhancedSyncChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the AMD Radeon Enhanced Sync settings, true is returned. - If there are on changes to the AMD Radeon Enhanced Sync settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.xml deleted file mode 100644 index 756d9a1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_frame_rate_target_control_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsFrameRateTargetControlChanged - IsFrameRateTargetControlChanged - -Checks for changes to the AMD Frame Rate Target Control settings. - - -Checks for changes to the AMD Frame Rate Target Control settings. -Syntax - - - adlx_bool IsFrameRateTargetControlChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the AMD Frame Rate Target Control settings, true is returned. - If there are on changes to the AMD Frame Rate Target Control settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.xml deleted file mode 100644 index 477ccee..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_image_sharpening_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsImageSharpeningChanged - IsImageSharpeningChanged - -Checks for changes to the AMD Radeon Image Sharpening settings. - - -Checks for changes to the AMD Radeon Image Sharpening settings. -Syntax - - - adlx_bool IsImageSharpeningChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Radeon Image Sharpening settings, true is returned. - If there are on changes to the Radeon Image Sharpening settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.xml deleted file mode 100644 index 1031b4c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_morphological_anti_aliasing_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsMorphologicalAntiAliasingChanged - IsMorphologicalAntiAliasingChanged - -Checks for changes to the Morphological Anti-Aliasing settings. - - -Checks for changes to the Morphological Anti-Aliasing settings. -Syntax - - - adlx_bool IsMorphologicalAntiAliasingChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Morphological Anti-Aliasing settings, true is returned. - If there are on changes to the Morphological Anti-Aliasing settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.xml deleted file mode 100644 index 6ca5ead..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_radeon_super_resolution_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsRadeonSuperResolutionChanged - IsRadeonSuperResolutionChanged - -Checks for changes to the Radeon™ Super Resolution settings. - - -Checks for changes to the Radeon™ Super Resolution settings. -Syntax - - - adlx_bool IsRadeonSuperResolutionChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Radeon Super Resolution settings, true is returned. - If there are no changes to the Radeon Super Resolution settings, false is returned. - -Additional Info - -Note: Radeon Super Resolution settings are global for all the supported GPUs. For this event notification, GetGPU returns nullpr. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.xml deleted file mode 100644 index 6f06ee4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_reset_shader_cache.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsResetShaderCache - IsResetShaderCache - -Checks if shader cache is reset. - - -Checks if shader cache is reset. -Syntax - - - adlx_bool IsResetShaderCache () - -Parameters - -N/A -Return Value - -If shader cache settings is reset, true is returned. - If shader cache settings is not reset, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.xml deleted file mode 100644 index a7f46db..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_tessellation_mode_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsTessellationModeChanged - IsTessellationModeChanged - -Checks for changes to the Tessellation settings. - - -Checks for changes to the Tessellation settings. -Syntax - - - adlx_bool IsTessellationModeChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Tessellation settings, true is returned. - If there are no changes to the Tessellation settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.xml deleted file mode 100644 index a4c09a4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_event__is_wait_for_vertical_refresh_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedEvent_IsWaitForVerticalRefreshChanged - IsWaitForVerticalRefreshChanged - -Checks for changes to the Wait for Vertical Refresh settings. - - -Checks for changes to the Wait for Vertical Refresh settings. -Syntax - - - adlx_bool IsWaitForVerticalRefreshChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the Wait for Vertical Refresh settings, true is returned. - If there are on changes to the Wait for Vertical Refresh settings, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.xml deleted file mode 100644 index cad968e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedHandling - IADLX3DSettingsChangedHandling - Add3DSettingsEventListener - Remove3DSettingsEventListener - - - -The IADLX3DSettingsChangedHandling interface allows registering and unregistering for notifications when 3D Graphics settings change. - -InterfaceId: -IADLX3DSettingsChangedHandling - - -Smart Pointer Interface Name: -IADLX3DSettingsChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add3DSettingsEventListener -Registers an event listener for notifications when 3D Graphics settings change. - - -Remove3DSettingsEventListener -Unregisters an event listener from 3D Graphics settings event list. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample. - For a C application, refer to the Sync3DReceive C sample. - -Add3DSettingsEventListener -Remove3DSettingsEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.xml deleted file mode 100644 index 4ec31d4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__add3_d_settings_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener - Add3DSettingsEventListener - -Registers an event listener for notifications when 3D Graphics settings change. - - -Registers an event listener for notifications when 3D Graphics settings change. -Syntax - - - ADLX_RESULT Add3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) - -Parameters - - - - -1. -[in] -p3DSettingsChangedListener -IADLX3DSettingsChangedListener* -The pointer to the event listener interface to register for receiving 3D Graphics settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call On3DSettingsChanged method of the listener when 3D Graphics settings change. - The event listener instance must exist until the application unregisters the event listener with Remove3DSettingsEventListener. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.xml deleted file mode 100644 index 64c40be..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_handling__remove3_d_settings_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener - Remove3DSettingsEventListener - -Unregisters an event listener from 3D Graphics settings event list. - - -Unregisters an event listener from 3D Graphics settings event list. -Syntax - - - ADLX_RESULT Remove3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) - -Parameters - - - - -1. -[in] -p3DSettingsChangedListener -IADLX3DSettingsChangedListener* -The pointer to the event listener interface to unregister from receiving 3D Graphics settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call On3DSettingsChanged method of the listener when 3D Graphics settings change. The application can discard the event listener instance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.xml deleted file mode 100644 index 93214ec..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedListener - IADLX3DSettingsChangedListener - On3DSettingsChanged - - - -The IADLX3DSettingsChangedListener interface is implemented in the application to receive an event from ADLX when 3D Graphics settings change. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLX3DSettingsChangedListener interface must be passed to Add3DSettingsEventListener to register for notifications when 3D Graphics settings change. - For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -On3DSettingsChanged -On3DSettingsChanged is called by ADLX when 3D Graphics settings change. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Sync3DReceive C++ sample. - For a C application, refer to the Sync3DReceive C sample. - -On3DSettingsChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.xml deleted file mode 100644 index 9f933ac..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_changed_listener__on3_d_settings_changed.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged - On3DSettingsChanged - -On3DSettingsChanged is called by ADLX when 3D Graphics settings change. - - -On3DSettingsChanged is called by ADLX when 3D Graphics settings change. -Syntax - - - adlx_bool On3DSettingsChanged (IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) - -Parameters - - - - -1. -[in] -p3DSettingsChangedEvent -IADLX3DSettingsChangedEvent* -The pointer to a 3D Graphics settings change event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with Add3DSettingsEventListener, ADLX will call this method until the application unregisters from the notifications with Remove3DSettingsEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D Graphics settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D Graphics settings change event with Release. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services.xml deleted file mode 100644 index 72b3fdd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - DOX_IADLX3DSettingsServices - IADLX3DSettingsServices - Get3DSettingsChangedHandling - GetAnisotropicFiltering - GetAntiAliasing - GetAntiLag - GetBoost - GetChill - GetEnhancedSync - GetFrameRateTargetControl - GetImageSharpening - GetMorphologicalAntiAliasing - GetRadeonSuperResolution - GetResetShaderCache - GetTessellation - GetWaitForVerticalRefresh - - - -The IADLX3DSettingsServices interface is the main interface for the 3D Graphics domain. It provides access to interfaces that control specific 3D Graphics settings features, such as AMD Radeon™ Anti-Lag, AMD Radeon™ Chill, AMD Radeon™ Boost, and AMD Radeon Image Sharpening. - -InterfaceId: -IADLX3DSettingsServices - - -Smart Pointer Interface Name: -IADLX3DSettingsServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -NA - -
-
-Methods - - -Method -Description - - -Get3DSettingsChangedHandling -Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change. - - -GetAnisotropicFiltering -Gets the reference-counted Anisotropic Filtering interface of a GPU. - - -GetAntiAliasing -Gets the reference-counted Anti-Aliasing interface of a GPU. - - -GetAntiLag -Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU. - - -GetBoost -Gets the reference-counted AMD Radeon™ Boost interface of a GPU. - - -GetChill -Gets the reference-counted AMD Radeon™ Chill interface of a GPU. - - -GetEnhancedSync -Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU. - - -GetFrameRateTargetControl -Gets the reference-counted AMD Frame Rate Target Control interface of a GPU. - - -GetImageSharpening -Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU. - - -GetMorphologicalAntiAliasing -Gets the reference-counted Morphological Anti-Aliasing interface of a GPU. - - -GetRadeonSuperResolution -Gets the reference-counted Radeon™ Super Resolution interface. - - -GetResetShaderCache -Gets the reference-counted Reset Shader Cache interface of a GPU. - - -GetTessellation -Gets the reference-counted Tessellation interface of a GPU. - - -GetWaitForVerticalRefresh -Gets the reference-counted Wait for Vertical Refresh interface of a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Boost C++ sample. - For a C application, refer to the Boost C sample. - -Get3DSettingsChangedHandling -GetAnisotropicFiltering -GetAntiAliasing -GetAntiLag -GetBoost -GetChill -GetEnhancedSync -GetFrameRateTargetControl -GetImageSharpening -GetMorphologicalAntiAliasing -GetRadeonSuperResolution -GetResetShaderCache -GetTessellation -GetWaitForVerticalRefresh - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.xml deleted file mode 100644 index 640bca9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get3_d_settings_changed_handling.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_Get3DSettingsChangedHandling - Get3DSettingsChangedHandling - -Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change. - - -Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change. -Syntax - - - ADLX_RESULT Get3DSettingsChangedHandling (IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling) - -Parameters - - - - -1. -[out] -pp3DSettingsChangedHandling -IADLX3DSettingsChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DSettingsChangedHandling tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.xml deleted file mode 100644 index 9f3e53c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anisotropic_filtering.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetAnisotropicFiltering - GetAnisotropicFiltering - -Gets the reference-counted Anisotropic Filtering interface of a GPU. - - -Gets the reference-counted Anisotropic Filtering interface of a GPU. -Syntax - - - ADLX_RESULT GetAnisotropicFiltering (IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DAnisotropicFiltering -IADLX3DAnisotropicFiltering** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DAnisotropicFiltering tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.xml deleted file mode 100644 index 4bbdaad..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_aliasing.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetAntiAliasing - GetAntiAliasing - -Gets the reference-counted Anti-Aliasing interface of a GPU. - - -Gets the reference-counted Anti-Aliasing interface of a GPU. -Syntax - - - ADLX_RESULT GetAntiAliasing (IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DAntiAliasing -IADLX3DAntiAliasing** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DAntiAliasing tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.xml deleted file mode 100644 index bd0618f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_anti_lag.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetAntiLag - GetAntiLag - -Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU. - - -Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU. -Syntax - - - ADLX_RESULT GetAntiLag (IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DAntiLag -IADLX3DAntiLag** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DAntiLag tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.xml deleted file mode 100644 index 3ce390b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_boost.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetBoost - GetBoost - -Gets the reference-counted AMD Radeon™ Boost interface of a GPU. - - -Gets the reference-counted AMD Radeon™ Boost interface of a GPU. -Syntax - - - ADLX_RESULT GetBoost (IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DBoost -IADLX3DBoost** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DBoost tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.xml deleted file mode 100644 index 0c18068..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_chill.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetChill - GetChill - -Gets the reference-counted AMD Radeon™ Chill interface of a GPU. - - -Gets the reference-counted AMD Radeon™ Chill interface of a GPU. -Syntax - - - ADLX_RESULT GetChill (IADLXGPU* pGPU, IADLX3DChill** pp3DChill) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DChill -IADLX3DChill** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DChill tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.xml deleted file mode 100644 index 715be30..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_enhanced_sync.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetEnhancedSync - GetEnhancedSync - -Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU. - - -Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU. -Syntax - - - ADLX_RESULT GetEnhancedSync (IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DEnhancedSync -IADLX3DEnhancedSync** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DEnhancedSync tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.xml deleted file mode 100644 index b7cd14b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_frame_rate_target_control.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetFrameRateTargetControl - GetFrameRateTargetControl - -Gets the reference-counted AMD Frame Rate Target Control interface of a GPU. - - -Gets the reference-counted AMD Frame Rate Target Control interface of a GPU. -Syntax - - - ADLX_RESULT GetFrameRateTargetControl (IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DFrameRateTargetControl -IADLX3DFrameRateTargetControl** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DFrameRateTargetControl tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.xml deleted file mode 100644 index ff9867e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_image_sharpening.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetImageSharpening - GetImageSharpening - -Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU. - - -Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU. -Syntax - - - ADLX_RESULT GetImageSharpening (IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DImageSharpening -IADLX3DImageSharpening** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DImageSharpening tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.xml deleted file mode 100644 index 05b018e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_morphological_anti_aliasing.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetMorphologicalAntiAliasing - GetMorphologicalAntiAliasing - -Gets the reference-counted Morphological Anti-Aliasing interface of a GPU. - - -Gets the reference-counted Morphological Anti-Aliasing interface of a GPU. -Syntax - - - ADLX_RESULT GetMorphologicalAntiAliasing (IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DMorphologicalAntiAliasing -IADLX3DMorphologicalAntiAliasing** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DMorphologicalAntiAliasing tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.xml deleted file mode 100644 index db2d524..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_radeon_super_resolution.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetRadeonSuperResolution - GetRadeonSuperResolution - -Gets the reference-counted Radeon™ Super Resolution interface. - - -Gets the reference-counted Radeon™ Super Resolution interface. -Syntax - - - ADLX_RESULT GetRadeonSuperResolution (IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution) - -Parameters - - - - -1. -[out] -pp3DRadeonSuperResolution -IADLX3DRadeonSuperResolution** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DRadeonSuperResolution tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.xml deleted file mode 100644 index 8698331..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_reset_shader_cache.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetResetShaderCache - GetResetShaderCache - -Gets the reference-counted Reset Shader Cache interface of a GPU. - - -Gets the reference-counted Reset Shader Cache interface of a GPU. -Syntax - - - ADLX_RESULT GetResetShaderCache (IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DResetShaderCache -IADLX3DResetShaderCache** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DResetShaderCache tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.xml deleted file mode 100644 index fbbcd51..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_tessellation.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetTessellation - GetTessellation - -Gets the reference-counted Tessellation interface of a GPU. - - -Gets the reference-counted Tessellation interface of a GPU. -Syntax - - - ADLX_RESULT GetTessellation (IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DTessellation -IADLX3DTessellation** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DTessellation tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.xml deleted file mode 100644 index 0b2df99..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_settings_services__get_wait_for_vertical_refresh.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLX3DSettingsServices_GetWaitForVerticalRefresh - GetWaitForVerticalRefresh - -Gets the reference-counted Wait for Vertical Refresh interface of a GPU. - - -Gets the reference-counted Wait for Vertical Refresh interface of a GPU. -Syntax - - - ADLX_RESULT GetWaitForVerticalRefresh (IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -pp3DWaitForVerticalRefresh -IADLX3DWaitForVerticalRefresh** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*pp3DWaitForVerticalRefresh tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation.xml deleted file mode 100644 index b496f9c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - DOX_IADLX3DTessellation - IADLX3DTessellation - GetLevel - GetMode - IsSupported - SetLevel - SetMode - - - -The IADLX3DTessellation interface configures the tessellation settings of a GPU. - -InterfaceId: -IADLX3DTessellation - - -Smart Pointer Interface Name: -IADLX3DTessellationPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Methods - - -Method -Description - - -GetLevel -Gets the current tessellation level on a GPU. - - -GetMode -Gets the current tessellation mode on a GPU. - - -IsSupported -Checks if tessellation is supported on a GPU. - - -SetLevel -Sets the tessellation level on a GPU. - - -SetMode -Sets the tessellation mode on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Tessellation C++ sample. - For a C application, refer to the Tessellation C sample. - -GetLevel -GetMode -IsSupported -SetLevel -SetMode - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.xml deleted file mode 100644 index e782056..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_level.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DTessellation_GetLevel - GetLevel - -Gets the current tessellation level on a GPU. - - -Gets the current tessellation level on a GPU. -Syntax - - - ADLX_RESULT GetLevel (ADLX_TESSELLATION_LEVEL* currentLevel) - -Parameters - - - - -1. -[out] -currentLevel -ADLX_TESSELLATION_LEVEL* -The pointer to a variable where the current tessellation level is returned. - -
-
-
-
-
-Return Value - -If the current tessellation level is successfully returned, ADLX_OK is returned. - If the current tessellation level is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.xml deleted file mode 100644 index 6cac6c4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__get_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DTessellation_GetMode - GetMode - -Gets the current tessellation mode on a GPU. - - -Gets the current tessellation mode on a GPU. -Syntax - - - ADLX_RESULT GetMode (ADLX_TESSELLATION_MODE* currentMode) - -Parameters - - - - -1. -[out] -currentMode -ADLX_TESSELLATION_MODE* -The pointer to a variable where the current tessellation mode is returned. - -
-
-
-
-
-Return Value - -If the current tessellation mode is successfully returned, ADLX_OK is returned. - If the current tessellation mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.xml deleted file mode 100644 index 1320e63..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DTessellation_IsSupported - IsSupported - -Checks if tessellation is supported on a GPU. - - -Checks if tessellation is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of tessellation is returned. The variable is true if tessellation is supported. The variable is false if tessellation is not supported. - -
-
-
-
-
-Return Value - -If the state of tessellation is successfully returned, ADLX_OK is returned. - If the state of tessellation is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.xml deleted file mode 100644 index 331b659..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_level.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DTessellation_SetLevel - SetLevel - -Sets the tessellation level on a GPU. - - -Sets the tessellation level on a GPU. -Syntax - - - ADLX_RESULT SetLevel (ADLX_TESSELLATION_LEVEL level) - -Parameters - - - - -1. -[in] -level -ADLX_TESSELLATION_LEVEL -The new tessellation level. - -
-
-
-
-
-Return Value - -If the tessellation level is successfully set, ADLX_OK is returned. - If the tessellation level is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.xml deleted file mode 100644 index c883244..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_tessellation__set_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLX3DTessellation_SetMode - SetMode - -Sets the tessellation mode on a GPU. - - -Sets the tessellation mode on a GPU. -Syntax - - - ADLX_RESULT SetMode (ADLX_TESSELLATION_MODE mode) - -Parameters - - - - -1. -[in] -mode -ADLX_TESSELLATION_MODE -The new tessellation mode. - -
-
-
-
-
-Return Value - -If the tesssellation mode is successfully set, ADLX_OK is returned. - If the tessellation mode is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.xml deleted file mode 100644 index a44aa8d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - DOX_IADLX3DWaitForVerticalRefresh - IADLX3DWaitForVerticalRefresh - GetMode - IsEnabled - IsSupported - SetMode - - - -The IADLX3DWaitForVerticalRefresh interface configures the vertical refresh (VSync) settings of a GPU. - -InterfaceId: -IADLX3DWaitForVerticalRefresh - - -Smart Pointer Interface Name: -IADLX3DWaitForVerticalRefreshPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames. - Limits the frame rate at the display’s refresh rate. - -Dependent Interfaces - -Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync. - If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled. - If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. -Methods - - -Method -Description - - -GetMode -Gets the current VSync mode on a GPU. - - -IsEnabled -Checks if VSync is enabled on a GPU. - - -IsSupported -Checks if VSync is supported on a GPU. - - -SetMode -Sets the VSync mode on a GPU. - -
-
-Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the WaitForVerticalRefresh C++ sample. - For a C application, refer to the WaitForVerticalRefresh C sample. - -GetMode -IsEnabled -IsSupported -SetMode - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.xml deleted file mode 100644 index b77df9d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__get_mode.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DWaitForVerticalRefresh_GetMode - GetMode - -Gets the current VSync mode on a GPU. - - -Gets the current VSync mode on a GPU. -Syntax - - - ADLX_RESULT GetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode) - -Parameters - - - - -1. -[out] -currentMode -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* -The pointer to a variable where the current VSync mode is returned. - -
-
-
-
-
-Return Value - -If the current VSync mode is successfully returned, ADLX_OK is returned. - If the current VSync mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames. - Limits the frame rate at the display’s refresh rate. - Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync. - If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled. - If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.xml deleted file mode 100644 index 9f881e9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_enabled.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DWaitForVerticalRefresh_IsEnabled - IsEnabled - -Checks if VSync is enabled on a GPU. - - -Checks if VSync is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of VSync is returned. The variable is true if VSync is enabled. The variable is false if VSync is not enabled. - -
-
-
-
-
-Return Value - -If the state of VSync is successfully returned, ADLX_OK is returned. - If the state of VSync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames. - Limits the frame rate at the display’s refresh rate. - Note: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync. - If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled. - If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.xml deleted file mode 100644 index 20e0000..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__is_supported.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLX3DWaitForVerticalRefresh_IsSupported - IsSupported - -Checks if VSync is supported on a GPU. - - -Checks if VSync is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of VSync is returned. The variable is true if VSync is supported. The variable is false if VSync is not supported. - -
-
-
-
-
-Return Value - -If the state of VSync is successfully returned, ADLX_OK is returned. - If the state of VSync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames. - Limits the frame rate at the display’s refresh rate. - -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.xml deleted file mode 100644 index af4d061..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x3_d_wait_for_vertical_refresh__set_mode.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLX3DWaitForVerticalRefresh_SetMode - SetMode - -Sets the VSync mode on a GPU. - - -Sets the VSync mode on a GPU. -Syntax - - - ADLX_RESULT SetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode) - -Parameters - - - - -1. -[in] -mode -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE -The new VSync mode. - -
-
-
-
-
-Return Value - -If the VSync mode is successfully set, ADLX_OK is returned. - If the VSync mode is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames. - Limits the frame rate at the display’s refresh rate. - Note: VSync configuration affects the state of AMD Radeon™ Enhanced Sync. - If VSync is enabled, AMD Radeon Enhanced Sync is automatically disabled. - If VSync is disabled, AMD Radeon Enhanced Sync is automatically enabled. -Requirements - - -Header -include "I3DSettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics.xml deleted file mode 100644 index d78cf73..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXAllMetrics - IADLXAllMetrics - GetFPS - GetGPUMetrics - GetSystemMetrics - TimeStamp - - - -The IADLXALLMetrics interface provides methods to access the GPU metrics, system metrics and FPS of a metric sample. - -InterfaceId: -IADLXAllMetrics - - -Smart Pointer Interface Name: -IADLXAllMetricsPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetFPS -Gets the reference counted FPS metrics interface of a metric sample. - - -GetGPUMetrics -Gets the reference counted GPU metrics interface of a metric sample. - - -GetSystemMetrics -Gets the reference counted system metrics interface of a metric sample. - - -TimeStamp -Gets the timestamp of a metric sample. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfAllMetrics C++ sample. - For a C application, refer to the PerfAllMetrics C sample. - -GetFPS -GetGPUMetrics -GetSystemMetrics -TimeStamp - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.xml deleted file mode 100644 index 12953c7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_f_p_s.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXAllMetrics_GetFPS - GetFPS - -Gets the reference counted FPS metrics interface of a metric sample. - - -Gets the reference counted FPS metrics interface of a metric sample. -Syntax - - - ADLX_RESULT GetFPS (IADLXFPS** ppFPS) - -Parameters - - - - -1. -[out] -ppFPS -IADLXFPS** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppFPS to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.xml deleted file mode 100644 index 7157577..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_g_p_u_metrics.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXAllMetrics_GetGPUMetrics - GetGPUMetrics - -Gets the reference counted GPU metrics interface of a metric sample. - - -Gets the reference counted GPU metrics interface of a metric sample. -Syntax - - - ADLX_RESULT GetGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppGPUMetrics) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to a variable where IADLXGPU interface is returned. - -
-
-
-
- - - -2. -[out] -ppGPUMetrics -IADLXGPUMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.xml deleted file mode 100644 index f8bec7f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__get_system_metrics.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXAllMetrics_GetSystemMetrics - GetSystemMetrics - -Gets the reference counted system metrics interface of a metric sample. - - -Gets the reference counted system metrics interface of a metric sample. -Syntax - - - ADLX_RESULT GetSystemMetrics (IADLXSystemMetrics** ppSystemMetrics) - -Parameters - - - - -1. -[out] -ppSystemMetrics -IADLXSystemMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSystemMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.xml deleted file mode 100644 index 15925d2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics__time_stamp.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXAllMetrics_TimeStamp - TimeStamp - -Gets the timestamp of a metric sample. - - -Gets the timestamp of a metric sample. -Syntax - - - ADLX_RESULT TimeStamp (adlx_int64* ms) - -Parameters - - - - -1. -[out] -ms -adlx_int64* -The pointer to a variable where the timestamp (in ms) is returned. - -
-
-
-
-
-Return Value - -If the timestamp is successfully returned, ADLX_OK is returned. - If the timestamp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list.xml deleted file mode 100644 index 3f5c212..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXAllMetricsList - IADLXAllMetricsList - Add_Back - At - - - -The IADLXAllMetricsList is an interface for a collection of IADLXAllMetrics interfaces that can be accessed by location. - -InterfaceId: -IADLXAllMetricsList - - -Smart Pointer Interface Name: -IADLXAllMetricsListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfAllMetrics C++ sample. - For a C application, refer to the PerfAllMetrics C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.xml deleted file mode 100644 index c590024..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__add__back.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - DOX_IADLXAllMetricsList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXAllMetrics* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXAllMetrics* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__at.xml deleted file mode 100644 index 12d92ed..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_all_metrics_list__at.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXAllMetricsList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXAllMetrics** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXAllMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event.xml deleted file mode 100644 index 8e5e3a3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXChangedEvent - IADLXChangedEvent - GetOrigin - - - -The IADLXChangedEvent interface provides methods to check for changes to the settings monitored by this application using ADLX. - -InterfaceId: -IADLXChangedEvent - - -Smart Pointer Interface Name: -IADLXChangedEventPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLX3DSettingsChangedEvent IADLXDisplayGamutChangedEvent IADLXDisplayGammaChangedEvent IADLXDisplay3DLUTChangedEvent IADLXDisplaySettingsChangedEvent IADLXGPUTuningChangedEvent IADLXPowerTuningChangedEvent - -
-
-Methods - - -Method -Description - - -GetOrigin -Gets the origin of an event. - -
-
-Requirements - - -Header -include "IADLXChangedEvent.h" - - -Minimum version -1.0 - -
-
- -GetOrigin - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event__get_origin.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event__get_origin.xml deleted file mode 100644 index 122fd3f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_changed_event__get_origin.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - DOX_IADLXChangedEvent_GetOrigin - GetOrigin - -Gets the origin of an event. - - -Gets the origin of an event. -Syntax - - - ADLX_SYNC_ORIGIN GetOrigin () - -Parameters - -N/A -Return Value - -If the event is triggered by a change in settings using ADLX in this application, SYNC_ORIGIN_INTERNAL is returned. - If the event is triggered by a change in settings using ADLX in another application, SYNC_ORIGIN_EXTERNAL is returned. - If the event has an unknown trigger, SYNC_ORIGIN_UNKNOWN is returned. - -Requirements - - -Header -include "IADLXChangedEvent.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop.xml deleted file mode 100644 index 6c24ea3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - DOX_IADLXDesktop - IADLXDesktop - GetDisplays - GetNumberOfDisplays - Orientation - Size - TopLeft - Type - - - -The IADLXDesktop interface provides properties of a desktop, such as size, location, and displays associated with it. - -InterfaceId: -IADLXDesktop - - -Smart Pointer Interface Name: -IADLXDesktopPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-To get the IADLXDesktop, an application should get a list of desktops first via IADLXDesktopServices interface. -Methods - - -Method -Description - - -GetDisplays -Gets the reference counted list of displays that show pixels from a desktop. - - -GetNumberOfDisplays -Gets the number of displays that show pixels from a desktop. - - -Orientation -Gets the orientation of a desktop. - - -Size -Gets the size of a desktop. - - -TopLeft -Get the top left position of a desktop in Windows screen coordinates. - - -Type -Get the type of a desktop. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample. - For a C application, refer to the DesktopsEvent C sample. - -GetDisplays -GetNumberOfDisplays -Orientation -Size -TopLeft -Type - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_displays.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_displays.xml deleted file mode 100644 index 1268bbd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_displays.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXDesktop_GetDisplays - GetDisplays - -Gets the reference counted list of displays that show pixels from a desktop. - - -Gets the reference counted list of displays that show pixels from a desktop. -Syntax - - - ADLX_RESULT GetDisplays (IADLXDisplayList** ppDisplays) - -Parameters - - - - -1. -[out] -ppDisplays -IADLXDisplayList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplays to nullptr. - -
-
-
-
-
-Return Value - -If the list of displays is successfully returned, ADLX_OK is returned. - If the list of displays is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.xml deleted file mode 100644 index d7cfe68..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__get_number_of_displays.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXDesktop_GetNumberOfDisplays - GetNumberOfDisplays - -Gets the number of displays that show pixels from a desktop. - - -Gets the number of displays that show pixels from a desktop. -Syntax - - - ADLX_RESULT GetNumberOfDisplays (adlx_uint* numDisplays) - -Parameters - - - - -1. -[out] -numDisplays -adlx_uint* -The pointer to a variable where the number of displays is returned. - -
-
-
-
-
-Return Value - -If the number of displays is successfully returned, ADLX_OK is returned. - If the number of displays is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The number of displays that show pixels from a desktop depends on the desktop Type. - A single desktop is associated with one display. - A duplicate desktop is associated with two or more displays. - An AMD Eyefinity desktop is associated with two or more displays. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__orientation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__orientation.xml deleted file mode 100644 index 536ea1f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__orientation.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDesktop_Orientation - Orientation - -Gets the orientation of a desktop. - - -Gets the orientation of a desktop. -Syntax - - - ADLX_RESULT Orientation (ADLX_ORIENTATION* orientation) - -Parameters - - - - -1. -[out] -orientation -ADLX_ORIENTATION* -The pointer to a variable where the orientation is returned. - -
-
-
-
-
-Return Value - -If the orientation is successfully returned, ADLX_OK is returned. - If the orientation is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The desktop orientation indicates the rotation angle of the desktop. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__size.xml deleted file mode 100644 index 2b10357..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__size.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDesktop_Size - Size - -Gets the size of a desktop. - - -Gets the size of a desktop. -Syntax - - - ADLX_RESULT Size (adlx_int* width, adlx_int* height) - -Parameters - - - - -1. -[out] -width -adlx_int* -The pointer to a variable where the width is returned. - -
-
-
-
- - - -2. -[out] -height -adlx_int* -The pointer to a variable where the height is returned. - -
-
-
-
-
-Return Value - -If the width and height are successfully returned, ADLX_OK is returned. - If the width and height are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The desktop size represents the pixel resolution of the desktop. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__top_left.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__top_left.xml deleted file mode 100644 index e75a756..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__top_left.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDesktop_TopLeft - TopLeft - -Get the top left position of a desktop in Windows screen coordinates. - - -Get the top left position of a desktop in Windows screen coordinates. -Syntax - - - ADLX_RESULT TopLeft (ADLX_Point* locationTopLeft) - -Parameters - - - - -1. -[out] -locationTopLeft -ADLX_Point* -The pointer to a variable where the top left position is returned. - -
-
-
-
-
-Return Value - -If the top left position is successfully returned, ADLX_OK is returned. - If the top left position is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The desktop top left position is measured in screen coordinates. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__type.xml deleted file mode 100644 index 35319ff..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop__type.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDesktop_Type - Type - -Get the type of a desktop. - - -Get the type of a desktop. -Syntax - - - ADLX_RESULT Type (ADLX_DESKTOP_TYPE* desktopType) - -Parameters - - - - -1. -[out] -desktopType -ADLX_DESKTOP_TYPE* -The pointer to a variable where the desktop type is returned. - -
-
-
-
-
-Return Value - -If the desktop type is successfully returned, ADLX_OK is returned. - If the desktop type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The desktop type indicates if the desktop is single, duplicate or AMD Eyefinity. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling.xml deleted file mode 100644 index b928154..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXDesktopChangedHandling - IADLXDesktopChangedHandling - AddDesktopListEventListener - RemoveDesktopListEventListener - - - -The IADLXDesktopChangedHandling interface allows registering and unregistering for notifications when the desktop list changes. - -InterfaceId: -IADLXDesktopChangedHandling - - -Smart Pointer Interface Name: -IADLXDesktopChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -AddDesktopListEventListener -Registers an event listener for notifications when the desktop list changes. - - -RemoveDesktopListEventListener -Unregisters an event listener from notifications when the desktop list changes. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample. - For a C application, refer to the DesktopsEvent C sample. - -AddDesktopListEventListener -RemoveDesktopListEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.xml deleted file mode 100644 index 2121fbd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__add_desktop_list_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDesktopChangedHandling_AddDesktopListEventListener - AddDesktopListEventListener - -Registers an event listener for notifications when the desktop list changes. - - -Registers an event listener for notifications when the desktop list changes. -Syntax - - - ADLX_RESULT AddDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener) - -Parameters - - - - -1. -[in] -pDesktopListChangedListener -IADLXDesktopListChangedListener* -The pointer to the event listener interface to register for receiving the desktop list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDesktopListChanged of the listener when the desktop list changes. - The event listener instance must exist until the application unregisters the event listener with RemoveDesktopListEventListener. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.xml deleted file mode 100644 index 3e474de..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_changed_handling__remove_desktop_list_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener - RemoveDesktopListEventListener - -Unregisters an event listener from notifications when the desktop list changes. - - -Unregisters an event listener from notifications when the desktop list changes. -Syntax - - - ADLX_RESULT RemoveDesktopListEventListener (IADLXDesktopListChangedListener* pDesktopListChangedListener) - -Parameters - - - - -1. -[in] -pDesktopListChangedListener -IADLXDesktopListChangedListener* -The pointer to the event listener interface to unregister from receiving the desktop list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDesktopListChanged method of the listener when the desktop list changes. The application can discard the event listener instance. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list.xml deleted file mode 100644 index fee797b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXDesktopList - IADLXDesktopList - Add_Back - At - - - -The IADLXDesktopList is an interface for a collection of IADLXDesktop interfaces that can be accessed by location. - -InterfaceId: -IADLXDesktopList - - -Smart Pointer Interface Name: -IADLXDesktopListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample. - For a C application, refer to the Eyefinity C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__add__back.xml deleted file mode 100644 index 52b3dcb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__add__back.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDesktopList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXDesktop* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXDesktop* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__at.xml deleted file mode 100644 index bedb8a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXDesktopList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXDesktop** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXDesktop** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.xml deleted file mode 100644 index 11c5c6e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXDesktopListChangedListener - IADLXDesktopListChangedListener - OnDesktopListChanged - - - -The IADLXDesktopListChangedListener interface is implemented in the application to receive a new list of desktops from ADLX when the desktop list changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDesktopListChangedListener interface must be passed to AddDesktopListEventListener to register for notifications when the desktop list changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. -Methods - - -Method -Description - - -OnDesktopListChanged -The OnDesktopsListChanged is called by ADLX when the desktop list changes. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DesktopsEvent C++ sample. - For a C application, refer to the DesktopsEvent C sample. - -OnDesktopListChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.xml deleted file mode 100644 index 2918d23..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_list_changed_listener__on_desktop_list_changed.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDesktopListChangedListener_OnDesktopListChanged - OnDesktopListChanged - -The OnDesktopsListChanged is called by ADLX when the desktop list changes. - - -The OnDesktopsListChanged is called by ADLX when the desktop list changes. -Syntax - - - adlx_bool OnDesktopListChanged (IADLXDesktopList* pNewDesktop) - -Parameters - - - - -1. -[out] -pNewDesktop -IADLXDesktopList* -The pointer to the new desktop list. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDesktopListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDesktopListEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new desktop list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new desktop list with Release. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services.xml deleted file mode 100644 index 0de23d4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - DOX_IADLXDesktopServices - IADLXDesktopServices - GetDesktopChangedHandling - GetDesktops - GetNumberOfDesktops - GetSimpleEyefinity - - - -The IADLXDesktopServices is the main interface for the Desktop domain and provides control to desktop specific functionality. - -InterfaceId: -IADLXDesktopServices - - -Smart Pointer Interface Name: -IADLXDesktopServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-The IADLXDesktopServices interface provides: - the list of desktops instantiated on the AMD GPUs. - the interface for registering and unregistering for notifications when the desktops are changed. - the interface for creating and destroying AMD Eyefinity desktops. - -Methods - - -Method -Description - - -GetDesktopChangedHandling -Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change. - - -GetDesktops -Gets the reference counted list of desktops instantiated on the AMD GPUs. - - -GetNumberOfDesktops -Gets the number of desktops instantiated on the AMD GPUs. - - -GetSimpleEyefinity -Gets the reference counted interface to create and destroy AMD Eyefinity desktops. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample. - For a C application, refer to the Eyefinity C sample. - -GetDesktopChangedHandling -GetDesktops -GetNumberOfDesktops -GetSimpleEyefinity - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.xml deleted file mode 100644 index 3549a27..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktop_changed_handling.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXDesktopServices_GetDesktopChangedHandling - GetDesktopChangedHandling - -Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change. - - -Gets the reference counted interface that allows registering and unregistering for notifications when desktop settings change. -Syntax - - - ADLX_RESULT GetDesktopChangedHandling (IADLXDesktopChangedHandling** ppDesktopChangedHandling) - -Parameters - - - - -1. -[out] -ppDesktopChangedHandling -IADLXDesktopChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDeskChangedHandling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.xml deleted file mode 100644 index 15b30f9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_desktops.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXDesktopServices_GetDesktops - GetDesktops - -Gets the reference counted list of desktops instantiated on the AMD GPUs. - - -Gets the reference counted list of desktops instantiated on the AMD GPUs. -Syntax - - - ADLX_RESULT GetDesktops (IADLXDesktopList** ppDesktops) - -Parameters - - - - -1. -[out] -ppDesktops -IADLXDesktopList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDesktops to nullptr. - -
-
-
-
-
-Return Value - -If the list of desktops is successfully returned, ADLX_OK is returned. - If the list of desktops is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -For more information about the AMD GPUs, refer to ADLX GPU Support. - The returned interface must be discarded with Release when it is no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.xml deleted file mode 100644 index ef94c65..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_number_of_desktops.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDesktopServices_GetNumberOfDesktops - GetNumberOfDesktops - -Gets the number of desktops instantiated on the AMD GPUs. - - -Gets the number of desktops instantiated on the AMD GPUs. -Syntax - - - ADLX_RESULT GetNumberOfDesktops (adlx_uint* numDesktops) - -Parameters - - - - -1. -[out] -numDesktops -adlx_uint* -The pointer to a variable where the number of desktops is returned. - -
-
-
-
-
-Return Value - -If the number of desktops is successfully returned, ADLX_OK is returned. - If the number of desktops is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -For more information about the AMD GPUs, refer to ADLX GPU Support. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.xml deleted file mode 100644 index 316b10c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_desktop_services__get_simple_eyefinity.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXDesktopServices_GetSimpleEyefinity - GetSimpleEyefinity - -Gets the reference counted interface to create and destroy AMD Eyefinity desktops. - - -Gets the reference counted interface to create and destroy AMD Eyefinity desktops. -Syntax - - - ADLX_RESULT GetSimpleEyefinity (IADLXSimpleEyefinity** ppSimpleEyefinity) - -Parameters - - - - -1. -[out] -ppSimpleEyefinity -IADLXSimpleEyefinity** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSimpleEyefinity to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display.xml deleted file mode 100644 index 308153c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - DOX_IADLXDisplay - IADLXDisplay - ConnectorType - DisplayType - EDID - GetGPU - ManufacturerID - Name - NativeResolution - PixelClock - RefreshRate - ScanType - UniqueId - - - -The IADLXDisplay interface provides basic information about a display. - -InterfaceId: -IADLXDisplay - - -Smart Pointer Interface Name: -IADLXDisplayPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -ConnectorType -Gets the connector type of a display. - - -DisplayType -Gets the type of a display. - - -EDID -Gets the virtual EDID (Extended Display Identification Data) of a display. - - -GetGPU -Gets the reference counted GPU interface of a display. - - -ManufacturerID -Gets the manufacturer id of a display. - - -Name -Gets the name of a display. - - -NativeResolution -Gets the native resolution of a display. - - -PixelClock -Gets the pixel clock of a display. - - -RefreshRate -Gets the refresh rate of a display. - - -ScanType -Gets the scan type of a display. - - -UniqueId -Gets the unique id of a Display. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -ConnectorType -DisplayType -EDID -GetGPU -ManufacturerID -Name -NativeResolution -PixelClock -RefreshRate -ScanType -UniqueId - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t.xml deleted file mode 100644 index 8567983..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT - IADLXDisplay3DLUT - ClearUser3DLUT - GetAllUser3DLUT - GetHDRUser3DLUT - GetSCEDynamicContrast - GetSCEDynamicContrastRange - GetSDRUser3DLUT - GetUser3DLUTIndex - IsCurrentSCEDisabled - IsCurrentSCEDynamicContrast - IsCurrentSCEVividGaming - IsSupportedSCE - IsSupportedSCEDynamicContrast - IsSupportedSCEVividGaming - IsSupportedUser3DLUT - SetAllUser3DLUT - SetHDRUser3DLUT - SetSCEDisabled - SetSCEDynamicContrast - SetSCEVividGaming - SetSDRUser3DLUT - - - -The IADLXDisplay3DLUT interface is the access point to control 3DLUT settings on a display. - -InterfaceId: -IADLXDisplay3DLUT - - -Smart Pointer Interface Name: -IADLXDisplay3DLUTPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -ClearUser3DLUT -Clears the custom 3D LUT for panel calibration on a display. - - -GetAllUser3DLUT -Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display. - - -GetHDRUser3DLUT -Gets the custom 3D LUT data suitable for the HDR mode of a display. - - -GetSCEDynamicContrast -Gets the contrast of the Dynamic Contrast color enhancement preset on a display. - - -GetSCEDynamicContrastRange -Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display. - - -GetSDRUser3DLUT -Gets the custom 3D LUT data suitable for the SDR mode of a display. - - -GetUser3DLUTIndex -Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values. - - -IsCurrentSCEDisabled -Checks if the color enhancement presets are disabled on a display. - - -IsCurrentSCEDynamicContrast -Checks if the Dynamic Contrast color enhancement preset is used on a display. - - -IsCurrentSCEVividGaming -Checks if the vivid gaming color enhancement preset is used on a display. - - -IsSupportedSCE -Checks if color enhancement is supported on a display. - - -IsSupportedSCEDynamicContrast -Checks if the Dynamic Contrast color enhancement preset is supported on a display. - - -IsSupportedSCEVividGaming -Checks if the vivid gaming color enhancement preset is supported on a display. - - -IsSupportedUser3DLUT -Checks if 3D LUT customization is supported on a display. - - -SetAllUser3DLUT -Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display. - - -SetHDRUser3DLUT -Sets the custom 3D LUT data suitable for the HDR mode of a display. - - -SetSCEDisabled -Disables the color enhancement presets on a display. - - -SetSCEDynamicContrast -Sets the contrast of the Dynamic Contrast color enhancement preset on a display. - - -SetSCEVividGaming -Sets the vivid gaming color enhancement preset on a display. - - -SetSDRUser3DLUT -Sets the custom 3D LUT data suitable for the SDR mode of a display. - -
-
-Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Display3DLUT C++ sample. - For a C application, refer to the Display3DLUT C sample. - - -ClearUser3DLUT -GetAllUser3DLUT -GetHDRUser3DLUT -GetSCEDynamicContrast -GetSCEDynamicContrastRange -GetSDRUser3DLUT -GetUser3DLUTIndex -IsCurrentSCEDisabled -IsCurrentSCEDynamicContrast -IsCurrentSCEVividGaming -IsSupportedSCE -IsSupportedSCEDynamicContrast -IsSupportedSCEVividGaming -IsSupportedUser3DLUT -SetAllUser3DLUT -SetHDRUser3DLUT -SetSCEDisabled -SetSCEDynamicContrast -SetSCEVividGaming -SetSDRUser3DLUT - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.xml deleted file mode 100644 index c72f7e5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__clear_user3_d_l_u_t.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_ClearUser3DLUT - ClearUser3DLUT - -Clears the custom 3D LUT for panel calibration on a display. - - -Clears the custom 3D LUT for panel calibration on a display. -Syntax - - - ADLX_RESULT ClearUser3DLUT () - -Parameters - -N/A -Return Value - -If the custom 3D LUT is successfully cleared, ADLX_OK is returned. - If the custom 3D LUT is not successfully cleared, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.xml deleted file mode 100644 index 13c707b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_all_user3_d_l_u_t.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetAllUser3DLUT - GetAllUser3DLUT - -Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display. - - -Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display. -Syntax - - - ADLX_RESULT GetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[out] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION* -The pointer to a variable where the transfer function is returned. - -
-
-
-
- - - -2. -[out] -colorSpace -ADLX_3DLUT_COLORSPACE* -The pointer to a variable where the color space is returned. - -
-
-
-
- - - -3. -[out] -pointsNumber -adlx_int* -The pointer to a variable where the size of the custom 3D LUT buffer is returned. - -
-
-
-
- - - -4. -[out] -data -ADLX_3DLUT_Data* -The pointer to a variable where the custom 3D LUT buffer is returned. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully returned, ADLX_OK is returned. - If the custom 3D LUT data is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.xml deleted file mode 100644 index 3ae9b54..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_h_d_r_user3_d_l_u_t.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetHDRUser3DLUT - GetHDRUser3DLUT - -Gets the custom 3D LUT data suitable for the HDR mode of a display. - - -Gets the custom 3D LUT data suitable for the HDR mode of a display. -Syntax - - - ADLX_RESULT GetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[out] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION* -The pointer to a variable where the transfer function is returned. - -
-
-
-
- - - -2. -[out] -colorSpace -ADLX_3DLUT_COLORSPACE* -The pointer to a variable where the color space is returned. - -
-
-
-
- - - -3. -[out] -pointsNumber -adlx_int* -The pointer to a variable where the size of the custom 3D LUT buffer is returned. - -
-
-
-
- - - -4. -[out] -data -ADLX_3DLUT_Data* -The pointer to a variable where the custom 3D LUT buffer is returned. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully returned, ADLX_OK is returned. - If the custom 3D LUT data is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.xml deleted file mode 100644 index 70e3fb6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetSCEDynamicContrast - GetSCEDynamicContrast - -Gets the contrast of the Dynamic Contrast color enhancement preset on a display. - - -Gets the contrast of the Dynamic Contrast color enhancement preset on a display. -Syntax - - - ADLX_RESULT GetSCEDynamicContrast (adlx_int* contrast) - -Parameters - - - - -1. -[out] -contrast -adlx_int* -The pointer to a variable where the contrast of the Dynamic Contrast color enhancement preset is returned. - -
-
-
-
-
-Return Value - -If the contrast is successfully returned, ADLX_OK is returned. - If the contrast is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.xml deleted file mode 100644 index 5590142..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_c_e_dynamic_contrast_range.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetSCEDynamicContrastRange - GetSCEDynamicContrastRange - -Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display. - - -Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display. -Syntax - - - ADLX_RESULT GetSCEDynamicContrastRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the contrast range of the Dynamic Contrast color enhancement preset is returned. - -
-
-
-
-
-Return Value - -If the contrast range is successfully returned, ADLX_OK is returned. - If the contrast range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset are read only. -Additional Info - -The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.xml deleted file mode 100644 index da2acf0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_s_d_r_user3_d_l_u_t.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetSDRUser3DLUT - GetSDRUser3DLUT - -Gets the custom 3D LUT data suitable for the SDR mode of a display. - - -Gets the custom 3D LUT data suitable for the SDR mode of a display. -Syntax - - - ADLX_RESULT GetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[out] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION* -The pointer to a variable where the transfer function is returned. - -
-
-
-
- - - -2. -[out] -colorSpace -ADLX_3DLUT_COLORSPACE* -The pointer to a variable where the color space is returned. - -
-
-
-
- - - -3. -[out] -pointsNumber -adlx_int* -The pointer to a variable where the size of the custom 3D LUT buffer is returned. - -
-
-
-
- - - -4. -[out] -data -ADLX_3DLUT_Data* -The pointer to a variable where the custom 3D LUT buffer is returned. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully returned, ADLX_OK is returned. - If the custom 3D LUT data is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.xml deleted file mode 100644 index be71a0d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__get_user3_d_l_u_t_index.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex - GetUser3DLUTIndex - -Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values. - - -Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values. -Syntax - - - ADLX_RESULT GetUser3DLUTIndex (adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index) - -Parameters - - - - -1. -[in] -lutSize -adlx_int -The size of the User 3D LUT. - -
-
-
-
- - - -2. -[in] -rgbCoordinate -ADLX_UINT16_RGB* -The co-ordinates of a user 3D LUT. - -
-
-
-
- - - -3. -[out] -index -adlx_int* -The pointer to a variable where the index is returned. - -
-
-
-
-
-Return Value - -If the index of the 3D LUT from a flat array is successfully returned, ADLX_OK is returned. - If the index of the 3D LUT from a flat array is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The 3D LUT table must contain between 5 and 17 points. Each point is defined by a triplet of red, green, and blue values. - -GetUser3DLUTIndex is useful when constructing the 3D LUT buffer to set using SetHDRUser3DLUT, SetSDRUser3DLUT and SetAllUser3DLUT. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.xml deleted file mode 100644 index d9f7328..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_disabled.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsCurrentSCEDisabled - IsCurrentSCEDisabled - -Checks if the color enhancement presets are disabled on a display. - - -Checks if the color enhancement presets are disabled on a display. -Syntax - - - ADLX_RESULT IsCurrentSCEDisabled (adlx_bool* sceDisabled) - -Parameters - - - - -1. -[out] -sceDisabled -adlx_bool* -The pointer to a variable where the state of color enhancement is returned. The variable is true if the color enhancement presets are disabled. The variable is false if the color enhancement presets are not disabled. - -
-
-
-
-
-Return Value - -If the state of color enhancement is successfully returned, ADLX_OK is returned. - If the state of color enhancement is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.xml deleted file mode 100644 index c0a7e10..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_dynamic_contrast.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsCurrentSCEDynamicContrast - IsCurrentSCEDynamicContrast - -Checks if the Dynamic Contrast color enhancement preset is used on a display. - - -Checks if the Dynamic Contrast color enhancement preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast) - -Parameters - - - - -1. -[out] -dynamicContrast -adlx_bool* -The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is true if the Dynamic Contrast preset is used. The variable is false if the Dynamic Contrast preset is not used. - -
-
-
-
-
-Return Value - -If the state of the Dynamic Contrast preset is successfully returned, ADLX_OK is returned. - If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.xml deleted file mode 100644 index a8882e8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_current_s_c_e_vivid_gaming.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsCurrentSCEVividGaming - IsCurrentSCEVividGaming - -Checks if the vivid gaming color enhancement preset is used on a display. - - -Checks if the vivid gaming color enhancement preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentSCEVividGaming (adlx_bool* vividGaming) - -Parameters - - - - -1. -[out] -vividGaming -adlx_bool* -The pointer to a variable where the state of the vivid gaming preset is returned. The variable is true if the vivid gaming preset is used. The variable is false if the vivid gaming preset is not used. - -
-
-
-
-
-Return Value - -If the state of the vivid gaming preset is successfully returned, ADLX_OK is returned. - If the state of the vivid gaming preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The vivid gaming preset enhances color saturation and vibrance. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.xml deleted file mode 100644 index 1ba932e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsSupportedSCE - IsSupportedSCE - -Checks if color enhancement is supported on a display. - - -Checks if color enhancement is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedSCE (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color enhancement is returned. The variable is true if color enhancement is supported. The variable is false if color enhancement is not supported. - -
-
-
-
-
-Return Value - -If the state of color enhancement is successfully returned, ADLX_OK is returned. - If the state of color enhancement is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Some GPUs support built-in 3D LUT profiles for displays to improve and enhance game and application color vibrancy. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.xml deleted file mode 100644 index 71f2374..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_dynamic_contrast.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsSupportedSCEDynamicContrast - IsSupportedSCEDynamicContrast - -Checks if the Dynamic Contrast color enhancement preset is supported on a display. - - -Checks if the Dynamic Contrast color enhancement preset is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedSCEDynamicContrast (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is true if the Dynamic Contrast preset is supported. The variable is false if the Dynamic Contrast preset is not supported. - -
-
-
-
-
-Return Value - -If the state of the Dynamic Contrast preset is successfully returned, ADLX_OK is returned. - If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.xml deleted file mode 100644 index ff2155c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_s_c_e_vivid_gaming.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsSupportedSCEVividGaming - IsSupportedSCEVividGaming - -Checks if the vivid gaming color enhancement preset is supported on a display. - - -Checks if the vivid gaming color enhancement preset is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedSCEVividGaming (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of the vivid gaming preset is returned. The variable is true if the vivid gaming preset is supported. The variable is false if the vivid gaming preset is not supported. - -
-
-
-
-
-Return Value - -If the state of the vivid gaming preset is successfully returned, ADLX_OK is returned. - If the state of the vivid gaming preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The vivid gaming preset enhances color saturation and vibrance. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.xml deleted file mode 100644 index 9318fa9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__is_supported_user3_d_l_u_t.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_IsSupportedUser3DLUT - IsSupportedUser3DLUT - -Checks if 3D LUT customization is supported on a display. - - -Checks if 3D LUT customization is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedUser3DLUT (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of 3D LUT customization is returned. The variable is true if 3D LUT customization is supported. The variable is false if 3D LUT customization is not supported. - -
-
-
-
-
-Return Value - -If the state of 3D LUT customization is successfully returned, ADLX_OK is returned. - If the state of 3D LUT customization is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Some GPUs support custom 3D LUT panel calibration for eDP displays to improve and enhance game and application color vibrancy. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.xml deleted file mode 100644 index d58eb25..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_all_user3_d_l_u_t.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetAllUser3DLUT - SetAllUser3DLUT - -Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display. - - -Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display. -Syntax - - - ADLX_RESULT SetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[in] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION -The transfer function. - -
-
-
-
- - - -2. -[in] -colorSpace -ADLX_3DLUT_COLORSPACE -The color space. - -
-
-
-
- - - -3. -[in] -pointsNumber -adlx_int -The size of the custom 3D LUT data. - -
-
-
-
- - - -4. -[in] -data -ADLX_3DLUT_Data* -The custom 3D LUT buffer. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully set, ADLX_OK is returned. - If the custom 3D LUT data is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -To fill in the custom 3D LUT buffer use GetUser3DLUTIndex. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.xml deleted file mode 100644 index ce81f1c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_h_d_r_user3_d_l_u_t.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT - SetHDRUser3DLUT - -Sets the custom 3D LUT data suitable for the HDR mode of a display. - - -Sets the custom 3D LUT data suitable for the HDR mode of a display. -Syntax - - - ADLX_RESULT SetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[in] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION -The transfer function. - -
-
-
-
- - - -2. -[in] -colorSpace -ADLX_3DLUT_COLORSPACE -The color space. - -
-
-
-
- - - -3. -[in] -pointsNumber -adlx_int -The size of the custom 3D LUT data. - -
-
-
-
- - - -4. -[in] -data -ADLX_3DLUT_Data* -The custom 3D LUT buffer. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully set, ADLX_OK is returned. - If the custom 3D LUT data is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -To fill in the custom 3D LUT buffer use GetUser3DLUTIndex. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.xml deleted file mode 100644 index 1220829..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_disabled.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetSCEDisabled - SetSCEDisabled - -Disables the color enhancement presets on a display. - - -Disables the color enhancement presets on a display. -Syntax - - - ADLX_RESULT SetSCEDisabled () - -Parameters - -N/A -Return Value - -If the color enhancement presets are successfully disabled, ADLX_OK is returned. - If the color enhancement presets are not successfully disabled, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.xml deleted file mode 100644 index 23eb152..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_dynamic_contrast.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetSCEDynamicContrast - SetSCEDynamicContrast - -Sets the contrast of the Dynamic Contrast color enhancement preset on a display. - - -Sets the contrast of the Dynamic Contrast color enhancement preset on a display. -Syntax - - - ADLX_RESULT SetSCEDynamicContrast (adlx_int contrast) - -Parameters - - - - -1. -[in] -contrast -adlx_int -The new contrast of the Dynamic Contrast color enhancement preset. - -
-
-
-
-
-Return Value - -If the contrast is successfully set, ADLX_OK is returned. - If the contrast is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.xml deleted file mode 100644 index 79bae20..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_c_e_vivid_gaming.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetSCEVividGaming - SetSCEVividGaming - -Sets the vivid gaming color enhancement preset on a display. - - -Sets the vivid gaming color enhancement preset on a display. -Syntax - - - ADLX_RESULT SetSCEVividGaming () - -Parameters - -N/A -Return Value - -If the vivid gaming preset is successfully set, ADLX_OK is returned. - If the vivid gaming preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The vivid gaming preset enhances color saturation and vibrance. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.xml deleted file mode 100644 index 60fa84e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t__set_s_d_r_user3_d_l_u_t.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT - SetSDRUser3DLUT - -Sets the custom 3D LUT data suitable for the SDR mode of a display. - - -Sets the custom 3D LUT data suitable for the SDR mode of a display. -Syntax - - - ADLX_RESULT SetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, const ADLX_3DLUT_Data* data) - -Parameters - - - - -1. -[in] -transferFunction -ADLX_3DLUT_TRANSFER_FUNCTION -The transfer function. - -
-
-
-
- - - -2. -[in] -colorSpace -ADLX_3DLUT_COLORSPACE -The color space. - -
-
-
-
- - - -3. -[in] -pointsNumber -adlx_int -The size of the custom 3D LUT data. - -
-
-
-
- - - -4. -[in] -data -ADLX_3DLUT_Data* -The custom 3D LUT buffer. - -
-
-
-
-
-Return Value - -If the custom 3D LUT data is successfully set, ADLX_OK is returned. - If the custom 3D LUT data is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -To fill in the custom 3D LUT buffer use GetUser3DLUTIndex. -Additional Info - -Note: SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display. - -Setting a custom 3D LUT data suitable for the SDR mode of the display with SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with SetHDRUser3DLUT. - -Setting a custom 3D LUT data suitable for the HDR mode of the display with SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with SetSDRUser3DLUT. -Requirements - - -Header -include "IDisplay3DLUT.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.xml deleted file mode 100644 index 521495c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedEvent - IADLXDisplay3DLUTChangedEvent - GetDisplay - IsCustom3DLUTChanged - IsSCEChanged - - - -The IADLXDisplay3DLUTChangedEvent interface gets a display interface on which the 3D LUT is changed. - -InterfaceId: -IADLXDisplay3DLUTChangedEvent - - -Smart Pointer Interface Name: -IADLXDisplay3DLUTChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -N/A - -
-
-Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Methods - - -Method -Description - - -GetDisplay -Gets the reference counted display interface on which the 3D LUT is changed. - - -IsCustom3DLUTChanged -Checks if the custom 3D LUT for panel calibration of a display is changed. - - -IsSCEChanged -Checks if the color enhancement of a display is changed. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -GetDisplay -IsCustom3DLUTChanged -IsSCEChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.xml deleted file mode 100644 index 8573a2c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__get_display.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay - GetDisplay - -Gets the reference counted display interface on which the 3D LUT is changed. - - -Gets the reference counted display interface on which the 3D LUT is changed. -Syntax - - - ADLX_RESULT GetDisplay (IADLXDisplay** ppDisplay) - -Parameters - - - - -1. -[in] -ppDisplay -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the display interface is successfully returned, ADLX_OK is returned. - If the display inferface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.xml deleted file mode 100644 index 9941447..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_custom3_d_l_u_t_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedEvent_IsCustom3DLUTChanged - IsCustom3DLUTChanged - -Checks if the custom 3D LUT for panel calibration of a display is changed. - - -Checks if the custom 3D LUT for panel calibration of a display is changed. -Syntax - - - adlx_bool IsCustom3DLUTChanged () - -Parameters - -N/A -Return Value - -If the custom 3D LUT is changed, true is returned. - If the custom 3D LUT is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.xml deleted file mode 100644 index 3f1e1b2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_event__is_s_c_e_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedEvent_IsSCEChanged - IsSCEChanged - -Checks if the color enhancement of a display is changed. - - -Checks if the color enhancement of a display is changed. -Syntax - - - adlx_bool IsSCEChanged () - -Parameters - -N/A -Return Value - -If the color enhancement is changed, true is returned. - If the color enhancement is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.xml deleted file mode 100644 index e1fc989..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedListener - IADLXDisplay3DLUTChangedListener - OnDisplay3DLUTChanged - - - -The IADLXDisplay3DLUTChangedListener interface is implemented in the application to receive an event from ADLX when the display 3D LUT changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDisplay3DLUTChangedListener interface must be passed to AddDisplay3DLUTEventListener to register for notifications when the display 3D LUT changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnDisplay3DLUTChanged -The OnDisplay3DLUTChanged method is called by ADLX when the display 3D LUT changes. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample. - For a C application, refer to the DisplayEvents C sample. - For a C# application, refer to the DisplayEvents C# sample. - For a Java application, refer to the DisplayEvents Java sample. - For a Python application, refer to the DisplayEvents Python sample. - - -OnDisplay3DLUTChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.xml deleted file mode 100644 index ece85a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display3_d_l_u_t_changed_listener__on_display3_d_l_u_t_changed.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDisplay3DLUTChangedListener_OnDisplay3DLUTChanged - OnDisplay3DLUTChanged - -The OnDisplay3DLUTChanged method is called by ADLX when the display 3D LUT changes. - - -The OnDisplay3DLUTChanged method is called by ADLX when the display 3D LUT changes. -Syntax - - - adlx_bool OnDisplay3DLUTChanged (IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) - -Parameters - - - - -1. -[in] -pDisplay3DLUTChangedEvent -IADLXDisplay3DLUTChangedEvent* -The pointer to the event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDisplay3DLUTEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplay3DLUTEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D LUT change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D LUT change event with Release. - -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__connector_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__connector_type.xml deleted file mode 100644 index a3ad548..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__connector_type.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay_ConnectorType - ConnectorType - -Gets the connector type of a display. - - -Gets the connector type of a display. -Syntax - - - ADLX_RESULT ConnectorType (ADLX_DISPLAY_CONNECTOR_TYPE* connectType) - -Parameters - - - - -1. -[out] -connectType -ADLX_DISPLAY_CONNECTOR_TYPE* -The pointer to a variable where the connector type is returned. - -
-
-
-
-
-Return Value - -If the connector type is successfully returned, ADLX_OK is returned. - If the connector type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The connector type can be used to discover if the display is connected to the GPU using HDMI, DisplayPort or any other kind of display interface. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__display_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__display_type.xml deleted file mode 100644 index 5dcbc02..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__display_type.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay_DisplayType - DisplayType - -Gets the type of a display. - - -Gets the type of a display. -Syntax - - - ADLX_RESULT DisplayType (ADLX_DISPLAY_TYPE* displayType) - -Parameters - - - - -1. -[out] -displayType -ADLX_DISPLAY_TYPE* -The pointer to a variable where the display type is returned. - -
-
-
-
-
-Return Value - -If the type of this display is successfully returned, ADLX_OK is returned. - If the type of this display is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The display type can be used to discover if the display is a TV, a Digital Flat Panel, or any other kind of display. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__e_d_i_d.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__e_d_i_d.xml deleted file mode 100644 index fe500b3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__e_d_i_d.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplay_EDID - EDID - -Gets the virtual EDID (Extended Display Identification Data) of a display. - - -Gets the virtual EDID (Extended Display Identification Data) of a display. -Syntax - - - ADLX_RESULT EDID (const char** edid) - -Parameters - - - - -1. -[out] -edid -const char** -The pointer to a zero-terminated buffer where the display EDID data is returned. - -
-
-
-
-
-Return Value - -If the virtual EDID is successfully returned, ADLX_OK is returned. - If the virtual EDID is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -EDID is a standardized metadata programmed into the display device by the manufacturer and is used for interoperability by video sources to discover the capabilities and information about the display device. VESA (Video Electronics Standards Association) defines the standard for the EDID data. -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXDisplay interface. If the application uses the EDID beyond the lifetime of the IADLXDisplay IADLXDisplay interface, the application must make a copy of the EDID. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__get_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__get_g_p_u.xml deleted file mode 100644 index 9c301d7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__get_g_p_u.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplay_GetGPU - GetGPU - -Gets the reference counted GPU interface of a display. - - -Gets the reference counted GPU interface of a display. -Syntax - - - ADLX_RESULT GetGPU (IADLXGPU** ppGPU) - -Parameters - - - - -1. -[out] -ppGPU -IADLXGPU** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr. - -
-
-
-
-
-Return Value - -If the reference counted GPU interface is successfully returned, ADLX_OK is returned. - If the reference counted GPU interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.xml deleted file mode 100644 index 4ebe6d3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__manufacturer_i_d.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplay_ManufacturerID - ManufacturerID - -Gets the manufacturer id of a display. - - -Gets the manufacturer id of a display. -Syntax - - - ADLX_RESULT ManufacturerID (adlx_uint* manufacturerID) - -Parameters - - - - -1. -[out] -manufacturerID -adlx_uint* -The pointer to a variable where the manufacturer id is returned. A valid id is greater than zero. - -
-
-
-
-
-Return Value - -If the manufacturer id is successfully returned, ADLX_OK is returned. - If the manufacturer id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The manufacturer id is a predetermined value programmed into the display at the time of manufacturing. A valid manufacturer id is an integer greater than zero. - If zero is returned this means the display manufacturer id is invalid. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__name.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__name.xml deleted file mode 100644 index 4ef98d4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__name.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplay_Name - Name - -Gets the name of a display. - - -Gets the name of a display. -Syntax - - - ADLX_RESULT Name (const char** displayName) - -Parameters - - - - -1. -[out] -displayName -const char** -The pointer to a zero-terminated string where the display name is returned. - -
-
-
-
-
-Return Value - -If the name of this display is successfully returned, ADLX_OK is returned. - If the name of this display is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The display name is a predetermined value programmed into the display at the time of manufacturing. -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXDisplay interface. If the application uses the display name beyond the lifetime of the IADLXDisplay IADLXDisplay interface, the application must make a copy of the display name. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__native_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__native_resolution.xml deleted file mode 100644 index 672e272..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__native_resolution.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - DOX_IADLXDisplay_NativeResolution - NativeResolution - -Gets the native resolution of a display. - - -Gets the native resolution of a display. -Syntax - - - ADLX_RESULT NativeResolution (adlx_int* maxHResolution, adlx_int* maxVResolution) - -Parameters - - - - -1. -[out] -maxHResolution -adlx_int* -The pointer to a variable where the horizontal resolution of the display is returned. - -
-
-
-
- - - -2. -[out] -maxVResolution -adlx_int* -The pointer to a variable where the vertical resolution of the display is returned. - -
-
-
-
-
-Return Value - -If the native resolution is successfully returned, ADLX_OK is returned. - If the resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The native resolution of the display is shown in the Windows Advanced display settings as Active signal resolution. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__pixel_clock.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__pixel_clock.xml deleted file mode 100644 index 51f8019..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__pixel_clock.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay_PixelClock - PixelClock - -Gets the pixel clock of a display. - - -Gets the pixel clock of a display. -Syntax - - - ADLX_RESULT PixelClock (adlx_uint* pixelClock) - -Parameters - - - - -1. -[out] -pixelClock -adlx_uint* -The pointer to a variable where the pixel clock of the display (in KHz) is returned. - -
-
-
-
-
-Return Value - -If the pixel clock is successfully returned, ADLX_OK is returned. - If the pixel clock is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The pixel clock rate is the speed at which pixels are transmitted over a video signal such as HDMI or DVI, to fit a full frame of pixels in one refresh cycle. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__refresh_rate.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__refresh_rate.xml deleted file mode 100644 index 350f192..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__refresh_rate.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay_RefreshRate - RefreshRate - -Gets the refresh rate of a display. - - -Gets the refresh rate of a display. -Syntax - - - ADLX_RESULT RefreshRate (adlx_double* refreshRate) - -Parameters - - - - -1. -[out] -refreshRate -adlx_double* -The pointer to a variable where the refresh rate of the display (in Hz) is returned. - -
-
-
-
-
-Return Value - -If the refresh rate is successfully returned, ADLX_OK is returned. - If the refresh rate is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The refresh rate returns the number of times per second the display shows a new image. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__scan_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__scan_type.xml deleted file mode 100644 index 1d6264b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__scan_type.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplay_ScanType - ScanType - -Gets the scan type of a display. - - -Gets the scan type of a display. -Syntax - - - ADLX_RESULT ScanType (ADLX_DISPLAY_SCAN_TYPE* scanType) - -Parameters - - - - -1. -[out] -scanType -ADLX_DISPLAY_SCAN_TYPE* -The pointer to a variable where the scan type of the display is returned. - -
-
-
-
-
-Return Value - -If the scan type is successfully returned, ADLX_OK is returned. - If the scan type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The scan type can be progressive or interlaced. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__unique_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__unique_id.xml deleted file mode 100644 index 12f6af5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display__unique_id.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXDisplay_UniqueId - UniqueId - -Gets the unique id of a Display. - - -Gets the unique id of a Display. -Syntax - - - ADLX_RESULT UniqueId(adlx_size* uniqueId) - -Parameters - - - - -1. -[out] -uniqueId -adlx_size* -The pointer to a variable where the unique id of the Display is returned. - -
-
-
-
-
-Return Value - -If the unique id is successfully returned, ADLX_OK is returned. - If the unique id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking.xml deleted file mode 100644 index 72c7891..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - DOX_IADLXDisplayBlanking - IADLXDisplayBlanking - IsCurrentBlanked - IsCurrentUnblanked - IsSupported - SetBlanked - SetUnblanked - - - -The IADLXDisplayBlanking interface configures the display blanking settings on a display. - -InterfaceId: -IADLXDisplayBlanking - - -Smart Pointer Interface Name: -IADLXDisplayBlankingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsCurrentBlanked -Checks if the current display is blanked. - - -IsCurrentUnblanked -Check if the current display is unblanked. - - -IsSupported -Check if display blanking is supported on a display. - - -SetBlanked -Set the state of display blanking to "blanked". - - -SetUnblanked -Set the state of display blanking to "unblanked". - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-Example - -To use this interface in a C++ application, refer to the DisplayBlanking C++ sample. - For a C application, refer to the DisplayBlanking C sample. - - -IsCurrentBlanked -IsCurrentUnblanked -IsSupported -SetBlanked -SetUnblanked - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.xml deleted file mode 100644 index d8c01c3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_blanked.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayBlanking_IsCurrentBlanked - IsCurrentBlanked - -Checks if the current display is blanked. - - -Checks if the current display is blanked. -Syntax - - - ADLX_RESULT IsCurrentBlanked (adlx_bool* blanked) - -Parameters - - - - -1. -[out] -blanked -adlx_bool* -The pointer to a variable where the state of the display blanking is returned. The variable is true if display blanking is enabled. The variable is false if display blanking is not enabled. - -
-
-
-
-
-Return Value - -If the state of display blanking is successfully returned, ADLX_OK is returned. - If the state of display blanking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.xml deleted file mode 100644 index 6c26e45..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_current_unblanked.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayBlanking_IsCurrentUnblanked - IsCurrentUnblanked - -Check if the current display is unblanked. - - -Check if the current display is unblanked. -Syntax - - - ADLX_RESULT IsCurrentUnblanked (adlx_bool* unBlanked) - -Parameters - - - - -1. -[out] -unBlanked -adlx_bool* -The pointer to a variable where the state of the display blanking is returned. The variable is true if display blanking is not enabled. The variable is false if display blanking is enabled. - -
-
-
-
-
-Return Value - -If the state of display blanking is successfully returned, ADLX_OK is returned. - If the state of display blanking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_supported.xml deleted file mode 100644 index 3de0b6e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__is_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayBlanking_IsSupported - IsSupported - -Check if display blanking is supported on a display. - - -Check if display blanking is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of display blanking is returned. The variable is true if display blanking is supported. The variable is false if display blanking is not supported. - -
-
-
-
-
-Return Value - -If the state of display blanking is successfully returned, ADLX_OK is returned. - If the state of display blanking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.xml deleted file mode 100644 index 7901379..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_blanked.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayBlanking_SetBlanked - SetBlanked - -Set the state of display blanking to "blanked". - - -Set the state of display blanking to "blanked". -Syntax - - - ADLX_RESULT SetBlanked () - -Parameters - -N/A -Return Value - -If the state of display blanking is successfully returned, ADLX_OK is returned. - If the state of display blanking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.xml deleted file mode 100644 index c7348e4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_blanking__set_unblanked.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayBlanking_SetUnblanked - SetUnblanked - -Set the state of display blanking to "unblanked". - - -Set the state of display blanking to "unblanked". -Syntax - - - ADLX_RESULT SetUnblanked () - -Parameters - -N/A -Return Value - -If the state of display blanking is successfully returned, ADLX_OK is returned. - If the state of display blanking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling.xml deleted file mode 100644 index 5932c72..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling - IADLXDisplayChangedHandling - AddDisplay3DLUTEventListener - AddDisplayGammaEventListener - AddDisplayGamutEventListener - AddDisplayListEventListener - AddDisplaySettingsEventListener - RemoveDisplay3DLUTEventListener - RemoveDisplayGammaEventListener - RemoveDisplayGamutEventListener - RemoveDisplayListEventListener - RemoveDisplaySettingsEventListener - - - -The IADLXDisplayChangedHandling interface allows registering and unregistering for notifications when the display settings change. - -InterfaceId: -IADLXDisplayChangedHandling - - -Smart Pointer Interface Name: -IADLXDisplayChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -AddDisplay3DLUTEventListener -Registers an event listener for notifications when the display 3D LUT changes. - - -AddDisplayGammaEventListener -Registers an event listener for notifications when the display gamma changes. - - -AddDisplayGamutEventListener -Registers an event listener for notifications when the display gamut changes. - - -AddDisplayListEventListener -Registers an event listener for notifications when the display list changes. - - -AddDisplaySettingsEventListener -Registers an event listener for notifications when the display settings change. - - -RemoveDisplay3DLUTEventListener -Unregisters an event listener from notifications when the display 3D LUT changes. - - -RemoveDisplayGammaEventListener -Unregisters an event listener from notifications when the display gamma changes. - - -RemoveDisplayGamutEventListener -Unregisters an event listener from notifications when the display gamut changes. - - -RemoveDisplayListEventListener -Unregisters an event listener from notifications when the display list changes. - - -RemoveDisplaySettingsEventListener -Unregisters an event listener from notifications when the display settings change. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample. - For a C application, refer to the DisplayEvents C sample. - For a C# application, refer to the DisplayEvents C# sample. - For a Java application, refer to the DisplayEvents Java sample. - For a Python application, refer to the DisplayEvents Python sample. - - -AddDisplay3DLUTEventListener -AddDisplayGammaEventListener -AddDisplayGamutEventListener -AddDisplayListEventListener -AddDisplaySettingsEventListener -RemoveDisplay3DLUTEventListener -RemoveDisplayGammaEventListener -RemoveDisplayGamutEventListener -RemoveDisplayListEventListener -RemoveDisplaySettingsEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.xml deleted file mode 100644 index f55bbfe..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display3_d_l_u_t_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_AddDisplay3DLUTEventListener - AddDisplay3DLUTEventListener - -Registers an event listener for notifications when the display 3D LUT changes. - - -Registers an event listener for notifications when the display 3D LUT changes. -Syntax - - - ADLX_RESULT AddDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) - -Parameters - - - - -1. -[in] -pDisplay3DLUTChangedListener -IADLXDisplay3DLUTChangedListener* -The pointer to the event listener interface to register for receiving the display 3D LUT change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplay3DLUTEventListener. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.xml deleted file mode 100644 index 8e473b4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamma_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_AddDisplayGammaEventListener - AddDisplayGammaEventListener - -Registers an event listener for notifications when the display gamma changes. - - -Registers an event listener for notifications when the display gamma changes. -Syntax - - - ADLX_RESULT AddDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) - -Parameters - - - - -1. -[in] -pDisplayGammaChangedListener -IADLXDisplayGammaChangedListener* -The pointer to the event listener interface to register for receiving the display gamma change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDisplayGammaChanged method of the listener when the display gamma changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayGammaEventListener. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.xml deleted file mode 100644 index 35d6913..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_gamut_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_AddDisplayGamutEventListener - AddDisplayGamutEventListener - -Registers an event listener for notifications when the display gamut changes. - - -Registers an event listener for notifications when the display gamut changes. -Syntax - - - ADLX_RESULT AddDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) - -Parameters - - - - -1. -[in] -pDisplayGamutChangedListener -IADLXDisplayGamutChangedListener* -The pointer to the event listener interface to register for receiving the display gamut change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDisplayGamutChanged method of the listener when the display gamut changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayGamutEventListener. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.xml deleted file mode 100644 index e6f5ef4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_list_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_AddDisplayListEventListener - AddDisplayListEventListener - -Registers an event listener for notifications when the display list changes. - - -Registers an event listener for notifications when the display list changes. -Syntax - - - ADLX_RESULT AddDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener); - -Parameters - - - - -1. -[in] -pDisplayListChangedListener -IADLXDisplayListChangedListener* -The pointer to the event listener interface to register for receiving the display list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDisplayListChanged method of the listener when the display list changes. The event listener instance must exist until the application unregisters the event listener with RemoveDisplayListEventListener. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.xml deleted file mode 100644 index 661d946..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__add_display_settings_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_AddDisplaySettingsEventListener - AddDisplaySettingsEventListener - -Registers an event listener for notifications when the display settings change. - - -Registers an event listener for notifications when the display settings change. -Syntax - - - ADLX_RESULT AddDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) - -Parameters - - - - -1. -[in] -pDisplaySettingsChangedListener -IADLXDisplaySettingsChangedListener* -The pointer to the event listener interface to register for receiving display settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnDisplaySettingsChanged method of the listener when display settings change. - The event listener instance must exist until the application unregisters the event listener with RemoveDisplaySettingsEventListener. - -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.xml deleted file mode 100644 index a2af997..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display3_d_l_u_t_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_RemoveDisplay3DLUTEventListener - RemoveDisplay3DLUTEventListener - -Unregisters an event listener from notifications when the display 3D LUT changes. - - -Unregisters an event listener from notifications when the display 3D LUT changes. -Syntax - - - ADLX_RESULT RemoveDisplay3DLUTEventListener (IADLXDisplay3DLUTChangedListener* pDisplay3DLUTChangedListener) - -Parameters - - - - -1. -[in] -pDisplay3DLUTChangedListener -IADLXDisplay3DLUTChangedListener* -The pointer to the event listener interface to unregister from receiving the display 3D LUT change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDisplay3DLUTChanged method of the listener when the display 3D LUT changes. The application can discard the event listener instance. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.xml deleted file mode 100644 index 8b40498..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamma_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_RemoveDisplayGammaEventListener - RemoveDisplayGammaEventListener - -Unregisters an event listener from notifications when the display gamma changes. - - -Unregisters an event listener from notifications when the display gamma changes. -Syntax - - - ADLX_RESULT RemoveDisplayGammaEventListener (IADLXDisplayGammaChangedListener* pDisplayGammaChangedListener) - -Parameters - - - - -1. -[in] -pDisplayGammaChangedListener -IADLXDisplayGammaChangedListener* -The pointer to the event listener interface to unregister from receiving the display gamma change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDisplayGammaChanged method of the listener when the display gamma changes. The application can discard the event listener instance. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.xml deleted file mode 100644 index be1dc79..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_gamut_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_RemoveDisplayGamutEventListener - RemoveDisplayGamutEventListener - -Unregisters an event listener from notifications when the display gamut changes. - - -Unregisters an event listener from notifications when the display gamut changes. -Syntax - - - ADLX_RESULT RemoveDisplayGamutEventListener (IADLXDisplayGamutChangedListener* pDisplayGamutChangedListener) - -Parameters - - - - -1. -[in] -pDisplayGamutChangedListener -IADLXDisplayGamutChangedListener* -The pointer to the event listener interface to unregister from receiving the display gamut change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDisplayGamutChanged method of the listener when the display gamut changes. The application can discard the event listener instance. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.xml deleted file mode 100644 index d80bc41..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_list_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_RemoveDisplayListEventListener - RemoveDisplayListEventListener - -Unregisters an event listener from notifications when the display list changes. - - -Unregisters an event listener from notifications when the display list changes. -Syntax - - - ADLX_RESULT RemoveDisplayListEventListener (IADLXDisplayListChangedListener* pDisplayListChangedListener) - -Parameters - - - - -1. -[in] -pDisplayListChangedListener -IADLXDisplayListChangedListener* -The pointer to the event listener interface to unregister from receiving the display list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDisplayListChanged method of the listener when the display list changes. The application can discard the event listener instance. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.xml deleted file mode 100644 index f0a8698..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_changed_handling__remove_display_settings_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayChangedHandling_RemoveDisplaySettingsEventListener - RemoveDisplaySettingsEventListener - -Unregisters an event listener from notifications when the display settings change. - - -Unregisters an event listener from notifications when the display settings change. -Syntax - - - ADLX_RESULT RemoveDisplaySettingsEventListener (IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) - -Parameters - - - - -1. -[in] -pDisplaySettingsChangedListener -IADLXDisplaySettingsChangedListener* -The pointer to the event listener interface to unregister from receiving display settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnDisplaySettingsChanged method of the listener when display settings change. The application can discard the event listener instance. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth.xml deleted file mode 100644 index f6e08dd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth - IADLXDisplayColorDepth - GetValue - IsSupported - IsSupportedBPC_10 - IsSupportedBPC_12 - IsSupportedBPC_14 - IsSupportedBPC_16 - IsSupportedBPC_6 - IsSupportedBPC_8 - IsSupportedColorDepth - SetValue - - - -The IADLXDisplayColorDepth interface configures color format settings on a display. - -InterfaceId: -IADLXDisplayColorDepth - - -Smart Pointer Interface Name: -IADLXDisplayColorDepthPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetValue -Gets the current color format of a display. - - -IsSupported -Checks if the color format can be configured on a display. - - -IsSupportedBPC_10 -Checks if color component/pixel with 10 bits is supported on a display. - - -IsSupportedBPC_12 -Checks if color component/pixel with 12 bits is supported on a display. - - -IsSupportedBPC_14 -Checks if color component/pixel with 14 bits is supported on a display. - - -IsSupportedBPC_16 -Checks if color component/pixel with 16 bits is supported on a display. - - -IsSupportedBPC_6 -Checks if color component/pixel with 6 bits is supported on a display. - - -IsSupportedBPC_8 -Checks if color component/pixel with 8 bits is supported on a display. - - -IsSupportedColorDepth -Checks if a color format is supported on a display. - - -SetValue -Sets the color format on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayColorDepth C++ sample. - For a C application, refer to the DisplayColorDepth C sample. - -GetValue -IsSupported -IsSupportedBPC_10 -IsSupportedBPC_12 -IsSupportedBPC_14 -IsSupportedBPC_16 -IsSupportedBPC_6 -IsSupportedBPC_8 -IsSupportedColorDepth -SetValue - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__get_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__get_value.xml deleted file mode 100644 index f471e89..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__get_value.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_GetValue - GetValue - -Gets the current color format of a display. - - -Gets the current color format of a display. -Syntax - - - ADLX_RESULT GetValue(ADLX_COLOR_DEPTH* currentColorDepth) - -Parameters - - - - -1. -[out] -currentColorDepth -ADLX_COLOR_DEPTH* -The pointer to a variable where the color format is returned. - -
-
-
-
-
-Return Value - -If the current color format is successfully returned, ADLX_OK is returned. - If the current color format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.xml deleted file mode 100644 index ddab15f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupported - IsSupported - -Checks if the color format can be configured on a display. - - -Checks if the color format can be configured on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color format configuration is returned. The variable is true if color format configuration is supported. The variable is false if color format configuration is not supported. - -
-
-
-
-
-Return Value - -If the state of the color format configuration is successfully returned, ADLX_OK is returned. - If the state of the color format configuration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.xml deleted file mode 100644 index 043c04a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_10.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_10 - IsSupportedBPC_10 - -Checks if color component/pixel with 10 bits is supported on a display. - - -Checks if color component/pixel with 10 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_10 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 10 bits is returned. The variable is true if color component/pixel with 10 bits is supported. The variable is false if color component/pixel with 10 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 10 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 10 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.xml deleted file mode 100644 index 7890509..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_12.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_12 - IsSupportedBPC_12 - -Checks if color component/pixel with 12 bits is supported on a display. - - -Checks if color component/pixel with 12 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_12 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 12 bits is returned. The variable is true if color component/pixel with 12 bits is supported. The variable is false if color component/pixel with 12 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 12 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 12 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.xml deleted file mode 100644 index c74c64d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_14.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_14 - IsSupportedBPC_14 - -Checks if color component/pixel with 14 bits is supported on a display. - - -Checks if color component/pixel with 14 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_14 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 14 bits is returned. The variable is true if color component/pixel with 14 bits is supported. The variable is false if color component/pixel with 14 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 14 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 14 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.xml deleted file mode 100644 index df35cde..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_16.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_16 - IsSupportedBPC_16 - -Checks if color component/pixel with 16 bits is supported on a display. - - -Checks if color component/pixel with 16 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_16 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 16 bits is returned. The variable is true if color component/pixel with 16 bits is supported. The variable is false if color component/pixel with 16 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 16 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 16 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.xml deleted file mode 100644 index fb66b97..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_6.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_6 - IsSupportedBPC_6 - -Checks if color component/pixel with 6 bits is supported on a display. - - -Checks if color component/pixel with 6 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_6 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 6 bits is returned. The variable is true if color component/pixel with 6 bits is supported. The variable is false if color component/pixel with 6 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 6 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 6 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.xml deleted file mode 100644 index 2bd28e2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_b_p_c_8.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_8 - IsSupportedBPC_8 - -Checks if color component/pixel with 8 bits is supported on a display. - - -Checks if color component/pixel with 8 bits is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedBPC_8 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color component/pixel with 8 bits is returned. The variable is true if color component/pixel with 8 bits is supported. The variable is false if color component/pixel with 8 bits is not supported. - -
-
-
-
-
-Return Value - -If the state of color component/pixel with 8 bits is successfully returned, ADLX_OK is returned. - If the state of color component/pixel with 8 bits is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.xml deleted file mode 100644 index 79fb7ef..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__is_supported_color_depth.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_IsSupportedColorDepth - IsSupportedColorDepth - -Checks if a color format is supported on a display. - - -Checks if a color format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedColorDepth (ADLX_COLOR_DEPTH colorDepth, adlx_bool* supported) - -Parameters - - - - -1. -[in] -colorDepth -ADLX_COLOR_DEPTH -The color format. - -
-
-
-
- - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the color format is returned. The variable is true if the color format is supported. The variable is false if color format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the color format is successfully returned, ADLX_OK is returned. - If the support state of the color format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__set_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__set_value.xml deleted file mode 100644 index a79b926..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_color_depth__set_value.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayColorDepth_SetValue - SetValue - -Sets the color format on a display. - - -Sets the color format on a display. -Syntax - - - ADLX_RESULT SetValue(ADLX_COLOR_DEPTH colorDepth) - -Parameters - - - - -1. -[in] -colorDepth -ADLX_COLOR_DEPTH -The new color format. - -
-
-
-
-
-Return Value - -If the color format is successfully set, ADLX_OK is returned. - If the color format is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Color format configuration is supported on some AMD GPUs if the display is connected to the GPU using Dual-Link DVI or DisplayPort cable. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience.xml deleted file mode 100644 index 25d64fa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience - IADLXDisplayConnectivityExperience - GetDPLinkRate - GetNumberOfActiveLanes - GetNumberOfTotalLanes - GetRelativePreEmphasis - GetRelativeVoltageSwing - IsEnabledHDMIQualityDetection - IsEnabledLinkProtection - IsSupportedDPLink - IsSupportedHDMIQualityDetection - SetEnabledHDMIQualityDetection - SetRelativePreEmphasis - SetRelativeVoltageSwing - - - -The IADLXDisplayConnectivityExperience interface enables configuration of Display Connectivity Experience (DCE) settings on a display. - -InterfaceId: -IADLXDisplayConnectivityExperience - - -Smart Pointer Interface Name: -IADLXDisplayConnectivityExperiencePtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-DCE is a suite of display features that enhance display robustness with respect to signal quality between the GPU and display. - -Methods - - -Method -Description - - -GetDPLinkRate -Gets the Display Port (DP) link rate on a display. - - -GetNumberOfActiveLanes -Gets the number of active lanes on a display. - - -GetNumberOfTotalLanes -Gets the total number of lanes on a display. - - -GetRelativePreEmphasis -Gets the relative preset emphasis on a display. - - -GetRelativeVoltageSwing -Gets the relative voltage swing on a display. - - -IsEnabledHDMIQualityDetection -Checks if HDMI quality detection is enabled on a display. - - -IsEnabledLinkProtection -Checks if link protection is enabled on a display. - - -IsSupportedDPLink -Checks if DP link is supported on a display. - - -IsSupportedHDMIQualityDetection -Checks if HDMI quality detection is supported on a display. - - -SetEnabledHDMIQualityDetection -Sets the enabled or disabled status for HDMI quality detection on a display. - - -SetRelativePreEmphasis -Sets the relative preset emphasis on a display. - - -SetRelativeVoltageSwing -Sets the relative voltage swing on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayConnectivityExperience C++ sample. - For a C application, refer to the DisplayConnectivityExperience C sample. - -GetDPLinkRate -GetNumberOfActiveLanes -GetNumberOfTotalLanes -GetRelativePreEmphasis -GetRelativeVoltageSwing -IsEnabledHDMIQualityDetection -IsEnabledLinkProtection -IsSupportedDPLink -IsSupportedHDMIQualityDetection -SetEnabledHDMIQualityDetection -SetRelativePreEmphasis -SetRelativeVoltageSwing - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.xml deleted file mode 100644 index 7abb777..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_d_p_link_rate.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_GetDPLinkRate - GetDPLinkRate - -Gets the Display Port (DP) link rate on a display. - - -Gets the Display Port (DP) link rate on a display. -Syntax - - - ADLX_RESULT GetDPLinkRate(ADLX_DP_LINK_RATE* linkRate) - -Parameters - - - - -1. -[out] -linkRate -ADLX_DP_LINK_RATE* -The pointer to a type where the current DP link rate is returned. - -
-
-
-
-
-Return Value - -If the type of DP link rate is successfully returned, ADLX_OK is returned. - If the type of DP link rate is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.xml deleted file mode 100644 index 71590c3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_active_lanes.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_GetNumberOfActiveLanes - GetNumberOfActiveLanes - -Gets the number of active lanes on a display. - - -Gets the number of active lanes on a display. -Syntax - - - ADLX_RESULT GetNumberOfActiveLanes(adlx_uint* numActiveLanes) - -Parameters - - - - -1. -[out] -numActiveLanes -ADLX_DP_LINK_RATE* -The pointer to the number of current active lanes is returned. - -
-
-
-
-
-Return Value - -If the number of active lanes is successfully returned, ADLX_OK is returned. - If the number of active lanes is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.xml deleted file mode 100644 index 108f5a1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_number_of_total_lanes.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_GetNumberOfTotalLanes - GetNumberOfTotalLanes - -Gets the total number of lanes on a display. - - -Gets the total number of lanes on a display. -Syntax - - - ADLX_RESULT GetNumberOfTotalLanes(adlx_uint* numTotalLanes) - -Parameters - - - - -1. -[out] -numTotalLanes -ADLX_DP_LINK_RATE* -The pointer to the number of current total lanes is returned. - -
-
-
-
-
-Return Value - -If the number of total lanes is successfully returned, ADLX_OK is returned. - If the number of total lanes is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.xml deleted file mode 100644 index cc8c925..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_pre_emphasis.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_GetRelativePreEmphasis - GetRelativePreEmphasis - -Gets the relative preset emphasis on a display. - - -Gets the relative preset emphasis on a display. -Syntax - - - ADLX_RESULT GetRelativePreEmphasis(adlx_uint* relativePreEmphasis) - -Parameters - - - - -1. -[out] -relativePreEmphasis -ADLX_DP_LINK_RATE* -The pointer to the number of current relative preset emphasis is returned. - -
-
-
-
-
-Return Value - -If the relative preset emphasis is successfully returned, ADLX_OK is returned. - If the relative preset emphasis is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.xml deleted file mode 100644 index 5a6007c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__get_relative_voltage_swing.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_GetRelativeVoltageSwing - GetRelativeVoltageSwing - -Gets the relative voltage swing on a display. - - -Gets the relative voltage swing on a display. -Syntax - - - ADLX_RESULT GetRelativeVoltageSwing(adlx_uint* relativeVoltageSwing) - -Parameters - - - - -1. -[out] -relativeVoltageSwing -ADLX_DP_LINK_RATE* -The pointer to the number of current relative voltage swing is returned. - -
-
-
-
-
-Return Value - -If the relative voltage swing is successfully returned, ADLX_OK is returned. - If the relative voltage swing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.xml deleted file mode 100644 index 5332d4a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_h_d_m_i_quality_detection.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_IsEnabledHDMIQualityDetection - IsEnabledHDMIQualityDetection - -Checks if HDMI quality detection is enabled on a display. - - -Checks if HDMI quality detection is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabledHDMIQualityDetection (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of HDMI quality detection is returned. The variable is true if HDMI quality detection is enabled. The variable is false if HDMI quality detection is not enabled. - -
-
-
-
-
-Return Value - -If the state of HDMI quality detection is successfully returned, ADLX_OK is returned. - If the state of HDMI quality detection is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.xml deleted file mode 100644 index a69a73a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_enabled_link_protection.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_IsEnabledLinkProtection - IsEnabledLinkProtection - -Checks if link protection is enabled on a display. - - -Checks if link protection is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabledLinkProtection (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of link protection is returned. The variable is true if link protection is enabled. The variable is false if link protection is not enabled. - -
-
-
-
-
-Return Value - -If the state of link protection is successfully returned, ADLX_OK is returned. - If the state of link protection is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.xml deleted file mode 100644 index 368d6b0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_d_p_link.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_IsSupportedDPLink - IsSupportedDPLink - -Checks if DP link is supported on a display. - - -Checks if DP link is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedDPLink (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the DP link state is returned. The variable is true if DP link is supported. The variable is false if DP link is not supported. - -
-
-
-
-
-Return Value - -If the DP link state is successfully returned, ADLX_OK is returned. - If the DP link state is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.xml deleted file mode 100644 index c0ac162..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__is_supported_h_d_m_i_quality_detection.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_IsSupportedHDMIQualityDetection - IsSupportedHDMIQualityDetection - -Checks if HDMI quality detection is supported on a display. - - -Checks if HDMI quality detection is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedHDMIQualityDetection (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of HDMI quality detection is returned. The variable is true if HDMI quality detection is supported. The variable is false if HDMI quality detection is not supported. - -
-
-
-
-
-Return Value - -If the state of HDMI quality detection is successfully returned, ADLX_OK is returned. - If the state of HDMI quality detection is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.xml deleted file mode 100644 index f8c8915..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_enabled_h_d_m_i_quality_detection.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_SetEnabledHDMIQualityDetection - SetEnabledHDMIQualityDetection - -Sets the enabled or disabled status for HDMI quality detection on a display. - - -Sets the enabled or disabled status for HDMI quality detection on a display. -Syntax - - - ADLX_RESULT SetEnabledHDMIQualityDetection (adlx_bool* enabled) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new HDMI quality detection state. Set true to enable HDMI quality detection. Set false to disable HDMI quality detection. - -
-
-
-
-
-Return Value - -If the state of HDMI quality detection is successfully set, ADLX_OK is returned. - If the state of HDMI quality detection is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.xml deleted file mode 100644 index 6ec5f75..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_pre_emphasis.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_SetRelativePreEmphasis - SetRelativePreEmphasis - -Sets the relative preset emphasis on a display. - - -Sets the relative preset emphasis on a display. -Syntax - - - ADLX_RESULT SetRelativePreEmphasis(adlx_uint relativePreEmphasis) - -Parameters - - - - -1. -[in] -relativePreEmphasis -ADLX_DP_LINK_RATE* -The new relative preset emphasis. - -
-
-
-
-
-Return Value - -If the relative preset emphasis is successfully set, ADLX_OK is returned. - If the relative preset emphasis is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Note that relative preset emphasis allowed values range between -2 to +2. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.xml deleted file mode 100644 index fbb299e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_connectivity_experience__set_relative_voltage_swing.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayConnectivityExperience_SetRelativeVoltageSwing - SetRelativeVoltageSwing - -Sets the relative voltage swing on a display. - - -Sets the relative voltage swing on a display. -Syntax - - - ADLX_RESULT SetRelativeVoltageSwing(adlx_uint relativeVoltageSwing) - -Parameters - - - - -1. -[in] -relativeVoltageSwing -ADLX_DP_LINK_RATE* -The new relative voltage swing. - -
-
-
-
-
-Return Value - -If the relative voltage swing is successfully set, ADLX_OK is returned. - If the relative voltage swing is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Note that relative voltage swing allowed values range between -2 to +2. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color.xml deleted file mode 100644 index eae95ec..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor - IADLXDisplayCustomColor - GetBrightness - GetBrightnessRange - GetContrast - GetContrastRange - GetHue - GetHueRange - GetSaturation - GetSaturationRange - GetTemperature - GetTemperatureRange - IsBrightnessSupported - IsContrastSupported - IsHueSupported - IsSaturationSupported - IsTemperatureSupported - SetBrightness - SetContrast - SetHue - SetSaturation - SetTemperature - - - -The IADLXDisplayCustomColor interface configures custom color settings of a display. - -InterfaceId: -IADLXDisplayCustomColor - - -Smart Pointer Interface Name: -IADLXDisplayCustomColorPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetBrightness -Gets the current brightness of a display. - - -GetBrightnessRange -Gets the maximum brightness, minimum brightness, and step brightness of a display. - - -GetContrast -Gets the current color contrast of a display. - - -GetContrastRange -Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display. - - -GetHue -Gets the current hue of a display. - - -GetHueRange -Gets the maximum hue, minimum hue, and step hue of a display. - - -GetSaturation -Gets the current saturation of a display. - - -GetSaturationRange -Gets the maximum saturation, minimum saturation, and step saturation of a display. - - -GetTemperature -Gets the current color temperature of a display. - - -GetTemperatureRange -Gets the maximum color temperature, minimum color temperature, and step color temperature of a display. - - -IsBrightnessSupported -Checks if customization of brightness is supported on a display. - - -IsContrastSupported -Checks if customization of color contrast is supported on a display. - - -IsHueSupported -Checks if customization of hue is supported on a display. - - -IsSaturationSupported -Checks if customization of saturation is supported on a display. - - -IsTemperatureSupported -Checks if customization of color temperature is supported on a display. - - -SetBrightness -Sets the brightness on a display. - - -SetContrast -Sets the color contrast on a display. - - -SetHue -Sets the hue on a display. - - -SetSaturation -Sets the saturation on a display. - - -SetTemperature -Sets the color temperature on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayCustomColor C++ sample. - For a C application, refer to the DisplayCustomColor C sample. - -GetBrightness -GetBrightnessRange -GetContrast -GetContrastRange -GetHue -GetHueRange -GetSaturation -GetSaturationRange -GetTemperature -GetTemperatureRange -IsBrightnessSupported -IsContrastSupported -IsHueSupported -IsSaturationSupported -IsTemperatureSupported -SetBrightness -SetContrast -SetHue -SetSaturation -SetTemperature - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.xml deleted file mode 100644 index e6e4df1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetBrightness - GetBrightness - -Gets the current brightness of a display. - - -Gets the current brightness of a display. -Syntax - - - ADLX_RESULT GetBrightness(adlx_int* currentBrightness) - -Parameters - - - - -1. -[out] -currentBrightness -adlx_int* -The pointer to a variable where the current brightness of the display is returned. - -
-
-
-
-
-Return Value - -If the current brightness is successfully returned, ADLX_OK is returned. - If the current brightness is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.xml deleted file mode 100644 index 371a4a7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_brightness_range.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetBrightnessRange - GetBrightnessRange - -Gets the maximum brightness, minimum brightness, and step brightness of a display. - - -Gets the maximum brightness, minimum brightness, and step brightness of a display. -Syntax - - - ADLX_RESULT GetBrightnessRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the brightness range of the display is returned. - -
-
-
-
-
-Return Value - -If the brightness range is successfully returned, ADLX_OK is returned. - If the brightness range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.xml deleted file mode 100644 index 792b58d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetContrast - GetContrast - -Gets the current color contrast of a display. - - -Gets the current color contrast of a display. -Syntax - - - ADLX_RESULT GetContrast(adlx_int* currentContrast) - -Parameters - - - - -1. -[out] -currentContrast -adlx_int* -The pointer to a variable where the current color contrast of the display is returned. - -
-
-
-
-
-Return Value - -If the current color contrast is successfully returned, ADLX_OK is returned. - If the current color contrast is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.xml deleted file mode 100644 index 98f9bed..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_contrast_range.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetContrastRange - GetContrastRange - -Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display. - - -Gets the maximum color contrast, minimum contrast contrast, and step color contrast of a display. -Syntax - - - ADLX_RESULT GetContrastRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the color contrast range of the display is returned. - -
-
-
-
-
-Return Value - -If the color contrast range is successfully returned, ADLX_OK is returned. - If the color contrast range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.xml deleted file mode 100644 index 5fd5575..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetHue - GetHue - -Gets the current hue of a display. - - -Gets the current hue of a display. -Syntax - - - ADLX_RESULT GetHue(adlx_int* currentHue) - -Parameters - - - - -1. -[out] -currentHue -adlx_int* -The pointer to a variable where the current hue of the display is returned. - -
-
-
-
-
-Return Value - -If the current hue is successfully returned, ADLX_OK is returned. - If the current hue is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.xml deleted file mode 100644 index d858edb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_hue_range.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetHueRange - GetHueRange - -Gets the maximum hue, minimum hue, and step hue of a display. - - -Gets the maximum hue, minimum hue, and step hue of a display. -Syntax - - - ADLX_RESULT GetHueRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the hue range of the display is returned. - -
-
-
-
-
-Return Value - -If the hue range is successfully returned, ADLX_OK is returned. - If the hue range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.xml deleted file mode 100644 index fe73365..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetSaturation - GetSaturation - -Gets the current saturation of a display. - - -Gets the current saturation of a display. -Syntax - - - ADLX_RESULT GetSaturation(adlx_int* currentSaturation) - -Parameters - - - - -1. -[out] -currentSaturation -adlx_int* -The pointer to a variable where the current saturation of the display is returned. - -
-
-
-
-
-Return Value - -If the current saturation is successfully returned, ADLX_OK is returned. - If the current saturation is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.xml deleted file mode 100644 index d5afb24..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_saturation_range.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetSaturationRange - GetSaturationRange - -Gets the maximum saturation, minimum saturation, and step saturation of a display. - - -Gets the maximum saturation, minimum saturation, and step saturation of a display. -Syntax - - - ADLX_RESULT GetSaturationRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the saturation range of the display is returned. - -
-
-
-
-
-Return Value - -If the saturation range is successfully returned, ADLX_OK is returned. - If the saturation range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.xml deleted file mode 100644 index f9b48ec..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetTemperature - GetTemperature - -Gets the current color temperature of a display. - - -Gets the current color temperature of a display. -Syntax - - - ADLX_RESULT GetTemperature(adlx_int* currentTemperature) - -Parameters - - - - -1. -[out] -currentTemperature -adlx_int* -The pointer to a variable where the current color temperature of the display is returned. - -
-
-
-
-
-Return Value - -If the current color temperature is successfully returned, ADLX_OK is returned. - If the current color temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.xml deleted file mode 100644 index 993c023..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__get_temperature_range.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_GetTemperatureRange - GetTemperatureRange - -Gets the maximum color temperature, minimum color temperature, and step color temperature of a display. - - -Gets the maximum color temperature, minimum color temperature, and step color temperature of a display. -Syntax - - - ADLX_RESULT GetTemperatureRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the color temperature range is returned. - -
-
-
-
-
-Return Value - -If the color temperature range is successfully returned, ADLX_OK is returned. - If the color temperature range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.xml deleted file mode 100644 index 64f8d24..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_brightness_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_IsBrightnessSupported - IsBrightnessSupported - -Checks if customization of brightness is supported on a display. - - -Checks if customization of brightness is supported on a display. -Syntax - - - ADLX_RESULT IsBrightnessSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of brightness is returned. The variable is true if customization of brightness is supported. The variable is false if customization of brightness is not supported. - -
-
-
-
-
-Return Value - -If the state of brightness is successfully returned, ADLX_OK is returned. - If the state of brightness is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.xml deleted file mode 100644 index 5fc37e2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_contrast_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_IsContrastSupported - IsContrastSupported - -Checks if customization of color contrast is supported on a display. - - -Checks if customization of color contrast is supported on a display. -Syntax - - - ADLX_RESULT IsContrastSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color contrast is returned. The variable is true if customization of color contrast is supported. The variable is false if customization of color contrast is not supported - -
-
-
-
-
-Return Value - -If the state of color contrast is successfully returned, ADLX_OK is returned. - If the state of color contrast is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.xml deleted file mode 100644 index 0f435a7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_hue_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_IsHueSupported - IsHueSupported - -Checks if customization of hue is supported on a display. - - -Checks if customization of hue is supported on a display. -Syntax - - - ADLX_RESULT IsHueSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of hue is returned. The variable is true if customization of hue is supported. The variable is false if customization of hue is not supported. - -
-
-
-
-
-Return Value - -If the state of hue is successfully returned, ADLX_OK is returned. - If the state of hue is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.xml deleted file mode 100644 index 3291358..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_saturation_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_IsSaturationSupported - IsSaturationSupported - -Checks if customization of saturation is supported on a display. - - -Checks if customization of saturation is supported on a display. -Syntax - - - ADLX_RESULT IsSaturationSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of saturation is returned. The variable is true if customization of saturation is supported. The variable is false if customization of saturation is not supported. - -
-
-
-
-
-Return Value - -If the state of saturation is successfully returned, ADLX_OK is returned. - If the state of saturation is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.xml deleted file mode 100644 index a1a6679..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__is_temperature_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_IsTemperatureSupported - IsTemperatureSupported - -Checks if customization of color temperature is supported on a display. - - -Checks if customization of color temperature is supported on a display. -Syntax - - - ADLX_RESULT IsTemperatureSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color temperature is returned. The variable is true if customization of color temperature is supported. The variable is false if customization of color temperature is not supported. - -
-
-
-
-
-Return Value - -If the state of color temperature is successfully returned, ADLX_OK is returned. - If the state of color temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.xml deleted file mode 100644 index d6dc6e9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_brightness.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_SetBrightness - SetBrightness - -Sets the brightness on a display. - - -Sets the brightness on a display. -Syntax - - - ADLX_RESULT SetBrightness(adlx_int brightness) - -Parameters - - - - -1. -[out] -brightness -adlx_int -The new brightness value. - -
-
-
-
-
-Return Value - -If the brightness is successfully set, ADLX_OK is returned. - If the brightness is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.xml deleted file mode 100644 index abba3ae..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_contrast.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_SetContrast - SetContrast - -Sets the color contrast on a display. - - -Sets the color contrast on a display. -Syntax - - - ADLX_RESULT SetContrast(adlx_int contrast) - -Parameters - - - - -1. -[out] -contrast -adlx_int -The new color contrast value. - -
-
-
-
-
-Return Value - -If the color contrast value is successfully set, ADLX_OK is returned. - If the color contrast value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.xml deleted file mode 100644 index 0f092a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_hue.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_SetHue - SetHue - -Sets the hue on a display. - - -Sets the hue on a display. -Syntax - - - ADLX_RESULT SetHue(adlx_int value) - -Parameters - - - - -1. -[out] -hue -adlx_int -The new hue value. - -
-
-
-
-
-Return Value - -If the hue is successfully set, ADLX_OK is returned. - If the hue is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.xml deleted file mode 100644 index 1c24f2d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_saturation.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_SetSaturation - SetSaturation - -Sets the saturation on a display. - - -Sets the saturation on a display. -Syntax - - - ADLX_RESULT SetSaturation(adlx_int saturation) - -Parameters - - - - -1. -[out] -saturation -adlx_int -The new saturation value. - -
-
-
-
-
-Return Value - -If the saturation is successfully set, ADLX_OK is returned. - If the saturation is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.xml deleted file mode 100644 index 9c1217a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_color__set_temperature.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayCustomColor_SetTemperature - SetTemperature - -Sets the color temperature on a display. - - -Sets the color temperature on a display. -Syntax - - - ADLX_RESULT SetTemperature(adlx_int value) - -Parameters - - - - -1. -[out] -temperature -adlx_int -The new color temperature value. - -
-
-
-
-
-Return Value - -If the color temperature is successfully set, ADLX_OK is returned. - If the color temperature is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution.xml deleted file mode 100644 index a480121..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution - IADLXDisplayCustomResolution - CreateNewResolution - DeleteResolution - GetCurrentAppliedResolution - GetResolutionList - IsSupported - - - -The IADLXDisplayCustomResolution interface provides methods to discover, create, and delete custom resolutions on a display. - -InterfaceId: -IADLXDisplayCustomResolution - - -Smart Pointer Interface Name: -IADLXDisplayCustomResolutionPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Methods - - -Method -Description - - -CreateNewResolution -Creates a custom resolution on a display. - - -DeleteResolution -Deletes a custom resolution from a display. - - -GetCurrentAppliedResolution -Gets the reference counted current resolution interface of a display. - - -GetResolutionList -Gets the reference counted list of available resolutions of a display. - - -IsSupported -Checks if custom resolution is supported on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample. - For a C application, refer to the DisplayCustomResolution C sample. - -CreateNewResolution -DeleteResolution -GetCurrentAppliedResolution -GetResolutionList -IsSupported - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.xml deleted file mode 100644 index ba76343..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__create_new_resolution.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution_CreateNewResolution - CreateNewResolution - -Creates a custom resolution on a display. - - -Creates a custom resolution on a display. -Syntax - - - ADLX_RESULT CreateNewResolution(IADLXDisplayResolution* pResolution) - -Parameters - - - - -1. -[out] -pResolution -IADLXDisplayResolution* -The pointer to the custom resolution interface. - -
-
-
-
-
-Return Value - -If the custom resolution is successfully created, ADLX_OK is returned. - If the custom resolution is not successfully created, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.xml deleted file mode 100644 index 9cf32a7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__delete_resolution.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution_DeleteResolution - DeleteResolution - -Deletes a custom resolution from a display. - - -Deletes a custom resolution from a display. -Syntax - - - ADLX_RESULT DeleteResolution(IADLXDisplayResolution* pResolution) - -Parameters - - - - -1. -[out] -pResolution -IADLXDisplayResolution* -The pointer to a variable where the display resolution IADLXDisplayResolution is returned. - -
-
-
-
-
-Return Value - -If the custom resolution is successfully deleted, ADLX_OK is returned. - If the custom resolution is not successfully deleted, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.xml deleted file mode 100644 index a3dd249..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_current_applied_resolution.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution_GetCurrentAppliedResolution - GetCurrentAppliedResolution - -Gets the reference counted current resolution interface of a display. - - -Gets the reference counted current resolution interface of a display. -Syntax - - - ADLX_RESULT GetCurrentAppliedResolution(IADLXDisplayResolution** ppResolution) - -Parameters - - - - -1. -[out] -ppResolution -IADLXDisplayResolution** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address ppResolution to nullptr. - -
-
-
-
-
-Return Value - -If the current resolution is successfully returned, ADLX_OK is returned. - If the current resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. - -Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.xml deleted file mode 100644 index 1f14cd4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__get_resolution_list.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution_GetResolutionList - GetResolutionList - -Gets the reference counted list of available resolutions of a display. - - -Gets the reference counted list of available resolutions of a display. -Syntax - - - ADLX_RESULT GetResolutionList(IADLXDisplayResolutionList** ppResolutionList) - -Parameters - - - - -1. -[out] -cr -IADLXDisplayResolutionList* -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address ppResolutionList to nullptr. - -
-
-
-
-
-Return Value - -If the resolution list is successfully returned, ADLX_OK is returned. - If the resolution list is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. - -Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.xml deleted file mode 100644 index d6b40f7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_custom_resolution__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayCustomResolution_IsSupported - IsSupported - -Checks if custom resolution is supported on a display. - - -Checks if custom resolution is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the custom resolution support status is returned. The variable is true if custom resolution is supported. The variable is false if custom resolution is not supported. - -
-
-
-
-
-Return Value - -If the custom resolution status is successfully returned, ADLX_OK is returned. - If the custom resolution status is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Applying custom resolution in certain games and applications may provide a better user experience. Consult the display user manual for specifications and compatibility information before use. - Note: Displays running in duplicate or Eyefinity mode do not support custom resolutions. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync.xml deleted file mode 100644 index e103663..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLXDisplayFreeSync - IADLXDisplayFreeSync - IsEnabled - IsSupported - SetEnabled - - - -The IADLXDisplayFreeSync interface configures AMD FreeSync™ on a display. - -InterfaceId: -IADLXDisplayFreeSync - - -Smart Pointer Interface Name: -IADLXDisplayFreeSyncPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsEnabled -Checks if the AMD FreeSync™ is enabled on a GPU. - - -IsSupported -Checks if the AMD FreeSync™ is supported on a display. - - -SetEnabled -Sets the AMD FreeSync™ to enabled or disabled state on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayFreeSync C++ sample. - For a C application, refer to the DisplayFreeSync C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.xml deleted file mode 100644 index b141d1b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDisplayFreeSync_IsEnabled - IsEnabled - -Checks if the AMD FreeSync™ is enabled on a GPU. - - -Checks if the AMD FreeSync™ is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD FreeSync is returned. The variable is true if AMD FreeSync is enabled. The variable is false if AMD FreeSync is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD FreeSync is successfully returned, ADLX_OK is returned. - If the state of AMD FreeSync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate. - -AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.xml deleted file mode 100644 index 89e7cc7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__is_supported.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDisplayFreeSync_IsSupported - IsSupported - -Checks if the AMD FreeSync™ is supported on a display. - - -Checks if the AMD FreeSync™ is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD FreeSync is returned. The variable is true if AMD FreeSync is supported. The variable is false if AMD FreeSync is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD FreeSync is successfully returned, ADLX_OK is returned. - If the state of AMD FreeSync is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate. - -AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.xml deleted file mode 100644 index 4f2834f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_free_sync__set_enabled.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXDisplayFreeSync_SetEnabled - SetEnabled - -Sets the AMD FreeSync™ to enabled or disabled state on a display. - - -Sets the AMD FreeSync™ to enabled or disabled state on a display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD FreeSync state. Set true to enable AMD FreeSync. Set false to disable AMD FreeSync. - -
-
-
-
-
-Return Value - -If the AMD FreeSync enabled status is successfully returned, ADLX_OK is returned. - If the AMD FreeSync enabled status is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -AMD FreeSync technology synchronizes the refresh rate of a display with the framerate of AMD FreeSync compatible graphics card to deliver dynamic refresh rate. - -AMD FreeSync technology reduces or eliminates visual artifacts, input latency, screen tearing and stuttering during gaming and video playback. AMD FreeSync technology can be delivered through DisplayPort and HDMI® connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.xml deleted file mode 100644 index 8fd33c3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - DOX_IADLXDisplayGPUScaling - IADLXDisplayGPUScaling - IsEnabled - IsSupported - SetEnabled - - - -The IADLXDisplayGPUScaling interface configures GPU scaling settings on a display. - -InterfaceId: -IADLXDisplayGPUScaling - - -Smart Pointer Interface Name: -IADLXDisplayGPUScalingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Note: Integer Display Scaling is not supported when GPU scaling is disabled. - GPU scaling is required for Radeon™ Super Resolution. GPU scaling is automatically enabled when Radeo Super Resolution is enabled. -Methods - - -Method -Description - - -IsEnabled -Checks if the GPU scaling is enabled on a display. - - -IsSupported -Checks if the GPU scaling is supported on a display. - - -SetEnabled -Sets the GPU scaling to enabled or disabled state on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayGPUScaling C++ sample. - For a C application, refer to the DisplayGPUScaling C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.xml deleted file mode 100644 index ad2b212..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_enabled.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplayGPUScaling_IsEnabled - IsEnabled - -Checks if the GPU scaling is enabled on a display. - - -Checks if the GPU scaling is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of GPU scaling is returned. The variable is true if GPU scaling is enabled. The variable is false if GPU scaling is not enabled. - -
-
-
-
-
-Return Value - -If the state of GPU scaling is successfully returned, ADLX_OK is returned. - If the state of GPU scaling is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling uses the GPU to scale up lower resolutions to fit the display. - GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. - Note: Integer Display Scaling is not supported when GPU scaling is disabled. - GPU scaling is required for Radeon™ Super Resolution. GPU scaling is automatically enabled when Radeon Super Resolution is enabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.xml deleted file mode 100644 index 725cfb7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayGPUScaling_IsSupported - IsSupported - -Checks if the GPU scaling is supported on a display. - - -Checks if the GPU scaling is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU scaling is returned. The variable is true if GPU scaling is supported. The variable is false if GPU scaling is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU scaling is successfully returned, ADLX_OK is returned. - If the state of GPU scaling is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling uses the GPU to scale up lower resolutions to fit the display. - GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.xml deleted file mode 100644 index f5138c8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_g_p_u_scaling__set_enabled.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplayGPUScaling_SetEnabled - SetEnabled - -Sets the GPU scaling to enabled or disabled state on a display. - - -Sets the GPU scaling to enabled or disabled state on a display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new GPU scaling state. Set true to enable GPU scaling. Set false to disable GPU scaling. - -
-
-
-
-
-Return Value - -If the state of GPU scaling is successfully set, ADLX_OK is returned. - If the state of GPU scaling is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling uses the GPU to scale up lower resolutions to fit the display. - GPU scaling requires a digital connection (DVI, HDMI or DisplayPort™) from the display to the GPU. - Note: Integer Display Scaling is not supported when GPU scaling is disabled. - GPU scaling is required for Radeon™ Super Resolution. By disabling GPU scaling when Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma.xml deleted file mode 100644 index c1546ea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma.xml +++ /dev/null @@ -1,228 +0,0 @@ - - - - DOX_IADLXDisplayGamma - IADLXDisplayGamma - GetGammaCoefficient - GetGammaRamp - IsCurrentDeGammaRamp - IsCurrentReGamma36 - IsCurrentReGammaBT709 - IsCurrentReGammaPQ - IsCurrentReGammaPQ2084Interim - IsCurrentReGammaRamp - IsCurrentReGammaSRGB - IsCurrentRegammaCoefficient - IsSupportedReGamma36 - IsSupportedReGammaBT709 - IsSupportedReGammaPQ - IsSupportedReGammaPQ2084Interim - IsSupportedReGammaSRGB - ResetGammaRamp - SetDeGammaRamp - SetDeGammaRamp - SetReGamma36 - SetReGammaBT709 - SetReGammaCoefficient - SetReGammaPQ - SetReGammaPQ2084Interim - SetReGammaRamp - SetReGammaRamp - SetReGammaSRGB - - - -The IADLXDisplayGamma interface configures gamma correction on a display. - -InterfaceId: -IADLXDisplayGamma - - -Smart Pointer Interface Name: -IADLXDisplayGammaPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-The IADLXDisplayGamma interface provides two types of gamma correction which are gamma ramp and gamma coefficient. Both gamma ramp and gamma coefficient have two sub-types: de-gamma and re-gamma. -Gamma ramp provides a Lookup Table (LUT) for the gamma correction, it applies the LUT with the assumption that all pixels are in sRGB space. -Re-Gamma coefficient uses the following non-linear formula: if(linear_pixel<CofficientA0) -output=linear_pixel*CofficientA1 -else -output=(1+CofficientA3)*linear_pixel^(1/Gamma)-CofficientA2 - -De-Gamma coefficient uses the following non-linear formula: if(linear_pixel<CofficientA0) -output=linear_pixel/CofficientA1 -else -output=((linear_pixel+CofficientA3)/(1+CofficientA2))^(Gamma) - - - -Methods - - -Method -Description - - -GetGammaCoefficient -Gets the re-gamma coefficient settings on a display. - - -GetGammaRamp -Gets the gamma ramp LUT on a display. - - -IsCurrentDeGammaRamp -Checks if de-gamma ramp is used by a display. - - -IsCurrentReGamma36 -Checks if the 3.6 re-gamma is used by a display. - - -IsCurrentReGammaBT709 -Checks if the BT709 re-gamma is used by a display. - - -IsCurrentReGammaPQ -Checks if the PQ re-gamma is used by a display. - - -IsCurrentReGammaPQ2084Interim -Checks if the PQ2084 re-gamma curve is used by a display. - - -IsCurrentReGammaRamp -Checks if re-gamma ramp is used by a display. - - -IsCurrentReGammaSRGB -Checks if the sRGB re-gamma is used by a display. - - -IsCurrentRegammaCoefficient -Checks if re-gamma coefficient is used by a display. - - -IsSupportedReGamma36 -Checks if the 3.6 re-gamma is supported on a display. - - -IsSupportedReGammaBT709 -Checks if the BT709 re-gamma is supported on a display. - - -IsSupportedReGammaPQ -Checks if the PQ re-gamma is supported on a display. - - -IsSupportedReGammaPQ2084Interim -Checks if the PQ2084 re-gamma curve is supported on a display. - - -IsSupportedReGammaSRGB -Checks if the sRGB re-gamma is supported on a display. - - -ResetGammaRamp -Resets the gamma ramp on a display. - - -SetDeGammaRamp -Sets the de-gamma on a display using a ramp file. - - -SetDeGammaRamp -Sets the de-gamma on a display using a ramp buffer. - - -SetReGamma36 -Sets the 3.6 re-gamma on a display. - - -SetReGammaBT709 -Sets the BT709 re-gamma on a display. - - -SetReGammaCoefficient -Sets the re-gamma coefficient on a display. - - -SetReGammaPQ -Sets the PQ re-gamma on a display. - - -SetReGammaPQ2084Interim -Sets the PQ2084 re-gamma curve on a display. - - -SetReGammaRamp -Sets the re-gamma on a display using a ramp file. - - -SetReGammaRamp -Sets the re-gamma on a display using a ramp buffer. - - -SetReGammaSRGB -Sets the sRGB re-gamma on a display. - -
-
-Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayGamma C++ sample. - For a C application, refer to the DisplayGamma C sample. - -GetGammaCoefficient -GetGammaRamp -IsCurrentDeGammaRamp -IsCurrentReGamma36 -IsCurrentReGammaBT709 -IsCurrentReGammaPQ -IsCurrentReGammaPQ2084Interim -IsCurrentReGammaRamp -IsCurrentReGammaSRGB -IsCurrentRegammaCoefficient -IsSupportedReGamma36 -IsSupportedReGammaBT709 -IsSupportedReGammaPQ -IsSupportedReGammaPQ2084Interim -IsSupportedReGammaSRGB -ResetGammaRamp -SetDeGammaRamp -SetDeGammaRamp -SetReGamma36 -SetReGammaBT709 -SetReGammaCoefficient -SetReGammaPQ -SetReGammaPQ2084Interim -SetReGammaRamp -SetReGammaRamp -SetReGammaSRGB - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.xml deleted file mode 100644 index 3e6941a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_coefficient.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - DOX_IADLXDisplayGamma_GetGammaCoefficient - GetGammaCoefficient - -Gets the re-gamma coefficient settings on a display. - - -Gets the re-gamma coefficient settings on a display. -Syntax - - - ADLX_RESULT GetGammaCoefficient (ADLX_RegammaCoeff* coeff) - -Parameters - - - - -1. -[out] -coeff -ADLX_RegammaCoeff* -The pointer to a variable where the re-gamma coefficient settings are returned. - -
-
-
-
-
-Return Value - -If the re-gamma coefficient settings are successfully returned, ADLX_OK is returned. - If the re-gamma coefficient settings are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.xml deleted file mode 100644 index 08f3a77..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__get_gamma_ramp.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_GetGammaRamp - GetGammaRamp - -Gets the gamma ramp LUT on a display. - - -Gets the gamma ramp LUT on a display. -Syntax - - - ADLX_RESULT GetGammaRamp (ADLX_GammaRamp* lut) - -Parameters - - - - -1. -[out] -lut -ADLX_GammaRamp* -The pointer to a variable where the gamma ramp LUT is returned. - -
-
-
-
-
-Return Value - -If the gamma ramp LUT is successfully returned, ADLX_OK is returned. - If the gamma ramp LUT is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.xml deleted file mode 100644 index 3573aaf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_de_gamma_ramp.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentDeGammaRamp - IsCurrentDeGammaRamp - -Checks if de-gamma ramp is used by a display. - - -Checks if de-gamma ramp is used by a display. -Syntax - - - ADLX_RESULT IsCurrentDeGammaRamp (adlx_bool* isDeGammaRamp) - -Parameters - - - - -1. -[out] -IsDeGammaRamp -adlx_bool* -The pointer to a variable where the state of de-gamma ramp is returned. The variable is true if de-gamma ramp is used. The variable is false if de-gamma ramp is not used. - -
-
-
-
-
-Return Value - -If the state of de-gamma ramp is successfully returned, ADLX_OK is returned. - If the state of de-gamma ramp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.xml deleted file mode 100644 index d0b51cf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma36.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGamma36 - IsCurrentReGamma36 - -Checks if the 3.6 re-gamma is used by a display. - - -Checks if the 3.6 re-gamma is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGamma36 (adlx_bool* isCurrentReGamma36) - -Parameters - - - - -1. -[out] -IsCurrentReGamma36 -adlx_bool* -The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is true if 3.6 re-gamma is used. The variable is false if 3.6 re-gamma is not used. - -
-
-
-
-
-Return Value - -If the state of 3.6 re-gamma is successfully returned, ADLX_OK is returned. - If the state of 3.6 re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.xml deleted file mode 100644 index 04b736b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_b_t709.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGammaBT709 - IsCurrentReGammaBT709 - -Checks if the BT709 re-gamma is used by a display. - - -Checks if the BT709 re-gamma is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGammaBT709 (adlx_bool* isCurrentReGammaBT709) - -Parameters - - - - -1. -[out] -IsCurrentReGammaBT709 -adlx_bool* -The pointer to a variable where the state of BT709 re-gamma is returned. The variable is true if BT709 re-gamma is used. The variable is false if BT709 re-gamma is not used. - -
-
-
-
-
-Return Value - -If the state of BT709 re-gamma is successfully returned, ADLX_OK is returned. - If the state of BT709 re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.xml deleted file mode 100644 index 45f2b7f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGammaPQ - IsCurrentReGammaPQ - -Checks if the PQ re-gamma is used by a display. - - -Checks if the PQ re-gamma is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGammaPQ (adlx_bool* isCurrentReGammaPQ) - -Parameters - - - - -1. -[out] -IsCurrentReGammaPQ -adlx_bool* -The pointer to a variable where the state of PQ re-gamma is returned. The variable is true if PQ re-gamma is used. The variable is false if PQ re-gamma is not used. - -
-
-
-
-
-Return Value - -If the state of PQ re-gamma is successfully returned, ADLX_OK is returned. - If the state of PQ re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.xml deleted file mode 100644 index f50b0f6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_p_q2084_interim.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGammaPQ2084Interim - IsCurrentReGammaPQ2084Interim - -Checks if the PQ2084 re-gamma curve is used by a display. - - -Checks if the PQ2084 re-gamma curve is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGammaPQ2084Interim (adlx_bool* isCurrentReGammaPQ2084Interim) - -Parameters - - - - -1. -[out] -IsCurrentReGammaPQ2084Interim -adlx_bool* -The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is true if PQ2084 re-gamma curve is used. The variable is false if PQ2084 re-gamma curve is not used. - -
-
-
-
-
-Return Value - -If the state of PQ2084 re-gamma curve is successfully returned, ADLX_OK is returned. - If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.xml deleted file mode 100644 index 811b6a4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_ramp.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGammaRamp - IsCurrentReGammaRamp - -Checks if re-gamma ramp is used by a display. - - -Checks if re-gamma ramp is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGammaRamp (adlx_bool* isReGammaRamp) - -Parameters - - - - -1. -[out] -IsReGammaRamp -adlx_bool* -The pointer to a variable where the state of re-gamma ramp is returned. The variable is true if re-gamma ramp is used. The variable is false if re-gamma ramp is not used. - -
-
-
-
-
-Return Value - -If the state of re-gamma ramp is successfully returned, ADLX_OK is returned. - If the state of re-gamma ramp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.xml deleted file mode 100644 index a5eeb78..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_re_gamma_s_r_g_b.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentReGammaSRGB - IsCurrentReGammaSRGB - -Checks if the sRGB re-gamma is used by a display. - - -Checks if the sRGB re-gamma is used by a display. -Syntax - - - ADLX_RESULT IsCurrentReGammaSRGB (adlx_bool* isCurrentReGammaSRGB) - -Parameters - - - - -1. -[out] -IsCurrentReGammaSRGB -adlx_bool* -The pointer to a variable where the state of sRGB re-gamma is returned. The variable is true if sRGB re-gamma is used. The variable is false if sRGB re-gamma is not used. - -
-
-
-
-
-Return Value - -If the state of sRGB re-gamma is successfully returned, ADLX_OK is returned. - If the state of sRGB re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.xml deleted file mode 100644 index 6309a45..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_current_regamma_coefficient.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsCurrentRegammaCoefficient - IsCurrentRegammaCoefficient - -Checks if re-gamma coefficient is used by a display. - - -Checks if re-gamma coefficient is used by a display. -Syntax - - - ADLX_RESULT IsCurrentRegammaCoefficient (adlx_bool* isRegammaCoeff) - -Parameters - - - - -1. -[out] -IsRegammaCoeff -adlx_bool* -The pointer to a variable where the state of re-gamma coefficient is returned. The variable is true if re-gamma coefficient is used. The variable is false if re-gamma coefficient is not used. - -
-
-
-
-
-Return Value - -If the state of re-gamma coefficient is successfully returned, ADLX_OK is returned. - If the state of re-gamma coefficient is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.xml deleted file mode 100644 index d28a192..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma36.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsSupportedReGamma36 - IsSupportedReGamma36 - -Checks if the 3.6 re-gamma is supported on a display. - - -Checks if the 3.6 re-gamma is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedReGamma36 (adlx_bool* isSupportedReGamma36) - -Parameters - - - - -1. -[out] -IsSupportedReGamma36 -adlx_bool* -The pointer to a variable where the state of 3.6 re-gamma is returned. The variable is true if 3.6 re-gamma is supported. The variable is false if 3.6 re-gamma is not supported. - -
-
-
-
-
-Return Value - -If the state of 3.6 re-gamma is successfully returned, ADLX_OK is returned. - If the state of 3.6 re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.xml deleted file mode 100644 index 0744df5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_b_t709.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsSupportedReGammaBT709 - IsSupportedReGammaBT709 - -Checks if the BT709 re-gamma is supported on a display. - - -Checks if the BT709 re-gamma is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedReGammaBT709 (adlx_bool* isSupportedReGammaBT709) - -Parameters - - - - -1. -[out] -IsSupportedReGammaBT709 -adlx_bool* -The pointer to a variable where the state of BT709 re-gamma is returned. The variable is true if BT709 re-gamma is supported. The variable is false if BT709 re-gamma is not supported. - -
-
-
-
-
-Return Value - -If the state of BT709 re-gamma is successfully returned, ADLX_OK is returned. - If the state of BT709 re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.xml deleted file mode 100644 index b9ecf9e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsSupportedReGammaPQ - IsSupportedReGammaPQ - -Checks if the PQ re-gamma is supported on a display. - - -Checks if the PQ re-gamma is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedReGammaPQ (adlx_bool* isSupportedReGammaPQ) - -Parameters - - - - -1. -[out] -IsSupportedReGammaPQ -adlx_bool* -The pointer to a variable where the state of PQ re-gamma is returned. The variable is true if PQ re-gamma is supported. The variable is false if PQ re-gamma is not supported. - -
-
-
-
-
-Return Value - -If the state of PQ re-gamma is successfully returned, ADLX_OK is returned. - If the state of PQ re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.xml deleted file mode 100644 index 757816b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_p_q2084_interim.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsSupportedReGammaPQ2084Interim - IsSupportedReGammaPQ2084Interim - -Checks if the PQ2084 re-gamma curve is supported on a display. - - -Checks if the PQ2084 re-gamma curve is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedReGammaPQ2084Interim (adlx_bool* isSupportedReGammaPQ2084Interim); - -Parameters - - - - -1. -[out] -IsSupportedReGammaPQ2084Interim -adlx_bool* -The pointer to a variable where the state of PQ2084 re-gamma curve is returned. The variable is true if PQ2084 re-gamma curve is supported. The variable is false if PQ2084 re-gamma curve is not supported. - -
-
-
-
-
-Return Value - -If the state of PQ2084 re-gamma curve is successfully returned, ADLX_OK is returned. - If the state of PQ2084 re-gamma curve is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.xml deleted file mode 100644 index 76e586b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__is_supported_re_gamma_s_r_g_b.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_IsSupportedReGammaSRGB - IsSupportedReGammaSRGB - -Checks if the sRGB re-gamma is supported on a display. - - -Checks if the sRGB re-gamma is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedReGammaSRGB (adlx_bool* isSupportedRegammaSRGB) - -Parameters - - - - -1. -[out] -isSupportedRegammaSRGB -adlx_bool* -The pointer to a variable where the state of sRGB re-gamma is returned. The variable is true if sRGB re-gamma is supported. The variable is false if sRGB re-gamma is not supported. - -
-
-
-
-
-Return Value - -If the state of sRGB re-gamma is successfully returned, ADLX_OK is returned. - If the state of sRGB re-gamma is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.xml deleted file mode 100644 index bacdac3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__reset_gamma_ramp.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_ResetGammaRamp - ResetGammaRamp - -Resets the gamma ramp on a display. - - -Resets the gamma ramp on a display. -Syntax - - - ADLX_RESULT ResetGammaRamp () - -Parameters - -N/A -Return Value - -If the gamma ramp is successfully reset, ADLX_OK is returned. - If the gamma ramp is not successfully reset, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.xml deleted file mode 100644 index 25909fb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_file.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetDeGammaRampFile - SetDeGammaRamp - -Sets the de-gamma on a display using a ramp file. - - -Sets the de-gamma on a display using a ramp file. -Syntax - - - ADLX_RESULT SetDeGammaRamp (const char* path) - -Parameters - - - - -1. -[in] -pPath -const char* -The zero-terminated string that specifies the path of the ramp file. - -
-
-
-
-
-Return Value - -If the de-gamma is successfully set, ADLX_OK is returned. - If the de-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The method sets the custom de-gamma on a display using a ramp file. The following is an example of a ramp file. [R][G][B] -[0]0,0,0 -[1]49836,34885,0 -... -[254]58260,58782,0 -[255]65533,56634,0 - -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.xml deleted file mode 100644 index 2536038..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_de_gamma_ramp_memory.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetDeGammaRampMemory - SetDeGammaRamp - -Sets the de-gamma on a display using a ramp buffer. - - -Sets the de-gamma on a display using a ramp buffer. -Syntax - - - ADLX_RESULT SetDeGammaRamp (ADLX_GammaRamp gammaRamp) - -Parameters - - - - -1. -[in] -gammaRamp -ADLX_GammaRamp -The gamma ramp buffer. - -
-
-
-
-
-Return Value - -If the de-gamma is successfully set, ADLX_OK is returned. - If the de-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.xml deleted file mode 100644 index 976609a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma36.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGamma36 - SetReGamma36 - -Sets the 3.6 re-gamma on a display. - - -Sets the 3.6 re-gamma on a display. -Syntax - - - ADLX_RESULT SetReGamma36 () - -Parameters - -N/A -Return Value - -If the 3.6 re-gamma is successfully set, ADLX_OK is returned. - If the 3.6 re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.xml deleted file mode 100644 index ef21b25..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_b_t709.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaBT709 - SetReGammaBT709 - -Sets the BT709 re-gamma on a display. - - -Sets the BT709 re-gamma on a display. -Syntax - - - ADLX_RESULT SetReGammaBT709 () - -Parameters - -N/A -Return Value - -If the BT709 re-gamma is successfully set, ADLX_OK is returned. - If the BT709 re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.xml deleted file mode 100644 index 660b5ab..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_coefficient.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaCoefficient - SetReGammaCoefficient - -Sets the re-gamma coefficient on a display. - - -Sets the re-gamma coefficient on a display. -Syntax - - - ADLX_RESULT SetReGammaCoefficient (ADLX_RegammaCoeff coeff) - -Parameters - - - - -1. -[in] -coeff -ADLX_RegammaCoeff -The re-gamma coefficient. - -
-
-
-
-
-Return Value - -If the re-gamma coefficient is successfully set, ADLX_OK is returned. - If the re-gamma coefficient is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The method sets the custom coefficient on a display. The following is an example of a standard coefficient. -coeff -sRGB -BT709 -Gamma2.2 -Gamma2.4 -P3 - - -CoefficientA0 -31308 -180000 -0 -0 -0 - - -CoefficientA1 -12920 -4500 -0 -0 -0 - - -CoefficientA2 -55 -99 -0 -0 -0 - - -CoefficientA3 -55 -99 -0 -0 -0 - - -Gamma -2400 -2200 -2200 -2400 -2600 - -
-
-Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.xml deleted file mode 100644 index 1ff73e0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaPQ - SetReGammaPQ - -Sets the PQ re-gamma on a display. - - -Sets the PQ re-gamma on a display. -Syntax - - - ADLX_RESULT SetReGammaPQ () - -Parameters - -N/A -Return Value - -If the PQ re-gamma is successfully set, ADLX_OK is returned. - If the PQ re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.xml deleted file mode 100644 index b7d31c9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_p_q2084_interim.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaPQ2084Interim - SetReGammaPQ2084Interim - -Sets the PQ2084 re-gamma curve on a display. - - -Sets the PQ2084 re-gamma curve on a display. -Syntax - - - ADLX_RESULT SetReGammaPQ2084Interim () - -Parameters - -N/A -Return Value - -If the PQ2084 re-gamma curve is successfully set, ADLX_OK is returned. - If the PQ2084 re-gamma curve is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.xml deleted file mode 100644 index 32badd8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_file.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaRampFile - SetReGammaRamp - -Sets the re-gamma on a display using a ramp file. - - -Sets the re-gamma on a display using a ramp file. -Syntax - - - ADLX_RESULT SetReGammaRamp (const char* path) - -Parameters - - - - -1. -[in] -pPath -const char* -The zero-terminated string that specifies the path of the ramp file. - -
-
-
-
-
-Return Value - -If the re-gamma is successfully set, ADLX_OK is returned. - If the re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The method sets the custom re-gamma on a display using a ramp file. The following is an example of a LUT file format, each acceptable value is a number between 0 and 65535. [R][G][B] -[0]0,0,0 -[1]49836,34885,0 -... -[254]58260,58782,0 -[255]65533,56634,0 - -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.xml deleted file mode 100644 index d72eb05..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_ramp_memory.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaRampMemory - SetReGammaRamp - -Sets the re-gamma on a display using a ramp buffer. - - -Sets the re-gamma on a display using a ramp buffer. -Syntax - - - ADLX_RESULT SetReGammaRamp (ADLX_GammaRamp gammaRamp) - -Parameters - - - - -1. -[in] -gammaRamp -ADLX_GammaRamp -The gamma ramp buffer. - -
-
-
-
-
-Return Value - -If the re-gamma is successfully set, ADLX_OK is returned. - If the re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.xml deleted file mode 100644 index f9e487a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma__set_re_gamma_s_r_g_b.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayGamma_SetReGammaSRGB - SetReGammaSRGB - -Sets the sRGB re-gamma on a display. - - -Sets the sRGB re-gamma on a display. -Syntax - - - ADLX_RESULT SetReGammaSRGB () - -Parameters - -N/A -Return Value - -If the sRGB re-gamma is successfully set, ADLX_OK is returned. - If the sRGB re-gamma is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamma.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event.xml deleted file mode 100644 index 6c3839e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent - IADLXDisplayGammaChangedEvent - GetDisplay - IsDeGammaChanged - IsGammaCoefficientChanged - IsGammaRampChanged - IsReGammaChanged - - - -The IADLXDisplayGammaChangedEvent interface provides methods to check if the gamma setting of a display is changed. - -InterfaceId: -IADLXDisplayGammaChangedEvent - - -Smart Pointer Interface Name: -IADLXDisplayGammaChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -N/A - -
-
-Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Methods - - -Method -Description - - -GetDisplay -Gets the reference counted display interface on which the gamma setting is changed. - - -IsDeGammaChanged -Checks if the de-gamma of a display is changed. - - -IsGammaCoefficientChanged -Checks if the gamma coefficient of a display is changed. - - -IsGammaRampChanged -Checks if the gamma ramp of a display is changed. - - -IsReGammaChanged -Checks if the re-gamma of a display is changed. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -GetDisplay -IsDeGammaChanged -IsGammaCoefficientChanged -IsGammaRampChanged -IsReGammaChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.xml deleted file mode 100644 index 3713c6e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__get_display.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent_GetDisplay - GetDisplay - -Gets the reference counted display interface on which the gamma setting is changed. - - -Gets the reference counted display interface on which the gamma setting is changed. -Syntax - - - ADLX_RESULT GetDisplay (IADLXDisplay** ppDisplay) - -Parameters - - - - -1. -[out] -ppDisplay -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the display interface is successfully returned, ADLX_OK is returned. - If the display inferface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.xml deleted file mode 100644 index 4bc1e90..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_de_gamma_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent_IsDeGammaChanged - IsDeGammaChanged - -Checks if the de-gamma of a display is changed. - - -Checks if the de-gamma of a display is changed. -Syntax - - - adlx_bool IsDeGammaChanged () - -Parameters - -N/A -Return Value - -If the de-gamma is changed, true is returned. - If the de-gamma is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.xml deleted file mode 100644 index 98d3f4c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_coefficient_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent_IsGammaCoefficientChanged - IsGammaCoefficientChanged - -Checks if the gamma coefficient of a display is changed. - - -Checks if the gamma coefficient of a display is changed. -Syntax - - - adlx_bool IsGammaCoefficientChanged () - -Parameters - -N/A -Return Value - -If the gamma coefficient is changed, true is returned. - If the gamma coefficient is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.xml deleted file mode 100644 index b026993..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_gamma_ramp_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent_IsGammaRampChanged - IsGammaRampChanged - -Checks if the gamma ramp of a display is changed. - - -Checks if the gamma ramp of a display is changed. -Syntax - - - adlx_bool IsGammaRampChanged () - -Parameters - -N/A -Return Value - -If the gamma ramp is changed, true is returned. - If the gamma ramp is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.xml deleted file mode 100644 index 688e5e5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_event__is_re_gamma_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedEvent_IsReGammaChanged - IsReGammaChanged - -Checks if the re-gamma of a display is changed. - - -Checks if the re-gamma of a display is changed. -Syntax - - - adlx_bool IsReGammaChanged () - -Parameters - -N/A -Return Value - -If the re-gamma is changed, true is returned. - If the re-gamma is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.xml deleted file mode 100644 index 8bb0fac..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedListener - IADLXDisplayGammaChangedListener - OnDisplayGammaChanged - - - -The IADLXDisplayGammaChangedListener interface is implemented in the application to receive an event from ADLX when the display gamma changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDisplayGammaChangedListener interface must be passed to AddDisplayGammaEventListener to register for notifications when the display gamma changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnDisplayGammaChanged -The OnDisplayGammaChanged method is called by ADLX when the display gamma changes. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample. - For a C application, refer to the DisplayEvents C sample. - For a C# application, refer to the DisplayEvents C# sample. - For a Java application, refer to the DisplayEvents Java sample. - For a Python application, refer to the DisplayEvents Python sample. - - -OnDisplayGammaChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.xml deleted file mode 100644 index b84b060..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamma_changed_listener__on_display_gamma_changed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayGammaChangedListener_OnDisplayGammaChanged - OnDisplayGammaChanged - -The OnDisplayGammaChanged method is called by ADLX when the display gamma changes. - - -The OnDisplayGammaChanged method is called by ADLX when the display gamma changes. -Syntax - - - adlx_bool OnDisplayGammaChanged (IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) - -Parameters - - - - -1. -[in] -pDisplayGammaChangedEvent -IADLXDisplayGammaChangedEvent* -The pointer to the event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDisplayGammaEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayGammaEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamma change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamma change event with Release. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut.xml deleted file mode 100644 index d5a00f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - DOX_IADLXDisplayGamut - IADLXDisplayGamut - GetGamutColorSpace - GetWhitePoint - IsCurrent5000kWhitePoint - IsCurrent6500kWhitePoint - IsCurrent7500kWhitePoint - IsCurrent9300kWhitePoint - IsCurrentAdobeRgbColorSpace - IsCurrentCCIR2020ColorSpace - IsCurrentCCIR601ColorSpace - IsCurrentCCIR709ColorSpace - IsCurrentCIERgbColorSpace - IsCurrentCustomColorSpace - IsCurrentCustomWhitePoint - IsSupported5000kWhitePoint - IsSupported6500kWhitePoint - IsSupported7500kWhitePoint - IsSupported9300kWhitePoint - IsSupportedAdobeRgbColorSpace - IsSupportedCCIR2020ColorSpace - IsSupportedCCIR601ColorSpace - IsSupportedCCIR709ColorSpace - IsSupportedCIERgbColorSpace - IsSupportedCustomColorSpace - IsSupportedCustomWhitePoint - SetGamut - SetGamut - SetGamut - SetGamut - - - -The IADLXDisplayGamut interface provides methods to configure gamut on a display. - -InterfaceId: -IADLXDisplayGamut - - -Smart Pointer Interface Name: -IADLXDisplayGamutPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Examples of functionality in IADLXDisplayGamut interface include: -Discover the supported predefined color space settings. -Discover the current color space settings. -Change the color space settings. -Discover the supported predefined white point settings. -Discover the current color white point settings. -Change the white point settings. - - -Methods - - -Method -Description - - -GetGamutColorSpace -Gets the color space coordinates of a display. - - -GetWhitePoint -Gets the white point coordinates (x, y) of a display. - - -IsCurrent5000kWhitePoint -Checks if the standard white point 5000k is used by a display. - - -IsCurrent6500kWhitePoint -Checks if the standard white point 6500k is used by a display. - - -IsCurrent7500kWhitePoint -Checks if the standard white point 7500k is used by a display. - - -IsCurrent9300kWhitePoint -Checks if the standard white point 9300k is used by a display. - - -IsCurrentAdobeRgbColorSpace -Checks if the standard color space Adobe RGB is used by a display. - - -IsCurrentCCIR2020ColorSpace -Checks if the standard color space CCIR2020 is used by a display. - - -IsCurrentCCIR601ColorSpace -Checks if the standard color space CCIR601 is used by a display. - - -IsCurrentCCIR709ColorSpace -Checks if the standard color space CCIR709 is used by a display. - - -IsCurrentCIERgbColorSpace -Checks if the standard color space sRGB is used by a display. - - -IsCurrentCustomColorSpace -Checks if a custom color space is used by a display. - - -IsCurrentCustomWhitePoint -Checks if a custom white point is used by a display. - - -IsSupported5000kWhitePoint -Checks if the standard white point 5000k is supported on a display. - - -IsSupported6500kWhitePoint -Checks if the standard white point 6500k is supported on a display. - - -IsSupported7500kWhitePoint -Checks if the standard white point 7500k is supported on a display. - - -IsSupported9300kWhitePoint -Checks if the standard white point 9300k is supported on a display. - - -IsSupportedAdobeRgbColorSpace -Checks if the standard color space Adobe RGB is supported on a display. - - -IsSupportedCCIR2020ColorSpace -Checks if the standard color space BT.2020 is supported on a display. - - -IsSupportedCCIR601ColorSpace -Checks if the standard color space CCIR601 is supported on a display. - - -IsSupportedCCIR709ColorSpace -Checks if the standard color space CCIR709 is supported on a display. - - -IsSupportedCIERgbColorSpace -Checks if the standard color space CIERgb is supported on a display. - - -IsSupportedCustomColorSpace -Checks if custom color space is supported on a display. - - -IsSupportedCustomWhitePoint -Checks if custom white point is supported on a display. - - -SetGamut -Sets a custom white point, for a custom color space on a display. - - -SetGamut -Sets a custom white point for a predefined color space on a display. - - -SetGamut -Sets a predefined white point for a custom color space on a display. - - -SetGamut -Sets a predefined white point for a predefined color space on a display. - -
-
-Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayGamut C++ sample. - For a C application, refer to the DisplayGamut C sample. - -GetGamutColorSpace -GetWhitePoint -IsCurrent5000kWhitePoint -IsCurrent6500kWhitePoint -IsCurrent7500kWhitePoint -IsCurrent9300kWhitePoint -IsCurrentAdobeRgbColorSpace -IsCurrentCCIR2020ColorSpace -IsCurrentCCIR601ColorSpace -IsCurrentCCIR709ColorSpace -IsCurrentCIERgbColorSpace -IsCurrentCustomColorSpace -IsCurrentCustomWhitePoint -IsSupported5000kWhitePoint -IsSupported6500kWhitePoint -IsSupported7500kWhitePoint -IsSupported9300kWhitePoint -IsSupportedAdobeRgbColorSpace -IsSupportedCCIR2020ColorSpace -IsSupportedCCIR601ColorSpace -IsSupportedCCIR709ColorSpace -IsSupportedCIERgbColorSpace -IsSupportedCustomColorSpace -IsSupportedCustomWhitePoint -SetGamut -SetGamut -SetGamut -SetGamut - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.xml deleted file mode 100644 index 38c5776..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_gamut_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_GetGamutColorSpace - GetGamutColorSpace - -Gets the color space coordinates of a display. - - -Gets the color space coordinates of a display. -Syntax - - - ADLX_RESULT GetGamutColorSpace (ADLX_GamutColorSpace* gamutColorSpace) - -Parameters - - - - -1. -[out] -gamutColorSpace -ADLX_GamutColorSpace* -The pointer to a variable where the gamut color space are returned. - -
-
-
-
-
-Return Value - -If the color space coordinates are successfully returned, ADLX_OK is returned. - If the color space coordinates are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The gamut color space coordinates consist of (y, x) chromaticity coordinates for the red, green, and blue channels. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.xml deleted file mode 100644 index 6ee0412..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__get_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_GetWhitePoint - GetWhitePoint - -Gets the white point coordinates (x, y) of a display. - - -Gets the white point coordinates (x, y) of a display. -Syntax - - - ADLX_RESULT GetWhitePoint (ADLX_Point* point) - -Parameters - - - - -1. -[out] -point -ADLX_Point* -The pointer to a variable where the white point coordinates are returned. - -
-
-
-
-
-Return Value - -If the white point coordinates are successfully returned, ADLX_OK is returned. - If the white point coordinates are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.xml deleted file mode 100644 index 7218f2e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current5000k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrent5000kWhitePoint - IsCurrent5000kWhitePoint - -Checks if the standard white point 5000k is used by a display. - - -Checks if the standard white point 5000k is used by a display. -Syntax - - - ADLX_RESULT IsCurrent5000kWhitePoint (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of white point 5000k is returned. The variable is true if white point 5000k is used. The variable is false if white point 5000k is not used. - -
-
-
-
-
-Return Value - -If the state of white point 5000k is successfully returned, ADLX_OK is returned. - If the state of white point 5000k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.xml deleted file mode 100644 index fed115f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current6500k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrent6500kWhitePoint - IsCurrent6500kWhitePoint - -Checks if the standard white point 6500k is used by a display. - - -Checks if the standard white point 6500k is used by a display. -Syntax - - - ADLX_RESULT IsCurrent6500kWhitePoint (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of white point 6500k is returned.The variable is true if white point 6500k is used. The variable is false if white point 6500k is not used. - -
-
-
-
-
-Return Value - -If the state of white point 6500k is successfully returned, ADLX_OK is returned. - If the state of white point 6500k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.xml deleted file mode 100644 index fd418cb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current7500k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrent7500kWhitePoint - IsCurrent7500kWhitePoint - -Checks if the standard white point 7500k is used by a display. - - -Checks if the standard white point 7500k is used by a display. -Syntax - - - ADLX_RESULT IsCurrent7500kWhitePoint (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of white point 7500k is returned. The variable is true if white point 7500k is used. The variable is false if white point 7500k is not used. - -
-
-
-
-
-Return Value - -If the state of white point 7500k is successfully returned, ADLX_OK is returned. - If the state of white point 7500k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.xml deleted file mode 100644 index ef5beeb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current9300k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrent9300kWhitePoint - IsCurrent9300kWhitePoint - -Checks if the standard white point 9300k is used by a display. - - -Checks if the standard white point 9300k is used by a display. -Syntax - - - ADLX_RESULT IsCurrent9300kWhitePoint (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of white point 9300k is returned. The variable is true if white point 9300k is used. The variable is false if white point 9300k is not used. - -
-
-
-
-
-Return Value - -If the state of white point 9300k is successfully returned, ADLX_OK is returned. - If the state of white point 9300k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.xml deleted file mode 100644 index 9dac8e6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_adobe_rgb_color_space.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentAdobeRgbColorSpace - IsCurrentAdobeRgbColorSpace - -Checks if the standard color space Adobe RGB is used by a display. - - -Checks if the standard color space Adobe RGB is used by a display. -Syntax - - - ADLX_RESULT IsCurrentAdobeRgbColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of color space Adobe RGB is returned. The variable is true if color space Adobe RGB is used. The variable is false if color space Adobe RGB is not used. - -
-
-
-
-
-Return Value - -If the state of color space Adobe RGB is successfully returned, ADLX_OK is returned. - If the state of color space Adobe RGB is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.xml deleted file mode 100644 index 8d27787..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r2020_color_space.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCCIR2020ColorSpace - IsCurrentCCIR2020ColorSpace - -Checks if the standard color space CCIR2020 is used by a display. - - -Checks if the standard color space CCIR2020 is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCCIR2020ColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if color space CCIR2020 is used. The variable is false if color space CCIR2020 is not used. - -
-
-
-
-
-Return Value - -If the state of color space CCIR709 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR709 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.xml deleted file mode 100644 index c66f24f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r601_color_space.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCCIR601ColorSpace - IsCurrentCCIR601ColorSpace - -Checks if the standard color space CCIR601 is used by a display. - - -Checks if the standard color space CCIR601 is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCCIR601ColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of color space CCIR601 is returned. The variable is true if color space CCIR601 is used. The variable is false if color space CCIR601 is not used. - -
-
-
-
-
-Return Value - -If the state of color space CCIR601 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR601 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.xml deleted file mode 100644 index 5e4cebf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_c_i_r709_color_space.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCCIR709ColorSpace - IsCurrentCCIR709ColorSpace - -Checks if the standard color space CCIR709 is used by a display. - - -Checks if the standard color space CCIR709 is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCCIR709ColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if color space CCIR709 is used. The variable is false if color space CCIR709 is not used. - -
-
-
-
-
-Return Value - -If the state of color space CCIR709 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR709 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.xml deleted file mode 100644 index 8946d0c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_c_i_e_rgb_color_space.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCIERgbColorSpace - IsCurrentCIERgbColorSpace - -Checks if the standard color space sRGB is used by a display. - - -Checks if the standard color space sRGB is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCIERgbColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of color space sRGB is returned. The variable is true if color space sRGB is used. The variable is false if color space sRGB is not used. - -
-
-
-
-
-Return Value - -If the state of color space sRGB is successfully returned, ADLX_OK is returned. - If the state of color space sRGB is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.xml deleted file mode 100644 index 831906f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCustomColorSpace - IsCurrentCustomColorSpace - -Checks if a custom color space is used by a display. - - -Checks if a custom color space is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCustomColorSpace (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of custom color space is returned. The variable is true if a custom color space is used. The variable is false if a custom color space is not used. - -
-
-
-
-
-Return Value - -If the state of custom color space is successfully returned, ADLX_OK is returned. - If the state of custom color space is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information on color coordinates, refer to ADLX_GamutColorSpace. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.xml deleted file mode 100644 index 52f0af5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_current_custom_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsCurrentCustomWhitePoint - IsCurrentCustomWhitePoint - -Checks if a custom white point is used by a display. - - -Checks if a custom white point is used by a display. -Syntax - - - ADLX_RESULT IsCurrentCustomWhitePoint (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of custom white point is returned. The variable is true if a custom white point is used. The variable is false if a custom white point is not used. - -
-
-
-
-
-Return Value - -If the state of custom white point is successfully returned, ADLX_OK is returned. - If the state of custom white point is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.xml deleted file mode 100644 index e16cff4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported5000k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupported5000kWhitePoint - IsSupported5000kWhitePoint - -Checks if the standard white point 5000k is supported on a display. - - -Checks if the standard white point 5000k is supported on a display. -Syntax - - - ADLX_RESULT IsSupported5000kWhitePoint (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of white point 5000k is returned. The variable is true if the white point 5000k is supported. The variable is false if the white point 5000k is not supported. - -
-
-
-
-
-Return Value - -If the state of white point 5000k is successfully returned, ADLX_OK is returned. - If the state of white point 5000k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.xml deleted file mode 100644 index 9e9b10c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported6500k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupported6500kWhitePoint - IsSupported6500kWhitePoint - -Checks if the standard white point 6500k is supported on a display. - - -Checks if the standard white point 6500k is supported on a display. -Syntax - - - ADLX_RESULT IsSupported6500kWhitePoint (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of white point 6500k is returned. The variable is true if the white point 6500k is supported. The variable is false if the white point 6500k is not supported. - -
-
-
-
-
-Return Value - -If the state of white point 6500k is successfully returned, ADLX_OK is returned. - If the state of white point 6500k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.xml deleted file mode 100644 index 72d6e99..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported7500k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupported7500kWhitePoint - IsSupported7500kWhitePoint - -Checks if the standard white point 7500k is supported on a display. - - -Checks if the standard white point 7500k is supported on a display. -Syntax - - - ADLX_RESULT IsSupported7500kWhitePoint (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of white point 7500k is returned. The variable is true if the white point 7500k is supported. The variable is false if the white point 7500k is not supported. - -
-
-
-
-
-Return Value - -If the state of white point 7500k is successfully returned, ADLX_OK is returned. - If the state of white point 7500k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.xml deleted file mode 100644 index a932e55..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported9300k_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupported9300kWhitePoint - IsSupported9300kWhitePoint - -Checks if the standard white point 9300k is supported on a display. - - -Checks if the standard white point 9300k is supported on a display. -Syntax - - - ADLX_RESULT IsSupported9300kWhitePoint (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of white point 9300k is returned. The variable is true if the white point 9300k is supported. The variable is false if the white point 9300k is not supported. - -
-
-
-
-
-Return Value - -If the state of white point 9300k is successfully returned, ADLX_OK is returned. - If the state of white point 9300k is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.xml deleted file mode 100644 index a7c573b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_adobe_rgb_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedAdobeRgbColorSpace - IsSupportedAdobeRgbColorSpace - -Checks if the standard color space Adobe RGB is supported on a display. - - -Checks if the standard color space Adobe RGB is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedAdobeRgbColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color space Adobe RGB is returned. The variable is true if the color space Adobe RGB is supported. The variable is false if the color space Adobe RGB is not supported. - -
-
-
-
-
-Return Value - -If the state of color space Adobe RGB is successfully returned, ADLX_OK is returned. - If the state of color space Adobe RGB is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The standard gamut Adobe RGB (1998) color space or opRGB was developed by Adobe Systems, Inc. in 1998. The color space was designed to encompass most of the colors achievable on CMYK color printers, but by using RGB primary colors on a device such as a computer display. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.xml deleted file mode 100644 index 315a9cd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r2020_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCCIR2020ColorSpace - IsSupportedCCIR2020ColorSpace - -Checks if the standard color space BT.2020 is supported on a display. - - -Checks if the standard color space BT.2020 is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCCIR2020ColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color space CCIR2020 is returned. The variable is true if the color space CCIR2020 is supported. The variable is false if the color space CCIR2020 is not supported. - -
-
-
-
-
-Return Value - -If the state of color space CCIR2020 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR2020 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -ITU-R Recommendation BT.2020, is commonly known by the abbreviations Rec.2020 or BT.2020. It defines various aspects of Ultra-High-Definition Television (UHDTV) with Standard Dynamic Range (SDR) and Wide Color Gamut (WCG), including picture resolutions, frame rates with progressive scan, bit depths, color primaries, RGB, and luma-chroma color representations, chroma subsampling, and opto-electronic transfer function. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.xml deleted file mode 100644 index 4115a3c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r601_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCCIR601ColorSpace - IsSupportedCCIR601ColorSpace - -Checks if the standard color space CCIR601 is supported on a display. - - -Checks if the standard color space CCIR601 is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCCIR601ColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color space CCIR601 is returned. The variable is true if the color space CCIR601 is supported. The variable is false if the color space CCIR601 is not supported. - -
-
-
-
-
-Return Value - -If the state of color space CCIR601 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR601 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The color space CCIR601 is a standard, originally issued in 1982 by the CCIR, for encoding interlaced analog video signals in digital video form and is also known as Rec.601 or BT.601. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.xml deleted file mode 100644 index 16e88f2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_c_i_r709_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCCIR709ColorSpace - IsSupportedCCIR709ColorSpace - -Checks if the standard color space CCIR709 is supported on a display. - - -Checks if the standard color space CCIR709 is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCCIR709ColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color space CCIR709 is returned. The variable is true if the color space CCIR709 is supported. The variable is false if the color space CCIR709 is not supported. - -
-
-
-
-
-Return Value - -If the state of color space CCIR709 is successfully returned, ADLX_OK is returned. - If the state of color space CCIR709 is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The gamut color space CCIR709, also known as Rec.709, BT.709, and ITU 709, is a standard developed by ITU-R for image encoding and signal characteristics for high-definition television. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.xml deleted file mode 100644 index 369077c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_c_i_e_rgb_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCIERgbColorSpace - IsSupportedCIERgbColorSpace - -Checks if the standard color space CIERgb is supported on a display. - - -Checks if the standard color space CIERgb is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCIERgbColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of color space CIERgb is returned. The variable is true if the color space CIERgb is supported. The variable is false if the color space CIERgb is not supported. - -
-
-
-
-
-Return Value - -If the state of color space CIERgb is successfully returned, ADLX_OK is returned. - If the state of color space CIERgb is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The standard gamut CIERgb or standard RGB (red, green, blue) color space was co-operatively created by Microsoft and Hewlett-Packard (HP) in 1996 to be used on monitors, printers, and websites. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.xml deleted file mode 100644 index 272d449..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_color_space.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCustomColorSpace - IsSupportedCustomColorSpace - -Checks if custom color space is supported on a display. - - -Checks if custom color space is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCustomColorSpace (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of custom color space is returned. The variable is true if custom color space is supported. The variable is false if custom color space is not supported. - -
-
-
-
-
-Return Value - -If the state of custom color space is successfully returned, ADLX_OK is returned. - If the state of custom color space is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The custom color space can be changed as required. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.xml deleted file mode 100644 index c494f71..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__is_supported_custom_white_point.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayGamut_IsSupportedCustomWhitePoint - IsSupportedCustomWhitePoint - -Checks if custom white point is supported on a display. - - -Checks if custom white point is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedCustomWhitePoint (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of custom white point is returned.The variable is true if custom white point is supported. The variable is false if custom white point is not supported. - -
-
-
-
-
-Return Value - -If the state of custom white point is successfully returned, ADLX_OK is returned. - If the state of custom white point is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.xml deleted file mode 100644 index f3e083b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__c_g.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDisplayGamut_SetGamut_CW_CG - SetGamut - -Sets a custom white point, for a custom color space on a display. - - -Sets a custom white point, for a custom color space on a display. -Syntax - - - ADLX_RESULT SetGamut (ADLX_RGB customWhitePoint, ADLX_GamutColorSpace customGamut) - -Parameters - - - - -1. -[in] -customWhitePoint -ADLX_RGB -The custom white point. - -
-
-
-
- - - -2. -[in] -customGamut -ADLX_GamutColorSpace -The custom color space. - -
-
-
-
-
-Return Value - -If the gamut settings are successfully set, ADLX_OK is returned. - If the gamut settings are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information on white point coordinates, Refer to ADLX_Point. - For more information on color space coordinates, refer to ADLX_GamutColorSpace. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.xml deleted file mode 100644 index fd05677..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__c_w__p_g.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDisplayGamut_SetGamut_CW_PG - SetGamut - -Sets a custom white point for a predefined color space on a display. - - -Sets a custom white point for a predefined color space on a display. -Syntax - - - ADLX_RESULT SetGamut (ADLX_RGB customWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace) - -Parameters - - - - -1. -[in] -customWhitePoint -ADLX_RGB -The custom white point. - -
-
-
-
- - - -2. -[in] -predefinedGamutSpace -ADLX_GAMUT_SPACE -The predefined color space. - -
-
-
-
-
-Return Value - -If the gamut settings are successfully set, ADLX_OK is returned. - If the gamut settings are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information on white point coordinates, refer to ADLX_Point. - For more information on color space coordinates, refer to ADLX_GamutColorSpace. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.xml deleted file mode 100644 index cbf6a2d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__c_g.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDisplayGamut_SetGamut_PW_CG - SetGamut - -Sets a predefined white point for a custom color space on a display. - - -Sets a predefined white point for a custom color space on a display. -Syntax - - - ADLX_RESULT SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GamutColorSpace customGamut) - -Parameters - - - - -1. -[in] -predefinedWhitePoint -ADLX_WHITE_POINT -The predefined white point. - -
-
-
-
- - - -2. -[in] -customGamut -ADLX_GamutColorSpace -The custom color space. - -
-
-
-
-
-Return Value - -If the gamut settings are successfully set, ADLX_OK is returned. - If the gamut settings are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information on white point coordinates, refer to ADLX_Point. - For more information on color space coordinates, refer to ADLX_GamutColorSpace. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.xml deleted file mode 100644 index 4b95335..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut__set_gamut__p_w__p_g.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDisplayGamut_SetGamut_PW_PG - SetGamut - -Sets a predefined white point for a predefined color space on a display. - - -Sets a predefined white point for a predefined color space on a display. -Syntax - - - ADLX_RESULT SetGamut (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace) - -Parameters - - - - -1. -[in] -predefinedWhitePoint -ADLX_WHITE_POINT -The predefined white point. - -
-
-
-
- - - -2. -[in] -predefinedGamutSpace -ADLX_GAMUT_SPACE -The predefined color space. - -
-
-
-
-
-Return Value - -If the gamut settings are successfully set, ADLX_OK is returned. - If the gamut settings are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information on white point coordinates, Refer to ADLX_Point. - For more information on color space coordinates, refer to ADLX_GamutColorSpace. -Requirements - - -Header -include "IDisplayGamut.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event.xml deleted file mode 100644 index e13aa5b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedEvent - IADLXDisplayGamutChangedEvent - GetDisplay - IsColorSpaceChanged - IsWhitePointChanged - - - -The IADLXDisplayGamutChangedEvent interface provides methods to check if the gamut setting of a display is changed. - -InterfaceId: -IADLXDisplayGamutChangedEvent - - -Smart Pointer Interface Name: -IADLXDisplayGamutChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -N/A - -
-
-Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Methods - - -Method -Description - - -GetDisplay -Gets the reference counted display interface on which the gamut setting is changed. - - -IsColorSpaceChanged -Checks if the color space of the display gamut is changed. - - -IsWhitePointChanged -Checks if the white point of the display gamut is changed. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -GetDisplay -IsColorSpaceChanged -IsWhitePointChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.xml deleted file mode 100644 index c7d7c80..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__get_display.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedEvent_GetDisplay - GetDisplay - -Gets the reference counted display interface on which the gamut setting is changed. - - -Gets the reference counted display interface on which the gamut setting is changed. -Syntax - - - ADLX_RESULT GetDisplay (IADLXDisplay** ppDisplay) - -Parameters - - - - -1. -[out] -ppDisplay -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the display interface is successfully returned, ADLX_OK is returned. - If the display inferface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.xml deleted file mode 100644 index 57a0b71..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_color_space_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedEvent_IsColorSpaceChanged - IsColorSpaceChanged - -Checks if the color space of the display gamut is changed. - - -Checks if the color space of the display gamut is changed. -Syntax - - - adlx_bool IsColorSpaceChanged () - -Parameters - -N/A -Return Value - -If the color space is changed, true is returned. - If the color space is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.xml deleted file mode 100644 index 7fc9ab8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_event__is_white_point_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedEvent_IsWhitePointChanged - IsWhitePointChanged - -Checks if the white point of the display gamut is changed. - - -Checks if the white point of the display gamut is changed. -Syntax - - - adlx_bool IsWhitePointChanged () - -Parameters - -N/A -Return Value - -If the white point is changed, true is returned. - If the white point is not changed, false is returned. - -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.xml deleted file mode 100644 index 4f98beb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedListener - IADLXDisplayGamutChangedListener - OnDisplayGamutChanged - - - -The IADLXDisplayGamutChangedListener interface is implemented in the application to receive an event from ADLX when the display gamut changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDisplayGamutChangedListener interface must be passed to AddDisplayGamutEventListener to register for notifications when the display gamut changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnDisplayGamutChanged -The OnDisplayGamutChanged method is called by ADLX when the display gamut changes. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample. - For a C application, refer to the DisplayEvents C sample. - For a C# application, refer to the DisplayEvents C# sample. - For a Java application, refer to the DisplayEvents Java sample. - For a Python application, refer to the DisplayEvents Python sample. - - -OnDisplayGamutChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.xml deleted file mode 100644 index 9948c9d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_gamut_changed_listener__on_display_gamut_changed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayGamutChangedListener_OnDisplayGamutChanged - OnDisplayGamutChanged - -The OnDisplayGamutChanged method is called by ADLX when the display gamut changes. - - -The OnDisplayGamutChanged method is called by ADLX when the display gamut changes. -Syntax - - - adlx_bool OnDisplayGamutChanged (IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) - -Parameters - - - - -1. -[in] -pDisplayGamutChangedEvent -IADLXDisplayGamutChangedEvent* -The pointer to the event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDisplayGamutEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayGamutEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the gamut change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the gamut change event with Release. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p.xml deleted file mode 100644 index 8b73887..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLXDisplayHDCP - IADLXDisplayHDCP - IsEnabled - IsSupported - SetEnabled - - - -The IADLXDisplayHDCP interface configures High-bandwidth Digital Content Protection (HDCP) settings for a display. - -InterfaceId: -DOX_IADLXDisplayHDCP - - -Smart Pointer Interface Name: -IADLXDisplayHDCPPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsEnabled -Checks if the HDCP is enabled on a display. - - -IsSupported -Checks if the HDCP can be configured on a display. - - -SetEnabled -Sets the HDCP to enabled or disabled on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayHDCP C++ sample. - For a C application, refer to the DisplayHDCP C sample. - -GetEnable -IsSupported -SetEnable - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.xml deleted file mode 100644 index 88cd5af..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_enabled.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayHDCP_IsEnabled - IsEnabled - -Checks if the HDCP is enabled on a display. - - -Checks if the HDCP is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of HDCP is returned. The variable is true if HDCP is enabled. The variable is false if HDCP is not enabled. - -
-
-
-
-
-Return Value - -If the state of HDCP configuration is successfully returned, ADLX_OK is returned. - If the state of HDCP configuration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.xml deleted file mode 100644 index 169fa7a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__is_supported.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayHDCP_IsSupported - IsSupported - -Checks if the HDCP can be configured on a display. - - -Checks if the HDCP can be configured on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of the HDCP configuration is returned. The variable is true if HDCP configuration is supported. The variable is false if HDCP configuration is not supported. - -
-
-
-
-
-Return Value - -If the state of HDCP configuration is successfully returned, ADLX_OK is returned. - If the state of HDCP configuration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.xml deleted file mode 100644 index f5716d5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_h_d_c_p__set_enabled.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayHDCP_SetEnabled - SetEnabled - -Sets the HDCP to enabled or disabled on a display. - - -Sets the HDCP to enabled or disabled on a display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new HDCP configuration state. Set true to enable HDCP. Set false to disable HDCP. - -
-
-
-
-
-Return Value - -If the state of HDCP configuration is successfully set, ADLX_OK is returned. - If the state of HDCP configuration is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -If the HDCP is disabled on this display, digitally protected content may be unplayable, or played at a lower resolution. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling.xml deleted file mode 100644 index 3c51f73..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - DOX_IADLXDisplayIntegerScaling - IADLXDisplayIntegerScaling - IsEnabled - IsSupported - SetEnabled - - - -The IADLXDisplayintegerScaling interface configures Integer Display Scaling settings on a display. - -InterfaceId: -IADLXDisplayIntegerScaling - - -Smart Pointer Interface Name: -IADLXDisplayIntegerScalingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Note: Integer Display Scaling is not supported when GPU scaling is disabled. -Methods - - -Method -Description - - -IsEnabled -Checks if the Integer Display Scaling is enabled on a display. - - -IsSupported -Checks if the Integer Display Scaling is supported on a display. - - -SetEnabled -Sets the AMD integer scaling to enabled or disabled state on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayIntegerScaling C++ sample. - For a C application, refer to the DisplayIntegerScaling C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.xml deleted file mode 100644 index d5f957e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_enabled.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayIntegerScaling_IsEnabled - IsEnabled - -Checks if the Integer Display Scaling is enabled on a display. - - -Checks if the Integer Display Scaling is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of Integer Display Scaling is returned. The variable is true if Integer Display Scaling is enabled. The variable is false if Integer Display Scaling is not enabled. - -
-
-
-
-
-Return Value - -If the state of Integer Display Scaling is successfully returned, ADLX_OK is returned. - If the state of Integer Display Scaling is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display. - Note: On some AMD GPUs, Integer Display Scaling and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled, Integer Display Scaling is automatically disabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.xml deleted file mode 100644 index ec6136d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayIntegerScaling_IsSupported - IsSupported - -Checks if the Integer Display Scaling is supported on a display. - - -Checks if the Integer Display Scaling is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of Integer Display Scaling is returned. The variable is true if Integer Display Scaling is supported. The variable is false if Integer Display Scaling is not supported. - -
-
-
-
-
-Return Value - -If the state of Integer Display Scaling is successfully returned, ADLX_OK is returned. - If the state of Integer Display Scaling is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display. - Note: Integer Display Scaling is not supported when GPU scaling is disabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.xml deleted file mode 100644 index 99d78ad..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_integer_scaling__set_enabled.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayIntegerScaling_SetEnabled - SetEnabled - -Sets the AMD integer scaling to enabled or disabled state on a display. - - -Sets the AMD integer scaling to enabled or disabled state on a display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new Integer Display Scaling state. Set true to enable Integer Display Scaling. Set false to disable Integer Display Scaling. - -
-
-
-
-
-Return Value - -If the state of Integer Display Scaling is successfully set, ADLX_OK is returned. - If the state of Integer Display Scaling is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Integer Display Scaling gives a sharp, pixelated look to images scaled up to fit the display. Images that can't be scaled to match the display's exact size and shape will be centered on screen. Integer Display Scaling enhances visuals in old games to revive vintage gaming experiences on a modern display. - Note: On some AMD GPUs, Integer Display Scaling and Radeon Super Resolution cannot be enabled simultaneously. If Integer Display Scaling is enabled, Radeon Super Resolution is automatically disabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list.xml deleted file mode 100644 index d286089..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - DOX_IADLXDisplayList - IADLXDisplayList - Add_Back - At - - - -The IADLXDisplayList is an interface for a collection of IADLXDisplay interfaces that can be accessed by location. - -InterfaceId: -IADLXDisplayList - - -Smart Pointer Interface Name: -IADLXDisplayListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__add__back.xml deleted file mode 100644 index c9acef7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__add__back.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXDisplay* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXDisplay* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__at.xml deleted file mode 100644 index 86712fe..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXDisplayList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXDisplay** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener.xml deleted file mode 100644 index 6fb00af..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayListChangedListener - IADLXDisplayListChangedListener - OnDisplayListChanged - - - -The IADLXDisplayListChangedListener interface is implemented in the application to receive a new list of displays from ADLX when the display list changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDisplayListChangedListener interface must be passed to AddDisplayListEventListener to register for notifications when the display list changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnDisplayListChanged -The OnDisplayListChanged method is called by ADLX when the display list changes. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayEvents C++ sample. - For a C application, refer to the DisplayEvents C sample. - For a C# application, refer to the DisplayEvents C# sample. - For a Java application, refer to the DisplayEvents Java sample. - For a Python application, refer to the DisplayEvents Python sample. - - -OnDisplayListChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.xml deleted file mode 100644 index 2546887..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_list_changed_listener__on_display_list_changed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayListChangedListener_OnDisplayListChanged - OnDisplayListChanged - -The OnDisplayListChanged method is called by ADLX when the display list changes. - - -The OnDisplayListChanged method is called by ADLX when the display list changes. -Syntax - - - adlx_bool OnDisplayListChanged (IADLXDisplayList* pNewDisplay) - -Parameters - - - - -1. -[out] -pNewDisplay -IADLXDisplayList* -The pointer to the new display list. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDisplayListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplayListEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new display list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new display list with Release. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format.xml deleted file mode 100644 index 574f123..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat - IADLXDisplayPixelFormat - GetValue - IsSupported - IsSupportedPixelFormat - IsSupportedRGB444Full - IsSupportedRGB444Limited - IsSupportedYCbCr420 - IsSupportedYCbCr422 - IsSupportedYCbCr444 - SetValue - - - -The IADLXDisplayPixelFormat interface configures the pixel format used to encode images on a display. - -InterfaceId: -IADLXDisplayPixelFormat - - -Smart Pointer Interface Name: -IADLXDisplayPixelFormatPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetValue -Gets the current pixel format of a display. - - -IsSupported -Checks if the pixel format can be configured on a display. - - -IsSupportedPixelFormat -Checks if the given pixel format is supported on a display. - - -IsSupportedRGB444Full -Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display. - - -IsSupportedRGB444Limited -Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display. - - -IsSupportedYCbCr420 -Checks if the YCbCr 4:2:0 pixel format is supported on a display. - - -IsSupportedYCbCr422 -Checks if the YCbCr 4:2:2 pixel format is supported on a display. - - -IsSupportedYCbCr444 -Checks if the YCbCr 4:4:4 pixel format is supported on a display. - - -SetValue -Sets the pixel format on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayPixelFormat C++ sample. - For a C application, refer to the DisplayPixelFormat C sample. - -GetValue -IsSupported -IsSupportedPixelFormat -IsSupportedRGB444Full -IsSupportedRGB444Limited -IsSupportedYCbCr420 -IsSupportedYCbCr422 -IsSupportedYCbCr444 -SetValue - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.xml deleted file mode 100644 index 8b808ed..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__get_value.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_GetValue - GetValue - -Gets the current pixel format of a display. - - -Gets the current pixel format of a display. -Syntax - - - ADLX_RESULT GetValue(ADLX_PIXEL_FORMAT* pixelFormat) - -Parameters - - - - -1. -[out] -pixelFormat -ADLX_PIXEL_FORMAT* -The pointer to a variable where the pixel format is returned. - -
-
-
-
-
-Return Value - -If the pixel format is successfully returned, ADLX_OK is returned. - If the pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. - Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.xml deleted file mode 100644 index f0c1024..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupported - IsSupported - -Checks if the pixel format can be configured on a display. - - -Checks if the pixel format can be configured on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of pixel format configuration is returned. The variable is true if pixel format configuration is supported. The variable is false if pixel format configuration is not supported. - -
-
-
-
-
-Return Value - -If the state of pixel format configuration is successfully returned, ADLX_OK is returned. - If the state of pixel format configuration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. - Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.xml deleted file mode 100644 index 2d3565d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_pixel_format.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedPixelFormat - IsSupportedPixelFormat - -Checks if the given pixel format is supported on a display. - - -Checks if the given pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedPixelFormat (ADLX_PIXEL_FORMAT pixelFormat, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pixelFormat -ADLX_PIXEL_FORMAT -The pixel format. - -
-
-
-
- - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the pixel format is returned. The variable is true if the pixel format is supported. The variable is false if pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the pixel format is successfully returned, ADLX_OK is returned. - If the support state of the pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.xml deleted file mode 100644 index e65abe9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_full.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Full - IsSupportedRGB444Full - -Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display. - - -Checks if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedRGB444Full (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is returned. The variable is true if the RGB 4:4:4 PC Standard (Full RGB) pixel format is supported. The variable is false if the RGB 4:4:4 PC Standard (Full RGB) pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is successfully returned, ADLX_OK is returned. - If the support state of the RGB 4:4:4 PC Standard (Full RGB) pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.xml deleted file mode 100644 index d17978e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_r_g_b444_limited.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Limited - IsSupportedRGB444Limited - -Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display. - - -Checks if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedRGB444Limited (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is returned. The variable is true if the RGB 4:4:4 Studio (Limited RGB) pixel format is supported. The variable is false if the RGB 4:4:4 Studio (Limited RGB) pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is successfully returned, ADLX_OK is returned. - If the support state of the RGB 4:4:4 Studio (Limited RGB) pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.xml deleted file mode 100644 index 8993c4b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr420.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr420 - IsSupportedYCbCr420 - -Checks if the YCbCr 4:2:0 pixel format is supported on a display. - - -Checks if the YCbCr 4:2:0 pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedYCbCr420 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the YCbCr 4:2:0 pixel format is returned. The variable is true if the YCbCr 4:2:0 pixel format is supported. The variable is false if the YCbCr 4:2:0 pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the YCbCr 4:2:0 pixel format is successfully returned, ADLX_OK is returned. - If the support state of the YCbCr 4:2:0 pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.xml deleted file mode 100644 index d60a20d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr422.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr422 - IsSupportedYCbCr422 - -Checks if the YCbCr 4:2:2 pixel format is supported on a display. - - -Checks if the YCbCr 4:2:2 pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedYCbCr422 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the YCbCr 4:2:2 pixel format is returned. The variable is true if the YCbCr 4:2:2 pixel format is supported. The variable is false if the YCbCr 4:2:2 pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the YCbCr 4:2:2 pixel format is successfully returned, ADLX_OK is returned. - If the support state of the YCbCr 4:2:2 pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.xml deleted file mode 100644 index b7f9fa3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__is_supported_y_cb_cr444.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr444 - IsSupportedYCbCr444 - -Checks if the YCbCr 4:4:4 pixel format is supported on a display. - - -Checks if the YCbCr 4:4:4 pixel format is supported on a display. -Syntax - - - ADLX_RESULT IsSupportedYCbCr444 (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the support state of the YCbCr 4:4:4 pixel format is returned. The variable is true if the YCbCr 4:4:4 pixel format is supported. The variable is false if the YCbCr 4:4:4 pixel format is not supported. - -
-
-
-
-
-Return Value - -If the support state of the YCbCr 4:4:4 pixel format is successfully returned, ADLX_OK is returned. - If the support state of the YCbCr 4:4:4 pixel format is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.xml deleted file mode 100644 index 4131989..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_pixel_format__set_value.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayPixelFormat_SetValue - SetValue - -Sets the pixel format on a display. - - -Sets the pixel format on a display. -Syntax - - - ADLX_RESULT SetValue(ADLX_PIXEL_FORMAT pixelFormat) - -Parameters - - - - -1. -[in] -pixelFormat -ADLX_PIXEL_FORMAT -The new pixel format. - -
-
-
-
-
-Return Value - -If the pixel format is successfully set, ADLX_OK is returned. - If the pixel format is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The pixel format is configurable if the display is connected to the GPU using direct HDMI™-HDMI. - Pixel format configuration is not supported for DVI-HDMI and DisplayPort-HDMI connections. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution.xml deleted file mode 100644 index 507f1be..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXDisplayResolution - IADLXDisplayResolution - GetValue - SetValue - - - -The IADLXDisplayResolution interface configures a custom display resolution. - -InterfaceId: -IADLXDisplayResolution - - -Smart Pointer Interface Name: -IADLXDisplayResolutionPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetValue -Gets the properties of a custom display resolution. - - -SetValue -Sets the properties of a custom display resolution. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample. - For a C application, refer to the DisplayCustomResolution C sample. - -GetEnable -SetEnable - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__get_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__get_value.xml deleted file mode 100644 index 790d6a4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__get_value.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayResolution_GetValue - GetValue - -Gets the properties of a custom display resolution. - - -Gets the properties of a custom display resolution. -Syntax - - - ADLX_RESULT GetValue(ADLX_CustomResolution* customResolution) - -Parameters - - - - -1. -[out] -customResolution -ADLX_CustomResolution* -The pointer to a variable where the properties of a custom display resolution are returned. - -
-
-
-
-
-Return Value - -If the properties of a custom display resolution are successfully returned, ADLX_OK is returned. - If the properties of a custom display resolution are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__set_value.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__set_value.xml deleted file mode 100644 index 9e2085d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution__set_value.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayResolution_SetValue - SetValue - -Sets the properties of a custom display resolution. - - -Sets the properties of a custom display resolution. -Syntax - - - ADLX_RESULT SetValue(ADLX_CustomResolution customResolution) - -Parameters - - - - -1. -[in] -customResolution -ADLX_CustomResolution -The properties of a custom display resolution. - -
-
-
-
-
-Return Value - -If the properties of a custom display resolution are successfully set, ADLX_OK is returned. - If the properties of a custom display resolution are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list.xml deleted file mode 100644 index d255db0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayResolutionList - IADLXDisplayResolutionList - Add_Back - At - - - -Interface to get the resolution info list. - -InterfaceId: -IADLXDisplayResolutionList - - -Smart Pointer Interface Name: -IADLXDisplayResolutionListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-The interface gets the list of resolution information. -Methods - - -Method -Description - - -Add_Back -Adds an element to the back. - - -At -Returns the item at the asked location. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayCustomResolution C++ sample. - For a C application, refer to the DisplayCustomResolution C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.xml deleted file mode 100644 index 94681aa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__add__back.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - DOX_IADLXDisplayResolutionList_Add_Back - Add_Back - -Adds an element to the back. - - -Adds an element to the back. -Syntax - - - ADLX_RESULT Add_Back (IADLXDisplayResolution* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXDisplayResolution* -The address of a pointer variable that receives the IADLXDisplayResolution interface. - -
-
-
-
-
-Return Value - -Returns ADLX_OK for success and ADLX error code ADLX_RESULT for failure. -Remarks - -Adds an element to the back. -You should call this method whenever you need to add the resolution item to the end of the list. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__at.xml deleted file mode 100644 index 77f76f7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_resolution_list__at.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXDisplayResolutionList_At - At - -Returns the item at the asked location. - - -Returns the item at the asked location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXDisplayResolution** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -Location index to retrieve the resolution item from the list. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXDisplayResolution** -The address of a pointer variable that receives a pointer to the IADLXDisplayResolution interface. - -
-
-
-
-
-Return Value - -Returns ADLX_OK for success and ADLX error code ADLX_RESULT for failure. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode.xml deleted file mode 100644 index f1fbc47..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLXDisplayScalingMode - IADLXDisplayScalingMode - GetMode - IsSupported - SetMode - - - -The IADLXDisplayScalingMode interface configures scaling mode settings of a display. - -InterfaceId: -IADLXDisplayScalingMode - - -Smart Pointer Interface Name: -IADLXDisplayScalingModePtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetMode -Gets the current scaling mode of a display. - - -IsSupported -Checks if the scaling mode is supported on a display. - - -SetMode -Sets the scaling mode of a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayScalingMode C++ sample. - For a C application, refer to the DisplayScalingMode C sample. - -GetMode -IsSupported -SetMode - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.xml deleted file mode 100644 index 2df64bd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__get_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayScalingMode_GetMode - GetMode - -Gets the current scaling mode of a display. - - -Gets the current scaling mode of a display. -Syntax - - - ADLX_RESULT GetMode(ADLX_SCALE_MODE* currentMode) - -Parameters - - - - -1. -[out] -currentMode -ADLX_SCALE_MODE* -The pointer to a variable where the current scaling mode of a display is returned. - -
-
-
-
-
-Return Value - -If the current scaling mode is successfully returned, ADLX_OK is returned. - If the current scaling mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling determines the method used to stretch and position images to fit the display. - Note: On some AMD GPUs, center scaling and Radeon Super Resolution cannot be enabled simultaneously. If Radeon Super Resolution is enabled when the scaling mode is CENTERED, the scaling mode is automatically set to FULL_PANEL. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.xml deleted file mode 100644 index 692e0e7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__is_supported.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayScalingMode_IsSupported - IsSupported - -Checks if the scaling mode is supported on a display. - - -Checks if the scaling mode is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of scaling mode is returned. The variable is true if scaling mode is supported. The variable is false if scaling mode is not supported. - -
-
-
-
-
-Return Value - -If the state of scaling mode is successfully returned, ADLX_OK is returned. - If the state of scaling mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling determines the method used to stretch and position images to fit the display. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.xml deleted file mode 100644 index 6d2bf36..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_scaling_mode__set_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXDisplayScalingMode_SetMode - SetMode - -Sets the scaling mode of a display. - - -Sets the scaling mode of a display. -Syntax - - - ADLX_RESULT SetMode(ADLX_SCALE_MODE mode) - -Parameters - - - - -1. -[in] -mode -ADLX_SCALE_MODE -The new scaling mode.0 - -
-
-
-
-
-Return Value - -If the scaling mode is successfully set, ADLX_OK is returned. - If the scaling mode is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -GPU scaling determines the method used to stretch and position images to fit the display. - Note: On some AMD GPUs, center scaling and Radeon Super Resolution cannot be enabled simultaneously. If the scaling mode is set to CENTERED, Radeon Super Resolution is automatically disabled. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services.xml deleted file mode 100644 index 0b54a14..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - DOX_IADLXDisplayServices - IADLXDisplayServices - Get3DLUT - GetColorDepth - GetCustomColor - GetCustomResolution - GetDisplayChangedHandling - GetDisplays - GetFreeSync - GetGPUScaling - GetGamma - GetGamut - GetHDCP - GetIntegerScaling - GetNumberOfDisplays - GetPixelFormat - GetScalingMode - GetVariBright - GetVirtualSuperResolution - - - -The IADLXDisplayServices is the main interface of the Display domain and provides control to the display-specific functionality. - -InterfaceId: -IADLXDisplayServices - - -Smart Pointer Interface Name: -IADLXDisplayServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXDisplayServices1 - -
-
-The IADLXDisplayServices interface provides: -The list of displays connected to the AMD GPUs. -The interface for registering and unregistering for notifications when the displays are changed. -Access to gamut, gamma, 3D LUT, and display settings functionality for a given display. - - -Methods - - -Method -Description - - -Get3DLUT -Gets the reference counted 3D LUT interface for a display. - - -GetColorDepth -Gets the reference counted color depth interface for a display. - - -GetCustomColor -Gets the reference counted custom color interface for a display. - - -GetCustomResolution -Gets the reference counted custom resolution interface for a display. - - -GetDisplayChangedHandling -Gets the reference counted interface that allows registering and unregistering for notifications when display change. - - -GetDisplays -Gets the reference counted list of displays connected to the AMD GPUs. - - -GetFreeSync -Gets the reference counted AMD FreeSync™ Technology interface. - - -GetGPUScaling -Gets the reference counted GPU scaling interface for a display. - - -GetGamma -Gets the reference counted gamma interface for a display. - - -GetGamut -Gets the reference counted gamut interface for a display. - - -GetHDCP -Gets the reference counted HDCP interface for a display. - - -GetIntegerScaling -Gets the reference counted integer scaling interface for a display. - - -GetNumberOfDisplays -Gets the number of displays connected to the AMD GPUs. - - -GetPixelFormat -Gets the reference counted pixel format interface for a display. - - -GetScalingMode -Gets the reference counted scaling mode interface for a display. - - -GetVariBright -Gets the reference counted Vari-Bright interface for a display. - - -GetVirtualSuperResolution -Gets the reference counted virtual super resolution interface for a display. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayInfo C++ sample. - For a C application, refer to the DisplayInfo C sample. - For a C# application, refer to the DisplayInfo C# sample. - For a Java application, refer to the DisplayInfo Java sample. - For a Python application, refer to the DisplayInfo Python sample. - - -Get3DLUT -GetColorDepth -GetCustomColor -GetCustomResolution -GetDisplayChangedHandling -GetDisplays -GetFreeSync -GetGPUScaling -GetGamma -GetGamut -GetHDCP -GetIntegerScaling -GetNumberOfDisplays -GetPixelFormat -GetScalingMode -GetVariBright -GetVirtualSuperResolution - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1.xml deleted file mode 100644 index dcc428b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXDisplayServices1 - IADLXDisplayServices1 - GetDisplayBlanking - - - -IADLXDisplayServices1 is an extension interface to IADLXDisplayServices. It provides access to the interface to control the display blanking feature. - -InterfaceId: -IADLXDisplayServices1 - - -Smart Pointer Interface Name: -IADLXDisplayServices1Ptr - - -Inherits: -IADLXDisplayServices - - -Inherited By: -IADLXDisplayServices2 - -
-
-The IADLXDisplayServices1 interface is obtained from the IADLXDisplayServices interface using QueryInterface. -Methods - - -Method -Description - - -GetDisplayBlanking -Gets the reference counted display blanking interface of a display. - -
-
-Requirements - - -Header -include "IDisplays1.h" - - -Minimum version -1.1 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayBlanking C++ sample. - For a C application, refer to the DisplayBlanking C sample. - - -GetDisplayBlanking - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.xml deleted file mode 100644 index b79fd2d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services1__get_display_blanking.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices1_GetDisplayBlanking - GetDisplayBlanking - -Gets the reference counted display blanking interface of a display. - - -Gets the reference counted display blanking interface of a display. -Syntax - - - ADLX_RESULT GetDisplayBlanking (IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppDisplayBlanking -IADLXDisplayBlanking ** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayBlanking to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it's no longer needed. -Additional Info - -When using ADLX interfaces as smart pointers in C++, it isn't necessary to call Release as it's called by smart pointers in the internal implementation. -Requirements - - -Header -include "IDisplays1.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2.xml deleted file mode 100644 index f9889ae..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXDisplayServices2 - IADLXDisplayServices2 - GetDisplayConnectivityExperience - - - -IADLXDisplayServices2 is an extension interface to IADLXDisplayServices, and provides access to the interface to control the DCE feature. - -InterfaceId: -IADLXDisplayServices2 - - -Smart Pointer Interface Name: -IADLXDisplayServices2Ptr - - -Inherits: -IADLXDisplayServices1 - - -Inherited By: -N/A - -
-
-The IADLXDisplayServices2 interface is obtained from the IADLXDisplayServices interface or from any of its extension interfaces using QueryInterface. -Methods - - -Method -Description - - -GetDisplayConnectivityExperience -Gets the reference counted DCE interface for a display. - -
-
-Requirements - - -Header -include "IDisplays2.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayConnectivityExperience C++ sample. - For a C application, refer to the DisplayConnectivityExperience C sample. - - -GetDisplayConnectivityExperience - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.xml deleted file mode 100644 index 4e8f0a8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services2__get_display_connectivity_experience.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices2_GetDisplayConnectivityExperience - GetDisplayConnectivityExperience - -Gets the reference counted DCE interface for a display. - - -Gets the reference counted DCE interface for a display. -Syntax - - - ADLX_RESULT GetDisplayConnectivityExperience (IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience ** ppDisplayConnectivityExperience) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppDisplayConnectivityExperience -IADLXDisplayConnectivityExperience ** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayConnectivityExperience to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays2.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.xml deleted file mode 100644 index 7094c01..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get3_d_l_u_t.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_Get3DLUT - Get3DLUT - -Gets the reference counted 3D LUT interface for a display. - - -Gets the reference counted 3D LUT interface for a display. -Syntax - - - ADLX_RESULT Get3DLUT (IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppDisp3DLUT -IADLXDisplay3DLUT** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisp3DLUT to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_color_depth.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_color_depth.xml deleted file mode 100644 index 1d9713f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_color_depth.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetColorDepth - GetColorDepth - -Gets the reference counted color depth interface for a display. - - -Gets the reference counted color depth interface for a display. -Syntax - - - ADLX_RESULT GetColorDepth (IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppColorDepth -IADLXDisplayColorDepth** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppColorDepth to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_color.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_color.xml deleted file mode 100644 index 1bb1925..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_color.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetCustomColor - GetCustomColor - -Gets the reference counted custom color interface for a display. - - -Gets the reference counted custom color interface for a display. -Syntax - - - ADLX_RESULT GetCustomColor (IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppCustomColor -IADLXDisplayCustomColor** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppCustomColor to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.xml deleted file mode 100644 index 13eb97f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_custom_resolution.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetCustomResolution - GetCustomResolution - -Gets the reference counted custom resolution interface for a display. - - -Gets the reference counted custom resolution interface for a display. -Syntax - - - ADLX_RESULT GetCustomResolution (IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppCustomResolution -IADLXDisplayCustomResolution** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppCustomResolution to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.xml deleted file mode 100644 index 87351a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_display_changed_handling.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetDisplayChangedHandling - GetDisplayChangedHandling - -Gets the reference counted interface that allows registering and unregistering for notifications when display change. - - -Gets the reference counted interface that allows registering and unregistering for notifications when display change. -Syntax - - - ADLX_RESULT GetDisplayChangedHandling (IADLXDisplayChangedHandling** ppDisplayChangedHandling) - -Parameters - - - - -1. -[in] -ppDisplayChangedHandling -IADLXDisplayChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplayChangedHandling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the display changing listener interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_displays.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_displays.xml deleted file mode 100644 index 2859ebb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_displays.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetDisplays - GetDisplays - -Gets the reference counted list of displays connected to the AMD GPUs. - - -Gets the reference counted list of displays connected to the AMD GPUs. -Syntax - - - ADLX_RESULT GetDisplays (IADLXDisplayList** ppDisplay) - -Parameters - - - - -1. -[out] -ppDisplay -IADLXDisplayList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -For more information about the AMD GPUs, refer to ADLX GPU Support. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_free_sync.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_free_sync.xml deleted file mode 100644 index 22c4b02..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_free_sync.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetFreeSync - GetFreeSync - -Gets the reference counted AMD FreeSync™ Technology interface. - - -Gets the reference counted AMD FreeSync™ Technology interface. -Syntax - - - ADLX_RESULT GetFreeSync (IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppFreeSync -IADLXDisplayFreeSync** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppFreeSync to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.xml deleted file mode 100644 index 1a4e22f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_g_p_u_scaling.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetGPUScaling - GetGPUScaling - -Gets the reference counted GPU scaling interface for a display. - - -Gets the reference counted GPU scaling interface for a display. -Syntax - - - ADLX_RESULT GetGPUScaling (IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppGPUScaling -IADLXDisplayGPUScaling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUScaling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamma.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamma.xml deleted file mode 100644 index d1711dc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamma.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetGamma - GetGamma - -Gets the reference counted gamma interface for a display. - - -Gets the reference counted gamma interface for a display. -Syntax - - - ADLX_RESULT GetGamma (IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppDispGamma -IADLXDisplayGamma** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispGamma to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamut.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamut.xml deleted file mode 100644 index 7c03eab..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_gamut.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetGamut - GetGamut - -Gets the reference counted gamut interface for a display. - - -Gets the reference counted gamut interface for a display. -Syntax - - - ADLX_RESULT GetGamut (IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppDispGamut -IADLXDisplayGamut** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispGamut to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.xml deleted file mode 100644 index 9c176f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_h_d_c_p.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetHDCP - GetHDCP - -Gets the reference counted HDCP interface for a display. - - -Gets the reference counted HDCP interface for a display. -Syntax - - - ADLX_RESULT GetHDCP (IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppHDCP -IADLXDisplayHDCP** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppHDCP to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.xml deleted file mode 100644 index 548d4af..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_integer_scaling.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetIntegerScaling - GetIntegerScaling - -Gets the reference counted integer scaling interface for a display. - - -Gets the reference counted integer scaling interface for a display. -Syntax - - - ADLX_RESULT GetIntegerScaling (IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppIntegerScaling -IADLXDisplayIntegerScaling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppIntegerScaling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.xml deleted file mode 100644 index ede1805..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_number_of_displays.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetNumberOfDisplays - GetNumberOfDisplays - -Gets the number of displays connected to the AMD GPUs. - - -Gets the number of displays connected to the AMD GPUs. -Syntax - - - ADLX_RESULT GetNumberOfDisplays (adlx_uint* numDisplays) - -Parameters - - - - -1. -[out] -numDisplays -adlx_uint* -The pointer to a variable where the number of displays is returned. - -
-
-
-
-
-Return Value - -If the number of displays is successfully returned, ADLX_OK is returned. - If the number of displays is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and errors codes. -Remarks - -For more information about the AMD GPUs, refer to ADLX GPU Support. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.xml deleted file mode 100644 index 95b64c2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_pixel_format.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetPixelFormat - GetPixelFormat - -Gets the reference counted pixel format interface for a display. - - -Gets the reference counted pixel format interface for a display. -Syntax - - - ADLX_RESULT GetPixelFormat (IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppPixelFormat -IADLXDisplayPixelFormat** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPixelFormat to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.xml deleted file mode 100644 index 90080c0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_scaling_mode.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetScalingMode - GetScalingMode - -Gets the reference counted scaling mode interface for a display. - - -Gets the reference counted scaling mode interface for a display. -Syntax - - - ADLX_RESULT GetScalingMode (IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppScalingMode -IADLXDisplayScalingMode** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppScalingMode to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.xml deleted file mode 100644 index 08b1ef0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_vari_bright.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetVariBright - GetVariBright - -Gets the reference counted Vari-Bright interface for a display. - - -Gets the reference counted Vari-Bright interface for a display. -Syntax - - - ADLX_RESULT GetVariBright (IADLXDisplay* pDisplay, IADLXDisplayVariBright ** ppVariBright) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppVariBright -IADLXDisplayVariBright ** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVariBright to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.xml deleted file mode 100644 index 96c3935..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_services__get_virtual_super_resolution.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXDisplayServices_GetVirtualSuperResolution - GetVirtualSuperResolution - -Gets the reference counted virtual super resolution interface for a display. - - -Gets the reference counted virtual super resolution interface for a display. -Syntax - - - ADLX_RESULT GetVirtualSuperResolution (IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR) - -Parameters - - - - -1. -[in] -pDisplay -IADLXDisplay* -The pointer to the display interface. - -
-
-
-
- - - -2. -[out] -ppVSR -IADLXDisplayVSR** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVSR to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event.xml deleted file mode 100644 index ad94a6d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent - IADLXDisplaySettingsChangedEvent - GetDisplay - IsColorDepthChanged - IsCustomColorBrightnessChanged - IsCustomColorContrastChanged - IsCustomColorHueChanged - IsCustomColorSaturationChanged - IsCustomColorTemperatureChanged - IsCustomResolutionChanged - IsFreeSyncChanged - IsGPUScalingChanged - IsHDCPChanged - IsIntegerScalingChanged - IsPixelFormatChanged - IsScalingModeChanged - IsVSRChanged - IsVariBrightChanged - - - -The IADLXDisplaySettingsChangedEvent interface provides methods to check for changes to the display settings. - -InterfaceId: -IADLXDisplaySettingsChangedEvent - - -Smart Pointer Interface Name: -IADLXDisplaySettingsChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -IADLXDisplaySettingsChangedEvent1 - -
-
-Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Methods - - -Method -Description - - -GetDisplay -Gets the reference counted display interface on which settings are changed. - - -IsColorDepthChanged -Checks if the color format settings of the display are changed. - - -IsCustomColorBrightnessChanged -Checks if the brightness settings of the display are changed. - - -IsCustomColorContrastChanged -Checks if the color contrast settings of the display are changed. - - -IsCustomColorHueChanged -Checks if the hue settings of the display are changed. - - -IsCustomColorSaturationChanged -Checks if the saturation settings of the display are changed. - - -IsCustomColorTemperatureChanged -Checks if the color temperature settings of the display are changed. - - -IsCustomResolutionChanged -Checks if the resolution settings of the display are changed. - - -IsFreeSyncChanged -Checks if the AMD FreeSync™ settings of the display are changed. - - -IsGPUScalingChanged -Checks if the GPU scaling settings of the display are changed. - - -IsHDCPChanged -Checks if the HDCP settings of the display are changed. - - -IsIntegerScalingChanged -Checks if the Integer Display Scaling settings of the display are changed. - - -IsPixelFormatChanged -Checks if the pixel format settings of the display are changed. - - -IsScalingModeChanged -Checks if the scaling mode settings of the display are changed. - - -IsVSRChanged -Checks if the AMD Virtual Super Resolution settings of the display are changed. - - -IsVariBrightChanged -Checks if the Vari-Bright settings of the display are changed. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample. - For a C application, refer to the SyncDisplayReceive C sample. - -GetDisplay -IsColorDepthChanged -IsCustomColorBrightnessChanged -IsCustomColorContrastChanged -IsCustomColorHueChanged -IsCustomColorSaturationChanged -IsCustomColorTemperatureChanged -IsCustomResolutionChanged -IsFreeSyncChanged -IsGPUScalingChanged -IsHDCPChanged -IsIntegerScalingChanged -IsPixelFormatChanged -IsScalingModeChanged -IsVSRChanged -IsVariBrightChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1.xml deleted file mode 100644 index 596dcd1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent1 - IADLXDisplaySettingsChangedEvent1 - IsDisplayBlankingChanged - - - -IADLXDisplaySettingsChangedEvent1 is an extension interface to IADLXDisplaySettingsChangedEvent. It provides methods to check for changes to the display blanking settings. - -InterfaceId: -IADLXDisplaySettingsChangedEvent1 - - -Smart Pointer Interface Name: -IADLXDisplaySettingsChangedEvent1Ptr - - -Inherits: -IADLXDisplaySettingsChangedEvent - - -Inherited By: -IADLXDisplaySettingsChangedEvent2 - -
-
-The IADLXDisplaySettingsChangedEvent1 interface is obtained from the IADLXDisplaySettingsChangedEvent interface using QueryInterface. -Methods - - -Method -Description - - -IsDisplayBlankingChanged -Checks if the display blanking of the display is changed. - -
-
-Requirements - - -Header -include "IDisplays1.h" - - -Minimum version -1.1 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample. - For a C application, refer to the SyncDisplayReceive C sample. - -IsDisplayBlankingChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.xml deleted file mode 100644 index c7e2ffe..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event1__is_display_blanking_changed.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent1_IsDisplayBlankingChanged - IsDisplayBlankingChanged - -Checks if the display blanking of the display is changed. - - -Checks if the display blanking of the display is changed. -Syntax - - - adlx_bool IsDisplayBlankingChanged () - -Parameters - -N/A -Return Value - -If the display blanking settings are changed, true is returned. - If the display blanking settings are not changed, false is returned. -Requirements - - -Header -include "IDisplays1.h" - - -Minimum version -1.1 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2.xml deleted file mode 100644 index 8c17f3b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent2 - IADLXDisplaySettingsChangedEvent2 - IsConnectivityExperienceChanged - - - -IADLXDisplaySettingsChangedEvent2 is an extension interface to IADLXDisplaySettingsChangedEvent, and provides methods to check for changes to the DCE settings. - -InterfaceId: -IADLXDisplaySettingsChangedEvent2 - - -Smart Pointer Interface Name: -IADLXDisplaySettingsChangedEvent2Ptr - - -Inherits: -IADLXDisplaySettingsChangedEvent1 - - -Inherited By: -N/A - -
-
-The IADLXDisplaySettingsChangedEvent2 interface is obtained from the IADLXDisplaySettingsChangedEvent interface or from any of its extension interfaces using QueryInterface. -Methods - - -Method -Description - - -IsConnectivityExperienceChanged -Checks if the DCE settings of the display are changed. - -
-
-Requirements - - -Header -include "IDisplays2.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample. - For a C application, refer to the SyncDisplayReceive C sample. - -IsConnectivityExperienceChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.xml deleted file mode 100644 index c172358..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event2__is_connectivity_experience_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent2_IsConnectivityExperienceChanged - IsConnectivityExperienceChanged - -Checks if the DCE settings of the display are changed. - - -Checks if the DCE settings of the display are changed. -Syntax - - - adlx_bool IsDisplayConnectivityExperienceChanged () - -Parameters - -N/A -Return Value - -If the DCE settings are changed, true is returned. - If the DCE settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays2.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.xml deleted file mode 100644 index 7a2247c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__get_display.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_GetDisplay - GetDisplay - -Gets the reference counted display interface on which settings are changed. - - -Gets the reference counted display interface on which settings are changed. -Syntax - - - ADLX_RESULT GetDisplay (IADLXDisplay **ppDisplay) - -Parameters - - - - -1. -[out] -ppDisplay -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the display interface is successfully returned, ADLX_OK is returned. - If the display interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetDisplay returns the reference counted display used by all the methods in this interface to check if there are any changes. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.xml deleted file mode 100644 index 97262c6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_color_depth_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsColorDepthChanged - IsColorDepthChanged - -Checks if the color format settings of the display are changed. - - -Checks if the color format settings of the display are changed. -Syntax - - - adlx_bool IsColorDepthChanged () - -Parameters - -N/A -Return Value - -If the color format settings are changed, true is returned. - If the color format settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.xml deleted file mode 100644 index 6e47428..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_brightness_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorBrightnessChanged - IsCustomColorBrightnessChanged - -Checks if the brightness settings of the display are changed. - - -Checks if the brightness settings of the display are changed. -Syntax - - - adlx_bool IsCustomColorBrightnessChanged () - -Parameters - -N/A -Return Value - -If the brightness settings are changed, true is returned. - If the brightness settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.xml deleted file mode 100644 index 43a176e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_contrast_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorContrastChanged - IsCustomColorContrastChanged - -Checks if the color contrast settings of the display are changed. - - -Checks if the color contrast settings of the display are changed. -Syntax - - - adlx_bool IsCustomColorContrastChanged () - -Parameters - -N/A -Return Value - -If the color contrast settings are changed, true is returned. - If the color contrast settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.xml deleted file mode 100644 index d7e9b48..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_hue_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorHueChanged - IsCustomColorHueChanged - -Checks if the hue settings of the display are changed. - - -Checks if the hue settings of the display are changed. -Syntax - - - adlx_bool IsCustomColorHueChanged () - -Parameters - -N/A -Return Value - -If the hue settings are changed, true is returned. - If the hue settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.xml deleted file mode 100644 index d2cf713..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_saturation_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorSaturationChanged - IsCustomColorSaturationChanged - -Checks if the saturation settings of the display are changed. - - -Checks if the saturation settings of the display are changed. -Syntax - - - adlx_bool IsCustomColorSaturationChanged () - -Parameters - -N/A -Return Value - -If the saturation settings are changed, true is returned. - If the saturation settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.xml deleted file mode 100644 index b927bae..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_color_temperature_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorTemperatureChanged - IsCustomColorTemperatureChanged - -Checks if the color temperature settings of the display are changed. - - -Checks if the color temperature settings of the display are changed. -Syntax - - - adlx_bool IsCustomColorTemperatureChanged () - -Parameters - -N/A -Return Value - -If the color temperature settings are changed, true is returned. - If the color temperature settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.xml deleted file mode 100644 index 945800c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_custom_resolution_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomResolutionChanged - IsCustomResolutionChanged - -Checks if the resolution settings of the display are changed. - - -Checks if the resolution settings of the display are changed. -Syntax - - - adlx_bool IsCustomResolutionChanged () - -Parameters - -N/A -Return Value - -If the custom resolution settings are changed, true is returned. - If the custom resolution settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.xml deleted file mode 100644 index 0cec809..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_free_sync_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsFreeSyncChanged - IsFreeSyncChanged - -Checks if the AMD FreeSync™ settings of the display are changed. - - -Checks if the AMD FreeSync™ settings of the display are changed. -Syntax - - - adlx_bool IsFreeSyncChanged () - -Parameters - -N/A -Return Value - -If the AMD FreeSync settings are changed, true is returned. - If the AMD FreeSync settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.xml deleted file mode 100644 index acc6f23..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_g_p_u_scaling_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsGPUScalingChanged - IsGPUScalingChanged - -Checks if the GPU scaling settings of the display are changed. - - -Checks if the GPU scaling settings of the display are changed. -Syntax - - - adlx_bool IsGPUScalingChanged () - -Parameters - -N/A -Return Value - -If the GPU scaling settings are changed, true is returned. - If the GPU scaling settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.xml deleted file mode 100644 index de87f5b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_h_d_c_p_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsHDCPChanged - IsHDCPChanged - -Checks if the HDCP settings of the display are changed. - - -Checks if the HDCP settings of the display are changed. -Syntax - - - adlx_bool IsHDCPChanged () - -Parameters - -N/A -Return Value - -If the HDCP settings are changed, true is returned. - If the HDCP settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.xml deleted file mode 100644 index d14183a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_integer_scaling_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsIntegerScalingChanged - IsIntegerScalingChanged - -Checks if the Integer Display Scaling settings of the display are changed. - - -Checks if the Integer Display Scaling settings of the display are changed. -Syntax - - - adlx_bool IsIntegerScalingChanged () - -Parameters - -N/A -Return Value - -If the Integer Display Scaling settings are changed, true is returned. - If the Integer Display Scaling settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.xml deleted file mode 100644 index f912640..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_pixel_format_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsPixelFormatChanged - IsPixelFormatChanged - -Checks if the pixel format settings of the display are changed. - - -Checks if the pixel format settings of the display are changed. -Syntax - - - adlx_bool IsPixelFormatChanged () - -Parameters - -N/A -Return Value - -If the pixel format settings are changed, true is returned. - If the pixel format settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.xml deleted file mode 100644 index 049cd4c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_scaling_mode_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsScalingModeChanged - IsScalingModeChanged - -Checks if the scaling mode settings of the display are changed. - - -Checks if the scaling mode settings of the display are changed. -Syntax - - - adlx_bool IsScalingModeChanged () - -Parameters - -N/A -Return Value - -If the scaling mode settings are changed, true is returned. - If the scaling mode settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.xml deleted file mode 100644 index 1f54694..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_v_s_r_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsVSRChanged - IsVSRChanged - -Checks if the AMD Virtual Super Resolution settings of the display are changed. - - -Checks if the AMD Virtual Super Resolution settings of the display are changed. -Syntax - - - adlx_bool IsVSRChanged () - -Parameters - -N/A -Return Value - -If the Virtual Super Resolution settings are changed, true is returned. - If the Virtual Super Resolution settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.xml deleted file mode 100644 index d996bf6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_event__is_vari_bright_changed.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedEvent_IsVariBrightChanged - IsVariBrightChanged - -Checks if the Vari-Bright settings of the display are changed. - - -Checks if the Vari-Bright settings of the display are changed. -Syntax - - - adlx_bool IsVariBrightChanged () - -Parameters - -N/A -Return Value - -If the Vari-Bright settings are changed, true is returned. - If the Vari-Bright settings are not changed, false is returned. -Additional Info - -Note: To obtain the display, use GetDisplay. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener.xml deleted file mode 100644 index 7c56680..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedListener - IADLXDisplaySettingsChangedListener - OnDisplaySettingsChanged - - - -The IADLXDisplaySettingsChangedListener interface is implemented in the application to receive an event from ADLX when display settings change. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXDisplaySettingsChangedListener interface must be passed to AddDisplaySettingsEventListener to register for notifications when display settings change. - For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnDisplaySettingsChanged -The OnDisplaySettingsChanged method is called by ADLX when the display settings change. - -
-
-Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncDisplayReceive C++ sample. - For a C application, refer to the SyncDisplayReceive C sample. - -OnDisplaySettingsChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.xml deleted file mode 100644 index 7fda0df..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_settings_changed_listener__on_display_settings_changed.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplaySettingsChangedListener_OnDisplaySettingsChanged - OnDisplaySettingsChanged - -The OnDisplaySettingsChanged method is called by ADLX when the display settings change. - - -The OnDisplaySettingsChanged method is called by ADLX when the display settings change. -Syntax - - - adlx_bool OnDisplaySettingsChanged (IADLXDisplaySettingsChangedEvent* pDisplaySettingChangedEvent) - -Parameters - - - - -1. -[in] -pDisplaySettingChangedEvent -IADLXDisplaySettingsChangedEvent* -The pointer to the display settings change event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddDisplaySettingsEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveDisplaySettingsEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the display settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the display settings change event with Release. -Requirements - - -Header -include "IDisplays.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r.xml deleted file mode 100644 index a7f4cea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - DOX_IADLXDisplayVSR - IADLXDisplayVSR - IsEnabled - IsSupported - SetEnabled - - - -The IADLXDisplayVSR interface configures AMD Virtual Super Resolution settings on a display. - -InterfaceId: -IADLXDisplayVSR - - -Smart Pointer Interface Name: -IADLXDisplayVSRPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. -Methods - - -Method -Description - - -IsEnabled -Checks if AMD Virtual Super Resolution is enabled on a display. - - -IsSupported -Checks if AMD Virtual Super Resolution is supported on a display. - - -SetEnabled -Sets the AMD Virtual Super Resolution to enabled or disabled on this display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayVSR C++ sample. - For a C application, refer to the DisplayVSR C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.xml deleted file mode 100644 index f8544f9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_enabled.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayVSR_IsEnabled - IsEnabled - -Checks if AMD Virtual Super Resolution is enabled on a display. - - -Checks if AMD Virtual Super Resolution is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is true if Virtual Super Resolution is enabled. The variable is false if Virtual Super Resolution is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD Virtual Super Resolution is successfully returned, ADLX_OK is returned. - If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.xml deleted file mode 100644 index 38140a0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__is_supported.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayVSR_IsSupported - IsSupported - -Checks if AMD Virtual Super Resolution is supported on a display. - - -Checks if AMD Virtual Super Resolution is supported on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of Virtual Super Resolution is returned. The variable is true if Virtual Super Resolution is supported. The variable is false if Virtual Super Resolution is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD Virtual Super Resolution is successfully returned, ADLX_OK is returned. - If the state of AMD Virtual Super Resolution is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.xml deleted file mode 100644 index 555413e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_v_s_r__set_enabled.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXDisplayVSR_SetEnabled - SetEnabled - -Sets the AMD Virtual Super Resolution to enabled or disabled on this display. - - -Sets the AMD Virtual Super Resolution to enabled or disabled on this display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD Virtual Super Resolution state. Set true to enable Virtual Super Resolution. Set false to disable Virtual Super Resolution. - -
-
-
-
-
-Return Value - -If the state of AMD Virtual Super Resolution is successfully set, ADLX_OK is returned. - If the state of AMD Virtual Super Resolution is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Virtual Super Resolution allows applications to render at resolutions higher than the display's native pixel grid and then scales images down to fit the display, producing higher quality visuals at the expense of performance. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright.xml deleted file mode 100644 index 4e52d9d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - DOX_IADLXDisplayVariBright - IADLXDisplayVariBright - IsCurrentBalanced - IsCurrentMaximizeBattery - IsCurrentMaximizeBrightness - IsCurrentOptimizeBattery - IsCurrentOptimizeBrightness - IsEnabled - IsSupported - SetBalanced - SetEnabled - SetMaximizeBattery - SetMaximizeBrightness - SetOptimizeBattery - SetOptimizeBrightness - - - -The IADLXDisplayVariBright interface configures Vari-Bright settings on a display. - -InterfaceId: -IADLXDisplayVariBright - - -Smart Pointer Interface Name: -IADLXDisplayVariBrightPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Vari-Bright saves power by adaptively adjusting the display brightness based on image content. - The color fidelity is retained by adjusting gamma levels to compensate for changes in brightness. - Vari-Bright is available on non-OLED eDP panels. - -Methods - - -Method -Description - - -IsCurrentBalanced -Checks if the balanced Vari-Bright preset is used on a display. - - -IsCurrentMaximizeBattery -Checks if the maximize battery Vari-Bright preset is used on a display. - - -IsCurrentMaximizeBrightness -Checks if the maximized brightness Vari-Bright preset is used on a display. - - -IsCurrentOptimizeBattery -Checks if the optimized battery Vari-Bright preset is used on a display. - - -IsCurrentOptimizeBrightness -Checks if the optimized brightness Vari-Bright preset is used on a display. - - -IsEnabled -Checks if Vari-Bright is enabled on a display. - - -IsSupported -Checks if Vari-Bright can be configured on a display. - - -SetBalanced -Sets the balanced Vari-Bright preset on a display. - - -SetEnabled -Sets the Vari-Bright to enabled or disabled on a display. - - -SetMaximizeBattery -Sets the maximize battery Vari-Bright preset on a display. - - -SetMaximizeBrightness -Sets the maximize brightness Vari-Bright preset on a display. - - -SetOptimizeBattery -Sets the optimize battery Vari-Bright preset on a display. - - -SetOptimizeBrightness -Sets the optimize brightness Vari-Bright preset on a display. - -
-
-Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the DisplayVariBright C++ sample. - For a C application, refer to the DisplayVariBright C sample. - -IsCurrentBalanced -IsCurrentMaximizeBattery -IsCurrentMaximizeBrightness -IsCurrentOptimizeBattery -IsCurrentOptimizeBrightness -IsEnabled -IsSupported -SetBalanced -SetEnabled -SetMaximizeBattery -SetMaximizeBrightness -SetOptimizeBattery -SetOptimizeBrightness - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.xml deleted file mode 100644 index 0750947..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_balanced.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsCurrentBalanced - IsCurrentBalanced - -Checks if the balanced Vari-Bright preset is used on a display. - - -Checks if the balanced Vari-Bright preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentBalanced (adlx_bool* balanced) - -Parameters - - - - -1. -[out] -balanced -adlx_bool* -The pointer to a variable where the state of the Vari-Bright preset is returned. The variable is true if the balanced preset is used. The variable is false if the balanced preset is not used. - -
-
-
-
-
-Return Value - -If the state of balanced preset is successfully returned, ADLX_OK is returned. - If the state of balanced preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.xml deleted file mode 100644 index e6dcf78..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_battery.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsCurrentMaximizeBattery - IsCurrentMaximizeBattery - -Checks if the maximize battery Vari-Bright preset is used on a display. - - -Checks if the maximize battery Vari-Bright preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentMaximizeBattery (adlx_bool* maximizeBattery) - -Parameters - - - - -1. -[out] -maximizeBattery -adlx_bool* -The pointer to a variable where the state of the maximize battery preset is returned. The variable is true if the maximize battery preset is used. The variable is false if the maximize battery preset is not used. - -
-
-
-
-
-Return Value - -If the state of maximize battery preset is successfully returned, ADLX_OK is returned. - If the state of maximize battery preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.xml deleted file mode 100644 index 4195a52..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_maximize_brightness.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsCurrentMaximizeBrightness - IsCurrentMaximizeBrightness - -Checks if the maximized brightness Vari-Bright preset is used on a display. - - -Checks if the maximized brightness Vari-Bright preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentMaximizeBrightness (adlx_bool* maximizeBrightness) - -Parameters - - - - -1. -[out] -maximizeBrightness -adlx_bool* -The pointer to a variable where the state of the maximize brightness preset is returned. The variable is true if the maximize brightness preset is used. The variable is false if the maximize brightness preset is not used. - -
-
-
-
-
-Return Value - -If the state of maximize brightness preset is successfully returned, ADLX_OK is returned. - If the state of maximize brightness preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.xml deleted file mode 100644 index 41674bf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_battery.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsCurrentOptimizeBattery - IsCurrentOptimizeBattery - -Checks if the optimized battery Vari-Bright preset is used on a display. - - -Checks if the optimized battery Vari-Bright preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentOptimizeBattery (adlx_bool* optimizeBattery) - -Parameters - - - - -1. -[out] -optimizeBattery -adlx_bool* -The pointer to a variable where the state of the optimized battery preset is returned. The variable is true if the optimized battery preset is used. The variable is false if the optimized battery preset is not used. - -
-
-
-
-
-Return Value - -If the state of optimized battery preset is successfully returned, ADLX_OK is returned. - If the state of optimized battery preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.xml deleted file mode 100644 index 4ed573a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_current_optimize_brightness.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsCurrentOptimizeBrightness - IsCurrentOptimizeBrightness - -Checks if the optimized brightness Vari-Bright preset is used on a display. - - -Checks if the optimized brightness Vari-Bright preset is used on a display. -Syntax - - - ADLX_RESULT IsCurrentOptimizeBrightness (adlx_bool* optimizeBrightness) - -Parameters - - - - -1. -[out] -optimizeBrightness -adlx_bool* -The pointer to a variable where the state of the optimized brightness preset is returned. The variable is true if the optimized brightness preset is used. The variable is false if the optimized brightness preset is not used. - -
-
-
-
-
-Return Value - -If the state of optimized brightness preset is successfully returned, ADLX_OK is returned. - If the state of optimized brightness preset is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.xml deleted file mode 100644 index 9875e8f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_enabled.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsEnabled - IsEnabled - -Checks if Vari-Bright is enabled on a display. - - -Checks if Vari-Bright is enabled on a display. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of Vari-Bright is returned. The variable is true if Vari-Bright is enabled. The variable is false if Vari-Bright is not enabled. - -
-
-
-
-
-Return Value - -If the state of Vari-Bright is successfully returned, ADLX_OK is returned. - If the state of Vari-Bright is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.xml deleted file mode 100644 index daaf270..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__is_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_IsSupported - IsSupported - -Checks if Vari-Bright can be configured on a display. - - -Checks if Vari-Bright can be configured on a display. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of Vari-Bright is returned. The variable is true if Vari-Bright is supported. The variable is false if Vari-Bright is not supported. - -
-
-
-
-
-Return Value - -If the state of Vari-Bright is successfully returned, ADLX_OK is returned. - If the state of Vari-Bright is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.xml deleted file mode 100644 index da99584..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_balanced.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetBalanced - SetBalanced - -Sets the balanced Vari-Bright preset on a display. - - -Sets the balanced Vari-Bright preset on a display. -Syntax - - - ADLX_RESULT SetBalanced () - -Parameters - -N/A -Return Value - -If the balanced preset is successfully set, ADLX_OK is returned. - If the balanced preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.xml deleted file mode 100644 index 61c6b92..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_enabled.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetEnabled - SetEnabled - -Sets the Vari-Bright to enabled or disabled on a display. - - -Sets the Vari-Bright to enabled or disabled on a display. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new Vari-Bright state. Set true to enable Vari-Bright. Set false to disable Vari-Bright. - -
-
-
-
-
-Return Value - -If the state of Vari-Bright is successfully set, ADLX_OK is returned. - If the state of Vari-Bright is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.xml deleted file mode 100644 index dd5259a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_battery.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetMaximizeBattery - SetMaximizeBattery - -Sets the maximize battery Vari-Bright preset on a display. - - -Sets the maximize battery Vari-Bright preset on a display. -Syntax - - - ADLX_RESULT SetMaximizeBattery () - -Parameters - -N/A -Return Value - -If the maximize battery preset is successfully set, ADLX_OK is returned. - If the maximize battery preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The maximized battery preset maximizes battery time. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.xml deleted file mode 100644 index 49aeb34..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_maximize_brightness.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetMaximizeBrightness - SetMaximizeBrightness - -Sets the maximize brightness Vari-Bright preset on a display. - - -Sets the maximize brightness Vari-Bright preset on a display. -Syntax - - - ADLX_RESULT SetMaximizeBrightness () - -Parameters - -N/A -Return Value - -If the maximized brightness preset is successfully set, ADLX_OK is returned. - If the maximized brightness preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.xml deleted file mode 100644 index 6505c3d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_battery.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetOptimizeBattery - SetOptimizeBattery - -Sets the optimize battery Vari-Bright preset on a display. - - -Sets the optimize battery Vari-Bright preset on a display. -Syntax - - - ADLX_RESULT SetOptimizeBattery () - -Parameters - -N/A -Return Value - -If the optimize battery preset is successfully set, ADLX_OK is returned. - If the optimize battery preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.xml deleted file mode 100644 index 225eb9a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_display_vari_bright__set_optimize_brightness.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXDisplayVariBright_SetOptimizeBrightness - SetOptimizeBrightness - -Sets the optimize brightness Vari-Bright preset on a display. - - -Sets the optimize brightness Vari-Bright preset on a display. -Syntax - - - ADLX_RESULT SetOptimizeBrightness () - -Parameters - -N/A -Return Value - -If the optimize brightness preset is successfully set, ADLX_OK is returned. - If the optimize brightness preset is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IDisplaySettings.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop.xml deleted file mode 100644 index 0164526..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop - IADLXEyefinityDesktop - DisplayOrientation - DisplaySize - DisplayTopLeft - GetDisplay - GridSize - - - -The IADLXEyefinityDesktop interface provides properties of an AMD Eyefinity desktop, such as the display composition of the AMD Eyefinity configuration. - AMD Eyefinity technology allows two or more displays to be combined into a single large desktop. - -InterfaceId: -IADLXEyefinityDesktop - - -Smart Pointer Interface Name: -IADLXEyefinityDesktopPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-To get the IADLXEyefinityDesktop, an application should get a list of desktops first via IADLXDesktopServices interface. -Methods - - -Method -Description - - -DisplayOrientation -Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location. - - -DisplaySize -Gets the size of the display area on an AMD Eyefinity desktop at a given grid location. - - -DisplayTopLeft -Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location. - - -GetDisplay -Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location. - - -GridSize -Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample. - For a C application, refer to the Eyefinity C sample. - -DisplayOrientation -DisplaySize -DisplayTopLeft -GetDisplay -GridSize - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.xml deleted file mode 100644 index 1d1e4bd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_orientation.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop_DisplayOrientation - DisplayOrientation - -Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location. - - -Gets the orientation of the display area on an AMD Eyefinity desktop at a given grid location. -Syntax - - - ADLX_RESULT DisplayOrientation (adlx_uint row, adlx_uint col, ADLX_ORIENTATION* displayOrientation) - -Parameters - - - - -1. -[in] -row -adlx_uint -The row of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -2. -[in] -col -adlx_uint -The column of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -3. -[out] -displayOrientation -ADLX_ORIENTATION* -The pointer to a variable where the display orientation is returned. - -
-
-
-
-
-Return Value - -If the display orientation is successfully returned, ADLX_OK is returned. - If the display orientation is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The display orientation indicates the rotation angle of the display area on an AMD Eyefinity desktop. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.xml deleted file mode 100644 index cd846b1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_size.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop_DisplaySize - DisplaySize - -Gets the size of the display area on an AMD Eyefinity desktop at a given grid location. - - -Gets the size of the display area on an AMD Eyefinity desktop at a given grid location. -Syntax - - - ADLX_RESULT DisplaySize (adlx_uint row, adlx_uint col, adlx_int* displayWidth, adlx_int* displayHeight) - -Parameters - - - - -1. -[in] -row -adlx_uint -The row of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -2. -[in] -col -adlx_uint -The column of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -3. -[out] -displayWidth -adlx_int* -The pointer to a variable where the display width is returned. - -
-
-
-
- - - -4. -[out] -displayHeight -adlx_int* -The pointer to a variable where the display height is returned. - -
-
-
-
-
-Return Value - -If the display size is successfully returned, ADLX_OK is returned. - If the display size is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The display size represents the pixel resolution of the dispay area in an AMD Eyefinity desktop. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.xml deleted file mode 100644 index a6fbdcc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__display_top_left.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop_DisplayTopLeft - DisplayTopLeft - -Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location. - - -Gets the top left position of the display area on an AMD Eyefinity desktop at a given grid location. -Syntax - - - ADLX_RESULT DisplayTopLeft (adlx_uint row, adlx_uint col, ADLX_Point* displayLocationTopLeft) - -Parameters - - - - -1. -[in] -row -adlx_uint -The row of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -2. -[in] -col -adlx_uint -The column of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -3. -[out] -displayLocationTopLeft -ADLX_Point* -The pointer to a variable where the top left position is returned. - -
-
-
-
-
-Return Value - -If the top left position is successfully returned, ADLX_OK is returned. - If the top left position is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The top left position is relative to the desktop's top left position. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.xml deleted file mode 100644 index fdcf704..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__get_display.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop_GetDisplay - GetDisplay - -Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location. - - -Gets the reference counted display interface for the display that shows the portion of an AMD Eyefinity desktop at the requested grid location. -Syntax - - - ADLX_RESULT GetDisplay (adlx_uint row, adlx_uint col, IADLXDisplay** ppDisplay) - -Parameters - - - - -1. -[in] -row -adlx_uint -The row of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -2. -[in] -col -adlx_uint -The column of the AMD Eyefinity grid location for the requested display. - -
-
-
-
- - - -3. -[out] -ppDisplay -IADLXDisplay** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDisplay to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.xml deleted file mode 100644 index 63f8b15..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_eyefinity_desktop__grid_size.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXEyefinityDesktop_GridSize - GridSize - -Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop. - - -Gets the number of rows and columns that describes the display composition of an AMD Eyefinity desktop. -Syntax - - - ADLX_RESULT GridSize (adlx_uint* rows, adlx_uint* cols) - -Parameters - - - - -1. -[out] -rows -adlx_uint* -The pointer to a variable where the number of rows is returned. - -
-
-
-
- - - -2. -[out] -cols -adlx_uint* -The pointer to a variable where the number of cols is returned. - -
-
-
-
-
-Return Value - -If the number of rows and cols are successfully returned, ADLX_OK is returned. - If the number of rows and cols are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The grid location of an AMD Eyefinity desktop is identified by a row and a column from zero to the respective value returned from this method minus one. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s.xml deleted file mode 100644 index 5c83b6b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXFPS - IADLXFPS - FPS - TimeStamp - - - -The IADLXFPS interface provides information of an FPS metric sample, such as the timestamp and the FPS. - -InterfaceId: -IADLXFPS - - -Smart Pointer Interface Name: -IADLXFPSPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode. -Methods - - -Method -Description - - -FPS -Gets the FPS when this metric set was acquired. - - -TimeStamp -Gets the timestamp of an FPS metric sample. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfFPSMetrics C++ sample. - For a C application, refer to the PerfFPSMetrics C sample. - -FPS -TimeStamp - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.xml deleted file mode 100644 index 658f8f3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__f_p_s.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXFPS_FPS - FPS - -Gets the FPS when this metric set was acquired. - - -Gets the FPS when this metric set was acquired. -Syntax - - - ADLX_RESULT FPS (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the FPS is returned. - -
-
-
-
-
-Return Value - -If the FPS is successfully returned, ADLX_OK is returned. - If the FPS is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.xml deleted file mode 100644 index b47f637..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s__time_stamp.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXFPS_TimeStamp - TimeStamp - -Gets the timestamp of an FPS metric sample. - - -Gets the timestamp of an FPS metric sample. -Syntax - - - ADLX_RESULT TimeStamp (adlx_int64* ms) - -Parameters - - - - -1. -[out] -ms -adlx_int64* -The pointer to a variable where the timestamp (in ms) is returned. - -
-
-
-
-
-Return Value - -If the timestamp is successfully returned, ADLX_OK is returned. - If the timestamp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list.xml deleted file mode 100644 index 36bc6c1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXFPSList - IADLXFPSList - Add_Back - At - - - -The IADLXFPSList is an interface for a collection of IADLXFPS interfaces that can be accessed by location. - -InterfaceId: -IADLXFPSList - - -Smart Pointer Interface Name: -IADLXFPSListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfFPSMetrics C++ sample. - For a C application, refer to the PerfFPSMetrics C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.xml deleted file mode 100644 index bc66f68..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__add__back.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXFPSList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXFPS* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXFPS* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__at.xml deleted file mode 100644 index afba3f2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_f_p_s_list__at.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXFPSList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXFPS** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXFPS** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u.xml deleted file mode 100644 index 44b8a81..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - DOX_IADLXGPU - IADLXGPU - ASICFamilyType - BIOSInfo - DeviceId - DriverPath - HasDesktops - IsExternal - Name - PNPString - RevisionId - SubSystemId - SubSystemVendorId - TotalVRAM - Type - UniqueId - VRAMType - VendorId - - - -The IADLXGPU interface provides properties of a GPU, such as name and type. - -InterfaceId: -IADLXGPU - - -Smart Pointer Interface Name: -IADLXGPUPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXGPU1 - -
-
-Methods - - -Method -Description - - -ASICFamilyType -Gets the ASIC family type of a GPU. - - -BIOSInfo -Gets the BIOS info of a GPU. - - -DeviceId -Gets the device id of a GPU. - - -DriverPath -Gets the driver registry path of a GPU. - - -HasDesktops -Checks if a GPU drives any desktops. - - -IsExternal -Checks if a GPU is an external or internal GPU. - - -Name -Gets the name of a GPU. - - -PNPString -Gets the PNP string of a GPU. - - -RevisionId -Gets the revision id of a GPU. - - -SubSystemId -Gets the subsystem id of a GPU. - - -SubSystemVendorId -Gets the subsystem vendor id of a GPU. - - -TotalVRAM -Gets the total VRAM size of a GPU. - - -Type -Gets the type of a GPU. - - -UniqueId -Gets the unique id of a GPU. - - -VRAMType -Gets the VRAM type of a GPU. - - -VendorId -Gets the vendor id of a GPU. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -ASICFamilyType -BIOSInfo -DeviceId -DriverPath -HasDesktops -IsExternal -Name -PNPString -RevisionId -SubSystemId -SubSystemVendorId -TotalVRAM -Type -UniqueId -VRAMType -VendorId - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1.xml deleted file mode 100644 index f078912..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - DOX_IADLXGPU1 - IADLXGPU1 - MultiGPUMode - PCIBusLaneWidth - PCIBusType - ProductName - - - -IADLXGPU1 is an extension to the IADLXGPU interface. This interface provides the method to get multi-GPU setup details, PCI bus details, and the product name of a GPU. - -InterfaceId: -IADLXGPU1 - - -Smart Pointer Interface Name: -IADLXGPU1Ptr - - -Inherits: -IADLXGPU - - -Inherited By: -N/A - -
-
-The IADLXGPU1 interface is obtained from the IADLXGPU interface using QueryInterface. -Methods - - -Method -Description - - -MultiGPUMode -Gets the AMD MGPU mode of a GPU. - - -PCIBusLaneWidth -Gets the PCI bus lane width of a GPU. - - -PCIBusType -Gets the PCI bus type of a GPU. - - -ProductName -Gets the product name of a GPU. - -
-
-Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -MultiGPUMode -PCIBusLaneWidth -PCIBusType -ProductName - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.xml deleted file mode 100644 index b5f4139..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__multi_g_p_u_mode.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPU1_MultiGPUMode - MultiGPUMode - -Gets the AMD MGPU mode of a GPU. - - -Gets the AMD MGPU mode of a GPU. -Syntax - - - ADLX_RESULT MultiGPUMode (ADLX_MGPU_MODE* mode) - -Parameters - - - - -1. -[out] -mode -ADLX_MGPU_MODE* -The pointer to a variable where the AMD MGPU mode is returned. The variable is MGPU_NONE if the GPU is not part of an AMD MGPU configuration. The variable is MGPU_PRIMARY if the GPU is the primary GPU in an AMD MGPU configuration. The variable is MGPU_SECONDARY if the GPU is the secondary GPU in an AMD MGPU configuration. - -
-
-
-
-
-Return Value - -If MultiGPUMode is successfully returned, ADLX_OK is returned. - If MultiGPUMode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD MGPU technology harnesses the power of two or more discrete graphics cards working in parallel to dramatically improve performance in games and applications. - On systems with AMD MGPU enabled the video output is delivered through the primary GPU and the workload is allocated to all supported GPUs in the setup. - -Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.xml deleted file mode 100644 index a69df6e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_lane_width.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU1_PCIBusLaneWidth - PCIBusLaneWidth - -Gets the PCI bus lane width of a GPU. - - -Gets the PCI bus lane width of a GPU. -Syntax - - - ADLX_RESULT PCIBusLaneWidth (adlx_uint* laneWidth) - -Parameters - - - - -1. -[out] -laneWidth -adlx_uint* -The pointer to a variable where the PCI bus lane width is returned. - -
-
-
-
-
-Return Value - -If the PCI bus lane width is successfully returned, ADLX_OK is returned. - If the PCI bus lane width is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.xml deleted file mode 100644 index ea11f6f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__p_c_i_bus_type.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU1_PCIBusType - PCIBusType - -Gets the PCI bus type of a GPU. - - -Gets the PCI bus type of a GPU. -Syntax - - - ADLX_RESULT PCIBusType (ADLX_PCI_BUS_TYPE* busType) - -Parameters - - - - -1. -[out] -busType -ADLX_PCI_BUS_TYPE* -The pointer to a variable where the GPU PCI bus type is returned. - -
-
-
-
-
-Return Value - -If the GPU PCI bus type is successfully returned, ADLX_OK is returned. - If the GPU PCI bus type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__product_name.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__product_name.xml deleted file mode 100644 index 64fd7ef..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u1__product_name.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPU1_ProductName - ProductName - -Gets the product name of a GPU. - - -Gets the product name of a GPU. -Syntax - - - ADLX_RESULT ProductName (const char** productName) - -Parameters - - - - -1. -[out] -productName -const char** -The pointer to a zero-terminated string where the productName string of a GPU is returned. - -
-
-
-
-
-Return Value - -If the productName string is successfully returned, ADLX_OK is returned. - If the productName string is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within a lifetime of the IADLXGPU1 interface. - If the application uses the productName string beyond the lifetime of the IADLXGPU1 interface, the application must make a copy of the productName string. - -Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.xml deleted file mode 100644 index 8bf7fa5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__a_s_i_c_family_type.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU_ASICFamilyType - ASICFamilyType - -Gets the ASIC family type of a GPU. - - -Gets the ASIC family type of a GPU. -Syntax - - - ADLX_RESULT ASICFamilyType (ADLX_ASIC_FAMILY_TYPE* asicFamilyType) - -Parameters - - - - -1. -[out] -asicFamilyType -ADLX_ASIC_FAMILY_TYPE* -The pointer to a variable where the ASIC family type is returned. - -
-
-
-
-
-Return Value - -If the ASIC family type is successfully returned, ADLX_OK is returned. - If the ASIC family type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.xml deleted file mode 100644 index e9830b1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__b_i_o_s_info.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - DOX_IADLXGPU_BIOSInfo - BIOSInfo - -Gets the BIOS info of a GPU. - - -Gets the BIOS info of a GPU. -Syntax - - - ADLX_RESULT BIOSInfo(const char** partNumber, const char** version, const char** date) - -Parameters - - - - -1. -[out] -partNumber -const char** -The pointer to a zero-terminated string where the BIOS part number of the GPU is returned. - -
-
-
-
- - - -2. -[out] -version -const char** -The pointer to a zero-terminated string where the BIOS version of the GPU is returned. - -
-
-
-
- - - -3. -[out] -date -const char** -The pointer to a zero-terminated string where the BIOS date of the GPU is returned. - -
-
-
-
-
-Return Value - -If the BIOS part number, BIOS version and BIOS date are successfully returned, ADLX_OK is returned. - If the BIOS part number, BIOS version and BIOS date are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffers are valid within the lifetime of the IADLXGPU interface. - If the application uses the BIOS part number, BIOS version and BIOS date beyond the lifetime of the IADLXGPU interface, the application must make a copy of the BIOS part number, BIOS version and BIOS date. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__device_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__device_id.xml deleted file mode 100644 index cded163..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__device_id.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXGPU_DeviceId - DeviceId - -Gets the device id of a GPU. - - -Gets the device id of a GPU. -Syntax - - - ADLX_RESULT DeviceId(const char** deviceId) - -Parameters - - - - -1. -[out] -deviceId -const char** -The pointer to a zero-terminated string where the device id of the GPU is returned. - -
-
-
-
-
-Return Value - -If the device id is successfully returned, ADLX_OK is returned. - If the device id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The device id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the device id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the device id. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__driver_path.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__driver_path.xml deleted file mode 100644 index 0f5399d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__driver_path.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPU_DriverPath - DriverPath - -Gets the driver registry path of a GPU. - - -Gets the driver registry path of a GPU. -Syntax - - - ADLX_RESULT DriverPath (const char** driverPath) - -Parameters - - - - -1. -[out] -driverPath -const char** -The pointer to a zero-terminated string where the driver registry path of a GPU is returned. - -
-
-
-
-
-Return Value - -If the driver path is successfully returned, ADLX_OK is returned. - If the driver path is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within a lifetime of the IADLXGPU interface. - If the application uses the driver path beyond the lifetime of the IADLXGPU interface, the application must make a copy of the driver path. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.xml deleted file mode 100644 index ce0be86..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__has_desktops.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU_HasDesktops - HasDesktops - -Checks if a GPU drives any desktops. - - -Checks if a GPU drives any desktops. -Syntax - - - ADLX_RESULT HasDesktops (adlx_bool* hasDesktops) - -Parameters - - - - -1. -[out] -hasDesktops -adlx_bool* -The pointer to a variable to check if a GPU drives any desktops is returned. The variable is true if the GPU drives desktops. The variable is false if the GPU does not drive any desktop. - -
-
-
-
-
-Return Value - -If HasDesktops is successfully executed, ADLX_OK is returned. - If HasDesktops is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__is_external.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__is_external.xml deleted file mode 100644 index d4c6f29..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__is_external.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU_IsExternal - IsExternal - -Checks if a GPU is an external or internal GPU. - - -Checks if a GPU is an external or internal GPU. -Syntax - - - ADLX_RESULT IsExternal (adlx_bool* isExternal) - -Parameters - - - - -1. -[out] -isExternal -adlx_bool* -The pointer to a variable where the state of the GPU is returned. The variable is true if the GPU is external. The variable is false if the GPU is internal. - -
-
-
-
-
-Return Value - -If IsExternal is successfully executed, ADLX_OK is returned. - If IsExternal is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__name.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__name.xml deleted file mode 100644 index 6b216b4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__name.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPU_Name - Name - -Gets the name of a GPU. - - -Gets the name of a GPU. -Syntax - - - ADLX_RESULT Name (const char** name) - -Parameters - - - - -1. -[out] -name -const char** -The pointer to a zero-terminated string where the name of the GPU is returned. - -
-
-
-
-
-Return Value - -If the name is successfully returned, ADLX_OK is returned. - If the name is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within a lifetime of the IADLXGPU interface. - If the application uses the name beyond the lifetime of the IADLXGPU interface, the application must make a copy of the name. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.xml deleted file mode 100644 index 2b2521c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__p_n_p_string.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPU_PNPString - PNPString - -Gets the PNP string of a GPU. - - -Gets the PNP string of a GPU. -Syntax - - - ADLX_RESULT PNPString (const char** pnpString) - -Parameters - - - - -1. -[out] -pnpString -const char** -The pointer to a zero-terminated string where the PNP string of a GPU is returned. - -
-
-
-
-
-Return Value - -If the PNP string is successfully returned, ADLX_OK is returned. - If the PNP string is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within a lifetime of the IADLXGPU interface. - If the application uses the PNP string beyond the lifetime of the IADLXGPU interface, the application must make a copy of the PNP string. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__revision_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__revision_id.xml deleted file mode 100644 index da26e08..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__revision_id.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXGPU_RevisionId - RevisionId - -Gets the revision id of a GPU. - - -Gets the revision id of a GPU. -Syntax - - - ADLX_RESULT RevisionId(const char** revisionId) - -Parameters - - - - -1. -[out] -revisionId -const char** -The pointer to a zero-terminated string where the revision id of the GPU is returned. - -
-
-
-
-
-Return Value - -If the revision id is successfully returned, ADLX_OK is returned. - If the revision id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the revision id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the revision id. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.xml deleted file mode 100644 index 1dbfc65..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_id.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXGPU_SubSystemId - SubSystemId - -Gets the subsystem id of a GPU. - - -Gets the subsystem id of a GPU. -Syntax - - - ADLX_RESULT SubSystemId(const char** subSystemId) - -Parameters - - - - -1. -[out] -subSystemId -const char** -The pointer to a zero-terminated string where the subsystem id of the GPU is returned. - -
-
-
-
-
-Return Value - -If the subsystem id is successfully returned, ADLX_OK is returned. - If the subsystem id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the subsystem id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the subsystem id. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.xml deleted file mode 100644 index 430e99f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__sub_system_vendor_id.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXGPU_SubSystemVendorId - SubSystemVendorId - -Gets the subsystem vendor id of a GPU. - - -Gets the subsystem vendor id of a GPU. -Syntax - - - ADLX_RESULT SubSystemVendorId(const char** subSystemVendorId) - -Parameters - - - - -1. -[out] -subSystemVendorId -const char** -The pointer to a zero-terminated string where the subsystem vendor id of the GPU is returned. - -
-
-
-
-
-Return Value - -If the subsystem vendor id is successfully returned, ADLX_OK is returned. - If the subsystem vendor id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The subsystem vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the subsystem vendor id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the subsystem vendor id. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.xml deleted file mode 100644 index 5094fa1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__total_v_r_a_m.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPU_TotalVRAM - TotalVRAM - -Gets the total VRAM size of a GPU. - - -Gets the total VRAM size of a GPU. -Syntax - - - ADLX_RESULT TotalVRAM (adlx_uint* vramMB) - -Parameters - - - - -1. -[out] -vramMB -adlx_uint* -The pointer to a variable where the total VRAM size is returned. - -
-
-
-
-
-Return Value - -If the total VRAM size is successfully returned, ADLX_OK is returned. - If the total VRAM size is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The total VRAM size is in MB. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__type.xml deleted file mode 100644 index dbe9350..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__type.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPU_Type - Type - -Gets the type of a GPU. - - -Gets the type of a GPU. -Syntax - - - ADLX_RESULT Type (ADLX_GPU_TYPE* gpuType) - -Parameters - - - - -1. -[out] -gpuType -ADLX_GPU_TYPE* -The pointer to a variable where the GPU type is returned. - -
-
-
-
-
-Return Value - -If the GPU type is successfully returned, ADLX_OK is returned. - If the GPU type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The GPU type can be categorized into Integrated, Discrete, and Unknown. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__unique_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__unique_id.xml deleted file mode 100644 index 69ecfad..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__unique_id.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXGPU_UniqueId - UniqueId - -Gets the unique id of a GPU. - - -Gets the unique id of a GPU. -Syntax - - - ADLX_RESULT UniqueId(adlx_int* uniqueId) - -Parameters - - - - -1. -[out] -uniqueId -adlx_int* -The pointer to a variable where the unique id of the GPU is returned. - -
-
-
-
-
-Return Value - -If the unique id is successfully returned, ADLX_OK is returned. - If the unique id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.xml deleted file mode 100644 index 5cd40ee..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__v_r_a_m_type.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXGPU_VRAMType - VRAMType - -Gets the VRAM type of a GPU. - - -Gets the VRAM type of a GPU. -Syntax - - - ADLX_RESULT VRAMType(const char** type) - -Parameters - - - - -1. -[out] -type -const char** -The pointer to a zero-terminated string where the VRAM type of the GPU is returned. - -
-
-
-
-
-Return Value - -If the VRAM type is successfully returned, ADLX_OK is returned. - If the VRAM type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the VRAM type beyond the lifetime of the IADLXGPU interface, the application must make a copy of the VRAM type. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.xml deleted file mode 100644 index e5b199c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u__vendor_id.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXGPU_VendorId - VendorId - -Gets the vendor id of a GPU. - - -Gets the vendor id of a GPU. -Syntax - - - ADLX_RESULT VendorId (const char** vendorId) - -Parameters - - - - -1. -[out] -vendorId -const char** -The pointer to a zero-terminated string where the vendor id is returned. - -
-
-
-
-
-Return Value - -If the vendor id is successfully returned, ADLX_OK is returned. - If the vendor id is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The vendor id is a predetermined value programmed into the GPU at the point of manufacturing and consists of four hexadecimal digits. -Additional Info - -The returned memory buffer is valid within the lifetime of the IADLXGPU interface. - If the application uses the vendor id beyond the lifetime of the IADLXGPU interface, the application must make a copy of the vendor id. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.xml deleted file mode 100644 index ab951c9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning - IADLXGPUAutoTuning - IsCurrentOverclockGPU - IsCurrentOverclockVRAM - IsCurrentUndervoltGPU - IsSupportedOverclockGPU - IsSupportedOverclockVRAM - IsSupportedUndervoltGPU - StartOverclockGPU - StartOverclockVRAM - StartUndervoltGPU - - - -The IADLXGPUAutoTuning interface provides methods to verify and set automatic tuning on a GPU using automatic tuning profiles. - -InterfaceId: -IADLXGPUAutoTuning - - -Smart Pointer Interface Name: -IADLXGPUAutoTuningPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsCurrentOverclockGPU -Checks if the GPU overclocking tuning profile is currently enabled on a GPU. - - -IsCurrentOverclockVRAM -Checks if the VRAM overclocking tuning profile is currently enabled on a GPU. - - -IsCurrentUndervoltGPU -Checks if the GPU undervolting tuning profile is currently enabled on a GPU. - - -IsSupportedOverclockGPU -Checks if the GPU overclocking tuning profile is supported on a GPU. - - -IsSupportedOverclockVRAM -Checks if the VRAM overclocking tuning profile is supported on a GPU. - - -IsSupportedUndervoltGPU -Checks if the GPU undervolting tuning profile is supported on a GPU. - - -StartOverclockGPU -Starts GPU overclocking on a GPU. - - -StartOverclockVRAM -Start VRAM overclocking on a GPU. - - -StartUndervoltGPU -Starts GPU undervolting on a GPU. - -
-
-Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample. - For a C application, refer to the GPUAutoTuning C sample. - -IsCurrentOverclockGPU -IsCurrentOverclockVRAM -IsCurrentUndervoltGPU -IsSupportedOverclockGPU -IsSupportedOverclockVRAM -IsSupportedUndervoltGPU -StartOverclockGPU -StartOverclockVRAM -StartUndervoltGPU - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.xml deleted file mode 100644 index f0da1fa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_g_p_u.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU - IsCurrentOverclockGPU - -Checks if the GPU overclocking tuning profile is currently enabled on a GPU. - - -Checks if the GPU overclocking tuning profile is currently enabled on a GPU. -Syntax - - - ADLX_RESULT IsCurrentOverclockGPU (adlx_bool* isOverclockGPU) - -Parameters - - - - -1. -[out] -isOverclockGPU -adlx_bool* -The pointer to a variable where the state of GPU overclocking is returned. The variable is true if GPU overclocking is applied. The variable is false if GPU overclocking is not applied. - -
-
-
-
-
-Return Value - -If the state of GPU overclocking is successfully returned, ADLX_OK is returned. - If the state of GPU overclocking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.xml deleted file mode 100644 index a91dd98..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_overclock_v_r_a_m.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM - IsCurrentOverclockVRAM - -Checks if the VRAM overclocking tuning profile is currently enabled on a GPU. - - -Checks if the VRAM overclocking tuning profile is currently enabled on a GPU. -Syntax - - - ADLX_RESULT IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM) - -Parameters - - - - -1. -[out] -isOverclockVRAM -adlx_bool* -The pointer to a variable where the state of VRAM overclocking is returned. The variable is true if VRAM overclocking is applied. The variable is false if VRAM overclocking is not applied. - -
-
-
-
-
-Return Value - -If the state of VRAM overclocking is successfully returned, ADLX_OK is returned. - If the state of VRAM overclocking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.xml deleted file mode 100644 index d360d41..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_current_undervolt_g_p_u.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU - IsCurrentUndervoltGPU - -Checks if the GPU undervolting tuning profile is currently enabled on a GPU. - - -Checks if the GPU undervolting tuning profile is currently enabled on a GPU. -Syntax - - - ADLX_RESULT IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU) - -Parameters - - - - -1. -[out] -isUndervoltGPU -adlx_bool* -The pointer to a variable where the state of GPU undervolting is returned. The variable is true if GPU undervolting is applied. The variable is false if GPU undervolting is not applied. - -
-
-
-
-
-Return Value - -If the state of GPU undervolting is successfully returned, ADLX_OK is returned. - If the state of GPU undervolting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.xml deleted file mode 100644 index 3ceef42..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_g_p_u.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsSupportedOverclockGPU - IsSupportedOverclockGPU - -Checks if the GPU overclocking tuning profile is supported on a GPU. - - -Checks if the GPU overclocking tuning profile is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedOverclockGPU (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU overclocking is returned. The variable is true if GPU overclocking is supported. The variable is false if GPU overclocking is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU overclocking is successfully returned, ADLX_OK is returned. - If the state of GPU overclocking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.xml deleted file mode 100644 index fee0b2e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_overclock_v_r_a_m.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsSupportedOverclockVRAM - IsSupportedOverclockVRAM - -Checks if the VRAM overclocking tuning profile is supported on a GPU. - - -Checks if the VRAM overclocking tuning profile is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedOverclockVRAM (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of VRAM overclocking is returned. The variable is true if VRAM overclocking is supported. The variable is false if VRAM overclocking is not supported. - -
-
-
-
-
-Return Value - -If the state of VRAM overclocking is successfully returned, ADLX_OK is returned. - If the state of VRAM overclocking is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.xml deleted file mode 100644 index 92f483a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__is_supported_undervolt_g_p_u.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_IsSupportedUndervoltGPU - IsSupportedUndervoltGPU - -Checks if the GPU undervolting tuning profile is supported on a GPU. - - -Checks if the GPU undervolting tuning profile is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedUndervoltGPU (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU undervolting is returned. The variable is true if GPU undervolting is supported. The variable is false if GPU undervolting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU undervolting is successfully returned, ADLX_OK is returned. - If the state of GPU undervolting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.xml deleted file mode 100644 index 629c215..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_g_p_u.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_StartOverclockGPU - StartOverclockGPU - -Starts GPU overclocking on a GPU. - - -Starts GPU overclocking on a GPU. -Syntax - - - ADLX_RESULT StartOverclockGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) - -Parameters - - - - -1. -[in] -pCompleteListener -IADLXGPUAutoTuningCompleteListener* -The pointer to a GPU tuning complete listener interface. - -
-
-
-
-
-Return Value - -If the GPU overclocking is successfully started, ADLX_OK is returned. - If the GPU overclocking is not successfully started, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The StartOverclockGPU method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentOverclockGPU returns true. -Additional Info - -Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.xml deleted file mode 100644 index 3845788..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_overclock_v_r_a_m.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_StartOverclockVRAM - StartOverclockVRAM - -Start VRAM overclocking on a GPU. - - -Start VRAM overclocking on a GPU. -Syntax - - - ADLX_RESULT StartOverclockVRAM (IADLXGPUAutoTuningCompleteListener* pCompleteListener) - -Parameters - - - - -1. -[in] -pCompleteListener -IADLXGPUAutoTuningCompleteListener* -The pointer to a GPU tuning complete listener interface. - -
-
-
-
-
-Return Value - -If the VRAM overclocking is successfully started, ADLX_OK is returned. - If the VRAM overclocking is not successfully started, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The StartOverclockVRAM method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentOverclockVRAM returns true. -Additional Info - -Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.xml deleted file mode 100644 index 57a6f7f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning__start_undervolt_g_p_u.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXGPUAutoTuning_StartUndervoltGPU - StartUndervoltGPU - -Starts GPU undervolting on a GPU. - - -Starts GPU undervolting on a GPU. -Syntax - - - ADLX_RESULT StartUndervoltGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) - -Parameters - - - - -1. -[in] -pCompleteListener -IADLXGPUAutoTuningCompleteListener* -The pointer to a GPU tuning complete listener interface. - -
-
-
-
-
-Return Value - -If the GPU undervolting is successfully started, ADLX_OK is returned. - If the GPU undervolting is not successfully started, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The StartUndervoltGPU method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, IsCurrentUndervoltGPU returns true. -Additional Info - -GPU undervolting reduces voltage and maintains clock speed to improve performance per watt. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml deleted file mode 100644 index c8eef7d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteEvent - IADLXGPUAutoTuningCompleteEvent - IsOverclockGPUCompleted - IsOverclockVRAMCompleted - IsUndervoltGPUCompleted - - - -The IADLXGPUAutoTuningCompleteEvent interface provides methods to check if GPU automatic tuning is completed. - -InterfaceId: -IADLXGPUAutoTuningCompleteEvent - - -Smart Pointer Interface Name: -IADLXGPUAutoTuningCompleteEventPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsOverclockGPUCompleted -Checks if the GPU overclocking is completed. - - -IsOverclockVRAMCompleted -Checks if the VRAM overclocking is completed. - - -IsUndervoltGPUCompleted -Checks if the GPU undervolting is completed. - -
-
-Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample. - For a C application, refer to the GPUAutoTuning C sample. - -IsOverclockGPUCompleted -IsOverclockVRAMCompleted -IsUndervoltGPUCompleted - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.xml deleted file mode 100644 index 49dea8f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_g_p_u_completed.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockGPUCompleted - IsOverclockGPUCompleted - -Checks if the GPU overclocking is completed. - - -Checks if the GPU overclocking is completed. -Syntax - - - adlx_bool IsOverclockGPUCompleted () - -Parameters - -N/A -Return Value - -If the GPU overclocking is completed, true is returned. - If the GPU overclocking is not completed, false is returned. - -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.xml deleted file mode 100644 index bdb88cc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_overclock_v_r_a_m_completed.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockVRAMCompleted - IsOverclockVRAMCompleted - -Checks if the VRAM overclocking is completed. - - -Checks if the VRAM overclocking is completed. -Syntax - - - adlx_bool IsOverclockVRAMCompleted () - -Parameters - -N/A -Return Value - -If the VRAM undervolting is completed, true is returned. - If the VRAM undervolting is not completed, false is returned. - -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.xml deleted file mode 100644 index 4c20db3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_event__is_undervolt_g_p_u_completed.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteEvent_IsUndervoltGPUCompleted - IsUndervoltGPUCompleted - -Checks if the GPU undervolting is completed. - - -Checks if the GPU undervolting is completed. -Syntax - - - adlx_bool IsUndervoltGPUCompleted () - -Parameters - -N/A -Return Value - -If the GPU undervolting is completed, true is returned. - If the GPU undervolting is not completed, false is returned. - -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml deleted file mode 100644 index 324aad9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteListener - IADLXGPUAutoTuningCompleteListener - OnGPUAutoTuningComplete - - - -The IADLXGPUAutoTuningCompleteListener interface is implemented in the application to receive an event from ADLX when GPU automatic tuning completes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXGPUAutoTuningCompleteListener interface must be passed to StartUndervoltGPU, StartOverclockGPU, and StartOverclockVRAM to register for notifications when GPU automatic tuning complete. - For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnGPUAutoTuningComplete -The OnGPUAutoTuningComplete is called by ADLX when GPU tuning completes. - -
-
-Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUAutoTuning C++ sample. - For a C application, refer to the GPUAutoTuning C sample. - -OnGPUAutoTuningComplete - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.xml deleted file mode 100644 index 0681c45..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_auto_tuning_complete_listener__on_g_p_u_auto_tuning_complete.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete - OnGPUAutoTuningComplete - -The OnGPUAutoTuningComplete is called by ADLX when GPU tuning completes. - - -The OnGPUAutoTuningComplete is called by ADLX when GPU tuning completes. -Syntax - - - adlx_bool OnGPUAutoTuningComplete (IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) - -Parameters - - - - -1. -[in] -pGPUAutoTuningCompleteEvent -IADLXGPUAutoTuningCompleteEvent* -The pointer to a GPU tuning complete event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with StartUndervoltGPU, StartOverclockGPU, and StartOverclockVRAM, ADLX will call this method when GPU tuning completes. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning complete event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning complete event with Release. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list.xml deleted file mode 100644 index 0c376b0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXGPUList - IADLXGPUList - Add_Back - At - - - -The IADLXGPUList is an interface for a collection of IADLXGPU interfaces that can be accessed by location. - -InterfaceId: -IADLXGPUList - - -Smart Pointer Interface Name: -IADLXGPUListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.xml deleted file mode 100644 index 16f1c20..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__add__back.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXGPU* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXGPU* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__at.xml deleted file mode 100644 index 96f237f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXGPUList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXGPU** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXGPU** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics.xml deleted file mode 100644 index 486f11f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - DOX_IADLXGPUMetrics - IADLXGPUMetrics - GPUClockSpeed - GPUFanSpeed - GPUHotspotTemperature - GPUIntakeTemperature - GPUPower - GPUTemperature - GPUTotalBoardPower - GPUUsage - GPUVRAM - GPUVRAMClockSpeed - GPUVoltage - TimeStamp - - - -The IADLXGPUMetrics interface provides information of a GPU metric sample, such as the timestamp and the GPU usage. - -InterfaceId: -IADLXGPUMetrics - - -Smart Pointer Interface Name: -IADLXGPUMetricsPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GPUClockSpeed -Gets the GPU clock speed of a GPU metric sample. - - -GPUFanSpeed -Gets the GPU fan speed of a GPU metric sample. - - -GPUHotspotTemperature -Gets the GPU hotspot temperature of a GPU metric sample. - - -GPUIntakeTemperature -Gets the GPU intake temperature of a GPU metric sample. - - -GPUPower -Gets the GPU power consumption of a GPU metric sample. - - -GPUTemperature -Gets the GPU temperature of a GPU metric sample. - - -GPUTotalBoardPower -Gets the GPU total board power consumption of a GPU metric sample. - - -GPUUsage -Gets the GPU usage of a GPU metric sample. - - -GPUVRAM -Gets the dedicated GPU memory of a GPU metric sample. - - -GPUVRAMClockSpeed -Gets the VRAM clock speed of a GPU metric sample. - - -GPUVoltage -Gets the GPU voltage of a GPU metric sample. - - -TimeStamp -Gets the timestamp of a GPU metric sample. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample. - For a C application, refer to the PerfGPUMetrics C sample. - -GPUClockSpeed -GPUFanSpeed -GPUHotspotTemperature -GPUIntakeTemperature -GPUPower -GPUTemperature -GPUBoardTotalPower -GPUUsage -GPUVRAM -GPUVRAMClockSpeed -GPUVoltage -TimeStamp - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.xml deleted file mode 100644 index dccc808..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_clock_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUClockSpeed - GPUClockSpeed - -Gets the GPU clock speed of a GPU metric sample. - - -Gets the GPU clock speed of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUClockSpeed (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the GPU clock speed (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the GPU clock speed is successfully returned, ADLX_OK is returned. - If the GPU clock speed is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.xml deleted file mode 100644 index 7f8aed8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_fan_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUFanSpeed - GPUFanSpeed - -Gets the GPU fan speed of a GPU metric sample. - - -Gets the GPU fan speed of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUFanSpeed (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the GPU fan speed (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the GPU fan speed is successfully returned, ADLX_OK is returned. - If the GPU fan speed is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.xml deleted file mode 100644 index ffd983e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_hotspot_temperature.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUHotspotTemperature - GPUHotspotTemperature - -Gets the GPU hotspot temperature of a GPU metric sample. - - -Gets the GPU hotspot temperature of a GPU metric sample. -GPUHotspotTemperature reports the highest temperature measured on the die of the GPU from a collection of junction temperature sensors on the die. This is sometimes referred to as ‘Junction Temperature’. -Syntax - - - ADLX_RESULT GPUHotspotTemperature (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the GPU hotspot temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU hotspot temperature is successfully returned, ADLX_OK is returned. - If the GPU hotspot temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -Related method: GPUIntakeTemperature, GPUTemperature. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.xml deleted file mode 100644 index 64d429f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_intake_temperature.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUIntakeTemperature - GPUIntakeTemperature - -Gets the GPU intake temperature of a GPU metric sample. - - -Gets the GPU intake temperature of a GPU metric sample. -GPUIntakeTemperature reports the fan intake temperature. -Syntax - - - ADLX_RESULT GPUIntakeTemperature (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the GPU intake temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU intake temperature is successfully returned, ADLX_OK is returned. - If the GPU Intake temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. Additional Info - -Related method: GPUHotspotTemperature, GPUTemperature. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.xml deleted file mode 100644 index 831c0c0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_power.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUPower - GPUPower - -Gets the GPU power consumption of a GPU metric sample. - - -Gets the GPU power consumption of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUPower (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the GPU power consumption (in W) is returned. - -
-
-
-
-
-Return Value - -If the GPU power is successfully returned, ADLX_OK is returned. - If the GPU power is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.xml deleted file mode 100644 index 8b8e93e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_temperature.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUTemperature - GPUTemperature - -Gets the GPU temperature of a GPU metric sample. - - -Gets the GPU temperature of a GPU metric sample. -GPUTemperature reports the average temperature measured at the edge of the die of the GPU. This is sometimes referred to as ‘Edge Temperature’. -Syntax - - - ADLX_RESULT GPUTemperature (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the GPU temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU temperature is successfully returned, ADLX_OK is returned. - If the GPU temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. Additional Info - -Related method: GPUHotspotTemperature, GPUIntakeTemperature. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.xml deleted file mode 100644 index e208ffa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_total_board_power.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUTotalBoardPower - GPUTotalBoardPower - -Gets the GPU total board power consumption of a GPU metric sample. - - -Gets the GPU total board power consumption of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUTotalBoardPower (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the GPU total board power consumption (in W) is returned. - -
-
-
-
-
-Return Value - -If the GPU total board power is successfully returned, ADLX_OK is returned. - If the GPU total board power is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Additional Info - -The method returns power of all components on the board including VRAM. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.xml deleted file mode 100644 index 92e2001..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_usage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUUsage - GPUUsage - -Gets the GPU usage of a GPU metric sample. - - -Gets the GPU usage of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUUsage (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the CPU usage (in %) is returned. - -
-
-
-
-
-Return Value - -If the GPU usage is successfully returned, ADLX_OK is returned. - If the GPU usage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.xml deleted file mode 100644 index e2c1e98..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUVRAM - GPUVRAM - -Gets the dedicated GPU memory of a GPU metric sample. - - -Gets the dedicated GPU memory of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUVRAM (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the dedicated GPU memory (in MB) is returned. - -
-
-
-
-
-Return Value - -If the dedicated GPU memory is successfully returned, ADLX_OK is returned. - If the dedicated GPU memory is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.xml deleted file mode 100644 index 3178d46..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_v_r_a_m_clock_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUVRAMClockSpeed - GPUVRAMClockSpeed - -Gets the VRAM clock speed of a GPU metric sample. - - -Gets the VRAM clock speed of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUVRAMClockSpeed (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -GPU Memory The pointer to a variable where the VRAM clock speed (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the VRAM clock speed is successfully returned, ADLX_OK is returned. - If the VRAM clock speed is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.xml deleted file mode 100644 index ef2e36a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__g_p_u_voltage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetrics_GPUVoltage - GPUVoltage - -Gets the GPU voltage of a GPU metric sample. - - -Gets the GPU voltage of a GPU metric sample. -Syntax - - - ADLX_RESULT GPUVoltage (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the GPU voltage (in mV) is returned. - -
-
-
-
-
-Return Value - -If the GPU voltage is successfully returned, ADLX_OK is returned. - If the GPU voltage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.xml deleted file mode 100644 index 2311657..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics__time_stamp.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUMetrics_TimeStamp - TimeStamp - -Gets the timestamp of a GPU metric sample. - - -Gets the timestamp of a GPU metric sample. -Syntax - - - ADLX_RESULT TimeStamp (adlx_int64* ms) - -Parameters - - - - -1. -[out] -ms -adlx_int64* -The pointer to a variable where the timestamp (in ms) is returned. - -
-
-
-
-
-Return Value - -If the timestamp is successfully returned, ADLX_OK is returned. - If the timestamp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.xml deleted file mode 100644 index 5034f4c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXGPUMetricsList - IADLXGPUMetricsList - Add_Back - At - - - -The IADLXGPUMetricsList is an interface for a collection of IADLXGPUMetrics interfaces that can be accessed by location. - -InterfaceId: -IADLXGPUMetricsList - - -Smart Pointer Interface Name: -IADLXGPUMetricsListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample. - For a C application, refer to the PerfGPUMetrics C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.xml deleted file mode 100644 index 9e6f1d7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__add__back.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXGPUMetrics* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXGPUMetrics* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.xml deleted file mode 100644 index 52ebebb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_list__at.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXGPUMetricsList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXGPUMetrics** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXGPUMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.xml deleted file mode 100644 index 4860567..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport - IADLXGPUMetricsSupport - GetGPUClockSpeedRange - GetGPUFanSpeedRange - GetGPUHotspotTemperatureRange - GetGPUIntakeTemperatureRange - GetGPUPowerRange - GetGPUTemperatureRange - GetGPUTotalBoardPowerRange - GetGPUUsageRange - GetGPUVRAMClockSpeedRange - GetGPUVRAMRange - GetGPUVoltageRange - IsSupportedGPUClockSpeed - IsSupportedGPUFanSpeed - IsSupportedGPUHotspotTemperature - IsSupportedGPUIntakeTemperature - IsSupportedGPUPower - IsSupportedGPUTemperature - IsSupportedGPUTotalBoardPower - IsSupportedGPUUsage - IsSupportedGPUVRAM - IsSupportedGPUVRAMClockSpeed - IsSupportedGPUVoltage - - - -The IADLXGPUMetricsSupport interface provides methods to discover what performance metrics are supported on a GPU. - -InterfaceId: -IADLXGPUMetricsSupport - - -Smart Pointer Interface Name: -IADLXGPUMetricsSupportPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetGPUClockSpeedRange -Gets the minimum and maximum GPU clock speed on a GPU. - - -GetGPUFanSpeedRange -Gets the minimum and maximum GPU fan speed on a GPU. - - -GetGPUHotspotTemperatureRange -Gets the minimum and maximum GPU hotspot temperature on a GPU. - - -GetGPUIntakeTemperatureRange -Gets the minimum and maximum GPU intake temperature on a GPU. - - -GetGPUPowerRange -Gets the minimum and maximum GPU power consumption on a GPU. - - -GetGPUTemperatureRange -Gets the minimum and maximum GPU temperature on a GPU. - - -GetGPUTotalBoardPowerRange -Gets the minimum and maximum GPU total board power consumption on a GPU. - - -GetGPUUsageRange -Gets the minimum and maximum GPU usage on a GPU. - - -GetGPUVRAMClockSpeedRange -Gets the minimum and maximum VRAM clock speed on a GPU. - - -GetGPUVRAMRange -Gets the minimum and maximum GPU memory on a GPU. - - -GetGPUVoltageRange -Gets the minimum and maximum GPU voltage on a GPU. - - -IsSupportedGPUClockSpeed -Checks if the GPU clock speed metric reporting is supported on a GPU. - - -IsSupportedGPUFanSpeed -Checks if the GPU fan speed metric reporting is supported on a GPU. - - -IsSupportedGPUHotspotTemperature -Checks if the GPU hotspot temperature metric reporting is supported on a GPU. - - -IsSupportedGPUIntakeTemperature -Checks if the GPU intake temperature metric reporting is supported on a GPU. - - -IsSupportedGPUPower -Checks if the GPU power metric reporting is supported on a GPU. - - -IsSupportedGPUTemperature -Checks if the GPU temperature metric reporting is supported on a GPU. - - -IsSupportedGPUTotalBoardPower -Checks if the GPU total board power metric reporting is supported on a GPU. - - -IsSupportedGPUUsage -Checks if the GPU usage metric reporting is supported on a GPU. - - -IsSupportedGPUVRAM -Checks if the GPU VRAM usage metric reporting is supported on a GPU. - - -IsSupportedGPUVRAMClockSpeed -Checks if the GPU memory clock speed metric reporting is supported on a GPU. - - -IsSupportedGPUVoltage -Checks if the GPU voltage metric reporting is supported on a GPU. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfGPUMetrics C++ sample. - For a C application, refer to the PerfGPUMetrics C sample. - -GetGPUClockSpeedRange -GetGPUFanSpeedRange -GetGPUHotspotTemperatureRange -GetGPUIntakeTemperatureRange -GetGPUPowerRange -GetGPUTemperatureRange -GetGPUTotalBoardPowerRange -GetGPUUsageRange -GetGPUVRAMClockSpeedRange -GetGPUVRAMRange -GetGPUVoltageRange -IsSupportedGPUClockSpeed -IsSupportedGPUFanSpeed -IsSupportedGPUHotspotTemperature -IsSupportedGPUIntakeTemperature -IsSupportedGPUPower -IsSupportedGPUTemperature -IsSupportedGPUTemperature -IsSupportedGPUTotalBoardPower -IsSupportedGPUUsage -IsSupportedGPUVRAM -IsSupportedGPUVRAMClockSpeed -IsSupportedGPUVoltage - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.xml deleted file mode 100644 index 2a534fd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_clock_speed_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUClockSpeedRange - GetGPUClockSpeedRange - -Gets the minimum and maximum GPU clock speed on a GPU. - - -Gets the minimum and maximum GPU clock speed on a GPU. -Syntax - - - ADLX_RESULT GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU clock speed (in MHz) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU clock speed (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the GPU clock speed range is successfully returned, ADLX_OK is returned. - If the GPU clock speed range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU clock speed are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.xml deleted file mode 100644 index 03d5e89..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_fan_speed_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUFanSpeedRange - GetGPUFanSpeedRange - -Gets the minimum and maximum GPU fan speed on a GPU. - - -Gets the minimum and maximum GPU fan speed on a GPU. -Syntax - - - ADLX_RESULT GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU fan speed (in RPM) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU fan speed (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the GPU fan speed range is successfully returned, ADLX_OK is returned. - If the GPU fan speed range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU fan speed are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.xml deleted file mode 100644 index fa3dd8e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_hotspot_temperature_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUHotspotTemperatureRange - GetGPUHotspotTemperatureRange - -Gets the minimum and maximum GPU hotspot temperature on a GPU. - - -Gets the minimum and maximum GPU hotspot temperature on a GPU. -Syntax - - - ADLX_RESULT GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU hotspot temperature (in °C) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU hotspot temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU hotspot temperature range is successfully returned, ADLX_OK is returned. - If the GPU hotspot temperature range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU hotspot temperature are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.xml deleted file mode 100644 index 51dc034..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_intake_temperature_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUIntakeTemperatureRange - GetGPUIntakeTemperatureRange - -Gets the minimum and maximum GPU intake temperature on a GPU. - - -Gets the minimum and maximum GPU intake temperature on a GPU. -Syntax - - - ADLX_RESULT GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU intake temperature (in °C) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU intake temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU intake temperature range is successfully returned, ADLX_OK is returned. - If the GPU intake temperature range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU intake temperature are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.xml deleted file mode 100644 index 65c2725..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_power_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUPowerRange - GetGPUPowerRange - -Gets the minimum and maximum GPU power consumption on a GPU. - - -Gets the minimum and maximum GPU power consumption on a GPU. -Syntax - - - ADLX_RESULT GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU power consumption (in W) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU power consumption (in W) is returned. - -
-
-
-
-
-Return Value - -If the GPU power consumption range is successfully returned, ADLX_OK is returned. - If the GPU power consumption range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU power consumption are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.xml deleted file mode 100644 index 91cd98c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_temperature_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUTemperatureRange - GetGPUTemperatureRange - -Gets the minimum and maximum GPU temperature on a GPU. - - -Gets the minimum and maximum GPU temperature on a GPU. -Syntax - - - ADLX_RESULT GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU temperature (in °C) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the GPU temperature range is successfully returned, ADLX_OK is returned. - If the GPU temperature range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU temperature are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.xml deleted file mode 100644 index ff7b89d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_total_board_power_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUTotalBoardPowerRange - GetGPUTotalBoardPowerRange - -Gets the minimum and maximum GPU total board power consumption on a GPU. - - -Gets the minimum and maximum GPU total board power consumption on a GPU. -Syntax - - - ADLX_RESULT GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU total board power consumption (in W) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU total board power consumption (in W) is returned. - -
-
-
-
-
-Return Value - -If the GPU total board power consumption range is successfully returned, ADLX_OK is returned. - If the GPU total board power consumption range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU total board power consumption are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.xml deleted file mode 100644 index a0eb174..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_usage_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUUsageRange - GetGPUUsageRange - -Gets the minimum and maximum GPU usage on a GPU. - - -Gets the minimum and maximum GPU usage on a GPU. -Syntax - - - ADLX_RESULT GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU usage (in %) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU usage (in %) is returned. - -
-
-
-
-
-Return Value - -If the GPU usage range is successfully returned, ADLX_OK is returned. - If the GPU usage range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU usage are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.xml deleted file mode 100644 index 176a606..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_clock_speed_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUVRAMClockSpeedRange - GetGPUVRAMClockSpeedRange - -Gets the minimum and maximum VRAM clock speed on a GPU. - - -Gets the minimum and maximum VRAM clock speed on a GPU. -Syntax - - - ADLX_RESULT GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum VRAM clock speed (in MHz) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum VRAM clock speed (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the VRAM clock speed range is successfully returned, ADLX_OK is returned. - If the VRAM clock speed range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum VRAM clock speed are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.xml deleted file mode 100644 index d90df72..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_v_r_a_m_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUVRAMRange - GetGPUVRAMRange - -Gets the minimum and maximum GPU memory on a GPU. - - -Gets the minimum and maximum GPU memory on a GPU. -Syntax - - - ADLX_RESULT GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU memory (in MB) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU memory (in MB) is returned. - -
-
-
-
-
-Return Value - -If the GPU memory range is successfully returned, ADLX_OK is returned. - If the GPU memory range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU memory are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.xml deleted file mode 100644 index 99ca938..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__get_g_p_u_voltage_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_GetGPUVoltageRange - GetGPUVoltageRange - -Gets the minimum and maximum GPU voltage on a GPU. - - -Gets the minimum and maximum GPU voltage on a GPU. -Syntax - - - ADLX_RESULT GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum GPU voltage (in mV) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum GPU voltage (in mV) is returned. - -
-
-
-
-
-Return Value - -If the GPU voltage range is successfully returned, ADLX_OK is returned. - If the GPU voltage range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum GPU voltage are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.xml deleted file mode 100644 index 67c3df1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_clock_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUClockSpeed - IsSupportedGPUClockSpeed - -Checks if the GPU clock speed metric reporting is supported on a GPU. - - -Checks if the GPU clock speed metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUClockSpeed (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU clock speed metric reporting is returned. The variable is true if the GPU clock speed metric reporting is supported. The variable is false if the GPU clock speed metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU clock speed metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU clock speed metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.xml deleted file mode 100644 index abcb1eb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_fan_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUFanSpeed - IsSupportedGPUFanSpeed - -Checks if the GPU fan speed metric reporting is supported on a GPU. - - -Checks if the GPU fan speed metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUFanSpeed (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU fan speed metric reporting is returned. The variable is true if the GPU fan speed metric reporting is supported. The variable is false if the GPU fan speed metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU fan speed metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU fan speed metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.xml deleted file mode 100644 index 0bae4c0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_hotspot_temperature.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUHotspotTemperature - IsSupportedGPUHotspotTemperature - -Checks if the GPU hotspot temperature metric reporting is supported on a GPU. - - -Checks if the GPU hotspot temperature metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUHotspotTemperature (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is true if the GPU hotspot temperature metric reporting is supported. The variable is false if the GPU hotspot temperature metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU hotspot temperature metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU hotspot temperature metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.xml deleted file mode 100644 index de00c07..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_intake_temperature.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUIntakeTemperature - IsSupportedGPUIntakeTemperature - -Checks if the GPU intake temperature metric reporting is supported on a GPU. - - -Checks if the GPU intake temperature metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUIntakeTemperature (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU intake temperature metric reporting is returned. The variable is true if the GPU intake temperature metric reporting is supported. The variable is false if the GPU intake temperature metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU intake temperature metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU intake temperature metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.xml deleted file mode 100644 index 2ada5e7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_power.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUPower - IsSupportedGPUPower - -Checks if the GPU power metric reporting is supported on a GPU. - - -Checks if the GPU power metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUPower (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU power metric reporting is returned. The variable is true if the GPU power metric reporting is supported. The variable is false if the GPU power metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU power metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU power metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.xml deleted file mode 100644 index 5d09460..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_temperature.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUTemperature - IsSupportedGPUTemperature - -Checks if the GPU temperature metric reporting is supported on a GPU. - - -Checks if the GPU temperature metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUTemperature (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is true if the GPU temperature metric reporting is supported. The variable is false if the GPU temperature metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU temperature metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU temperature metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.xml deleted file mode 100644 index d24f45b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_total_board_power.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUTotalBoardPower - IsSupportedGPUTotalBoardPower - -Checks if the GPU total board power metric reporting is supported on a GPU. - - -Checks if the GPU total board power metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUTotalBoardPower (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU total board power metric reporting is returned. The variable is true if the GPU total board power metric reporting is supported. The variable is false if the GPU total board power metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU total board power metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU total board power metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.xml deleted file mode 100644 index ca831d9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_usage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUUsage - IsSupportedGPUUsage - -Checks if the GPU usage metric reporting is supported on a GPU. - - -Checks if the GPU usage metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUUsage (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU usage metric reporting is returned. The variable is true if the GPU usage metric reporting is supported. The variable is false if the GPU usage metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU usage metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU usage metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.xml deleted file mode 100644 index f4e28bc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAM - IsSupportedGPUVRAM - -Checks if the GPU VRAM usage metric reporting is supported on a GPU. - - -Checks if the GPU VRAM usage metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUVRAM (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU VRAM usage metric reporting is returned. The variable is true if the GPU VRAM usage metric reporting is supported. The variable is false if the GPU VRAM usage metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU VRAM usage metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU VRAM usage metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.xml deleted file mode 100644 index c516c9b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_v_r_a_m_clock_speed.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAMClockSpeed - IsSupportedGPUVRAMClockSpeed - -Checks if the GPU memory clock speed metric reporting is supported on a GPU. - - -Checks if the GPU memory clock speed metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUVRAMClockSpeed (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU memory clock speed metric reporting is returned. The variable is true if the GPU memory clock speed metric reporting is supported. The variable is false if the GPU memory clock speed metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU memory clock speed metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU memory clock speed metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.xml deleted file mode 100644 index d6d7f3e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_metrics_support__is_supported_g_p_u_voltage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVoltage - IsSupportedGPUVoltage - -Checks if the GPU voltage metric reporting is supported on a GPU. - - -Checks if the GPU voltage metric reporting is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedGPUVoltage (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of GPU voltage metric reporting is returned. The variable is true if the GPU voltage metric reporting is supported. The variable is false if the GPU voltage metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of GPU voltage metric reporting is successfully returned, ADLX_OK is returned. - If the state of GPU voltage metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.xml deleted file mode 100644 index 2d022a8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning.xml +++ /dev/null @@ -1,148 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning - IADLXGPUPresetTuning - IsCurrentBalanced - IsCurrentPowerSaver - IsCurrentQuiet - IsCurrentRage - IsCurrentTurbo - IsSupportedBalanced - IsSupportedPowerSaver - IsSupportedQuiet - IsSupportedRage - IsSupportedTurbo - SetBalanced - SetPowerSaver - SetQuiet - SetRage - SetTurbo - - - -The IADLXGPUPresetTuning interface provides methods to verify and set GPU preset tuning on a GPU. - -InterfaceId: -IADLXGPUPresetTuning - - -Smart Pointer Interface Name: -IADLXGPUPresetTuningPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsCurrentBalanced -Checks if the balanced tuning preset is used on a GPU. - - -IsCurrentPowerSaver -Checks if the power saver tuning preset is used on a GPU. - - -IsCurrentQuiet -Checks if the quiet tuning preset is used on a GPU. - - -IsCurrentRage -Checks if the rage tuning preset is used on a GPU. - - -IsCurrentTurbo -Checks if the turbo tuning preset is used on a GPU. - - -IsSupportedBalanced -Checks if the balanced tuning preset is supported on a GPU. - - -IsSupportedPowerSaver -Checks if the power saver tuning preset is supported on a GPU. - - -IsSupportedQuiet -Checks if the quiet tuning preset is supported on a GPU. - - -IsSupportedRage -Checks if the rage tuning preset is supported on a GPU. - - -IsSupportedTurbo -Checks if the turbo tuning preset is supported on a GPU. - - -SetBalanced -Sets the balanced tuning preset on a GPU. - - -SetPowerSaver -Sets the power saver tuning preset on a GPU. - - -SetQuiet -Sets the quiet tuning preset on a GPU. - - -SetRage -Sets the rage tuning preset on a GPU. - - -SetTurbo -Sets the turbo tuning preset on a GPU. - -
-
-Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUPresetTuning C++ sample. - For a C application, refer to the GPUPresetTuning C sample. - -IsCurrentBalanced -IsCurrentPowerSaver -IsCurrentQuiet -IsCurrentRage -IsCurrentTurbo -IsSupportedBalanced -IsSupportedPowerSaver -IsSupportedQuiet -IsSupportedRage -IsSupportedTurbo -SetBalanced -SetPowerSaver -SetQuiet -SetRage -SetTurbo - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.xml deleted file mode 100644 index 4e333ac..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_balanced.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsCurrentBalanced - IsCurrentBalanced - -Checks if the balanced tuning preset is used on a GPU. - - -Checks if the balanced tuning preset is used on a GPU. -Syntax - - - ADLX_RESULT IsCurrentBalanced (adlx_bool* isBalanced) - -Parameters - - - - -1. -[out] -isBalanced -adlx_bool* -The pointer to a variable where the state of balanced is returned. The variable is true if balanced is applied. The variable is false if balanced is not applied. - -
-
-
-
-
-Return Value - -If the state of balanced is successfully returned, ADLX_OK is returned. - If the state of balanced is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.xml deleted file mode 100644 index fdd2e4b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_power_saver.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsCurrentPowerSaver - IsCurrentPowerSaver - -Checks if the power saver tuning preset is used on a GPU. - - -Checks if the power saver tuning preset is used on a GPU. -Syntax - - - ADLX_RESULT IsCurrentPowerSaver (adlx_bool* isPowerSaver) - -Parameters - - - - -1. -[out] -isPowerSaver -adlx_bool* -The pointer to a variable where the state of power saver is returned. The variable is true if power saver is applied. The variable is false if power saver is not applied. - -
-
-
-
-
-Return Value - -If the state of power saver is successfully returned, ADLX_OK is returned. - If the state of power saver is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Use of the power saver tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.xml deleted file mode 100644 index 4b3eae7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_quiet.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsCurrentQuiet - IsCurrentQuiet - -Checks if the quiet tuning preset is used on a GPU. - - -Checks if the quiet tuning preset is used on a GPU. -Syntax - - - ADLX_RESULT IsCurrentQuiet (adlx_bool* isQuiet) - -Parameters - - - - -1. -[out] -isQuiet -adlx_bool* -The pointer to a variable where the state of quiet is returned. The variable is true if quiet is applied. The variable is false if quiet is not applied. - -
-
-
-
-
-Return Value - -If the state of quiet is successfully returned, ADLX_OK is returned. - If the state of quiet is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The quiet tuning preset enables quiet operation with lowered power and fan settings. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.xml deleted file mode 100644 index 9af5692..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_rage.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsCurrentRage - IsCurrentRage - -Checks if the rage tuning preset is used on a GPU. - - -Checks if the rage tuning preset is used on a GPU. -Syntax - - - ADLX_RESULT IsCurrentRage (adlx_bool* isRage) - -Parameters - - - - -1. -[out] -isRage -adlx_bool* -The pointer to a variable where the state of rage is returned. The variable is true if rage is applied. The variable is false if rage is not applied. - -
-
-
-
-
-Return Value - -If the state of rage is successfully returned, ADLX_OK is returned. - If the state of rage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The rage tuning preset sets a higher power limit to allow more headroom for performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.xml deleted file mode 100644 index e62a5b3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_current_turbo.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsCurrentTurbo - IsCurrentTurbo - -Checks if the turbo tuning preset is used on a GPU. - - -Checks if the turbo tuning preset is used on a GPU. -Syntax - - - ADLX_RESULT IsCurrentTurbo (adlx_bool* isTurbo) - -Parameters - - - - -1. -[out] -isTurbo -adlx_bool* -The pointer to a variable where the state of turbo is returned. The variable is true if turbo is applied. The variable is false if turbo is not applied. - -
-
-
-
-
-Return Value - -If the state of turbo is successfully returned, ADLX_OK is returned. - If the state of turbo is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.xml deleted file mode 100644 index 4e211e8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_balanced.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsSupportedBalanced - IsSupportedBalanced - -Checks if the balanced tuning preset is supported on a GPU. - - -Checks if the balanced tuning preset is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedBalanced (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the balanced of quiet is returned. The variable is true if balanced is supported. The variable is false if balanced is not supported. - -
-
-
-
-
-Return Value - -If the state of balanced is successfully returned, ADLX_OK is returned. - If the state of balanced is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.xml deleted file mode 100644 index d7e4827..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_power_saver.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsSupportedPowerSaver - IsSupportedPowerSaver - -Checks if the power saver tuning preset is supported on a GPU. - - -Checks if the power saver tuning preset is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedPowerSaver (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of power saver is returned. The variable is true if power saver is supported. The variable is false if power saver is not supported. - -
-
-
-
-
-Return Value - -If the state of power saver is successfully returned, ADLX_OK is returned. - If the state of power saver is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Additional Info - -Use of the power saver tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.xml deleted file mode 100644 index 78841c5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_quiet.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsSupportedQuiet - IsSupportedQuiet - -Checks if the quiet tuning preset is supported on a GPU. - - -Checks if the quiet tuning preset is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedQuiet (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of quiet is returned. The variable is true if quiet is supported. The variable is false if quiet is not supported. - -
-
-
-
-
-Return Value - -If the state of quiet is successfully returned, ADLX_OK is returned. - If the state of quiet is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The quiet tuning preset enables quiet operation with lowered power and fan settings. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.xml deleted file mode 100644 index 49461fc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_rage.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsSupportedRage - IsSupportedRage - -Checks if the rage tuning preset is supported on a GPU. - - -Checks if the rage tuning preset is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedRage (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of rage is returned. The variable is true if rage is supported. The variable is false if rage is not supported. - -
-
-
-
-
-Return Value - -If the state of rage is successfully returned, ADLX_OK is returned. - If the state of rage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The rage tuning preset sets a higher power limit to allow more headroom for performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.xml deleted file mode 100644 index 7313efa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__is_supported_turbo.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_IsSupportedTurbo - IsSupportedTurbo - -Checks if the turbo tuning preset is supported on a GPU. - - -Checks if the turbo tuning preset is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedTurbo (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of turbo is returned. The variable is true if turbo is supported. The variable is false if turbo is not supported. - -
-
-
-
-
-Return Value - -If the state of turbo is successfully returned, ADLX_OK is returned. - If the state of turbo is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.xml deleted file mode 100644 index 418571a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_balanced.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_SetBalanced - SetBalanced - -Sets the balanced tuning preset on a GPU. - - -Sets the balanced tuning preset on a GPU. -Syntax - - - ADLX_RESULT SetBalanced () - -Parameters - -N/A -Return Value - -If the balanced is successfully applied, ADLX_OK is returned. - If the balanced is not successfully applied, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.xml deleted file mode 100644 index 2b93d65..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_power_saver.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_SetPowerSaver - SetPowerSaver - -Sets the power saver tuning preset on a GPU. - - -Sets the power saver tuning preset on a GPU. -Syntax - - - ADLX_RESULT SetPowerSaver () - -Parameters - -N/A -Return Value - -If the power saver is successfully applied, ADLX_OK is returned. - If the power saver is not successfully applied, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Use of the power saver tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.xml deleted file mode 100644 index c9b77ab..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_quiet.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_SetQuiet - SetQuiet - -Sets the quiet tuning preset on a GPU. - - -Sets the quiet tuning preset on a GPU. -Syntax - - - ADLX_RESULT SetQuiet () - -Parameters - -N/A -Return Value - -If the quiet is successfully applied, ADLX_OK is returned. - If the quiet is not successfully applied, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The quiet tuning preset enables quiet operation with lowered power and fan settings. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.xml deleted file mode 100644 index 163ce31..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_rage.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_SetRage - SetRage - -Sets the rage tuning preset on a GPU. - - -Sets the rage tuning preset on a GPU. -Syntax - - - ADLX_RESULT SetRage () - -Parameters - -N/A -Return Value - -If the rage is successfully applied, ADLX_OK is returned. - If the rage is not successfully applied, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The rage tuning preset sets a higher power limit to allow more headroom for performance. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.xml deleted file mode 100644 index d9ea160..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_preset_tuning__set_turbo.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXGPUPresetTuning_SetTurbo - SetTurbo - -Sets the turbo tuning preset on a GPU. - - -Sets the turbo tuning preset on a GPU. -Syntax - - - ADLX_RESULT SetTurbo () - -Parameters - -N/A -Return Value - -If the turbo is successfully applied, ADLX_OK is returned. - If the turbo is not successfully applied, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs. -Requirements - - -Header -include "IGPUAutoTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.xml deleted file mode 100644 index e6cf1cf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent - IADLXGPUTuningChangedEvent - GetGPU - IsAutomaticTuningChanged - IsManualFanTuningChanged - IsManualGPUCLKTuningChanged - IsManualPowerTuningChanged - IsManualVRAMTuningChanged - IsPresetTuningChanged - - - -The IADLXGPUTuningChangedEvent interface provides methods to check if the GPU tuning is changed. - -InterfaceId: -IADLXGPUTuningChangedEvent - - -Smart Pointer Interface Name: -IADLXGPUTuningChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -IADLXGPUTuningChangedEvent1 - -
-
-Note: GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in GPU tuning. -Methods - - -Method -Description - - -GetGPU -Gets the reference counted GPU interface on which the GPU tuning is changed. - - -IsAutomaticTuningChanged -Checks if the automatic tuning settings are changed. - - -IsManualFanTuningChanged -Checks if the manual fan tuning settings are changed. - - -IsManualGPUCLKTuningChanged -Checks if the manual graphic clock tuning settings are changed. - - -IsManualPowerTuningChanged -Checks if the manual power tuning settings are changed. - - -IsManualVRAMTuningChanged -Checks if the manual VRAM tuning settings are changed. - - -IsPresetTuningChanged -Checks if the preset tuning settings are changed. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample. - For a C application, refer to the SyncGPUTuning C sample. - -GetGPU -IsAutomaticTuningChanged -IsManualFanTuningChanged -IsManualGPUCLKTuningChanged -IsManualPowerTuningChanged -IsManualVRAMTuningChanged -IsPresetTuningChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.xml deleted file mode 100644 index fa00971..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent1 - IADLXGPUTuningChangedEvent1 - GetSmartAccessMemoryStatus - IsSmartAccessMemoryChanged - - - -IADLXGPUTuningChangedEvent1 is an extension interface to IADLXGPUTuningChangedEvent that provides methods to check for AMD SmartAccess Memory status changes. - -InterfaceId: -IADLXGPUTuningChangedEvent1 - - -Smart Pointer Interface Name: -IADLXGPUTuningChangedEvent1Ptr - - -Inherits: -IADLXGPUTuningChangedEvent - - -Inherited By: -N/A - -
-
-The IADLXGPUTuningChangedEvent1 interface is obtained from the IADLXGPUTuningChangedEvent interface using QueryInterface. -Methods - - -Method -Description - - -GetSmartAccessMemoryStatus -Gets the current AMD SmartAccess Memory status. - - -IsSmartAccessMemoryChanged -Checks for changes to the AMD SmartAccess Memory settings. - -
-
-Requirements - - -Header -include "IGPUTuning1.h" - - -Minimum version -1.2 - -
-
- -GetSmartAccessMemoryStatus -IsSmartAccessMemoryChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.xml deleted file mode 100644 index cf96c13..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__get_smart_access_memory_status.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent1_GetSmartAccessMemoryStatus - GetSmartAccessMemoryStatus - -Gets the current AMD SmartAccess Memory status. - - -Gets the current AMD SmartAccess Memory status. -Syntax - - - ADLX_RESULT GetSmartAccessMemoryStatus (adlx_bool* pEnabled, adlx_bool* pCompleted) - -Parameters - - - - -1. -[out] -pEnabled -adlx_bool* -The pointer to a variable where the current state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is enabled. The variable is false if AMD SmartAccess Memory is disabled. - -
-
-
-
- - - -2. -[out] -pEnabled -adlx_bool* -The pointer to a variable where the complete state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is completed. The variable is false if AMD SmartAccess Memory is not completed. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Note: Use GetGPU to obtain the GPU. -Requirements - - -Header -include "IGPUTuning1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.xml deleted file mode 100644 index efddee5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event1__is_smart_access_memory_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent1_IsSmartAccessMemoryChanged - IsSmartAccessMemoryChanged - -Checks for changes to the AMD SmartAccess Memory settings. - - -Checks for changes to the AMD SmartAccess Memory settings. -Syntax - - - adlx_bool IsSmartAccessMemoryChanged () - -Parameters - -N/A -Return Value - -If AMD SmartAccess Memory settings are changed, true is returned. - If AMD SmartAccess Memory settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.xml deleted file mode 100644 index e2aaa87..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__get_g_p_u.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_GetGPU - GetGPU - -Gets the reference counted GPU interface on which the GPU tuning is changed. - - -Gets the reference counted GPU interface on which the GPU tuning is changed. -Syntax - - - ADLX_RESULT GetGPU (IADLXGPU** ppGPU) - -Parameters - - - - -1. -[out] -ppGPU -IADLXGPU** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPU to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: GetGPU returns the reference counted GPU interface used by all the methods in this interface to check if there are any changes in GPU tuning. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.xml deleted file mode 100644 index 78c299f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_automatic_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsAutomaticTuningChanged - IsAutomaticTuningChanged - -Checks if the automatic tuning settings are changed. - - -Checks if the automatic tuning settings are changed. -Syntax - - - adlx_bool IsAutomaticTuningChanged () - -Parameters - -N/A -Return Value - -If the automatic tuning settings are changed, true is returned. - If the automatic tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.xml deleted file mode 100644 index d3fa482..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_fan_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsManualFanTuningChanged - IsManualFanTuningChanged - -Checks if the manual fan tuning settings are changed. - - -Checks if the manual fan tuning settings are changed. -Syntax - - - adlx_bool IsManualFanTuningChanged () - -Parameters - -N/A -Return Value - -If the manual fan tuning settings are changed, true is returned. - If the manual fan tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.xml deleted file mode 100644 index ab4a923..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_g_p_u_c_l_k_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsManualGPUCLKTuningChanged - IsManualGPUCLKTuningChanged - -Checks if the manual graphic clock tuning settings are changed. - - -Checks if the manual graphic clock tuning settings are changed. -Syntax - - - adlx_bool IsManualGPUCLKTuningChanged () - -Parameters - -N/A -Return Value - -If the manual graphic clock tuning settings are changed, true is returned. - If the manual graphic clock tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.xml deleted file mode 100644 index cc4d191..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_power_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsManualPowerTuningChanged - IsManualPowerTuningChanged - -Checks if the manual power tuning settings are changed. - - -Checks if the manual power tuning settings are changed. -Syntax - - - adlx_bool IsManualPowerTuningChanged () - -Parameters - -N/A -Return Value - -If the manual power tuning settings are changed, true is returned. - If the manual power tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.xml deleted file mode 100644 index 1c81c86..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_manual_v_r_a_m_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsManualVRAMTuningChanged - IsManualVRAMTuningChanged - -Checks if the manual VRAM tuning settings are changed. - - -Checks if the manual VRAM tuning settings are changed. -Syntax - - - adlx_bool IsManualVRAMTuningChanged () - -Parameters - -N/A -Return Value - -If the manual VRAM tuning settings are changed, true is returned. - If the manual VRAM tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.xml deleted file mode 100644 index c94735a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_event__is_preset_tuning_changed.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedEvent_IsPresetTuningChanged - IsPresetTuningChanged - -Checks if the preset tuning settings are changed. - - -Checks if the preset tuning settings are changed. -Syntax - - - adlx_bool IsPresetTuningChanged () - -Parameters - -N/A -Return Value - -If the preset tuning settings are changed, true is returned. - If the preset tuning settings are not changed, false is returned. - -Additional Info - -Note: To obtain the GPU, use GetGPU. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.xml deleted file mode 100644 index a4140d3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedHandling - IADLXGPUTuningChangedHandling - AddGPUTuningEventListener - RemoveGPUTuningEventListener - - - -The IADLXGPUTuningChangedHandling interface allows registering and unregistering for notifications when the GPU tuning changes. - -InterfaceId: -IADLXGPUTuningChangedHandling - - -Smart Pointer Interface Name: -IADLXGPUTuningChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-Methods -
- -Method -Description - - -AddGPUTuningEventListener -Registers an event listener for notifications when the GPU tuning changes. - - -RemoveGPUTuningEventListener -Unregisters an event listener from the GPU tuning event list. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample. - For a C application, refer to the SyncGPUTuning C sample. - -AddGPUTuningEventListener -RemoveGPUTuningEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.xml deleted file mode 100644 index 49045b0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__add_g_p_u_tuning_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener - AddGPUTuningEventListener - -Registers an event listener for notifications when the GPU tuning changes. - - -Registers an event listener for notifications when the GPU tuning changes. -Syntax - - - ADLX_RESULT AddGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener); - -Parameters - - - - -1. -[in] -pGPUTuningChangedListener -IADLXGPUTuningChangedListener* -The pointer to the event listener interface to register for receiving GPU tuning change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnGPUTuningChanged method of the listener when GPU tuning changes. - The event listener instance must exist until the application unregisters the event listener with RemoveGPUTuningEventListener. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.xml deleted file mode 100644 index 8897adf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_handling__remove_g_p_u_tuning_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener - RemoveGPUTuningEventListener - -Unregisters an event listener from the GPU tuning event list. - - -Unregisters an event listener from the GPU tuning event list. -Syntax - - - ADLX_RESULT RemoveGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener) - -Parameters - - - - -1. -[in] -pGPUTuningChangedListener -IADLXGPUTuningChangedListener* -The pointer to the event listener interface to unregister from receiving GPU tuning change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnGPUTuningChanged method of the listener when GPU tuning changes. The application can discard the event listener instance. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.xml deleted file mode 100644 index b2f8a0a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedListener - IADLXGPUTuningChangedListener - OnGPUTuningChanged - - - -The IADLXGPUTuningChangedListener interface is implemented in the application to receive an event from ADLX when the GPU tuning changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXGPUTuningChangedListener interface must be passed to AddGPUTuningEventListener to register for notifications when GPU tuning changes. - For more information about subscribing for notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnGPUTuningChanged -OnGPUTuningChanged is called by ADLX when GPU tuning changes. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncGPUTuning C++ sample. - For a C application, refer to the SyncGPUTuning C sample. - -OnGPUTuningChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.xml deleted file mode 100644 index 2861a8c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_changed_listener__on_g_p_u_tuning_changed.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged - OnGPUTuningChanged - -OnGPUTuningChanged is called by ADLX when GPU tuning changes. - - -OnGPUTuningChanged is called by ADLX when GPU tuning changes. -Syntax - - - adlx_bool OnGPUTuningChanged (IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) - -Parameters - - - - -1. -[in] -pGPUTuningChangedEvent -IADLXGPUTuningChangedEvent* -The pointer to a GPU tuning change event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddGPUTuningEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveGPUTuningEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning change event with Release. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.xml deleted file mode 100644 index 111ca7e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - DOX_IADLXGPUTuningServices - IADLXGPUTuningServices - GetAutoTuning - GetGPUTuningChangedHandling - GetManualFanTuning - GetManualGFXTuning - GetManualPowerTuning - GetManualVRAMTuning - GetPresetTuning - IsAtFactory - IsSupportedAutoTuning - IsSupportedManualFanTuning - IsSupportedManualGFXTuning - IsSupportedManualPowerTuning - IsSupportedManualVRAMTuning - IsSupportedPresetTuning - ResetToFactory - - - -The IADLXGPUTuningServices is the main interface for the GPU tuning domain and provides control to GPU tuning specific functionality. - -InterfaceId: -IADLXGPUTuningServices - - -Smart Pointer Interface Name: -IADLXGPUTuningServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXGPUTuningServices1 - -
-
-The IADLXGPUTuningServices interface provides: - Information if a tuning functionality, such as automated tuning or preset tuning is available for a GPU. - The interfaces for controlling a tuning aspect, such as automated tuning or preset tuning on a GPU. - The interface for registering and unregistering for notifications when the GPU tuning settings are changed. - Resetting the tuning settings to factory values on a GPU. - -Methods - - -Method -Description - - -GetAutoTuning -Gets the reference counted automatic tuning interface of a GPU. - - -GetGPUTuningChangedHandling -Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes. - - -GetManualFanTuning -Gets the reference counted manual fan tuning interface of a GPU. - - -GetManualGFXTuning -Gets the reference counted manual graphics tuning interface of a GPU. - - -GetManualPowerTuning -Gets the reference counted manual power tuning interface of a GPU. - - -GetManualVRAMTuning -Gets the reference counted manual VRAM tuning interface of a GPU. - - -GetPresetTuning -Gets the reference counted preset tuning interface of a GPU. - - -IsAtFactory -Checks if the GPU tuning on a GPU is set to factory settings. - - -IsSupportedAutoTuning -Checks if the automatic tuning is supported on a GPU. - - -IsSupportedManualFanTuning -Checks if the manual fan tuning is supported on a GPU. - - -IsSupportedManualGFXTuning -Checks if the manual graphic tuning is supported on a GPU. - - -IsSupportedManualPowerTuning -Checks if the manual power tuning is supported on a GPU. - - -IsSupportedManualVRAMTuning -Checks if the manual VRAM Tuning is supported on a GPU. - - -IsSupportedPresetTuning -Checks if the preset tuning is supported on a GPU. - - -ResetToFactory -Reset the GPU tuning to factory settings. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUPresetTuning C++ sample. - For a C application, refer to the GPUPresetTuning C sample. - -GetAutoTuning -GetGPUTuningChangedHandling -GetManualFanTuning -GetManualGFXTuning -GetManualPowerTuning -GetManualVRAMTuning -GetPresetTuning -IsAtFactory -IsSupportedAutoTuning -IsSupportedManualFanTuning -IsSupportedManualGFXTuning -IsSupportedManualPowerTuning -IsSupportedManualVRAMTuning -IsSupportedPresetTuning -ResetToFactory - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.xml deleted file mode 100644 index 715415b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXGPUTuningServices1 - IADLXGPUTuningServices1 - GetSmartAccessMemory - - - -IADLXGPUTuningServices1 is an extension interface to IADLXGPUTuningServices that provides interface access to control the AMD SmartAccess Memory feature. - -InterfaceId: -IADLXGPUTuningServices1 - - -Smart Pointer Interface Name: -IADLXGPUTuningServices1Ptr - - -Inherits: -IADLXGPUTuningServices - - -Inherited By: -N/A - -
-
-The IADLXGPUTuningServices1 interface is obtained from the IADLXGPUTuningServices interface using QueryInterface. -Methods - - -Method -Description - - -GetSmartAccessMemory -Gets the reference counted AMD SmartAccess Memory interface for a GPU. - -
-
-Requirements - - -Header -include "IGPUTuning1.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SmartAccessMemory C++ sample. - For a C application, refer to the SmartAccessMemory C sample. - -GetSmartAccessMemory - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.xml deleted file mode 100644 index 5a3b43f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services1__get_smart_access_memory.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXGPUTuningServices1_GetSmartAccessMemory - GetSmartAccessMemory - -Gets the reference counted AMD SmartAccess Memory interface for a GPU. - - -Gets the reference counted AMD SmartAccess Memory interface for a GPU. -Syntax - - - ADLX_RESULT GetSmartAccessMemory (IADLXGPU* pGPU, IADLXSmartAccessMemory** ppSmartAccessMemory) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppSmartAccessMemory -IADLXSmartAccessMemory** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppSmartAccessMemory to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when its no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.xml deleted file mode 100644 index b752a50..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_auto_tuning.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetAutoTuning - GetAutoTuning - -Gets the reference counted automatic tuning interface of a GPU. - - -Gets the reference counted automatic tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetAutoTuning (IADLXGPU* pGPU, IADLXInterface** ppAutoTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppAutoTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppAutoTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The method returns an IADLXInterface interface. To get the IADLXGPUAutoTuning interface, which is the automatic tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the IADLXGPUAutoTuning interface must be discarded with Release when they are no longer needed. - Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.xml deleted file mode 100644 index b873952..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_g_p_u_tuning_changed_handling.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetGPUTuningChangedHandling - GetGPUTuningChangedHandling - -Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes. - - -Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes. -Syntax - - - ADLX_RESULT GetGPUTuningChangedHandling (IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling) - -Parameters - - - - -1. -[out] -ppGPUTuningChangedHandling -IADLXGPUTuningChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUTuningChangedHandling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.xml deleted file mode 100644 index 6bb42a1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_fan_tuning.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetManualFanTuning - GetManualFanTuning - -Gets the reference counted manual fan tuning interface of a GPU. - - -Gets the reference counted manual fan tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetManualFanTuning (IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppManualFanTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualFanTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The method returns an IADLXInterface interface. To get the IADLXManualFanTuning interface, which is the manual fan tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the IADLXManualFanTuning interface must be discarded with Release when they are no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.xml deleted file mode 100644 index a8fa1c7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_g_f_x_tuning.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetManualGFXTuning - GetManualGFXTuning - -Gets the reference counted manual graphics tuning interface of a GPU. - - -Gets the reference counted manual graphics tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetManualGFXTuning (IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppManualGFXTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualGFXTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Different GPUs support different manual graphics tuning functionality. - ADLX provides the IADLXManualGraphicsTuning1 interface or the IADLXManualGraphicsTuning2 interface to obtain the supported manual graphics tuning interface. - To get the manual graphics tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the manual graphics tuning interface must be discarded with Release when they are no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.xml deleted file mode 100644 index 45916aa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_power_tuning.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetManualPowerTuning - GetManualPowerTuning - -Gets the reference counted manual power tuning interface of a GPU. - - -Gets the reference counted manual power tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetManualPowerTuning (IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppManualPowerTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualPowerTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The method returns an IADLXInterface interface. To get the IADLXManualPowerTuning interface, which is the manual power tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the IADLXManualPowerTuning interface must be discarded with Release when they are no longer needed. - Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.xml deleted file mode 100644 index e8ec7c8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_manual_v_r_a_m_tuning.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetManualVRAMTuning - GetManualVRAMTuning - -Gets the reference counted manual VRAM tuning interface of a GPU. - - -Gets the reference counted manual VRAM tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetManualVRAMTuning (IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppManualVRAMTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppManualVRAMTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Different GPUs support different manual VRAM tuning functionality. - ADLX provides the IADLXManualVRAMTuning1 interface or the IADLXManualVRAMTuning2 interface to obtain the supported manual VRAM tuning interface. - To get the manual VRAM tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the manual VRAM tuning interface must be discarded with Release when they are no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.xml deleted file mode 100644 index 7299149..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__get_preset_tuning.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_GetPresetTuning - GetPresetTuning - -Gets the reference counted preset tuning interface of a GPU. - - -Gets the reference counted preset tuning interface of a GPU. -Syntax - - - ADLX_RESULT GetPresetTuning (IADLXGPU* pGPU, IADLXInterface** ppPresetTuning) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppPresetTuning -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPresetTuning to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The method returns an IADLXInterface interface. To get the IADLXGPUPresetTuning interface, which is the preset tuning interface, the application must call QueryInterface in the returned IADLXInterface. - The IADLXInterface interface and the IADLXGPUPresetTuning interface must be discarded with Release when they are no longer needed. - Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.xml deleted file mode 100644 index 94973f5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_at_factory.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsAtFactory - IsAtFactory - -Checks if the GPU tuning on a GPU is set to factory settings. - - -Checks if the GPU tuning on a GPU is set to factory settings. -Syntax - - - ADLX_RESULT IsAtFactory (IADLXGPU* pGPU, adlx_bool* isFactory) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -isFactory -adlx_bool* -The pointer to a variable where the state of the GPU tuning is returned. The variable is true if the GPU tuning is set to factory settings. The variable is false if the GPU tuning is not set to factory settings. - -
-
-
-
-
-Return Value - -If the state of the GPU tuning is successfully returned, ADLX_OK is returned. - If the state of the GPU tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.xml deleted file mode 100644 index d81eed5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_auto_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedAutoTuning - IsSupportedAutoTuning - -Checks if the automatic tuning is supported on a GPU. - - -Checks if the automatic tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedAutoTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of automatic tuning is returned. The variable is true if automatic tuning is supported. The variable is false if automatic tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of automatic tuning is successfully returned, ADLX_OK is returned. - If the state of automatic tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.xml deleted file mode 100644 index 3bbb443..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_fan_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedManualFanTuning - IsSupportedManualFanTuning - -Checks if the manual fan tuning is supported on a GPU. - - -Checks if the manual fan tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedManualFanTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of manual fan tuning is returned. The variable is true if manual fan tuning is supported. The variable is false if manual fan tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of manual fan tuning is successfully returned, ADLX_OK is returned. - If the state of manual fan tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.xml deleted file mode 100644 index ba1ee1f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_g_f_x_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedManualGFXTuning - IsSupportedManualGFXTuning - -Checks if the manual graphic tuning is supported on a GPU. - - -Checks if the manual graphic tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedManualGFXTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of manual graphic tuning is returned. The variable is true if manual graphic tuning is supported. The variable is false if manual graphic tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of manual graphic tuning is successfully returned, ADLX_OK is returned. - If the state of manual graphic tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.xml deleted file mode 100644 index 7cc3002..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_power_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedManualPowerTuning - IsSupportedManualPowerTuning - -Checks if the manual power tuning is supported on a GPU. - - -Checks if the manual power tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedManualPowerTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of manual power tuning is returned. The variable is true if manual power tuning is supported. The variable is false if manual power tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of manual power tuning is successfully returned, ADLX_OK is returned. - If the state of manual power tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.xml deleted file mode 100644 index 2205b9e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_manual_v_r_a_m_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedManualVRAMTuning - IsSupportedManualVRAMTuning - -Checks if the manual VRAM Tuning is supported on a GPU. - - -Checks if the manual VRAM Tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedManualVRAMTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of manual VRAM tuning is returned. The variable is true if manual VRAM tuning is supported. The variable is false if manual VRAM tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of manual VRAM tuning is successfully returned, ADLX_OK is returned. - If the state of manual VRAM tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.xml deleted file mode 100644 index 455d6c1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__is_supported_preset_tuning.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_IsSupportedPresetTuning - IsSupportedPresetTuning - -Checks if the preset tuning is supported on a GPU. - - -Checks if the preset tuning is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedPresetTuning (IADLXGPU* pGPU, adlx_bool* supported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -supported -adlx_bool* -The pointer to a variable where the state of preset tuning is returned. The variable is true if preset tuning is supported. The variable is false if preset tuning is not supported. - -
-
-
-
-
-Return Value - -If the state of preset tuning is successfully returned, ADLX_OK is returned. - If the state of preset tuning is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.xml deleted file mode 100644 index a205464..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_u_tuning_services__reset_to_factory.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUTuningServices_ResetToFactory - ResetToFactory - -Reset the GPU tuning to factory settings. - - -Reset the GPU tuning to factory settings. -Syntax - - - ADLX_RESULT ResetToFactory (IADLXGPU* pGPU) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
-
-Return Value - -If the factory settings are successfully reset, ADLX_OK is returned. - If the factory settings are not successfully reset, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The method resets settings of Auto Tuning, Manual GPU Tuning, Manual Fan Tuning, Manual VRAM Tuning and Manual Power Tuning. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.xml deleted file mode 100644 index ef005bb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXGPUsChangedHandling - IADLXGPUsChangedHandling - AddGPUsListEventListener - RemoveGPUsListEventListener - - - -The IADLXGPUsChangedHandling interface allows registering and unregistering for notifications when the GPU list changes. - -InterfaceId: -IADLXGPUsChangedHandling - - -Smart Pointer Interface Name: -IADLXGPUsChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -AddGPUsListEventListener -Registers an event listener for notifications when the GPU list changes. - - -RemoveGPUsListEventListener -Unregisters an event listener from notifications when the GPU list changes. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -AddGPUsListEventListener -RemoveGPUsListEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.xml deleted file mode 100644 index daaf86b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__add_g_p_us_list_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXGPUsChangedHandling_AddGPUsListEventListener - AddGPUsListEventListener - -Registers an event listener for notifications when the GPU list changes. - - -Registers an event listener for notifications when the GPU list changes. -Syntax - - - ADLX_RESULT AddGPUsListEventListener (IADLXGPUsEventListener* pListener) - -Parameters - - - - -1. -[in] -pListener -IADLXGPUsEventListener* -The pointer to the event listener interface to register for receiving the GPU list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully registered, ADLX will call OnGPUListChanged of the listener when the GPU list changes. - The event listener instance must exist until the application unregisters the event listener with RemoveGPUsListEventListener. - -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.xml deleted file mode 100644 index 4d87f4e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_changed_handling__remove_g_p_us_list_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUsChangedHandling_RemoveGPUsListEventListener - RemoveGPUsListEventListener - -Unregisters an event listener from notifications when the GPU list changes. - - -Unregisters an event listener from notifications when the GPU list changes. -Syntax - - - ADLX_RESULT RemoveGPUsListEventListener (IADLXGPUsEventListener* pListener) - -Parameters - - - - -1. -[in] -pListener -IADLXGPUsEventListener* -The pointer to the event listener interface to unregister from receiving the GPU list change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -After the event listener is successfully unregistered, ADLX will no longer call OnGPUListChanged method of the listener when the GPU list changes. The application can discard the event listener instance. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener.xml deleted file mode 100644 index 0702e9d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXGPUsEventListener - IADLXGPUsEventListener - OnGPUListChanged - - - -The IADLXGPUsEventListener interface is implemented in the application to receive a new list of GPUs from ADLX when the GPU list changes. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXGPUsEventListener interface must be passed to AddGPUsListEventListener to register for notifications when the GPU list changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. -Methods - - -Method -Description - - -OnGPUListChanged -The OnGPUListChanged is called by ADLX when the GPU list changes. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -OnGPUListChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.xml deleted file mode 100644 index 577bc10..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_g_p_us_event_listener__on_g_p_u_list_changed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXGPUsEventListener_OnGPUListChanged - OnGPUListChanged - -The OnGPUListChanged is called by ADLX when the GPU list changes. - - -The OnGPUListChanged is called by ADLX when the GPU list changes. -Syntax - - - adlx_bool OnGPUListChanged (IADLXGPUList* pNewGPUs) - -Parameters - - - - -1. -[out] -pNewGPUs -IADLXGPUList* -The pointer to the new GPU list. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddGPUsListEventListener, ADLX will call this method until the application unregisters from the notifications with RemoveGPUsListEventListener. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the new GPU list with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the new GPU list with Release. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c.xml deleted file mode 100644 index e4e792b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - DOX_IADLXI2C - IADLXI2C - IsSupported - Read - RepeatedStartRead - Version - Write - - - -The IADLXI2C interface provides methods to read data from, and write data to OEM devices through the I2C bus. - -InterfaceId: -IADLXI2C - - -Smart Pointer Interface Name: -IADLXI2CPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsSupported -Checks if the OEM device data can be read and written through the I2C bus on a GPU. - - -Read -Reads the OEM device data through the I2C bus of a GPU. - - -RepeatedStartRead -Repeat start reads the OEM device data through the I2C bus of a GPU. - - -Version -Retrieves the major and minor software version of I2C interface on a GPU. - - -Write -Writes the OEM device data through the I2C bus of a GPU. - -
-
-Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the I2C C++ sample. - For a C application, refer to the I2C C sample. - -IsSupported -Read -RepeatedStartRead -Version -Write - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__is_supported.xml deleted file mode 100644 index 856b40e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__is_supported.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - DOX_IADLXI2C_IsSupported - IsSupported - -Checks if the OEM device data can be read and written through the I2C bus on a GPU. - - -Checks if the OEM device data can be read and written through the I2C bus on a GPU. -Syntax - - - ADLX_RESULT IsSupported (ADLX_I2C_LINE line, adlx_int address, adlx_bool* isSupported) - -Parameters - - - - -1. -[in] -line -ADLX_I2C_LINE -The I2C line. - -
-
-
-
- - - -2. -[in] -address -adlx_int -The 7-bit I2C slave device address which is shifted one bit to the left. - -
-
-
-
- - - -2. -[out] -isSupported -adlx_bool* -A pointer to a variable where the status of the I2C bus read and write is returned. The variable is true if the OEM device data can be read and written through the I2C bus. The variable is false if the OEM device data cannot be read and written through the I2C bus. - -
-
-
-
-
-Return Value - -If the status of the I2C bus read and write is successfully returned, ADLX_OK is returned. - If the status of the I2C bus read and write is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__read.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__read.xml deleted file mode 100644 index 2754936..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__read.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - DOX_IADLXI2C_Read - Read - -Reads the OEM device data through the I2C bus of a GPU. - - -Reads the OEM device data through the I2C bus of a GPU. -Syntax - - - ADLX_RESULT Read (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - -Parameters - - - - -1. -[in] -line -ADLX_I2C_LINE -The I2C line. - -
-
-
-
- - - -2. -[in] -speed -adlx_int -The I2C clock speed (in KHz). - -
-
-
-
- - - -3. -[in] -address -adlx_int -The 7-bit I2C slave device address which is shifted one bit to the left. - -
-
-
-
- - - -4. -[in] -offset -adlx_int -The offset of the data from the address. - -
-
-
-
- - - -5. -[in] -dataSize -adlx_int -The size (in bytes) of the buffer for the OEM device data. - -
-
-
-
- - - -6. -[in] -data -adlx_byte* -The address to the buffer with the new OEM data. - -
-
-
-
-
-Return Value - -If the OEM device data is successfully returned, ADLX_OK is returned. - If the OEM device data is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. -Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.xml deleted file mode 100644 index 9a2cbcf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__repeated_start_read.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - DOX_IADLXI2C_RepeatedStartRead - RepeatedStartRead - -Repeat start reads the OEM device data through the I2C bus of a GPU. - - -Repeat start reads the OEM device data through the I2C bus of a GPU. -Syntax - - - ADLX_RESULT RepeatedStartRead (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - -Parameters - - - - -1. -[in] -line -ADLX_I2C_LINE -The I2C line. - -
-
-
-
- - - -2. -[in] -speed -adlx_int -The I2C clock speed (in KHz). - -
-
-
-
- - - -3. -[in] -address -adlx_int -The 7-bit I2C slave device address which is shifted one bit to the left. - -
-
-
-
- - - -4. -[in] -offset -adlx_int -The offset of the data from the address. - -
-
-
-
- - - -5. -[in] -dataSize -adlx_int -The size (in bytes) of the buffer for the OEM device data. - -
-
-
-
- - - -6. -[in] -data -adlx_byte* -The address to the buffer with the new OEM data. - -
-
-
-
-
-Return Value - -If the OEM device data is successfully returned, ADLX_OK is returned. - If the OEM device data is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. -Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__version.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__version.xml deleted file mode 100644 index cb991f2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__version.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXI2C_Version - Version - -Retrieves the major and minor software version of I2C interface on a GPU. - - -Retrieves the major and minor software version of I2C interface on a GPU. -Syntax - - - ADLX_RESULT Version (adlx_int* major, adlx_int* minor) - -Parameters - - - - -1. -[out] -major -adlx_int* -A pointer to a variable where the I2C major version is returned. - -
-
-
-
- - - -2. -[out] -minor -adlx_int* -A pointer to a variable where the I2C minor version is returned. - -
-
-
-
-
-Return Value - -If the I2C major version and the I2C minor version are successfully returned, ADLX_OK is returned. - If the I2C major version and the I2C minor version are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__write.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__write.xml deleted file mode 100644 index 3bd7f3f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_i2_c__write.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - DOX_IADLXI2C_Write - Write - -Writes the OEM device data through the I2C bus of a GPU. - - -Writes the OEM device data through the I2C bus of a GPU. -Syntax - - - ADLX_RESULT Write (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte* data) - -Parameters - - - - -1. -[in] -line -ADLX_I2C_LINE -The I2C line. - -
-
-
-
- - - -2. -[in] -speed -adlx_int -The I2C clock speed (in KHz). - -
-
-
-
- - - -3. -[in] -address -adlx_int -The 7-bit I2C slave device address which is shifted one bit to the left. - -
-
-
-
- - - -4. -[in] -offset -adlx_int -The offset of the data from the address. - -
-
-
-
- - - -5. -[in] -dataSize -adlx_int -The size (in bytes) of the buffer for the OEM device data. - -
-
-
-
- - - -6. -[in] -data -adlx_byte* -. The address to the buffer with the new OEM data. - -
-
-
-
-
-Return Value - -If the OEM device data is successfully written, ADLX_OK is returned. - If the OEM device data is not successfully written, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The application is responsible to allocate a buffer sufficiently large to hold the requested OEM device data. -Requirements - - -Header -include "II2C.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface.xml deleted file mode 100644 index 9b4d209..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - DOX_IADLXInterface - IADLXInterface - Acquire - QueryInterface - Release - - - -The IADLXInterface is the fundamental interface of ADLX because it is inherited by the majority of the ADLX interfaces. IADLXInterface provides methods to control the lifetime of self-destructing ADLX objects, using the reference-counting technique. - -InterfaceId: -IADLXInterface - - -Smart Pointer Interface Name: -IADLXInterfacePtr_T - - -Inherits: -N/A - - -Inherited By: -IADLX3DAntiLag IADLX3DChill IADLX3DBoost IADLX3DImageSharpening IADLX3DEnhancedSync IADLX3DWaitForVerticalRefresh IADLX3DFrameRateTargetControl IADLX3DAntiAliasing IADLX3DMorphologicalAntiAliasing IADLX3DAnisotropicFiltering IADLX3DTessellation IADLX3DRadeonSuperResolution IADLX3DResetShaderCache IADLX3DSettingsChangedHandling IADLX3DSettingsServices IADLXChangedEvent IADLXList IADLXDesktop IADLXEyefinityDesktop IADLXDesktopChangedHandling IADLXSimpleEyefinity IADLXDesktopServices IADLXDisplay3DLUT IADLXDisplayGamma IADLXDisplayGamut IADLXDisplay IADLXDisplayChangedHandling IADLXDisplayServices IADLXDisplayFreeSync IADLXDisplayVSR IADLXDisplayGPUScaling IADLXDisplayScalingMode IADLXDisplayIntegerScaling IADLXDisplayColorDepth IADLXDisplayPixelFormat IADLXDisplayCustomColor IADLXDisplayHDCP IADLXDisplayResolution IADLXDisplayCustomResolution IADLXDisplayVariBright IADLXDisplayConnectivityExperience IADLXDisplayBlanking IADLXGPUAutoTuningCompleteEvent IADLXGPUAutoTuning IADLXManualFanTuningState IADLXManualFanTuning IADLXManualGraphicsTuning1 IADLXManualGraphicsTuning2 IADLXManualPowerTuning IADLXManualVRAMTuning1 IADLXManualVRAMTuning2 IADLXGPUPresetTuning IADLXManualTuningState IADLXMemoryTimingDescription IADLXGPUTuningChangedHandling IADLXGPUTuningServices IADLXI2C IADLXGPUMetricsSupport IADLXSystemMetricsSupport IADLXGPUMetrics IADLXSystemMetrics IADLXFPS IADLXAllMetrics IADLXPerformanceMonitoringServices IADLXSmartShiftMax IADLXPowerTuningChangedHandling IADLXPowerTuningServices IADLXSmartAccessMemory IADLXGPU IADLXGPUsChangedHandling IADLXSystem1 - -
-
-In C++, ADLX provides smart pointer definitions for the IADLXInterface and for all the interfaces that inherit from it. Smart pointers are named identically to their base interface and add the Ptr suffix. Example: The smart pointer of IADLXInterface is named IADLXInterfacePtr. - -Smart pointers remove the need to call the methods of IADLXInterface (Acquire, Release, and QueryInterface), as they provide automatic reference counting in the constructor and destructor. - -For C++, the use of smart pointers is highly recommended and encouraged because they reduce the incidence of memory and resource leaks while maintaining coding efficiency. -Methods - - -Method -Description - - -Acquire -Increments the reference count for an ADLX interface. - - -QueryInterface -Retrieves reference counted interfaces to an object. - - -Release -Decrements the reference count for an ADLX interface. - -
-
-Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
- -Acquire -QueryInterface -Release - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__acquire.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__acquire.xml deleted file mode 100644 index 6489680..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__acquire.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - DOX_IADLXInterface_Acquire - Acquire - -Increments the reference count for an ADLX interface. - - -Increments the reference count for an ADLX interface. -Syntax - - - adlx_long Acquire () - -Parameters - -N/A -Return Value - -Returns the new reference count. -Remarks - -Acquire must be used when a copy of the interface pointer is needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call the Acquire because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__query_interface.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__query_interface.xml deleted file mode 100644 index 643424d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__query_interface.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - DOX_IADLXInterface_QueryInterface - QueryInterface - -Retrieves reference counted interfaces to an object. - - -Retrieves reference counted interfaces to an object. -Syntax - - - ADLX_RESULT QueryInterface (const wchar_t* interfaceId, void** ppInterface) - -Parameters - - - - -1. -[in] -interfaceId -const wchar_t* -The identifier of the interface being requested. - -
-
-
-
- - - -2. -[out] -ppInterface -void** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppInterface to nullptr. - -
-
-
-
-
-Return Value - -If QueryInterface is successfully called, ADLX_OK is returned. - If the requested interface is not supported, ADLX_UNKNOWN_INTERFACE is returned. - If the *ppInterface parameter is nullptr, ADLX_INVALID_ARGS is returned. - If QueryInterface is not successfully called, an error code is returned. - Refer ADLX_RESULT for success codes and error codes. -Remarks - -To ensure ADLX SDK backwards and forward compatibility the ADLX interfaces are locked, they do not change in subsequent versions of the driver. When an ADLX interface needs another functionality, an extension interface is provided. The extension interface is obtained from the initial interface using QueryInterface. The documentation for the extension interface shows how to obtain it. - The returned interface must be discarded with Release when no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call QueryInterface and Release because the smart pointer calls them internally. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__release.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__release.xml deleted file mode 100644 index 64a25f1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_interface__release.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - DOX_IADLXInterface_Release - Release - -Decrements the reference count for an ADLX interface. - - -Decrements the reference count for an ADLX interface. -Syntax - - - adlx_long Release () - -Parameters - -N/A -Return Value - -Returns the new reference count. -Remarks - -Release must be called when an interface is no longer needed. It decrements the reference counting and returns the new reference count. When the reference count reaches zero, the object behind this interface will self-destruct and free its memory and resources. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call the Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list.xml deleted file mode 100644 index 6125a57..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - DOX_IADLXList - IADLXList - Add_Back - At - Begin - Clear - Empty - End - Remove_Back - Size - - - -The IADLXList is an interface of a collection of ADLX interfaces that can be accessed by location. - -InterfaceId: -IADLXList - - -Smart Pointer Interface Name: -IADLXListPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXDesktopList IADLXDisplayList IADLXDisplayResolutionList IADLXManualFanTuningStateList IADLXManualTuningStateList IADLXMemoryTimingDescriptionList IADLXGPUMetricsList IADLXSystemMetricsList IADLXFPSList IADLXAllMetricsList IADLXGPUList - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface from the requested location. - - -Begin -Returns the location of the first interface from a list. - - -Clear -Removes all the interfaces from a list. - - -Empty -Checks if the list is empty. - - -End -Returns the location succeeding the last interface from a list. - - -Remove_Back -Removes an interface from the end of a list. - - -Size -Returns the number of interfaces in a list. - -
-
-Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
- -Add_Back -At -Begin -Clear -Empty -End -Remove_Back -Size - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__add__back.xml deleted file mode 100644 index b6f09a3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__add__back.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXInterface* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXInterface* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__at.xml deleted file mode 100644 index d18ed1d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXList_At - At - -Returns the reference counted interface from the requested location. - - -Returns the reference counted interface from the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXInterface** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the returned interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXInterface** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -IADLXList is a collection of interfaces which runs incrementally from beginning to the end. - The returned interface must be discarded with Release when no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__begin.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__begin.xml deleted file mode 100644 index dc7294b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__begin.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXList_Begin - Begin - -Returns the location of the first interface from a list. - - -Returns the location of the first interface from a list. -Syntax - - - adlx_uint Begin () - -Parameters - -N/A -Return Value - -If the list is not empty it returns the location of the first interface in the list. - If the list is empty the returned location is same as the location returned by End. - -Remarks - -The returned location is valid if it is less than the location returned by End. The Begin is used in combination with End for parsing the list sequentially from the beginning to the end. - If the list is empty, Begin and End return the same location. - - C++ ADLX_RESULTres; -IADLXListPrtadlxList;//GetADLXListinterface -... - -adlx_uintit=adlxList->Begin(); -for(;it!=adlxList->End();it++)//IterateADLXListandgettheelementsinthelist -{ -res=adlxList->At(it,...); -... - -} - -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__clear.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__clear.xml deleted file mode 100644 index 7832baf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__clear.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXList_Clear - Clear - -Removes all the interfaces from a list. - - -Removes all the interfaces from a list. -Syntax - - - ADLX_RESULT Clear () - -Parameters - -N/A -Return Value - -If all the interfaces from the list are successfully removed, ADLX_OK is returned. - If interfaces from the list are not successfully removed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -After this call returns successfully, Size returns zero. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__empty.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__empty.xml deleted file mode 100644 index bbf5f6e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__empty.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXList_Empty - Empty - -Checks if the list is empty. - - -Checks if the list is empty. -Syntax - - - adlx_bool Empty () - -Parameters - -N/A -Return Value - -If the list is empty, true is returned. - If the list is not empty, false is returned. - -Remarks - -If the list has no interfaces, then Size will return zero, and Empty will return true. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__end.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__end.xml deleted file mode 100644 index fc2a77a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__end.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXList_End - End - -Returns the location succeeding the last interface from a list. - - -Returns the location succeeding the last interface from a list. -Syntax - - - adlx_uint End () - -Parameters - -N/A -Return Value - -Returns the location succeeding the last interface from a list. -Remarks - -The returned location is a logical representation of the end of the list. It does not hold any valid interface and should not be dereferenced. - End is used in combination with Begin for parsing the list sequentially from the beginning to the end. - If the list is empty, then Begin and End return the same location. - - C++ ADLX_RESULTres; -IADLXListPrtadlxList;//GetADLXListinterface -... - -adlx_uintit=adlxList->Begin(); -for(;it!=adlxList->End();it++)//IterateADLXListandgettheelementsinthelist -{ -res=adlxList->At(it,...); -... - -} - -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__remove__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__remove__back.xml deleted file mode 100644 index 465a933..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__remove__back.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXList_Remove_Back - Remove_Back - -Removes an interface from the end of a list. - - -Removes an interface from the end of a list. -Syntax - - - ADLX_RESULT Remove_Back () - -Parameters - -N/A -Return Value - -If the interface from the end of the list is successfully removed, ADLX_OK is returned. - If the interface from the end of the list is not successfully removed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Removes an interface from the end of the list. The list must not be empty. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__size.xml deleted file mode 100644 index ffd1a25..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_list__size.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - DOX_IADLXList_Size - Size - -Returns the number of interfaces in a list. - - -Returns the number of interfaces in a list. -Syntax - - -adlx_uint Size () - -Parameters - -N/A -Return Value - -Returns the number of interfaces in the list. -Remarks - -Returns the number of interfaces in the list. - -Returns zero if the list is empty. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log.xml deleted file mode 100644 index 29d3d2a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - DOX_IADLXLog - IADLXLog - WriteLog - - - -The IADLXLog interface is implemented in the application to receive the log traces from the internal code execution of ADLX. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-If the application wants the ADLX log traces to be integrated in the application's own log system, an instance of the implemented IADLXLog interface must be passed to EnableLog along with APPLICATION in the ADLX_LOG_DESTINATION parameter. - The log instance must exist until ADLX is terminated. -Methods - - -Method -Description - - -WriteLog -The WriteLog method is called by ADLX when a new ADLX log message is available. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Log C++ sample. - For a C application, refer to the Log C sample. - -WriteLog - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log__write_log.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log__write_log.xml deleted file mode 100644 index e108499..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_log__write_log.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXLog_WriteLog - WriteLog - -The WriteLog method is called by ADLX when a new ADLX log message is available. - - -The WriteLog method is called by ADLX when a new ADLX log message is available. -Syntax - - - ADLX_RESULT WriteLog (const wchar_t* msg) - -Parameters - - - - -1. -[out] -msg -const wchar_t* -The new log message from the internal code execution of ADLX. - -
-
-
-
-
-Return Value - -The method must return ADLX_OK. - -Remarks - -Once the application enables the ADLX logs with EnableLog using APPLICATION for the ADLX_LOG_DESTINATION parameter, ADLX will call this method when a new log trace is generated. - The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the log trace, the application must copy the log message and process it asynchronously. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-See Also - -EnableLog -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning.xml deleted file mode 100644 index bf53006..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - DOX_IADLXManualFanTuning - IADLXManualFanTuning - GetEmptyFanTuningStates - GetFanTuningRanges - GetFanTuningStates - GetMinAcousticLimit - GetMinAcousticLimitRange - GetMinFanSpeed - GetMinFanSpeedRange - GetTargetFanSpeed - GetTargetFanSpeedRange - GetZeroRPMState - IsSupportedMinAcousticLimit - IsSupportedMinFanSpeed - IsSupportedTargetFanSpeed - IsSupportedZeroRPM - IsValidFanTuningStates - SetFanTuningStates - SetMinAcousticLimit - SetMinFanSpeed - SetTargetFanSpeed - SetZeroRPMState - - - -The IADLXManualFanTuning interface provides methods to control manual fan tuning on a GPU. - -InterfaceId: -IADLXManualFanTuning - - -Smart Pointer Interface Name: -IADLXManualFanTuningPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetEmptyFanTuningStates -Gets the reference counted list of empty GPU fan tuning states on a GPU. - - -GetFanTuningRanges -Gets the fan speed range and the temperature range on a GPU. - - -GetFanTuningStates -Gets the reference counted list of current GPU fan tuning states on a GPU. - - -GetMinAcousticLimit -Gets the current minimum acoustic limit on a GPU. - - -GetMinAcousticLimitRange -Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU. - - -GetMinFanSpeed -Gets the current minimum fan speed on a GPU. - - -GetMinFanSpeedRange -Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU. - - -GetTargetFanSpeed -Gets the current target fan speed on a GPU. - - -GetTargetFanSpeedRange -Gets the maximum value, minimum value, and step for the target fan speed on a GPU. - - -GetZeroRPMState -Checks if zero RPM is currently activated on a GPU. - - -IsSupportedMinAcousticLimit -Checks if the minimum acoustic limit is supported on a GPU. - - -IsSupportedMinFanSpeed -Checks if the minimum fan speed is supported on a GPU. - - -IsSupportedTargetFanSpeed -Checks if the target fan speed is supported on a GPU. - - -IsSupportedZeroRPM -Checks if zero RPM is supported on a GPU. - - -IsValidFanTuningStates -Checks if each GPU fan tuning state in a list is valid on a GPU. - - -SetFanTuningStates -Sets the fan tuning states on a GPU. - - -SetMinAcousticLimit -Sets the minimum acoustic limit on a GPU. - - -SetMinFanSpeed -Sets the minimum fan speed on a GPU. - - -SetTargetFanSpeed -Sets the target fan speed on a GPU. - - -SetZeroRPMState -Enables or disables zero RPM on a GPU. - -
-
-Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample. - For a C application, refer to the ManualFanTuning C sample. - -GetEmptyFanTuningStates -GetFanTuningRanges -GetFanTuningStates -GetMinAcousticLimit -GetMinAcousticLimitRange -GetMinFanSpeed -GetMinFanSpeedRange -GetTargetFanSpeed -GetTargetFanSpeedRange -GetZeroRPMState -IsSupportedMinAcousticLimit -IsSupportedMinFanSpeed -IsSupportedTargetFanSpeed -IsSupportedZeroRPM -IsValidFanTuningStates -SetFanTuningStates -SetMinAcousticLimit -SetMinFanSpeed -SetTargetFanSpeed -SetZeroRPMState - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.xml deleted file mode 100644 index a75bd1a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_empty_fan_tuning_states.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetEmptyFanTuningStates - GetEmptyFanTuningStates - -Gets the reference counted list of empty GPU fan tuning states on a GPU. - - -Gets the reference counted list of empty GPU fan tuning states on a GPU. -Syntax - - - ADLX_RESULT GetEmptyFanTuningStates (IADLXManualFanTuningStateList** ppStates) - -Parameters - - - - -1. -[out] -ppStates -IADLXManualFanTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of empty GPU fan tuning states is successfully returned, ADLX_OK is returned. - If the list of empty GPU fan tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.xml deleted file mode 100644 index 8cf953d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_ranges.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetFanTuningRanges - GetFanTuningRanges - -Gets the fan speed range and the temperature range on a GPU. - - -Gets the fan speed range and the temperature range on a GPU. -Syntax - - - ADLX_RESULT GetFanTuningRanges (ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange) - -Parameters - - - - -1. -[out] -speedRange -ADLX_IntRange* -The pointer to a variable where the fan speed range (in %) is returned. - -
-
-
-
- - - -2. -[out] -temperatureRange -ADLX_IntRange* -The pointer to a variable where the temperature range (in °C) is returned. - -
-
-
-
-
-Return Value - -If the fan speed and temperature range is successfully returned, ADLX_OK is returned. - If the fan speed and temperature range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -The fan speed range and the temperature range are applicable to all GPU states on a GPU. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.xml deleted file mode 100644 index 56438f7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_fan_tuning_states.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetFanTuningStates - GetFanTuningStates - -Gets the reference counted list of current GPU fan tuning states on a GPU. - - -Gets the reference counted list of current GPU fan tuning states on a GPU. -Syntax - - - ADLX_RESULT GetFanTuningStates (IADLXManualFanTuningStateList** ppStates) - -Parameters - - - - -1. -[out] -ppStates -IADLXManualFanTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of GPU fan tuning states is successfully returned, ADLX_OK is returned. - If the list of GPU fan tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.xml deleted file mode 100644 index a48866b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetMinAcousticLimit - GetMinAcousticLimit - -Gets the current minimum acoustic limit on a GPU. - - -Gets the current minimum acoustic limit on a GPU. -Syntax - - - ADLX_RESULT GetMinAcousticLimit (adlx_int* value) - -Parameters - - - - -1. -[out] -value -adlx_int* -The pointer to a variable where the min acoustic limit value (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the min acoustic limit value is successfully returned, ADLX_OK is returned. - If the min acoustic limit value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support Minimum Acoustic Limit adjustments (in MHz). -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.xml deleted file mode 100644 index 4deb14c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_acoustic_limit_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetMinAcousticLimitRange - GetMinAcousticLimitRange - -Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU. - - -Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU. -Syntax - - - ADLX_RESULT GetMinAcousticLimitRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the min acoustic limit range (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the min acoustic limit range is successfully returned, ADLX_OK is returned. - If the min acoustic limit range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support Minimum Acoustic Limit adjustments (in MHz). -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.xml deleted file mode 100644 index 9a2c7ff..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetMinFanSpeed - GetMinFanSpeed - -Gets the current minimum fan speed on a GPU. - - -Gets the current minimum fan speed on a GPU. -Syntax - - - ADLX_RESULT GetMinFanSpeed (adlx_int* value) - -Parameters - - - - -1. -[out] -value -adlx_int* -The pointer to a variable where the minimum fan speed value (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the minimum fan speed value is successfully returned, ADLX_OK is returned. - If the minimum fan speed value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support minimum fan speed adjustments (in MHz). -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.xml deleted file mode 100644 index 012f3eb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_min_fan_speed_range.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetMinFanSpeedRange - GetMinFanSpeedRange - -Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU. - - -Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU. -Syntax - - - ADLX_RESULT GetMinFanSpeedRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the minimum fan speed range (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the minimum fan speed range is successfully returned, ADLX_OK is returned. - If the minimum fan speed range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.xml deleted file mode 100644 index 0d93fe3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetTargetFanSpeed - GetTargetFanSpeed - -Gets the current target fan speed on a GPU. - - -Gets the current target fan speed on a GPU. -Syntax - - - ADLX_RESULT GetTargetFanSpeed (adlx_int* value) - -Parameters - - - - -1. -[out] -value -adlx_int* -The pointer to a variable where the target fan speed value (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the target fan speed value is successfully returned, ADLX_OK is returned. - If the target fan speed value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.xml deleted file mode 100644 index 136952c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_target_fan_speed_range.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetTargetFanSpeedRange - GetTargetFanSpeedRange - -Gets the maximum value, minimum value, and step for the target fan speed on a GPU. - - -Gets the maximum value, minimum value, and step for the target fan speed on a GPU. -Syntax - - - ADLX_RESULT GetTargetFanSpeedRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the target fan speed range (in RPM) is returned. - -
-
-
-
-
-Return Value - -If the target fan speed range is successfully returned, ADLX_OK is returned. - If the target fan speed range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.xml deleted file mode 100644 index 5414cd4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__get_zero_r_p_m_state.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_GetZeroRPMState - GetZeroRPMState - -Checks if zero RPM is currently activated on a GPU. - - -Checks if zero RPM is currently activated on a GPU. -Syntax - - - ADLX_RESULT GetZeroRPMState (adlx_bool* isSet) - -Parameters - - - - -1. -[out] -isSet -adlx_bool* -The pointer to a variable where the state of zero RPM is returned. The variable is true if zero RPM is enabled. The variable is false if zero RPM is not enabled. - -
-
-
-
-
-Return Value - -If the state of zero RPM is successfully returned, ADLX_OK is returned. - If the state of zero RPM is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.xml deleted file mode 100644 index 7f8635a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_acoustic_limit.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_IsSupportedMinAcousticLimit - IsSupportedMinAcousticLimit - -Checks if the minimum acoustic limit is supported on a GPU. - - -Checks if the minimum acoustic limit is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedMinAcousticLimit (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of min acoustic limit feature is returned. The variable is true if min acoustic limit feature is supported. The variable is false if min acoustic limit feature is not supported. - -
-
-
-
-
-Return Value - -If the state of min acoustic limit feature is successfully returned, ADLX_OK is returned. - If the state of min acoustic limit feature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support Minimum Acoustic Limit adjustments (in MHz). -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.xml deleted file mode 100644 index de2734a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_min_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_IsSupportedMinFanSpeed - IsSupportedMinFanSpeed - -Checks if the minimum fan speed is supported on a GPU. - - -Checks if the minimum fan speed is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedMinFanSpeed (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of minimum fan speed feature is returned. The variable is true if minimum fan speed feature is supported. The variable is false if minimum fan speed feature is not supported. - -
-
-
-
-
-Return Value - -If the state of minimum fan speed feature is successfully returned, ADLX_OK is returned. - If the state of minimum fan speed feature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.xml deleted file mode 100644 index 225353e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_target_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_IsSupportedTargetFanSpeed - IsSupportedTargetFanSpeed - -Checks if the target fan speed is supported on a GPU. - - -Checks if the target fan speed is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedTargetFanSpeed (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of target fan speed feature is returned. The variable is true if target fan speed feature is supported. The variable is false if target fan speed feature is not supported. - -
-
-
-
-
-Return Value - -If the state of target fan speed feature is successfully returned, ADLX_OK is returned. - If the state of target fan speed feature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.xml deleted file mode 100644 index e0cfe07..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_supported_zero_r_p_m.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_IsSupportedZeroRPM - IsSupportedZeroRPM - -Checks if zero RPM is supported on a GPU. - - -Checks if zero RPM is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedZeroRPM (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of zero RPM feature is returned. The variable is true if zero RPM feature is supported. The variable is false if zero RPM feature is not supported. - -
-
-
-
-
-Return Value - -If the state of zero RPM feature is successfully returned, ADLX_OK is returned. - If the state of zero RPM feature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.xml deleted file mode 100644 index 79ff459..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__is_valid_fan_tuning_states.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXManualFanTuning_IsValidFanTuningStates - IsValidFanTuningStates - -Checks if each GPU fan tuning state in a list is valid on a GPU. - - -Checks if each GPU fan tuning state in a list is valid on a GPU. -Syntax - - - ADLX_RESULT IsValidFanTuningStates (IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex) - -Parameters - - - - -1. -[in] -pStates -IADLXManualFanTuningStateList* -The pointer to the GPU fan tuning states list interface. - -
-
-
-
- - - -2. -[out] -errorIndex -adlx_int* -The pointer to a variable where the invalid states index is returned. - -
-
-
-
-
-Return Value - -If IsValidFanTuningStates is successfully executed, ADLX_OK is returned. - If IsValidFanTuningStates is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -If the *pStates is valid then the method sets the errorIndex to -1. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.xml deleted file mode 100644 index 4913555..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_fan_tuning_states.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_SetFanTuningStates - SetFanTuningStates - -Sets the fan tuning states on a GPU. - - -Sets the fan tuning states on a GPU. -Syntax - - - ADLX_RESULT SetFanTuningStates (IADLXManualFanTuningStateList* pStates) - -Parameters - - - - -1. -[in] -pStates -IADLXManualFanTuningStateList* -The pointer to the GPU states list interface. - -
-
-
-
-
-Return Value - -If the GPU fan tuning states are successfully set, ADLX_OK is returned. - If the GPU fan tuning states are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.xml deleted file mode 100644 index 4d4a718..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_acoustic_limit.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_SetMinAcousticLimit - SetMinAcousticLimit - -Sets the minimum acoustic limit on a GPU. - - -Sets the minimum acoustic limit on a GPU. -Syntax - - - ADLX_RESULT SetMinAcousticLimit (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new min acoustic limit (in MHz). - -
-
-
-
-
-Return Value - -If the min acoustic limit value is successfully set, ADLX_OK is returned. - If the min acoustic limit value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support Minimum Acoustic Limit adjustments (in MHz). -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.xml deleted file mode 100644 index c0a73bf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_min_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_SetMinFanSpeed - SetMinFanSpeed - -Sets the minimum fan speed on a GPU. - - -Sets the minimum fan speed on a GPU. -Syntax - - - ADLX_RESULT SetMinFanSpeed (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new minimum fan speed (in RPM). - -
-
-
-
-
-Return Value - -If the minimum fan speed value is successfully set, ADLX_OK is returned. - If the minimum fan speed value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.xml deleted file mode 100644 index 5d0cf64..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_target_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuning_SetTargetFanSpeed - SetTargetFanSpeed - -Sets the target fan speed on a GPU. - - -Sets the target fan speed on a GPU. -Syntax - - - ADLX_RESULT SetTargetFanSpeed (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new target fan speed (in RPM). - -
-
-
-
-
-Return Value - -If the target fan speed value is successfully set, ADLX_OK is returned. - If the target fan speed value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.xml deleted file mode 100644 index 460c88c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning__set_zero_r_p_m_state.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuning_SetZeroRPMState - SetZeroRPMState - -Enables or disables zero RPM on a GPU. - - -Enables or disables zero RPM on a GPU. -Syntax - - - ADLX_RESULT SetZeroRPMState (adlx_bool set) - -Parameters - - - - -1. -[in] -isSet -adlx_bool -The new zero RPM state. Set true to enable zero RPM. Set false to disable zero RPM. - -
-
-
-
-
-Return Value - -If the state of zero RPM is successfully set, ADLX_OK is returned. - If the state of zero RPM is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.xml deleted file mode 100644 index 6d5569c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXManualFanTuningState - IADLXManualFanTuningState - GetFanSpeed - GetTemperature - SetFanSpeed - SetTemperature - - - -The IADLXManualFanTuningState interface provides methods to control fan speed and temperature in the manual fan tuning state. - -InterfaceId: -IADLXManualFanTuningState - - -Smart Pointer Interface Name: -IADLXManualFanTuningStatePtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetFanSpeed -Gets the fan speed in the manual fan tuning state. - - -GetTemperature -Gets the temperature in the manual fan tuning state. - - -SetFanSpeed -Sets the fan speed in the manual fan tuning state. - - -SetTemperature -Sets the temperature in the manual fan tuning state. - -
-
-Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample. - For a C application, refer to the ManualFanTuning C sample. - -GetFanSpeed -GetTemperature -SetFanSpeed -SetTemperature - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.xml deleted file mode 100644 index 032f6d6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_fan_speed.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuningState_GetFanSpeed - GetFanSpeed - -Gets the fan speed in the manual fan tuning state. - - -Gets the fan speed in the manual fan tuning state. -Syntax - - - ADLX_RESULT GetFanSpeed (adlx_int* value) - -Parameters - - - - -1. -[out] -value -adlx_uint* -The pointer to a variable where the fan speed (in %) is returned. - -
-
-
-
-
-Return Value - -If the fan speed is successfully returned, ADLX_OK is returned. - If the fan speed is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.xml deleted file mode 100644 index 6111375..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__get_temperature.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuningState_GetTemperature - GetTemperature - -Gets the temperature in the manual fan tuning state. - - -Gets the temperature in the manual fan tuning state. -Syntax - - - ADLX_RESULT GetTemperature (adlx_uint* value) - -Parameters - - - - -1. -[out] -value -adlx_uint* -The pointer to a variable where the temperature (in °C) is returned. - -
-
-
-
-
-Return Value - -If the temperature is successfully returned, ADLX_OK is returned. - If the temperature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.xml deleted file mode 100644 index 184a564..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_fan_speed.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualFanTuningState_SetFanSpeed - SetFanSpeed - -Sets the fan speed in the manual fan tuning state. - - -Sets the fan speed in the manual fan tuning state. -Syntax - - - ADLX_RESULT SetFanSpeed (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new fan speed value (in %). - -
-
-
-
-
-Return Value - -If the fan speed is successfully set, ADLX_OK is returned. - If the fan speed is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Method for applying fan speed for the fan tuning state. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.xml deleted file mode 100644 index 7e3fdf9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state__set_temperature.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuningState_SetTemperature - SetTemperature - -Sets the temperature in the manual fan tuning state. - - -Sets the temperature in the manual fan tuning state. -Syntax - - - ADLX_RESULT SetTemperature (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new temperature value (in °C). - -
-
-
-
-
-Return Value - -If the temperature is successfully set, ADLX_OK is returned. - If the temperature is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.xml deleted file mode 100644 index 79e6109..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXManualFanTuningStateList - IADLXManualFanTuningStateList - Add_Back - At - - - -The IADLXManualFanTuningStateList is an interface for a collection of IADLXManualFanTuningState interfaces that can be accessed by location. - -InterfaceId: -IADLXManualFanTuningStateList - - -Smart Pointer Interface Name: -IADLXManualFanTuningStateListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualFanTuning C++ sample. - For a C application, refer to the ManualFanTuning C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.xml deleted file mode 100644 index c22c3c0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__add__back.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualFanTuningStateList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXManualFanTuningState* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXManualFanTuningState* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.xml deleted file mode 100644 index 142640e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_fan_tuning_state_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXManualFanTuningStateList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXManualFanTuningState** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXManualFanTuningState** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUManualFanTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.xml deleted file mode 100644 index 9ace2d8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1 - IADLXManualGraphicsTuning1 - GetEmptyGPUTuningStates - GetGPUTuningRanges - GetGPUTuningStates - IsValidGPUTuningStates - SetGPUTuningStates - - - -The IADLXManualGraphicsTuning1 interface provides methods to control the GPU manual graphic tuning for pre-RDNA ASIC family. - -InterfaceId: -IADLXManualGraphicsTuning1 - - -Smart Pointer Interface Name: -IADLXManualGraphicsTuning1Ptr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetEmptyGPUTuningStates -Gets the reference counted list of empty GPU tuning states. - - -GetGPUTuningRanges -Gets the frequency range and the voltage range on a GPU. - - -GetGPUTuningStates -Gets the reference counted list of current GPU tuning states. - - -IsValidGPUTuningStates -Checks if each GPU tuning state in a list is valid. - - -SetGPUTuningStates -Sets the GPU tuning states on a GPU. - -
-
-Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample. - For a C application, refer to the ManualGraphicsTuning C sample. - -GetEmptyGPUTuningStates -GetGPUTuningRanges -GetGPUTuningStates -IsValidGPUTuningStates -SetGPUTuningStates - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.xml deleted file mode 100644 index e1a7f20..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_empty_g_p_u_tuning_states.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1_GetEmptyGPUTuningStates - GetEmptyGPUTuningStates - -Gets the reference counted list of empty GPU tuning states. - - -Gets the reference counted list of empty GPU tuning states. -Syntax - - - ADLX_RESULT GetEmptyGPUTuningStates (IADLXManualTuningStateList** ppGFXStates) - -Parameters - - - - -1. -[out] -ppGFXStates -IADLXManualTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGFXStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of empty GPU tuning states is successfully returned, ADLX_OK is returned. - If the list of empty GPU tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - -The frequency and voltage in the returned states are zero. -Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.xml deleted file mode 100644 index 20cb7cd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_ranges.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1_GetGPUTuningRanges - GetGPUTuningRanges - -Gets the frequency range and the voltage range on a GPU. - - -Gets the frequency range and the voltage range on a GPU. -Syntax - - - ADLX_RESULT GetGPUTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange) - -Parameters - - - - -1. -[out] -frequencyRange -ADLX_IntRange* -The pointer to a variable where the GPU frequency range (in MHz) is returned. - -
-
-
-
- - - -2. -[out] -voltageRange -ADLX_IntRange* -The pointer to a variable where the GPU voltage range (in mV) is returned. - -
-
-
-
-
-Return Value - -If the frequency and voltage range are successfully returned, ADLX_OK is returned. - If the frequency and voltage range are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The frequency range and the voltage range are applicable to all the GPU states on this GPU. -Additional Info - -Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. - The GPU clock speed and the GPU voltage can be adjusted within their ranges. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.xml deleted file mode 100644 index 3f32a2b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__get_g_p_u_tuning_states.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1_GetGPUTuningStates - GetGPUTuningStates - -Gets the reference counted list of current GPU tuning states. - - -Gets the reference counted list of current GPU tuning states. -Syntax - - - ADLX_RESULT GetGPUTuningStates (IADLXManualTuningStateList** ppGFXStates) - -Parameters - - - - -1. -[out] -ppGFXStates -IADLXManualTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGFXStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of GPU tuning states is successfully returned, ADLX_OK is returned. - If the list of GPU tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - -Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.xml deleted file mode 100644 index 9d99c0e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__is_valid_g_p_u_tuning_states.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1_IsValidGPUTuningStates - IsValidGPUTuningStates - -Checks if each GPU tuning state in a list is valid. - - -Checks if each GPU tuning state in a list is valid. -Syntax - - - ADLX_RESULT IsValidGPUTuningStates (IADLXManualTuningStateList* pGFXStates, adlx_int* errorIndex) - -Parameters - - - - -1. -[in] -pGFXStates -IADLXManualTuningStateList* -The pointer to the GPU states list interface. - -
-
-
-
- - - -2. -[out] -errorIndex -adlx_int* -The pointer to a variable where the invalid states index is returned. - -
-
-
-
-
-Return Value - -If IsValidGPUTuningStates is successfully executed, ADLX_OK is returned. - If IsValidGPUTuningStates is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. -Remarks - -If the *pGFXStates is valid then the method sets the errorIndex to -1. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.xml deleted file mode 100644 index bb6c24e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning1__set_g_p_u_tuning_states.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning1_SetGPUTuningStates - SetGPUTuningStates - -Sets the GPU tuning states on a GPU. - - -Sets the GPU tuning states on a GPU. -Syntax - - - ADLX_RESULT SetGPUTuningStates (IADLXManualTuningStateList* pGFXStates) - -Parameters - - - - -1. -[in] -pGFXStates -IADLXManualTuningStateList* -The pointer to the GPU states list interface. - -
-
-
-
-
-Return Value - -If the GPU tuning states are successfully set, ADLX_OK is returned. - If the GPU tuning states are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs allow multiple GPU tuning states. Each GPU tuning state is represented by the GPU clock speed and the GPU voltage. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.xml deleted file mode 100644 index 6ff75f4..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2 - IADLXManualGraphicsTuning2 - GetGPUMaxFrequency - GetGPUMaxFrequencyRange - GetGPUMinFrequency - GetGPUMinFrequencyRange - GetGPUVoltage - GetGPUVoltageRange - SetGPUMaxFrequency - SetGPUMinFrequency - SetGPUVoltage - - - -The IADLXManualGraphicsTuning2 interface provides methods to control the GPU manual graphic tuning for RDNA ASIC family. - -InterfaceId: -IADLXManualGraphicsTuning2 - - -Smart Pointer Interface Name: -IADLXManualGraphicsTuning2Ptr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetGPUMaxFrequency -Gets the current maximum frequency value on a GPU. - - -GetGPUMaxFrequencyRange -Gets the maximum frequency range on a GPU. - - -GetGPUMinFrequency -Gets the current minimum frequency value on a GPU. - - -GetGPUMinFrequencyRange -Gets the minimum frequency range on a GPU. - - -GetGPUVoltage -Gets the current clock voltage value on a GPU. - - -GetGPUVoltageRange -Gets the clock voltage range on a GPU. - - -SetGPUMaxFrequency -Sets the maximum frequency on a GPU. - - -SetGPUMinFrequency -Sets the minimum frequency on a GPU. - - -SetGPUVoltage -Sets the clock voltage on a GPU. - -
-
-Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample. - For a C application, refer to the ManualGraphicsTuning C sample. - -GetGPUMaxFrequency -GetGPUMaxFrequencyRange -GetGPUMinFrequency -GetGPUMinFrequencyRange -GetGPUVoltage -GetGPUVoltageRange -SetGPUMaxFrequency -SetGPUMinFrequency -SetGPUVoltage - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.xml deleted file mode 100644 index 97fb63f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequency - GetGPUMaxFrequency - -Gets the current maximum frequency value on a GPU. - - -Gets the current maximum frequency value on a GPU. -Syntax - - - ADLX_RESULT GetGPUMaxFrequency (adlx_int* maxFreq) - -Parameters - - - - -1. -[out] -maxFreq -adlx_int* -The pointer to a variable where the maximum frequency value (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the maximum frequency value is successfully returned, ADLX_OK is returned. - If the maximum frequency value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support maximum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.xml deleted file mode 100644 index 20bdd26..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_max_frequency_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequencyRange - GetGPUMaxFrequencyRange - -Gets the maximum frequency range on a GPU. - - -Gets the maximum frequency range on a GPU. -Syntax - - - ADLX_RESULT GetGPUMaxFrequencyRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the maximum frequency range (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the maximum frequency range is successfully returned, ADLX_OK is returned. - If the maximum frequency range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support maximum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.xml deleted file mode 100644 index 1906473..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequency - GetGPUMinFrequency - -Gets the current minimum frequency value on a GPU. - - -Gets the current minimum frequency value on a GPU. -Syntax - - - ADLX_RESULT GetGPUMinFrequency (adlx_int* minFreq) - -Parameters - - - - -1. -[out] -minFreq -adlx_int* -The pointer to a variable where the minimum frequency value (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the minimum frequency value is successfully returned, ADLX_OK is returned. - If the minimum frequency value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support minimum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.xml deleted file mode 100644 index f9b8b9f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_min_frequency_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequencyRange - GetGPUMinFrequencyRange - -Gets the minimum frequency range on a GPU. - - -Gets the minimum frequency range on a GPU. -Syntax - - - ADLX_RESULT GetGPUMinFrequencyRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the minimum frequency range (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the minimum frequency range is successfully returned, ADLX_OK is returned. - If the minimum frequency range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support minimum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.xml deleted file mode 100644 index b7a8d3e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUVoltage - GetGPUVoltage - -Gets the current clock voltage value on a GPU. - - -Gets the current clock voltage value on a GPU. -Syntax - - - ADLX_RESULT GetGPUVoltage (adlx_int* volt) - -Parameters - - - - -1. -[out] -volt -adlx_int* -The pointer to a variable where the GPU voltage (in mV) is returned. - -
-
-
-
-
-Return Value - -If the clock voltage value is successfully returned, ADLX_OK is returned. - If the clock voltage value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support GPU voltage adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.xml deleted file mode 100644 index 6ffb71a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__get_g_p_u_voltage_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_GetGPUVoltageRange - GetGPUVoltageRange - -Gets the clock voltage range on a GPU. - - -Gets the clock voltage range on a GPU. -Syntax - - - ADLX_RESULT GetGPUVoltageRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the clock voltage range (in mV) is returned. - -
-
-
-
-
-Return Value - -If the clock voltage range is successfully returned, ADLX_OK is returned. - If the clock voltage range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support GPU voltage adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.xml deleted file mode 100644 index 9f6845c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_max_frequency.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_SetGPUMaxFrequency - SetGPUMaxFrequency - -Sets the maximum frequency on a GPU. - - -Sets the maximum frequency on a GPU. -Syntax - - - ADLX_RESULT SetGPUMaxFrequency (adlx_int maxFreq) - -Parameters - - - - -1. -[in] -maxFreq -adlx_int -The new maximum frequency (in MHz) value. - -
-
-
-
-
-Return Value - -If the maximum frequency value is successfully set, ADLX_OK is returned. - If the maximum frequency value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support maximum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.xml deleted file mode 100644 index 10437aa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_min_frequency.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_SetGPUMinFrequency - SetGPUMinFrequency - -Sets the minimum frequency on a GPU. - - -Sets the minimum frequency on a GPU. -Syntax - - - ADLX_RESULT SetGPUMinFrequency (adlx_int minFreq) - -Parameters - - - - -1. -[in] -minFreq -adlx_int -The new minimum frequency value (in MHz). - -
-
-
-
-
-Return Value - -If the minimum frequency value is successfully set, ADLX_OK is returned. - If the minimum frequency value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support minimum GPU clock speed adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.xml deleted file mode 100644 index cf69101..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_graphics_tuning2__set_g_p_u_voltage.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualGraphicsTuning2_SetGPUVoltage - SetGPUVoltage - -Sets the clock voltage on a GPU. - - -Sets the clock voltage on a GPU. -Syntax - - - ADLX_RESULT SetGPUVoltage (adlx_int volt) - -Parameters - - - - -1. -[in] -volt -adlx_int -The new GPU voltage (in mV). - -
-
-
-
-
-Return Value - -If the clock voltage value is successfully set, ADLX_OK is returned. - If the clock voltage value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support GPU voltage adjustment within a range. -Requirements - - -Header -include "IGPUManualGFXTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning.xml deleted file mode 100644 index 42c93ae..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - DOX_IADLXManualPowerTuning - IADLXManualPowerTuning - GetPowerLimit - GetPowerLimitRange - GetTDCLimit - GetTDCLimitRange - IsSupportedTDCLimit - SetPowerLimit - SetTDCLimit - - - -The IADLXManualPowerTuning interface provides methods to configure manual power tuning on a GPU. - -InterfaceId: -IADLXManualPowerTuning - - -Smart Pointer Interface Name: -IADLXManualPowerTuningPtr - - -Inherits: -IADLXInterface - - -Inherited By: -NA - -
-
-Methods - - -Method -Description - - -GetPowerLimit -Gets the current power limit of a GPU. - - -GetPowerLimitRange -Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU. - - -GetTDCLimit -Gets the current Thermal Design Current (TDC) limit of a GPU. - - -GetTDCLimitRange -Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU. - - -IsSupportedTDCLimit -Checks if Thermal Design Current (TDC) limit is supported on a GPU. - - -SetPowerLimit -Sets the power limit of a GPU. - - -SetTDCLimit -Sets the Thermal Design Current (TDC) limit of a GPU. - -
-
-Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualPowerTuning C++ sample. - For a C application, refer to the ManualPowerTuning C sample. - -GetPowerLimit -GetPowerLimitRange -GetTDCLimit -GetTDCLimitRange -IsSupportedTDCLimit -SetPowerLimit -SetTDCLimit - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.xml deleted file mode 100644 index b0ea870..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_GetPowerLimit - GetPowerLimit - -Gets the current power limit of a GPU. - - -Gets the current power limit of a GPU. -Syntax - - - ADLX_RESULT GetPowerLimit (adlx_int* curVal) - -Parameters - - - - -1. -[out] -curVal -adlx_int* -The pointer to a variable where the manual power limit value (in %) is returned. - -
-
-
-
-
-Return Value - -If the power limit value is successfully returned, ADLX_OK is returned. - If the power limit value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -A higher power limit increases performance headroom. -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.xml deleted file mode 100644 index 04c4968..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_power_limit_range.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_GetPowerLimitRange - GetPowerLimitRange - -Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU. - - -Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU. -Syntax - - - ADLX_RESULT GetPowerLimitRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the manual power limit range (in %) is returned. - -
-
-
-
-
-Return Value - -If the power limit range is successfully returned, ADLX_OK is returned. - If the power limit range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.xml deleted file mode 100644 index bc5476e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_GetTDCLimit - GetTDCLimit - -Gets the current Thermal Design Current (TDC) limit of a GPU. - - -Gets the current Thermal Design Current (TDC) limit of a GPU. -Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. -Syntax - - - ADLX_RESULT GetTDCLimit (adlx_int* curVal) - -Parameters - - - - -1. -[out] -curVal -adlx_int* -The pointer to a variable where the manual TDC limit value (in %) is returned. - -
-
-
-
-
-Return Value - -If the TDC limit value is successfully returned, ADLX_OK is returned. - If the TDC limit value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -A higher TDC limit increases performance headroom. -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.xml deleted file mode 100644 index 4e770bf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__get_t_d_c_limit_range.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_GetTDCLimitRange - GetTDCLimitRange - -Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU. - - -Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU. -Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. -Syntax - - - ADLX_RESULT GetTDCLimitRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the manual TDC limit range (in %) is returned. - -
-
-
-
-
-Return Value - -If the TDC limit range is successfully returned, ADLX_OK is returned. - If the TDC limit range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.xml deleted file mode 100644 index bf539a3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__is_supported_t_d_c_limit.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_IsSupportedTDCLimit - IsSupportedTDCLimit - -Checks if Thermal Design Current (TDC) limit is supported on a GPU. - - -Checks if Thermal Design Current (TDC) limit is supported on a GPU. -Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. -Syntax - - - ADLX_RESULT IsSupportedTDCLimit (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of TDC limit feature is returned. The variable is true if TDC limit feature is supported. The variable is false if TDC limit feature is not supported. - -
-
-
-
-
-Return Value - -If the state of TDC limit feature is successfully returned, ADLX_OK is returned. - If the state of TDC limit feature is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -A higher TDC limit increases performance headroom. -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.xml deleted file mode 100644 index 4154680..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_power_limit.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_SetPowerLimit - SetPowerLimit - -Sets the power limit of a GPU. - - -Sets the power limit of a GPU. -Syntax - - - ADLX_RESULT SetPowerLimit (adlx_int curVal) - -Parameters - - - - -1. -[in] -curVal -adlx_int -The new power limit value (in %) . - -
-
-
-
-
-Return Value - -If the power limit value is successfully set, ADLX_OK is returned. - If the power limit value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -A higher power limit increases performance headroom. -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.xml deleted file mode 100644 index 3abe1a0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_power_tuning__set_t_d_c_limit.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - DOX_IADLXManualPowerTuning_SetTDCLimit - SetTDCLimit - -Sets the Thermal Design Current (TDC) limit of a GPU. - - -Sets the Thermal Design Current (TDC) limit of a GPU. -Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers. -Syntax - - - ADLX_RESULT SetTDCLimit (adlx_int curVal) - -Parameters - - - - -1. -[in] -curVal -adlx_int -The new TDC limit value (in %). - -
-
-
-
-
-Return Value - -If the TDC limit value is successfully set, ADLX_OK is returned. - If the TDC limit value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -A higher TDC limit increases performance headroom. -Requirements - - -Header -include "IGPUManualPowerTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state.xml deleted file mode 100644 index 720083f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXManualTuningState - IADLXManualTuningState - GetFrequency - GetVoltage - SetFrequency - SetVoltage - - - -The IADLXManualTuningState interface adjusts the frequency and the voltage on a GPU by setting the desired values in the manual tuning state. - -InterfaceId: -IADLXManualTuningState - - -Smart Pointer Interface Name: -IADLXManualTuningStatePtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetFrequency -Gets the frequency in the manual tuning state on a GPU. - - -GetVoltage -Gets the voltage in the manual tuning state on a GPU. - - -SetFrequency -Sets the frequency in the manual tuning state on a GPU. - - -SetVoltage -Sets the voltage in the manual tuning state on a GPU. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample. - For a C application, refer to the ManualGraphicsTuning C sample. - -GetFrequency -GetVoltage -SetFrequency -SetVoltage - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.xml deleted file mode 100644 index d54ace0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_frequency.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualTuningState_GetFrequency - GetFrequency - -Gets the frequency in the manual tuning state on a GPU. - - -Gets the frequency in the manual tuning state on a GPU. -Syntax - - - ADLX_RESULT GetFrequency (adlx_uint* value) - -Parameters - - - - -1. -[out] -value -adlx_uint* -The pointer to a variable where the frequency (in MHz) in the manual tuning state is returned. - -
-
-
-
-
-Return Value - -If the frequency is successfully returned, ADLX_OK is returned. - If the frequency is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.xml deleted file mode 100644 index a27bf5b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__get_voltage.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualTuningState_GetVoltage - GetVoltage - -Gets the voltage in the manual tuning state on a GPU. - - -Gets the voltage in the manual tuning state on a GPU. -Syntax - - - ADLX_RESULT GetVoltage (adlx_uint* value) - -Parameters - - - - -1. -[out] -value -adlx_uint* -The pointer to a variable where the voltage (in mV) in the manual tuning state is returned. - -
-
-
-
-
-Return Value - -If the voltage is successfully returned, ADLX_OK is returned. - If the voltage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.xml deleted file mode 100644 index 7104667..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_frequency.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualTuningState_SetFrequency - SetFrequency - -Sets the frequency in the manual tuning state on a GPU. - - -Sets the frequency in the manual tuning state on a GPU. -Syntax - - - ADLX_RESULT SetFrequency (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new frequency (in MHz) in the manual tuning state. - -
-
-
-
-
-Return Value - -If the frequency is successfully set, ADLX_OK is returned. - If the frequency is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.xml deleted file mode 100644 index 1f4c00f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state__set_voltage.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualTuningState_SetVoltage - SetVoltage - -Sets the voltage in the manual tuning state on a GPU. - - -Sets the voltage in the manual tuning state on a GPU. -Syntax - - - ADLX_RESULT SetVoltage (adlx_int value) - -Parameters - - - - -1. -[in] -value -adlx_int -The new voltage (in mV) in the manual tuning state. - -
-
-
-
-
-Return Value - -If the voltage is successfully set, ADLX_OK is returned. - If the voltage is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list.xml deleted file mode 100644 index 7712bf8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXManualTuningStateList - IADLXManualTuningStateList - Add_Back - At - - - -The IADLXManualTuningStateList is an interface for a collection of IADLXManualTuningState interfaces that can be accessed by location. - -InterfaceId: -IADLXManualTuningStateList - - -Smart Pointer Interface Name: -IADLXManualTuningStateListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualGraphicsTuning C++ sample. - For a C application, refer to the ManualGraphicsTuning C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.xml deleted file mode 100644 index d95681d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__add__back.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualTuningStateList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXManualTuningState* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXManualTuningState* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.xml deleted file mode 100644 index fbe788c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_tuning_state_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXManualTuningStateList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXManualTuningState** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXManualTuningState** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.xml deleted file mode 100644 index 6786751..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1 - IADLXManualVRAMTuning1 - GetEmptyVRAMTuningStates - GetMemoryTimingDescription - GetSupportedMemoryTimingDescriptionList - GetVRAMTuningRanges - GetVRAMTuningStates - IsSupportedMemoryTiming - IsValidVRAMTuningStates - SetMemoryTimingDescription - SetVRAMTuningStates - - - -The IADLXManualVRAMTuning1 interface provides methods to configure the GPU manual VRAM tuning for pre-RDNA ASIC family. - -InterfaceId: -IADLXManualVRAMTuning1 - - -Smart Pointer Interface Name: -IADLXManualVRAMTuning1Ptr - - -Inherits: -IADLXInterface - - -Inherited By: -NA - -
-
-Methods - - -Method -Description - - -GetEmptyVRAMTuningStates -Gets the reference counted list of empty VRAM tuning states on a GPU. - - -GetMemoryTimingDescription -Gets the current memory timing description on a GPU. - - -GetSupportedMemoryTimingDescriptionList -Gets the reference counted list of the supported memory timing description on a GPU. - - -GetVRAMTuningRanges -Gets the VRAM frequency range and the VRAM voltage range on a GPU. - - -GetVRAMTuningStates -Gets the reference counted list of current VRAM tuning states on a GPU. - - -IsSupportedMemoryTiming -Checks if the memory timing is supported on a GPU. - - -IsValidVRAMTuningStates -Checks the validity of listed VRAM tuning states on a GPU. - - -SetMemoryTimingDescription -Sets the memory timing description on a GPU. - - -SetVRAMTuningStates -Sets listed VRAM states to the tuning state on a GPU. - -
-
-Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample. - For a C application, refer to the ManualVRAMTuning C sample. - -GetEmptyVRAMTuningStates -GetMemoryTimingDescription -GetSupportedMemoryTimingDescriptionList -GetVRAMTuningRanges -GetVRAMTuningStates -IsSupportedMemoryTiming -IsValidVRAMTuningStates -SetMemoryTimingDescription -SetVRAMTuningStates - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.xml deleted file mode 100644 index e5812ea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_empty_v_r_a_m_tuning_states.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_GetEmptyVRAMTuningStates - GetEmptyVRAMTuningStates - -Gets the reference counted list of empty VRAM tuning states on a GPU. - - -Gets the reference counted list of empty VRAM tuning states on a GPU. -Syntax - - - ADLX_RESULT GetEmptyVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) - -Parameters - - - - -1. -[out] -ppVRAMStates -IADLXManualTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVRAMStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of empty VRAM tuning states is successfully returned, ADLX_OK is returned. - If the list of empty VRAM tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -All the value in this list are zero. In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.xml deleted file mode 100644 index d31a6a9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_memory_timing_description.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_GetMemoryTimingDescription - GetMemoryTimingDescription - -Gets the current memory timing description on a GPU. - - -Gets the current memory timing description on a GPU. -Syntax - - - ADLX_RESULT GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) - -Parameters - - - - -1. -[out] -description -ADLX_MEMORYTIMING_DESCRIPTION* -The pointer to a variable where the memory timing description is returned. - -
-
-
-
-
-Return Value - -If the memory timing description is successfully returned, ADLX_OK is returned. - If the memory timing description is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.xml deleted file mode 100644 index 12f7242..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_supported_memory_timing_description_list.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_GetSupportedMemoryTimingDescriptionList - GetSupportedMemoryTimingDescriptionList - -Gets the reference counted list of the supported memory timing description on a GPU. - - -Gets the reference counted list of the supported memory timing description on a GPU. -Syntax - - - ADLX_RESULT GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) - -Parameters - - - - -1. -[out] -ppDescriptionList -IADLXMemoryTimingDescriptionList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDescriptionList to nullptr. - -
-
-
-
-
-Return Value - -If the list of the supported memory timing description is successfully returned, ADLX_OK is returned. - If the list of the supported memory timing description is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.xml deleted file mode 100644 index d7152da..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_ranges.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_GetVRAMTuningRanges - GetVRAMTuningRanges - -Gets the VRAM frequency range and the VRAM voltage range on a GPU. - - -Gets the VRAM frequency range and the VRAM voltage range on a GPU. -Syntax - - - ADLX_RESULT GetVRAMTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange) - -Parameters - - - - -1. -[out] -frequencyRange -ADLX_IntRange* -The pointer to a variable where the frequency range (in MHz) is returned. - -
-
-
-
- - - -2. -[out] -voltageRange -ADLX_IntRange* -The pointer to a variable where the voltage range (in mV) is returned. - -
-
-
-
-
-Return Value - -If the frequency and voltage range are successfully returned, ADLX_OK is returned. - If the frequency and voltage range are not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The VRAM frequency range and the VRAM voltage range are applicable to all the VRAM states on this GPU. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.xml deleted file mode 100644 index 49df90e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__get_v_r_a_m_tuning_states.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_GetVRAMTuningStates - GetVRAMTuningStates - -Gets the reference counted list of current VRAM tuning states on a GPU. - - -Gets the reference counted list of current VRAM tuning states on a GPU. -Syntax - - - ADLX_RESULT GetVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) - -Parameters - - - - -1. -[out] -ppVRAMStates -IADLXManualTuningStateList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppVRAMStates to nullptr. - -
-
-
-
-
-Return Value - -If the list of VRAM tuning states is successfully returned, ADLX_OK is returned. - If the list of VRAM tuning states is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.xml deleted file mode 100644 index d4749ba..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_supported_memory_timing.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_IsSupportedMemoryTiming - IsSupportedMemoryTiming - -Checks if the memory timing is supported on a GPU. - - -Checks if the memory timing is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of memory timing is returned. The variable is true if memory timing is supported. The variable is false if memory timing is not supported. - -
-
-
-
-
-Return Value - -If the state of memory timing is successfully returned, ADLX_OK is returned. - If the state of memory timing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.xml deleted file mode 100644 index e44cb8e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__is_valid_v_r_a_m_tuning_states.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_IsValidVRAMTuningStates - IsValidVRAMTuningStates - -Checks the validity of listed VRAM tuning states on a GPU. - - -Checks the validity of listed VRAM tuning states on a GPU. -Syntax - - - ADLX_RESULT IsValidVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex) - -Parameters - - - - -1. -[in] -pVRAMStates -IADLXManualTuningStateList* -The pointer to the VRAM states list interface. - -
-
-
-
- - - -2. -[out] -errorIndex -adlx_int* -The pointer to a variable where the invalid states index is returned. - -
-
-
-
-
-Return Value - -If IsValidVRAMTuningStates is successfully executed, ADLX_OK is returned. - If IsValidVRAMTuningStates is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -If the *pVRAMStates is valid then the method sets the errorIndex to -1. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.xml deleted file mode 100644 index 239e056..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_memory_timing_description.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_SetMemoryTimingDescription - SetMemoryTimingDescription - -Sets the memory timing description on a GPU. - - -Sets the memory timing description on a GPU. -Syntax - - - ADLX_RESULT SetMemoryTimingLevel (ADLX_MEMORYTIMING_DESCRIPTION description) - -Parameters - - - - -1. -[in] -description -ADLX_MEMORYTIMING_DESCRIPTION -The new memory timing description. - -
-
-
-
-
-Return Value - -If the memory timing description is successfully set, ADLX_OK is returned. - If the memory timing description is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.xml deleted file mode 100644 index 1da0018..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning1__set_v_r_a_m_tuning_states.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning1_SetVRAMTuningStates - SetVRAMTuningStates - -Sets listed VRAM states to the tuning state on a GPU. - - -Sets listed VRAM states to the tuning state on a GPU. -Syntax - - - ADLX_RESULT SetVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates) - -Parameters - - - - -1. -[in] -pVRAMStates -IADLXManualTuningStateList* -The pointer to the VRAM states list interface. - -
-
-
-
-
-Return Value - -If the VRAM tuning states are successfully set, ADLX_OK is returned. - If the VRAM tuning states are not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.xml deleted file mode 100644 index 9ce0bdd..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2 - IADLXManualVRAMTuning2 - GetMaxVRAMFrequency - GetMaxVRAMFrequencyRange - GetMemoryTimingDescription - GetSupportedMemoryTimingDescriptionList - IsSupportedMemoryTiming - SetMaxVRAMFrequency - SetMemoryTimingDescription - - - -The IADLXManualVRAMTuning2 interface provides methods to configure the GPU manual VRAM tuning for RDNA ASIC family. - -InterfaceId: -IADLXManualVRAMTuning2 - - -Smart Pointer Interface Name: -IADLXManualVRAMTuning2Ptr - - -Inherits: -IADLXInterface - - -Inherited By: -NA - -
-
-Methods - - -Method -Description - - -GetMaxVRAMFrequency -Gets the current maximum frequency value of a VRAM on a GPU. - - -GetMaxVRAMFrequencyRange -Gets the maximum VRAM frequency range on a GPU. - - -GetMemoryTimingDescription -Gets the current memory timing description on a GPU. - - -GetSupportedMemoryTimingDescriptionList -Gets the reference counted list of the supported memory timing description on a GPU. - - -IsSupportedMemoryTiming -Checks if the memory timing is supported on a GPU. - - -SetMaxVRAMFrequency -Sets the maximum VRAM frequency value on a GPU. - - -SetMemoryTimingDescription -Sets the memory timing description on a GPU. - -
-
-Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample. - For a C application, refer to the ManualVRAMTuning C sample. - -GetMaxVRAMFrequency -GetMaxVRAMFrequencyRange -GetMemoryTimingDescription -GetSupportedMemoryTimingDescriptionList -IsSupportedMemoryTiming -SetMaxVRAMFrequency -SetMemoryTimingDescription - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.xml deleted file mode 100644 index ca71045..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequency - GetMaxVRAMFrequency - -Gets the current maximum frequency value of a VRAM on a GPU. - - -Gets the current maximum frequency value of a VRAM on a GPU. -Syntax - - - ADLX_RESULT GetMaxVRAMFrequency (adlx_int* freq) - -Parameters - - - - -1. -[out] -freq -adlx_int* -The pointer to a variable where the max frequency value (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the max frequency value is successfully returned, ADLX_OK is returned. - If the max frequency value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.xml deleted file mode 100644 index 5c2b6f6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_max_v_r_a_m_frequency_range.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequencyRange - GetMaxVRAMFrequencyRange - -Gets the maximum VRAM frequency range on a GPU. - - -Gets the maximum VRAM frequency range on a GPU. -Syntax - - - ADLX_RESULT GetMaxVRAMFrequencyRange (ADLX_IntRange* tuningRange) - -Parameters - - - - -1. -[out] -tuningRange -ADLX_IntRange* -The pointer to a variable where the max frequency range (in MHz) is returned. - -
-
-
-
-
-Return Value - -If the max frequency range is successfully returned, ADLX_OK is returned. - If the max frequency range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.xml deleted file mode 100644 index e139d12..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_memory_timing_description.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_GetMemoryTimingDescription - GetMemoryTimingDescription - -Gets the current memory timing description on a GPU. - - -Gets the current memory timing description on a GPU. -Syntax - - - ADLX_RESULT GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) - -Parameters - - - - -1. -[out] -description -ADLX_MEMORYTIMING_DESCRIPTION* -The pointer to a variable where the memory timing description is returned. - -
-
-
-
-
-Return Value - -If the memory timing description is successfully returned, ADLX_OK is returned. - If the memory timing description is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.xml deleted file mode 100644 index c67b074..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__get_supported_memory_timing_description_list.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_GetSupportedMemoryTimingDescriptionList - GetSupportedMemoryTimingDescriptionList - -Gets the reference counted list of the supported memory timing description on a GPU. - - -Gets the reference counted list of the supported memory timing description on a GPU. -Syntax - - - ADLX_RESULT GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) - -Parameters - - - - -1. -[out] -ppDescriptionList -IADLXMemoryTimingDescriptionList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDescriptionList to nullptr. - -
-
-
-
-
-Return Value - -If the list of the supported memory timing description is successfully returned, ADLX_OK is returned. - If the list of the supported memory timing description is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.xml deleted file mode 100644 index dd59899..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__is_supported_memory_timing.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_IsSupportedMemoryTiming - IsSupportedMemoryTiming - -Checks if the memory timing is supported on a GPU. - - -Checks if the memory timing is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of memory timing is returned. The variable is true if memory timing is supported. The variable is false if memory timing is not supported. - -
-
-
-
-
-Return Value - -If the state of memory timing is successfully returned, ADLX_OK is returned. - If the state of memory timing is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.xml deleted file mode 100644 index 2749fd1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_max_v_r_a_m_frequency.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_SetMaxVRAMFrequency - SetMaxVRAMFrequency - -Sets the maximum VRAM frequency value on a GPU. - - -Sets the maximum VRAM frequency value on a GPU. -Syntax - - - ADLX_RESULT SetMaxVRAMFrequency (adlx_int freq) - -Parameters - - - - -1. -[in] -freq -adlx_int -The new max frequency value (in MHz). - -
-
-
-
-
-Return Value - -If the max frequency value is successfully set, ADLX_OK is returned. - If the max frequency value is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.xml deleted file mode 100644 index 2aedde2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_manual_v_r_a_m_tuning2__set_memory_timing_description.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXManualVRAMTuning2_SetMemoryTimingDescription - SetMemoryTimingDescription - -Sets the memory timing description on a GPU. - - -Sets the memory timing description on a GPU. -Syntax - - - ADLX_RESULT SetMemoryTimingLevel (ADLX_MEMORYTIMING_DESCRIPTION description) - -Parameters - - - - -1. -[in] -description -ADLX_MEMORYTIMING_DESCRIPTION -The new memory timing description. - -
-
-
-
-
-Return Value - -If the memory timing description is successfully set, ADLX_OK is returned. - If the memory timing description is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. -Requirements - - -Header -include "IGPUManualVRAMTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description.xml deleted file mode 100644 index 05ab00f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - DOX_IADLXMemoryTimingDescription - IADLXMemoryTimingDescription - GetDescription - - - -The IADLXMemoryTimingDescription interface provides the description of a memory timing. - -InterfaceId: -IADLXMemoryTimingDescription - - -Smart Pointer Interface Name: -IADLXMemoryTimingDescriptionPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetDescription -Gets the memory timing description. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample. - For a C application, refer to the ManualVRAMTuning C sample. - -GetDescription - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.xml deleted file mode 100644 index e339b74..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description__get_description.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXMemoryTimingDescription_GetDescription - GetDescription - -Gets the memory timing description. - - -Gets the memory timing description. -Syntax - - - ADLX_RESULT GetDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) - -Parameters - - - - -1. -[out] -description -ADLX_MEMORYTIMING_DESCRIPTION* -The pointer to a variable where the memory timing description is returned. - -
-
-
-
-
-Return Value - -If the memory timing description is successfully returned, ADLX_OK is returned. - If the memory timing description is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list.xml deleted file mode 100644 index 8007ce0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXMemoryTimingDescriptionList - IADLXMemoryTimingDescriptionList - Add_Back - At - - - -The IADLXMemoryTimingDescriptionList is an interface for a collection of IADLXMemoryTimingDescription interfaces that can be accessed by location. - -InterfaceId: -IADLXMemoryTimingDescriptionList - - -Smart Pointer Interface Name: -IADLXMemoryTimingDescriptionListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the ManualVRAMTuning C++ sample. - For a C application, refer to the ManualVRAMTuning C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.xml deleted file mode 100644 index 687be43..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__add__back.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXMemoryTimingDescriptionList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXMemoryTimingDescription* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXMemoryTimingDescription* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.xml deleted file mode 100644 index a27535d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_memory_timing_description_list__at.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXMemoryTimingDescriptionList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXMemoryTimingDescription** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXMemoryTimingDescription** -The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IGPUTuning.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services.xml deleted file mode 100644 index 6b7bb94..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services.xml +++ /dev/null @@ -1,184 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices - IADLXPerformanceMonitoringServices - ClearPerformanceMetricsHistory - GetAllMetricsHistory - GetCurrentAllMetrics - GetCurrentFPS - GetCurrentGPUMetrics - GetCurrentPerformanceMetricsHistorySize - GetCurrentSystemMetrics - GetFPSHistory - GetGPUMetricsHistory - GetMaxPerformanceMetricsHistorySize - GetMaxPerformanceMetricsHistorySizeRange - GetSamplingInterval - GetSamplingIntervalRange - GetSupportedGPUMetrics - GetSupportedSystemMetrics - GetSystemMetricsHistory - SetMaxPerformanceMetricsHistorySize - SetSamplingInterval - StartPerformanceMetricsTracking - StopPerformanceMetricsTracking - - - -The IADLXPerformanceMonitoringServices interface provides methods to configure the performance monitoring functionality and to obtain the performance data. - -InterfaceId: -IADLXPerformanceMonitoringServices - - -Smart Pointer Interface Name: -IADLXPerformanceMonitoringServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-The IADLXPerformanceMonitoringServices interface provides: -The configuration for the performance metric sampling. -The methods to start and stop the performance metric sampling. -Access to the data from the performance metric buffer. - - -Methods - - -Method -Description - - -ClearPerformanceMetricsHistory -Clears the buffer for performance monitoring. - - -GetAllMetricsHistory -Gets the reference counted list of all the metrics in a time interval. - - -GetCurrentAllMetrics -Gets the reference counted IADLXAllMetrics interface for the current metric set. - - -GetCurrentFPS -Gets the reference counted IADLXFPS interface for the current FPS metric. - - -GetCurrentGPUMetrics -Gets the reference counted IADLXGPUMetrics interface for the current metric set of a GPU. - - -GetCurrentPerformanceMetricsHistorySize -Gets the duration of the metrics history from the performance monitoring buffer. - - -GetCurrentSystemMetrics -Gets the reference counted IADLXSystemMetrics interface for the current metric set. - - -GetFPSHistory -Gets the reference counted list of FPS metrics in a time interval. - - -GetGPUMetricsHistory -Gets the reference counted list of GPU metrics in a time interval of a GPU. - - -GetMaxPerformanceMetricsHistorySize -Gets the duration of the performance monitoring buffer. - - -GetMaxPerformanceMetricsHistorySizeRange -Gets the maximum size, minimum size, and step size for the performance monitoring buffer. - - -GetSamplingInterval -Gets the sampling interval for performance monitoring. - - -GetSamplingIntervalRange -Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring. - - -GetSupportedGPUMetrics -Gets the reference counted interface for discovering what performance metrics are supported on a GPU. - - -GetSupportedSystemMetrics -Gets the reference counted interface for discovering what performance metrics are supported on the system. - - -GetSystemMetricsHistory -Gets the reference counted list of system metrics in a time interval. - - -SetMaxPerformanceMetricsHistorySize -Sets the duration of the performance monitoring buffer. - - -SetSamplingInterval -Sets the sampling interval for the performance monitoring. - - -StartPerformanceMetricsTracking -Increases the count for the performance metrics tracking. - - -StopPerformanceMetricsTracking -Decreases the count for the performance metrics tracking. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -ClearPerformanceMetricsHistory -GetAllMetricsHistory -GetCurrentAllMetrics -GetCurrentFPS -GetCurrentGPUMetrics -GetCurrentPerformanceMetricsHistorySize -GetCurrentSystemMetrics -GetFPSHistory -GetGPUMetricsHistory -GetMaxPerformanceMetricsHistorySize -GetMaxPerformanceMetricsHistorySizeRange -GetSamplingInterval -GetSamplingIntervalRange -GetSupportedGPUMetrics -GetSupportedSystemMetrics -GetSystemMetricsHistory -SetMaxPerformanceMetricsHistorySize -SetSamplingInterval -StartPerformanceMetricsTracking -StopPerformanceMetricsTracking - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.xml deleted file mode 100644 index a97fdef..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__clear_performance_metrics_history.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_ClearPerformanceMetricsHistory - ClearPerformanceMetricsHistory - -Clears the buffer for performance monitoring. - - -Clears the buffer for performance monitoring. -Syntax - - - ADLX_RESULT ClearPerformanceMetricsHistory () - -Parameters - -N/A -Return Value - -If the buffer of performance monitoring is successfully cleared, ADLX_OK is returned. - If the buffer of performance monitoring is not successfully cleared, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.xml deleted file mode 100644 index 6dc000a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_all_metrics_history.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory - GetAllMetricsHistory - -Gets the reference counted list of all the metrics in a time interval. - - -Gets the reference counted list of all the metrics in a time interval. -Syntax - - - ADLX_RESULT GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList) - -Parameters - - - - -1. -[in] -startMs -adlx_int -The start time of the time interval (in millisecond). - -
-
-
-
- - - -1. -[in] -stopMs -adlx_int -The stop time of the time interval (in millisecond). - -
-
-
-
- - - -1. -[out] -ppMetricsList -IADLXAllMetricsList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Use the startMs and stopMs to specify the time intervals for fetching the history. -To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms. - - - -The returned interface must be discarded with Release when it is no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.xml deleted file mode 100644 index 184a397..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_all_metrics.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetCurrentAllMetrics - GetCurrentAllMetrics - -Gets the reference counted IADLXAllMetrics interface for the current metric set. - - -Gets the reference counted IADLXAllMetrics interface for the current metric set. -Syntax - - - ADLX_RESULT GetCurrentAllMetrics (IADLXAllMetrics** ppMetrics) - -Parameters - - - - -1. -[out] -ppMetrics -IADLXAllMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the current interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetAllMetricsHistory. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.xml deleted file mode 100644 index a9a761f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_f_p_s.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetCurrentFPS - GetCurrentFPS - -Gets the reference counted IADLXFPS interface for the current FPS metric. - - -Gets the reference counted IADLXFPS interface for the current FPS metric. -Syntax - - - ADLX_RESULT GetCurrentFPS (IADLXFPS** ppMetrics) - -Parameters - - - - -1. -[out] -ppMetrics -IADLXFPS** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetFPSHistory. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.xml deleted file mode 100644 index d23b231..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_g_p_u_metrics.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetCurrentGPUMetrics - GetCurrentGPUMetrics - -Gets the reference counted IADLXGPUMetrics interface for the current metric set of a GPU. - - -Gets the reference counted IADLXGPUMetrics interface for the current metric set of a GPU. -Syntax - - - ADLX_RESULT GetCurrentGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppMetrics -IADLXGPUMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetGPUMetricsHistory. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.xml deleted file mode 100644 index 2eadb06..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_performance_metrics_history_size.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetCurrentPerformanceMetricsHistorySize - GetCurrentPerformanceMetricsHistorySize - -Gets the duration of the metrics history from the performance monitoring buffer. - - -Gets the duration of the metrics history from the performance monitoring buffer. -Syntax - - - ADLX_RESULT GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec) - -Parameters - - - - -1. -[out] -sizeSec -adlx_int* -The pointer to a variable where the duration (in second) is returned. - -
-
-
-
-
-Return Value - -If the duration is successfully returned, ADLX_OK is returned. - If the duration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The buffer duration ranges between 50 s and 100 s. The default size is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.xml deleted file mode 100644 index 8ba4be2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_current_system_metrics.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetCurrentSystemMetrics - GetCurrentSystemMetrics - -Gets the reference counted IADLXSystemMetrics interface for the current metric set. - - -Gets the reference counted IADLXSystemMetrics interface for the current metric set. -Syntax - - - ADLX_RESULT GetCurrentSystemMetrics (IADLXSystemMetrics** ppMetrics) - -Parameters - - - - -1. -[out] -ppMetrics -IADLXSystemMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetrics to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use GetSystemMetricsHistory. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.xml deleted file mode 100644 index 03558f7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_f_p_s_history.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetFPSHistory - GetFPSHistory - -Gets the reference counted list of FPS metrics in a time interval. - - -Gets the reference counted list of FPS metrics in a time interval. -Syntax - - - ADLX_RESULT GetFPSHistory (adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList) - -Parameters - - - - -1. -[in] -startMs -adlx_int -The start time of the time interval (in millisecond). - -
-
-
-
- - - -2. -[in] -stopMs -adlx_int -The stop time of the time interval (in millisecond). - -
-
-
-
- - - -3. -[out] -ppMetricsList -IADLXFPSList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Use the startMs and stopMs to specify the time intervals for fetching the history. -To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms. - - - -The returned interface must be discarded with Release when it is no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. - Note: The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.xml deleted file mode 100644 index 23578dc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_g_p_u_metrics_history.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory - GetGPUMetricsHistory - -Gets the reference counted list of GPU metrics in a time interval of a GPU. - - -Gets the reference counted list of GPU metrics in a time interval of a GPU. -Syntax - - - ADLX_RESULT GetGPUMetricsHistory (IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[in] -startMs -adlx_int -The start time of the time interval (in millisecond). - -
-
-
-
- - - -3. -[in] -stopMs -adlx_int -The stop time of the time interval (in millisecond). - -
-
-
-
- - - -4. -[out] -ppMetricsList -IADLXGPUMetricsList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Use the startMs and stopMs to specify the time intervals for fetching the history. -To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms. - - - -The returned interface must be discarded with Release when it is no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.xml deleted file mode 100644 index 55a42fb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySize - GetMaxPerformanceMetricsHistorySize - -Gets the duration of the performance monitoring buffer. - - -Gets the duration of the performance monitoring buffer. -Syntax - - - ADLX_RESULT GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec) - -Parameters - - - - -1. -[out] -sizeSec -adlx_int* -The pointer to a variable where the buffer duration (in second) is returned. - -
-
-
-
-
-Return Value - -If the buffer duration is successfully returned, ADLX_OK is returned. - If the buffer duration is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Obtain the buffer duration range with GetMaxPerformanceMetricsHistorySizeRange. The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.xml deleted file mode 100644 index 5e446a7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_max_performance_metrics_history_size_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange - GetMaxPerformanceMetricsHistorySizeRange - -Gets the maximum size, minimum size, and step size for the performance monitoring buffer. - - -Gets the maximum size, minimum size, and step size for the performance monitoring buffer. -Syntax - - - ADLX_RESULT GetMaxPerformanceMetricsHistorySizeRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the buffer size range (in second) is returned. - -
-
-
-
-
-Return Value - -If the buffer size range is successfully returned, ADLX_OK is returned. - If the buffer size range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum buffer size, minimum buffer size, and step buffer size are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.xml deleted file mode 100644 index c2ec5ea..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetSamplingInterval - GetSamplingInterval - -Gets the sampling interval for performance monitoring. - - -Gets the sampling interval for performance monitoring. -Syntax - - - ADLX_RESULT GetSamplingInterval (adlx_int* intervalMs) - -Parameters - - - - -1. -[out] -intervalMs -adlx_int* -The pointer to a variable where the sampling interval (in millisecond) is returned. - -
-
-
-
-
-Return Value - -If the sampling interval is successfully returned, ADLX_OK is returned. - If the sampling interval is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The sampling interval is the time gap between two samples. Obtain the sampling interval range with GetSamplingIntervalRange. The default sampling interval is 1000 ms. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.xml deleted file mode 100644 index 39f35c3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_sampling_interval_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange - GetSamplingIntervalRange - -Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring. - - -Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring. -Syntax - - - ADLX_RESULT GetSamplingIntervalRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the sampling interval range (in millisecond) is returned. - -
-
-
-
-
-Return Value - -If the sampling interval range is successfully returned, ADLX_OK is returned. - If the sampling interval range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The maximum sampling interval, minimum sampling interval, and step sampling interval are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.xml deleted file mode 100644 index 6a5e5f0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_g_p_u_metrics.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetSupportedGPUMetrics - GetSupportedGPUMetrics - -Gets the reference counted interface for discovering what performance metrics are supported on a GPU. - - -Gets the reference counted interface for discovering what performance metrics are supported on a GPU. -Syntax - - - ADLX_RESULT GetSupportedGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppMetricsSupported -IADLXGPUMetricsSupport** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsSupported to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.xml deleted file mode 100644 index 29e09f9..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_supported_system_metrics.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetSupportedSystemMetrics - GetSupportedSystemMetrics - -Gets the reference counted interface for discovering what performance metrics are supported on the system. - - -Gets the reference counted interface for discovering what performance metrics are supported on the system. -Syntax - - - ADLX_RESULT GetSupportedSystemMetrics (IADLXSystemMetricsSupport** ppMetricsSupported) - -Parameters - - - - -1. -[out] -ppMetricsSupported -IADLXSystemMetricsSupport** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsSupported to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.xml deleted file mode 100644 index 853809f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__get_system_metrics_history.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory - GetSystemMetricsHistory - -Gets the reference counted list of system metrics in a time interval. - - -Gets the reference counted list of system metrics in a time interval. -Syntax - - - ADLX_RESULT GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList) - -Parameters - - - - -1. -[in] -startMs -adlx_int -The start time of the time interval (in millisecond). - -
-
-
-
- - - -2. -[in] -stopMs -adlx_int -The stop time of the time interval (in millisecond). - -
-
-
-
- - - -3. -[out] -ppMetricsList -IADLXSystemMetricsList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppMetricsList to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Use the startMs and stopMs to specify the time intervals for fetching the history. -To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the startMs and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to the present time, specify startMs as A ms and stopMs as zero. - -To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify startMs as A ms and stopMs as B ms. - - - -The returned interface must be discarded with Release when it is no longer needed. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.xml deleted file mode 100644 index e982d5c..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_max_performance_metrics_history_size.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_SetMaxPerformanceMetricsHistorySize - SetMaxPerformanceMetricsHistorySize - -Sets the duration of the performance monitoring buffer. - - -Sets the duration of the performance monitoring buffer. -Syntax - - - ADLX_RESULT SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec) - -Parameters - - - - -1. -[in] -sizeSec -adlx_int -The buffer duration (in second). - -
-
-
-
-
-Return Value - -If the buffer duration is successfully set, ADLX_OK is returned. - If the buffer duration is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Obtain the buffer duration range with GetMaxPerformanceMetricsHistorySizeRange. The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.xml deleted file mode 100644 index 3857adf..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__set_sampling_interval.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_SetSamplingInterval - SetSamplingInterval - -Sets the sampling interval for the performance monitoring. - - -Sets the sampling interval for the performance monitoring. -Syntax - - - ADLX_RESULT SetSamplingInterval (adlx_int intervalMs) - -Parameters - - - - -1. -[in] -intervalMs -adlx_int -The sampling interval (in millisecond). - -
-
-
-
-
-Return Value - -If the sampling interval is successfully set, ADLX_OK is returned. - If the sampling interval is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The sampling interval is the time gap between two samples. Obtain the sampling interval range with GetSamplingIntervalRange. The default sampling interval is 1000 ms. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.xml deleted file mode 100644 index cbb63a5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__start_performance_metrics_tracking.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_StartPerformanceMetricsTracking - StartPerformanceMetricsTracking - -Increases the count for the performance metrics tracking. - - -Increases the count for the performance metrics tracking. -Syntax - - - ADLX_RESULT StartPerformanceMetricsTracking () - -Parameters - -N/A -Return Value - -If the count is successfully increased, ADLX_OK is returned. - If the count is not successfully increased, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the StartPerformanceMetricsTracking. The count is increased by one every time the tracking starts. - By default, the count is zero. The monitoring starts when the first call is made and the count increases by one. - If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.xml deleted file mode 100644 index 3e140e3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_performance_monitoring_services__stop_performance_metrics_tracking.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - DOX_IADLXPerformanceMonitoringServices_StopPerformanceMetricsTracking - StopPerformanceMetricsTracking - -Decreases the count for the performance metrics tracking. - - -Decreases the count for the performance metrics tracking. -Syntax - - - ADLX_RESULT StopPerformanceMetricsTracking () - -Parameters - -N/A -Return Value - -If the count is successfully decreased, ADLX_OK is returned. - If the count is not successfully decreased, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes -Remarks - -ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the StopPerformanceMetricsTracking. - When the StopPerformanceMetricsTracking is called, the count is decreased by one. When the count reaches zero, the monitoring stops. - If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event.xml deleted file mode 100644 index d7d54f6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedEvent - IADLXPowerTuningChangedEvent - IsSmartShiftMaxChanged - - - -The IADLXPowerTuningChangedEvent interface provides methods to check for changes to the power tuning settings. - -InterfaceId: -IADLXPowerTuningChangedEvent - - -Smart Pointer Interface Name: -IADLXPowerTuningChangedEventPtr - - -Inherits: -IADLXChangedEvent - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsSmartShiftMaxChanged -Checks for changes to the AMD SmartShift Max settings. - -
-
-Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample. - For a C application, refer to the SyncPowerTuning C sample. - -IsSmartShiftMaxChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.xml deleted file mode 100644 index ad85fc6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_event__is_smart_shift_max_changed.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedEvent_IsSmartShiftMaxChanged - IsSmartShiftMaxChanged - -Checks for changes to the AMD SmartShift Max settings. - - -Checks for changes to the AMD SmartShift Max settings. -Syntax - - - adlx_bool IsSmartShiftMaxChanged () - -Parameters - -N/A -Return Value - -If there are any changes to the AMD SmartShift Max settings, true is returned. - If there are on changes to the AMD SmartShift Max settings, false is returned. - -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.xml deleted file mode 100644 index 222342f..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedHandling - IADLXPowerTuningChangedHandling - AddPowerTuningEventListener - RemovePowerTuningEventListener - - - -The IADLXPowerTuningChangedHandling interface enables the registering and unregistering for event listener notifications whenever power tuning settings are changed. - -InterfaceId: -IADLXPowerTuningChangedHandling - - -Smart Pointer Interface Name: -IADLXPowerTuningChangedHandlingPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -AddPowerTuningEventListener -Registers an event listener for notifications whenever power tuning settings are changed. - - -RemovePowerTuningEventListener -Unregisters an event listener from the power tuning settings event list. - -
-
-Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample. - For a C application, refer to the SyncPowerTuning C sample. - -AddPowerTuningEventListener -RemovePowerTuningEventListener - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.xml deleted file mode 100644 index f600169..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__add_power_tuning_event_listener.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedHandling_AddPowerTuningEventListener - AddPowerTuningEventListener - -Registers an event listener for notifications whenever power tuning settings are changed. - - -Registers an event listener for notifications whenever power tuning settings are changed. -Syntax - - - ADLX_RESULT AddPowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener) - -Parameters - - - - -1. -[in] -pPowerTuningChangedListener -IADLXPowerTuningChangedListener* -The pointer to the event listener interface to register for receiving power tuning settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully registered, ADLX_OK is returned. - If the event listener is not successfully registered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Once the event listener is successfully registered, ADLX calls the OnPowerTuningChanged listener method whenever power tuning settings are changed. - The event listener instance must exist until the application unregisters the event listener with RemovePowerTuningEventListener. - -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.xml deleted file mode 100644 index 800dc12..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_handling__remove_power_tuning_event_listener.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedHandling_RemovePowerTuningEventListener - RemovePowerTuningEventListener - -Unregisters an event listener from the power tuning settings event list. - - -Unregisters an event listener from the power tuning settings event list. -Syntax - - - ADLX_RESULT RemovePowerTuningEventListener (IADLXPowerTuningChangedListener* pPowerTuningChangedListener) - -Parameters - - - - -1. -[in] -pPowerTuningChangedListener -IADLXPowerTuningChangedListener* -The pointer to the event listener interface to unregister from receiving power tuning settings change notifications. - -
-
-
-
-
-Return Value - -If the event listener is successfully unregistered, ADLX_OK is returned. - If the event listener is not successfully unregistered, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Once the event listener is successfully unregistered, ADLX will no longer call the OnPowerTuningChanged listener method when power tuning settings are changed. The application can discard the event listener instance. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.xml deleted file mode 100644 index 3e20cae..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedListener - IADLXPowerTuningChangedListener - OnPowerTuningChanged - - - -The IADLXPowerTuningChangedListener interface is implemented in the application to receive an event from ADLX when power tuning settings change. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-An instance of the implemented IADLXPowerTuningChangedListener interface must be passed to AddPowerTuningEventListener to register for notifications when the power tuning settings changes. - For more information about subscribing for event notifications, refer to Subscribing to Event Notifications using ADLX. - -Methods - - -Method -Description - - -OnPowerTuningChanged -OnPowerTuningChanged is called by ADLX when power tuning settings change. - -
-
-Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SyncPowerTuning C++ sample. - For a C application, refer to the SyncPowerTuning C sample. - -OnPowerTuningChanged - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.xml deleted file mode 100644 index 470303b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_changed_listener__on_power_tuning_changed.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXPowerTuningChangedListener_OnPowerTuningChanged - OnPowerTuningChanged - -OnPowerTuningChanged is called by ADLX when power tuning settings change. - - -OnPowerTuningChanged is called by ADLX when power tuning settings change. -Syntax - - - adlx_bool OnPowerTuningChanged (IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent) - -Parameters - - - - -1. -[in] -pPowerTuningChangedEvent -IADLXPowerTuningChangedEvent* -The pointer to a power tuning settings change event. - -
-
-
-
-
-Return Value - -If the application requires ADLX to continue notifying the next listener, true must be returned. - If the application requires ADLX to stop notifying the next listener, false must be returned. - -Remarks - -Once the application registers to the notifications with AddPowerTuningEventListener, ADLX will call this method until the application unregisters from the notifications with RemovePowerTuningEventListener. The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the power tuning settings change event with Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the power tuning settings change event with Release. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services.xml deleted file mode 100644 index c6561d7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXPowerTuningServices - IADLXPowerTuningServices - GetPowerTuningChangedHandling - GetSmartShiftMax - - - -The IADLXPowerTuningServices is the main interface for the Power Tuning domain and provides access to interfaces that control specific power tuning features, such as AMD SmartShift Max. - -InterfaceId: -IADLXPowerTuningServices - - -Smart Pointer Interface Name: -IADLXPowerTuningServicesPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetPowerTuningChangedHandling -Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change. - - -GetSmartShiftMax -Gets the reference counted AMD SmartShift Max interface. - -
-
-Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample. - For a C application, refer to the SmartShiftMax C sample. - -GetPowerTuningChangedHandling -GetSmartShiftMax - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.xml deleted file mode 100644 index c1af0ad..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_power_tuning_changed_handling.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXPowerTuningServices_GetPowerTuningChangedHandling - GetPowerTuningChangedHandling - -Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change. - - -Gets the reference counted interface that allows registering and unregistering for notifications when power tuning settings change. -Syntax - - - ADLX_RESULT GetPowerTuningChangedHandling (IADLXPowerTuningChangedHandling** ppPowerTuningChangedHandling) - -Parameters - - - - -1. -[out] -ppPowerTuningChangedHandling -IADLXPowerTuningChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*ppPowerTuningChangedHandling tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.xml deleted file mode 100644 index f78fabc..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_power_tuning_services__get_smart_shift_max.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXPowerTuningServices_GetSmartShiftMax - GetSmartShiftMax - -Gets the reference counted AMD SmartShift Max interface. - - -Gets the reference counted AMD SmartShift Max interface. -Syntax - - - ADLX_RESULT GetSmartShiftMax (IADLXSmartShiftMax** ppSmartShiftMax) - -Parameters - - - - -1. -[out] -ppSmartShiftMax -IADLXSmartShiftMax** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*ppSmartShiftMax tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity.xml deleted file mode 100644 index 0ddebc7..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - DOX_IADLXSimpleEyefinity - IADLXSimpleEyefinity - Create - Destroy - DestroyAll - IsSupported - - - -The IADLXSimpleEyefinity interface creates and destroys AMD Eyefinity desktops. - -InterfaceId: -IADLXSimpleEyefinity - - -Smart Pointer Interface Name: -IADLXSimpleEyefinityPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-To get the IADLXSimpleEyefinity, an application should get a list of desktops first via IADLXDesktopServices interface. -Methods - - -Method -Description - - -Create -Creates an AMD Eyefinity desktop with all the enabled displays. - - -Destroy -Destroys a specified AMD Eyefinity desktop. - - -DestroyAll -Destroys all the AMD Eyefinity desktops. - - -IsSupported -Checks if an AMD Eyefinity desktop can be created with all the enabled displays. - -
-
-Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the Eyefinity C++ sample. - For a C application, refer to the Eyefinity C sample. - -Create -Destroy -DestroyAll -IsSupported - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__create.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__create.xml deleted file mode 100644 index 94975d0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__create.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - DOX_IADLXSimpleEyefinity_Create - Create - -Creates an AMD Eyefinity desktop with all the enabled displays. - - -Creates an AMD Eyefinity desktop with all the enabled displays. -Syntax - - - ADLX_RESULT Create (IADLXEyefinityDesktop** ppEyefinityDesktop) - -Parameters - - - - -1. -[out] -ppEyefinityDesktop -IADLXEyefinityDesktop** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address*ppEyefinityDesktop tonullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Use IsSupported to check if an AMD Eyefinity desktop can be created. - Creating an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished. - The returned interface must be discarded with Release when it is no longer needed. Discarding the interface does not destroy the AMD Eyefinity desktop. - -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.xml deleted file mode 100644 index 4adc966..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSimpleEyefinity_Destroy - Destroy - -Destroys a specified AMD Eyefinity desktop. - - -Destroys a specified AMD Eyefinity desktop. -Syntax - - - ADLX_RESULT Destroy (IADLXEyefinityDesktop* pDesktop) - -Parameters - - - - -1. -[in] -pDesktop -IADLXEyefinityDesktop* -The pointer to the eyefinity desktop to be destroyed. - -
-
-
-
-
-Return Value - -If the AMD Eyefinity desktop is successfully destroyed, ADLX_OK is returned. - If the AMD Eyefinity desktop is not successfully destroyed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Destroying an AMD Eyefinity desktop can take a couple of seconds to complete. The method will block the execution thread until the operation is finished. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.xml deleted file mode 100644 index 07ebd71..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__destroy_all.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - DOX_IADLXSimpleEyefinity_DestroyAll - DestroyAll - -Destroys all the AMD Eyefinity desktops. - - -Destroys all the AMD Eyefinity desktops. -Syntax - - - ADLX_RESULT DestroyAll () - -Return Value - -If all AMD Eyefinity desktops are successfully destroyed, ADLX_OK is returned. - If all AMD Eyefinity desktops are not successfully destroyed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -Destroying all AMD Eyefinity desktops can take a couple of seconds to complete. The method will block the execution thread until the operation is finished. -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.xml deleted file mode 100644 index e0beded..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_simple_eyefinity__is_supported.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXSimpleEyefinity_IsSupported - IsSupported - -Checks if an AMD Eyefinity desktop can be created with all the enabled displays. - - -Checks if an AMD Eyefinity desktop can be created with all the enabled displays. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD Eyefinity desktop creation is returned. The variable is true if AMD Eyefinity desktop creation is supported. The variable is false if AMD Eyefinity desktop creation is not supported. - -
-
-
-
-
-Return Value - -If the state is successfully returned, ADLX_OK is returned. - If the state is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -AMD Eyefinity desktops can be created with ADLX using all the enabled displays connected to the AMD GPUs, except LCD panel displays. For more information about AMD GPUs, refer to ADLX GPU Support. Use DisplayType to check if a display is an LCD panel. - All the desktops must be single desktops. Use Type to check if a desktop is a single desktop. - All the enabled displays must be connected to the same GPU. - The AMD Eyefinity desktop configuration must be supported by the AMD driver. Driver support varies depending on the GPU. - -Requirements - - -Header -include "IDesktops.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory.xml deleted file mode 100644 index e705523..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - DOX_IADLXSmartAccessMemory - IADLXSmartAccessMemory - IsEnabled - IsSupported - SetEnabled - - - -The IADLXSmartAccessMemory interface enables AMD Ryzen processors to utilize the full potential of the graphics card memory by utilizing the bandwidth of PCI Express� to reduce bottlenecks and increase gaming performance, especially in an all-AMD setup. - -InterfaceId: -IADLXSmartAccessMemory - - -Smart Pointer Interface Name: -IADLXSmartAccessMemoryPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -IsEnabled -Checks if AMD SmartAccess Memory is enabled on a GPU. - - -IsSupported -Checks if AMD SmartAccess Memory is supported on a GPU. - - -SetEnabled -Enable or disable the state of AMD SmartAccess Memory on a GPU. - -
-
-Requirements - - -Header -include "ISmartAccessMemory.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SmartAccessMemory C++ sample. - For a C application, refer to the SmartAccessMemory C sample. - -IsEnabled -IsSupported -SetEnabled - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.xml deleted file mode 100644 index 6bf2afa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_enabled.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - DOX_IADLXSmartAccessMemory_IsEnabled - IsEnabled - -Checks if AMD SmartAccess Memory is enabled on a GPU. - - -Checks if AMD SmartAccess Memory is enabled on a GPU. -Syntax - - - ADLX_RESULT IsEnabled (adlx_bool* enabled) - -Parameters - - - - -1. -[out] -enabled -adlx_bool* -The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is enabled. The variable is false if AMD SmartAccess Memory is not enabled. - -
-
-
-
-
-Return Value - -If the state of AMD SmartAccess Memory is successfully returned, ADLX_OK is returned. - If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Requirements - - -Header -include "ISmartAccessMemory.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.xml deleted file mode 100644 index 6551750..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__is_supported.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSmartAccessMemory_IsSupported - IsSupported - -Checks if AMD SmartAccess Memory is supported on a GPU. - - -Checks if AMD SmartAccess Memory is supported on a GPU. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD SmartAccess Memory is returned. The variable is true if AMD SmartAccess Memory is supported. The variable is false if AMD SmartAccess Memory is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD SmartAccess Memory is successfully returned, ADLX_OK is returned. - If the state of AMD SmartAccess Memory is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "ISmartAccessMemory.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.xml deleted file mode 100644 index fb11cfe..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_access_memory__set_enabled.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXSmartAccessMemory_SetEnabled - SetEnabled - -Enable or disable the state of AMD SmartAccess Memory on a GPU. - - -Enable or disable the state of AMD SmartAccess Memory on a GPU. -Syntax - - - ADLX_RESULT SetEnabled (adlx_bool enable) - -Parameters - - - - -1. -[in] -enable -adlx_bool -The new AMD SmartAccess Memory state. Set true to enable AMD SmartAccess Memory. Set false to disable AMD SmartAccess Memory. - -
-
-
-
-
-Return Value - -If the state of AMD SmartAccess Memory is successfully set, ADLX_OK is returned. - If the state of AMD SmartAccess Memory is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The SetEnabled method triggers an asynchronous operation that results in changing the maximum size of VRAM of a GPU that the CPU can address. - While this operation is in progress, the applications that run in the context of the GPU or make calls in the driver for the GPU will behave unexpectedly. Before making this call, ensure that these applications release the GPU context, such as by closing their user interfaces, and that they will not make calls into the GPU driver during this operation. This procedure will allow those applications to continue to function correctly during and after the operation is completed. - To learn when the operation is completed, register an event listener interface using GetGPUTuningChangedHandling before calling SetEnabled. ADLX will call OnGPUTuningChanged into the event listener interface twice during the asynchronous execution of SetEnabled: once before the operation is started, and the second time, after the operation is completed. Use IsSmartAccessMemoryChanged and GetSmartAccessMemoryStatus to discover the state of this operation. -Requirements - - -Header -include "ISmartAccessMemory.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max.xml deleted file mode 100644 index 1a7e3a0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - DOX_IADLXSmartShiftMax - IADLXSmartShiftMax - GetBias - GetBiasMode - GetBiasRange - IsSupported - SetBias - SetBiasMode - - - -The IADLXSmartShiftMax interface configures the AMD SmartShift Max settings. AMD SmartShift Max boosts performance by dynamically shifting power between the CPU and the GPU. - -InterfaceId: -IADLXSmartShiftMax - - -Smart Pointer Interface Name: -IADLXSmartShiftMaxPtr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -GetBias -Gets the AMD SmartShift Max current bias. - - -GetBiasMode -Gets the AMD SmartShift Max current bias mode. - - -GetBiasRange -Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max. - - -IsSupported -Checks if AMD SmartShift Max is supported. - - -SetBias -Sets the bias of AMD SmartShift Max. - - -SetBiasMode -Sets AMD SmartShift Max bias mode. - -
-
-Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample. - For a C application, refer to the SmartShiftMax C sample. - -GetBias -GetBiasMode -GetBiasRange -IsSupported -SetBias -SetBiasMode - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.xml deleted file mode 100644 index 9b5d56d..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_GetBias - GetBias - -Gets the AMD SmartShift Max current bias. - - -Gets the AMD SmartShift Max current bias. -Syntax - - - ADLX_RESULT GetBias (adlx_int* bias) - -Parameters - - - - -1. -[out] -bias -adlx_int* -The pointer to a variable where the AMD SmartShift Max current bias is returned. - -
-
-
-
-
-Return Value - -If the current bias is successfully returned, ADLX_OK is returned. - If the current bias is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.xml deleted file mode 100644 index 890e030..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_GetBiasMode - GetBiasMode - -Gets the AMD SmartShift Max current bias mode. - - -Gets the AMD SmartShift Max current bias mode. -Syntax - - - ADLX_RESULT GetBiasMode (ADLX_SSM_BIAS_MODE* mode) - -Parameters - - - - -1. -[out] -mode -ADLX_SSM_BIAS_MODE* -The pointer to a variable where the AMD SmartShift Max current bias mode is returned. - -
-
-
-
-
-Return Value - -If the current bias mode is successfully returned, ADLX_OK is returned. - If the current bias mode is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance according to workload dependencies. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.xml deleted file mode 100644 index a76b708..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__get_bias_range.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_GetBiasRange - GetBiasRange - -Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max. - - -Gets maximum bias, minimum bias, and step bias of AMD SmartShift Max. -Syntax - - - ADLX_RESULT GetBiasRange (ADLX_IntRange* range) - -Parameters - - - - -1. -[out] -range -ADLX_IntRange* -The pointer to a variable where the bias range of AMD SmartShift Max is returned. - -
-
-
-
-
-Return Value - -If the bias range is successfully returned, ADLX_OK is returned. - If the bias range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.xml deleted file mode 100644 index f242f22..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__is_supported.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_IsSupported - IsSupported - -Checks if AMD SmartShift Max is supported. - - -Checks if AMD SmartShift Max is supported. -Syntax - - - ADLX_RESULT IsSupported (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of AMD SmartShift Max is returned. The variable is true if AMD SmartShift Max is supported. The variable is false if AMD SmartShift Max is not supported. - -
-
-
-
-
-Return Value - -If the state of AMD SmartShift Max is successfully returned, ADLX_OK is returned. - If the state of AMD SmartShift Max is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.xml deleted file mode 100644 index b71f9df..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_SetBias - SetBias - -Sets the bias of AMD SmartShift Max. - - -Sets the bias of AMD SmartShift Max. -Syntax - - - ADLX_RESULT SetBias (adlx_int bias) - -Parameters - - - - -1. -[in] -bias -adlx_int -The new AMD SmartShift Max bias. - -
-
-
-
-
-Return Value - -If the bias is successfully set, ADLX_OK is returned. - If the bias is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.xml deleted file mode 100644 index 85134a5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_smart_shift_max__set_bias_mode.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSmartShiftMax_SetBiasMode - SetBiasMode - -Sets AMD SmartShift Max bias mode. - - -Sets AMD SmartShift Max bias mode. -Syntax - - - ADLX_RESULT SetBiasMode (ADLX_SSM_BIAS_MODE mode) - -Parameters - - - - -1. -[in] -mode -ADLX_SSM_BIAS_MODE -The new AMD SmartShift Max bias mode. - -
-
-
-
-
-Return Value - -If the bias mode is successfully set, ADLX_OK is returned. - If the bias mode is not successfully set, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Additional Info - -AMD SmartShift Max dynamically shifts power between CPU and GPU to boost performance, depending on workload. -Requirements - - -Header -include "IPowerTuning.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system.xml deleted file mode 100644 index 2902bf1..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - DOX_IADLXSystem - IADLXSystem - EnableLog - Get3DSettingsServices - GetDesktopsServices - GetDisplaysServices - GetGPUTuningServices - GetGPUs - GetGPUsChangedHandling - GetI2C - GetPerformanceMonitoringServices - HybridGraphicsType - QueryInterface - TotalSystemRAM - - - -The IADLXSystem is the main interface to ADLX and provides platform-specific functionality. - -InterfaceId: -N/A - - -Smart Pointer Interface Name: -N/A - - -Inherits: -N/A - - -Inherited By: -N/A - -
-
-Examples of functionality in IADLXSystem interface include: -Obtains the list of GPUs in the system. -Obtains the interface that allows registering and unregistering for notifications when the GPU list changes. -Obtains generic information about the system, such as if this is a Hybrid Graphics system. -Provides access to main interfaces of the other domains, such as the Display domain. -Enables logging in ADLX. -Obtains extension interfaces to IADLXSystem. - - -The IADLXSystem interface is managed by ADLX and it exists from the ADLX initialization until termination. Lifetime management is not required from the application. Example, maintaining a reference counting or deleting the interface pointer. In C++ there is no smart pointer definition for IADLXSystem interface. - -The IADLXSystem interface is obtained during ADLX initialization. For more information about obtaining the IADLXSystem interface, refer to To access the ADLX System interface. - -Methods - - -Method -Description - - -EnableLog -Enables logging in ADLX. - - -Get3DSettingsServices -Gets the reference counted main interface to the 3D Graphics domain. - - -GetDesktopsServices -Gets the reference counted main interface to the Desktop domain. - - -GetDisplaysServices -Gets the reference counted main interface to the Display domain. - - -GetGPUTuningServices -Gets the reference counted main interface to the GPU Tuning domain. - - -GetGPUs -Gets the reference counted list of AMD GPUs. - - -GetGPUsChangedHandling -Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes. - - -GetI2C -Gets the reference counted I2C interface of a GPU. - - -GetPerformanceMonitoringServices -Gets the reference counted main interface to the Performance Monitoring domain. - - -HybridGraphicsType -Gets the hybrid graphics type of the system. - - -QueryInterface -Gets reference counted extension interfaces to IADLXSystem. - - -TotalSystemRAM -Gets the size of the total RAM on this system. - -
-
-Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the GPUs C++ sample. - For a C application, refer to the GPUs C sample. - -EnableLog -Get3DSettingsServices -GetDesktopsServices -GetDisplaysServices -GetGPUTuningServices -GetGPUs -GetGPUsChangedHandling -GetI2C -GetPerformanceMonitoringServices -HybridGraphicsType -QueryInterface -TotalSystemRAM - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1.xml deleted file mode 100644 index 814a0fb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXSystem1 - IADLXSystem1 - GetPowerTuningServices - - - -The IADLXSystem1 is an extension interface to IADLXSystem. It provides access to the main interface of the Power Tuning domain. - -InterfaceId: -IADLXSystem1 - - -Smart Pointer Interface Name: -IADLXSystem1Ptr - - -Inherits: -IADLXInterface - - -Inherited By: -N/A - -
-
-The IADLXSystem1 interface is obtained from the IADLXSystem using QueryInterface. -Methods - - -Method -Description - - -GetPowerTuningServices -Gets the reference counted main interface to the Power Tuning domain. - -
-
-Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the SmartShiftMax C++ sample. - For a C application, refer to the SmartShiftMax C sample. - -GetPowerTuningServices - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.xml deleted file mode 100644 index d7c2bf6..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system1__get_power_tuning_services.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXSystem1_GetPowerTuningServices - GetPowerTuningServices - -Gets the reference counted main interface to the Power Tuning domain. - - -Gets the reference counted main interface to the Power Tuning domain. -Syntax - - - ADLX_RESULT GetPowerTuningServices (IADLXPowerTuningServices** ppPowerTuningServices) - -Parameters - - - - -1. -[out] -ppPowerTuningServices -IADLXPowerTuningServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPowerTuningServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__enable_log.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__enable_log.xml deleted file mode 100644 index a294978..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__enable_log.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - DOX_IADLXSystem_EnableLog - EnableLog - -Enables logging in ADLX. - - -Enables logging in ADLX. -Syntax - - - ADLX_RESULT EnableLog (ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName) - -Parameters - - - - -1. -[in] -mode -ADLX_LOG_DESTINATION -The log destination. - -
-
-
-
- - - -2. -[in] -severity -ADLX_LOG_SEVERITY -The logging severity. - -
-
-
-
- - - -3. -[in] -pLogger -IADLXLog* -The pointer to the log interface to receive log messages from ADLX. - -
-
-
-
- - - -4. -[in] -fileName -const wchar_t* -The zero-terminated string that specifies the path of the log file. - -
-
-
-
-
-Return Value - -If EnableLog is successfully executed, ADLX_OK is returned. - If EnableLog is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -By default, ADLX logging is disabled. Use EnableLog to configure log destination and severity. - -To configure the log destination into a file, specify the mode parameter as LOCALFILE and provide the file path in the filename parameter. The pLogger parameter must be nullptr. - -To configure the log destination into the output window of the debugger, specify the mode parameter as DBGVIEW. The filename and pLogger parameters must be nullptr. - -To configure the log destination to be sent as a string into the application, specify the mode parameter as APPLICATION. Implement the IADLXLog interface in the application and pass a pointer to an instance of that interface into the pLogger parameter. The log instance must exist until ADLX is terminated. The filename parameter must be nullptr. - -To obtain the error messages in the ADLX execution code, specify the severity parameter as LERROR. - -To obtain the error and warning messages in the ADLX execution code, specify the severity parameter as LWARNING. - -To obtain error, warning, and debug tracing messages in the ADLX execution code, specify the severity parameter as LDEBUG. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.xml deleted file mode 100644 index ce954ff..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get3_d_settings_services.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXSystem_Get3DSettingsServices - Get3DSettingsServices - -Gets the reference counted main interface to the 3D Graphics domain. - - -Gets the reference counted main interface to the 3D Graphics domain. -Syntax - - - ADLX_RESULT Get3DSettingsServices (IADLX3DSettingsServices** pp3DSettingsServices) - -Parameters - - - - -1. -[out] -pp3DSettingsServices -IADLX3DSettingsServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *pp3DSettingsServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_desktops_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_desktops_services.xml deleted file mode 100644 index 624df5a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_desktops_services.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXSystem_GetDesktopsServices - GetDesktopsServices - -Gets the reference counted main interface to the Desktop domain. - - -Gets the reference counted main interface to the Desktop domain. -Syntax - - - ADLX_RESULT GetDesktopsServices (IADLXDesktopServices** ppDeskServices) - -Parameters - - - - -1. -[out] -ppDeskServices -IADLXDesktopServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDeskServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_displays_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_displays_services.xml deleted file mode 100644 index 2844f9b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_displays_services.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXSystem_GetDisplaysServices - GetDisplaysServices - -Gets the reference counted main interface to the Display domain. - - -Gets the reference counted main interface to the Display domain. -Syntax - - - ADLX_RESULT GetDisplaysServices (IADLXDisplayServices** ppDispServices) - -Parameters - - - - -1. -[out] -ppDispServices -IADLXDisplayServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppDispServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.xml deleted file mode 100644 index 949c21b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_u_tuning_services.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXSystem_GetGPUTuningServices - GetGPUTuningServices - -Gets the reference counted main interface to the GPU Tuning domain. - - -Gets the reference counted main interface to the GPU Tuning domain. -Syntax - - - ADLX_RESULT GetGPUTuningServices (IADLXGPUTuningServices** ppGPUTuningServices) - -Parameters - - - - -1. -[out] -ppGPUTuningServices -IADLXGPUTuningServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUTuningServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us.xml deleted file mode 100644 index 7bef5ac..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - DOX_IADLXSystem_GetGPUs - GetGPUs - -Gets the reference counted list of AMD GPUs. - - -Gets the reference counted list of AMD GPUs. -Syntax - - - ADLX_RESULT GetGPUs (IADLXGPUList** ppGPUs) - -Parameters - - - - -1. -[out] -ppGPUs -IADLXGPUList** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUs to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -For more information about the AMD GPUs, refer to ADLX GPU Support. - The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.xml deleted file mode 100644 index b5c7901..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_g_p_us_changed_handling.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - DOX_IADLXSystem_GetGPUsChangedHandling - GetGPUsChangedHandling - -Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes. - - -Gets the reference counted interface to allow registering and unregistering for notifications when the GPU list changes. -Syntax - - - ADLX_RESULT GetGPUsChangedHandling (IADLXGPUsChangedHandling** ppGPUsChangedHandling) - -Parameters - - - - -1. -[out] -ppGPUsChangedHandling -IADLXGPUsChangedHandling** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppGPUsChangedHandling to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_i2_c.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_i2_c.xml deleted file mode 100644 index 89ec554..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_i2_c.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXSystem_GetI2C - GetI2C - -Gets the reference counted I2C interface of a GPU. - - -Gets the reference counted I2C interface of a GPU. -Syntax - - - ADLX_RESULT GetI2C (IADLXGPU* pGPU, IADLXI2C** ppI2C) - -Parameters - - - - -1. -[in] -pGPU -IADLXGPU* -The pointer to the GPU interface. - -
-
-
-
- - - -2. -[out] -ppI2C -IADLXI2C** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppI2C to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.xml deleted file mode 100644 index 7f6d7a3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__get_performance_monitoring_services.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - DOX_IADLXSystem_GetPerformanceMonitoringServices - GetPerformanceMonitoringServices - -Gets the reference counted main interface to the Performance Monitoring domain. - - -Gets the reference counted main interface to the Performance Monitoring domain. -Syntax - - - ADLX_RESULT GetPerformanceMonitoringServices (IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices) - -Parameters - - - - -1. -[out] -ppPerformanceMonitoringServices -IADLXPerformanceMonitoringServices** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppPerformanceMonitoringServices to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.xml deleted file mode 100644 index b460931..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__hybrid_graphics_type.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - DOX_IADLXSystem_HybridGraphicsType - HybridGraphicsType - -Gets the hybrid graphics type of the system. - - -Gets the hybrid graphics type of the system. -Syntax - - - ADLX_RESULT HybridGraphicsType (ADLX_HG_TYPE* hgType) - -Parameters - - - - -1. -[out] -hgType -ADLX_HG_TYPE* -The pointer to a variable where the hybrid graphics type is returned. - -
-
-
-
-
-Return Value - -If the hybrid graphics type is successfully returned, ADLX_OK is returned. - If the hybrid graphics type is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The hybrid graphics type can be used to discover if the system is a hybrid graphics platform. Hybrid graphics platforms share cross-adapter resources between a discrete GPU and an integrated GPU. Applications can run on either GPU depending on their needs. The operating system and the AMD display driver together determine which GPU an application should run on. -On an AMD hybrid graphics platform, the integrated GPU can be an AMD integrated GPU or a non-AMD integrated GPU. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__query_interface.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__query_interface.xml deleted file mode 100644 index f974b76..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__query_interface.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - DOX_IADLXSystem_QueryInterface - QueryInterface - -Gets reference counted extension interfaces to IADLXSystem. - - -Gets reference counted extension interfaces to IADLXSystem. -Syntax - - - ADLX_RESULT QueryInterface (const wchar_t* interfaceId, void** ppInterface) - -Parameters - - - - -1. -[in] -interfaceId -const wchar_t* -The identifier of the interface being requested. - -
-
-
-
- - - -2. -[out] -ppInterface -void** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets the dereferenced address *ppInterface to nullptr. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++ when using a smart pointer for the returned interface there is no need to call Release because the smart pointer calls it internally. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.xml deleted file mode 100644 index 8693ce2..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system__total_system_r_a_m.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystem_TotalSystemRAM - TotalSystemRAM - -Gets the size of the total RAM on this system. - - -Gets the size of the total RAM on this system. -Syntax - - - ADLX_RESULT TotalSystemRAM (adlx_uint* ramMB) - -Parameters - - - - -1. -[out] -ramMB -adlx_uint* -The pointer to a variable where the total system RAM size is returned, in MB. - -
-
-
-
-
-Return Value - -If the interface is successfully returned, ADLX_OK is returned. - If the interface is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "ISystem.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics.xml deleted file mode 100644 index e733610..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - DOX_IADLXSystemMetrics - IADLXSystemMetrics - CPUUsage - SmartShift - SystemRAM - TimeStamp - - - -The IADLXSystemMetrics interface provides information of a system metric sample, such as the timestamp and the CPU usage. - -InterfaceId: -IADLXSystemMetrics - - -Smart Pointer Interface Name: -IADLXSystemMetricsPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXSystemMetrics1 - -
-
-Methods - - -Method -Description - - -CPUUsage -Gets the CPU usage of a system metric sample. - - -SmartShift -Gets the SmartShift value of a system metric sample. - - -SystemRAM -Gets the system RAM of a system metric sample. - - -TimeStamp -Gets the timestamp of a system metric sample. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -CPUUsage -SmartShift -SystemRAM -TimeStamp - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1.xml deleted file mode 100644 index 68e037a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXSystemMetrics1 - IADLXSystemMetrics1 - PowerDistribution - - - -The IADLXSystemMetrics1 is an extension interface to IADLXSystemMetrics. It provides the power distribution of a system metric sample. - -InterfaceId: -IADLXSystemMetrics1 - - -Smart Pointer Interface Name: -IADLXSystemMetrics1Ptr - - -Inherits: -IADLXSystemMetrics - - -Inherited By: -N/A - -
-
-The IADLXSystemMetrics1 interface is obtained from the IADLXSystemMetrics using QueryInterface. -Methods - - -Method -Description - - -PowerDistribution -Gets the distribution of power between CPU and GPU of a system metric sample. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring1.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -PowerDistribution - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.xml deleted file mode 100644 index 6e1c8aa..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics1__power_distribution.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - DOX_IADLXSystemMetrics1_PowerDistribution - PowerDistribution - -Gets the distribution of power between CPU and GPU of a system metric sample. - - -Gets the distribution of power between CPU and GPU of a system metric sample. -Syntax - - - ADLX_RESULT PowerDistribution (adlx_int* apuShiftValue, adlx_int* gpuShiftValue, adlx_int* apuShiftLimit, adlx_int* gpuShiftLimit, adlx_int* totalShiftLimit) - -Parameters - - - - -1. -[out] -apuShiftValue -adlx_int* -The pointer to a variable where the apu shift alue value is returned. - -
-
-
-
- - - -1. -[out] -gpuShiftValue -adlx_int* -The pointer to a variable where the gpu shift value is returned. - -
-
-
-
- - - -1. -[out] -apuShiftLimit -adlx_int* -The pointer to a variable where the apu shift limit value is returned. - -
-
-
-
- - - -1. -[out] -gpuShiftLimit -adlx_int* -The pointer to a variable where the gpu shift limit value is returned. - -
-
-
-
- - - -1. -[out] -totalShiftLimit -adlx_int* -The pointer to a variable where the total shift limit value is returned. - -
-
-
-
-
-Return Value - -If the distribution of power is successfully returned, ADLX_OK is returned. - If the distribution of power is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.xml deleted file mode 100644 index 81ab8b5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__c_p_u_usage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetrics_CPUUsage - CPUUsage - -Gets the CPU usage of a system metric sample. - - -Gets the CPU usage of a system metric sample. -Syntax - - - ADLX_RESULT CPUUsage (adlx_double* data) - -Parameters - - - - -1. -[out] -data -adlx_double* -The pointer to a variable where the CPU usage (in %) is returned. - -
-
-
-
-
-Return Value - -If the CPU usage is successfully returned, ADLX_OK is returned. - If the CPU usage is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.xml deleted file mode 100644 index 24377d0..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__smart_shift.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - DOX_IADLXSystemMetrics_SmartShift - SmartShift - -Gets the SmartShift value of a system metric sample. - - -Gets the SmartShift value of a system metric sample. -Syntax - - - ADLX_RESULT SmartShift (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the SmartShift value is returned. - -
-
-
-
-
-Return Value - -If the SmartShift value is successfully returned, ADLX_OK is returned. - If the SmartShift value is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The value returned by SmartShift is an integer number which is within -100 to +100 range. - A negative value indicates that the power is shifted to the CPU. - A positive value indicates that the power is shifted to the GPU. - Considering zero as the state with no power shift, the larger the deviation from zero, the larger the power shift. -Additional Info - -AMD SmartShift helps boost notebook performance by dynamically shifting the power between the CPU and the GPU depending on the workload. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.xml deleted file mode 100644 index ee4bb13..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__system_r_a_m.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetrics_SystemRAM - SystemRAM - -Gets the system RAM of a system metric sample. - - -Gets the system RAM of a system metric sample. -Syntax - - - ADLX_RESULT SystemRAM (adlx_int* data) - -Parameters - - - - -1. -[out] -data -adlx_int* -The pointer to a variable where the system RAM (in MB) is returned. - -
-
-
-
-
-Return Value - -If the system RAM is successfully returned, ADLX_OK is returned. - If the system RAM is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.xml deleted file mode 100644 index bed8344..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics__time_stamp.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - DOX_IADLXSystemMetrics_TimeStamp - TimeStamp - -Gets the timestamp of a system metric sample. - - -Gets the timestamp of a system metric sample. -Syntax - - - ADLX_RESULT TimeStamp (adlx_int64* ms) - -Parameters - - - - -1. -[out] -ms -adlx_int64* -The pointer to a variable where the timestamp (in ms) is returned. - -
-
-
-
-
-Return Value - -If the timestamp is successfully returned, ADLX_OK is returned. - If the timestamp is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list.xml deleted file mode 100644 index 2a2bcf3..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - DOX_IADLXSystemMetricsList - IADLXSystemMetricsList - Add_Back - At - - - -The IADLXSystemMetricsList is an interface of a collection of IADLXSystemMetrics interfaces that can be accessed by location. - -InterfaceId: -IADLXSystemMetricsList - - -Smart Pointer Interface Name: -IADLXSystemMetricsListPtr - - -Inherits: -IADLXList - - -Inherited By: -N/A - -
-
-Methods - - -Method -Description - - -Add_Back -Adds an interface to the end of a list. - - -At -Returns the reference counted interface at the requested location. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -Add_Back -At - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.xml deleted file mode 100644 index 865af02..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__add__back.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetricsList_Add_Back - Add_Back - -Adds an interface to the end of a list. - - -Adds an interface to the end of a list. -Syntax - - - ADLX_RESULT Add_Back (IADLXSystemMetrics* pItem) - -Parameters - - - - -1. -[in] -pItem -IADLXSystemMetrics* -The pointer to the interface to be added to the list. - -
-
-
-
-
-Return Value - -If the interface is added successfully to the end of the list, ADLX_OK is returned. - If the interface is not added to the end of the list, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__at.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__at.xml deleted file mode 100644 index 5a10f42..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_list__at.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - DOX_IADLXSystemMetricsList_At - At - -Returns the reference counted interface at the requested location. - - -Returns the reference counted interface at the requested location. -Syntax - - - ADLX_RESULT At (const adlx_uint location, IADLXSystemMetrics** ppItem) - -Parameters - - - - -1. -[in] -location -const adlx_uint -The location of the requested interface. - -
-
-
-
- - - -2. -[out] -ppItem -IADLXSystemMetrics** -The address of a pointer to the returned interface. If the interface is not successfully returned, the method sets dereferenced address *ppItem to nullptr. - -
-
-
-
-
-Return Value - -If the location is within the list bounds, ADLX_OK is returned. - If the location is not within the list bounds, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -The returned interface must be discarded with Release when it is no longer needed. -Additional Info - -In C++, when using ADLX interfaces as smart pointers, there is no need to call Release because smart pointers call it in their internal implementation. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support.xml deleted file mode 100644 index d544bc5..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport - IADLXSystemMetricsSupport - GetCPUUsageRange - GetSmartShiftRange - GetSystemRAMRange - IsSupportedCPUUsage - IsSupportedSmartShift - IsSupportedSystemRAM - - - -The IADLXSystemMetricsSupport interface provides methods to discover what performance metrics are supported on the system. - -InterfaceId: -IADLXSystemMetricsSupport - - -Smart Pointer Interface Name: -IADLXSystemMetricsSupportPtr - - -Inherits: -IADLXInterface - - -Inherited By: -IADLXSystemMetricsSupport1 - -
-
-Methods - - -Method -Description - - -GetCPUUsageRange -Gets the minimum and maximum CPU usage of a system. - - -GetSmartShiftRange -Gets the minimum and maximum SmartShift value of a system. - - -GetSystemRAMRange -Gets the minimum and maximum system RAM of a system. - - -IsSupportedCPUUsage -Checks if the CPU usage metric reporting is supported by the system. - - -IsSupportedSmartShift -Checks if the SmartShift metric reporting is supported by the system. - - -IsSupportedSystemRAM -Checks if the RAM usage metric reporting is supported by the system. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -GetCPUUsageRange -GetSmartShiftRange -GetSystemRAMRange -IsSupportedCPUUsage -IsSupportedSmartShift -IsSupportedSystemRAM - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1.xml deleted file mode 100644 index 6a3dd4a..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport1 - IADLXSystemMetricsSupport1 - IsSupportedPowerDistribution - - - -The IADLXSystemMetricsSupport1 is an extension interface to IADLXSystemMetricsSupport. It provides the method to discover if reporting of power distribution between CPU and GPU is supported on the system. - -InterfaceId: -IADLXSystemMetricsSupport1 - - -Smart Pointer Interface Name: -IADLXSystemMetricsSupport1Ptr - - -Inherits: -IADLXSystemMetricsSupport - - -Inherited By: -N/A - -
-
-The IADLXSystemMetricsSupport1 interface is obtained from the IADLXSystemMetricsSupport using QueryInterface. -Methods - - -Method -Description - - -IsSupportedPowerDistribution -Checks if reporting of power distribution between CPU and GPU is supported on the system. - -
-
-Requirements - - -Header -include "IPerformanceMonitoring1.h" - - -Minimum version -1.2 - -
-
-Example - -To see how to use this interface in a C++ application, refer to the PerfSystemMetrics C++ sample. - For a C application, refer to the PerfSystemMetrics C sample. - -IsSupportedPowerDistribution - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.xml deleted file mode 100644 index 5a10fd8..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support1__is_supported_power_distribution.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport1_IsSupportedPowerDistribution - IsSupportedPowerDistribution - -Checks if reporting of power distribution between CPU and GPU is supported on the system. - - -Checks if reporting of power distribution between CPU and GPU is supported on the system. -Syntax - - - ADLX_RESULT IsSupportedPowerDistribution (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of reporting of power distribution is returned. The variable is true if the power distribution metric reporting is supported. The variable is false if the power distribution metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of power distribution metric reporting is successfully returned, ADLX_OK is returned. - If the state of power distribution metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring1.h" - - -Minimum version -1.2 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.xml deleted file mode 100644 index 32c8160..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_c_p_u_usage_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_GetCPUUsageRange - GetCPUUsageRange - -Gets the minimum and maximum CPU usage of a system. - - -Gets the minimum and maximum CPU usage of a system. -Syntax - - - ADLX_RESULT GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum CPU usage (in %) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum CPU usage (in %) is returned. - -
-
-
-
-
-Return Value - -If the CPU usage range is successfully returned, ADLX_OK is returned. - If the CPU usage range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum CPU usage are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.xml deleted file mode 100644 index 154e02e..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_smart_shift_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_GetSmartShiftRange - GetSmartShiftRange - -Gets the minimum and maximum SmartShift value of a system. - - -Gets the minimum and maximum SmartShift value of a system. -Syntax - - - ADLX_RESULT GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum SmartShift value is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum SmartShift value is returned. - -
-
-
-
-
-Return Value - -If the SmartShift value range is successfully returned, ADLX_OK is returned. - If the SmartShift value range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum SmartShift value are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.xml deleted file mode 100644 index ae0b6eb..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__get_system_r_a_m_range.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_GetSystemRAMRange - GetSystemRAMRange - -Gets the minimum and maximum system RAM of a system. - - -Gets the minimum and maximum system RAM of a system. -Syntax - - - ADLX_RESULT GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue) - -Parameters - - - - -1. -[out] -minValue -adlx_int* -The pointer to a variable where the minimum system RAM (in MB) is returned. - -
-
-
-
- - - -2. -[out] -maxValue -adlx_int* -The pointer to a variable where the maximum system RAM (in MB) is returned. - -
-
-
-
-
-Return Value - -If the system RAM range is successfully returned, ADLX_OK is returned. - If the system RAM range is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -The minimum and maximum system RAM are read only. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.xml deleted file mode 100644 index fc2877b..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_c_p_u_usage.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_IsSupportedCPUUsage - IsSupportedCPUUsage - -Checks if the CPU usage metric reporting is supported by the system. - - -Checks if the CPU usage metric reporting is supported by the system. -Syntax - - - ADLX_RESULT IsSupportedCPUUsage (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of CPU usage metric reporting is returned. The variable is true if the CPU usage metric reporting is supported. The variable is false if the CPU usage metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of CPU usage metric reporting is successfully returned, ADLX_OK is returned. - If the state of CPU usage metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.xml deleted file mode 100644 index 9b48d12..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_smart_shift.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_IsSupportedSmartShift - IsSupportedSmartShift - -Checks if the SmartShift metric reporting is supported by the system. - - -Checks if the SmartShift metric reporting is supported by the system. -Syntax - - - ADLX_RESULT IsSupportedSmartShift (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of SmartShift metric reporting is returned. The variable is true if the SmartShift metric reporting is supported. The variable is false if the SmartShift metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of SmartShift metric reporting is successfully returned, ADLX_OK is returned. - If the state of SmartShift metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.xml b/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.xml deleted file mode 100644 index d303294..0000000 --- a/vendor/adlx/SDKDoc/xml/_d_o_x__i_a_d_l_x_system_metrics_support__is_supported_system_r_a_m.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - DOX_IADLXSystemMetricsSupport_IsSupportedSystemRAM - IsSupportedSystemRAM - -Checks if the RAM usage metric reporting is supported by the system. - - -Checks if the RAM usage metric reporting is supported by the system. -Syntax - - - ADLX_RESULT IsSupportedSystemRAM (adlx_bool* supported) - -Parameters - - - - -1. -[out] -supported -adlx_bool* -The pointer to a variable where the state of system RAM usage metric reporting is returned. The variable is true if the system RAM usage metric reporting is supported. The variable is false if the system RAM usage metric reporting is not supported. - -
-
-
-
-
-Return Value - -If the state of system RAM usage metric reporting is successfully returned, ADLX_OK is returned. - If the state of system RAM usage metric reporting is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Requirements - - -Header -include "IPerformanceMonitoring.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/_disclaimer_8md.xml b/vendor/adlx/SDKDoc/xml/_disclaimer_8md.xml deleted file mode 100644 index f8d3111..0000000 --- a/vendor/adlx/SDKDoc/xml/_disclaimer_8md.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - Disclaimer.md - - - - - -@pagepage_legal_DisclaimerDisclaimers - -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -Theinformationpresentedinthisdocumentisforinformationalpurposesonly -andmaycontaintechnicalinaccuracies,omissions,andtypographicalerrors.The -informationcontainedhereinissubjecttochangeandmayberenderedinaccurate -formanyreasons,includingbutnotlimitedtoproductandroadmapchanges, -componentandmotherboardversionchanges,newmodeland/orproductreleases, -productdifferencesbetweendifferingmanufacturers,softwarechanges,BIOS -flashes,firmwareupgrades,orthelike.Anycomputersystemhasrisksof -securityvulnerabilitiesthatcannotbecompletelypreventedormitigated.AMD -assumesnoobligationtoupdateorotherwisecorrectorrevisethisinformation. -However,AMDreservestherighttorevisethisinformationandtomakechanges -fromtimetotimetothecontenthereofwithoutobligationofAMDtonotifyany -personofsuchrevisionsorchanges. - -THISINFORMATIONISPROVIDED“ASIS.”AMDMAKESNOREPRESENTATIONSORWARRANTIES -WITHRESPECTTOTHECONTENTSHEREOFANDASSUMESNORESPONSIBILITYFORANY -INACCURACIES,ERRORS,OROMISSIONSTHATMAYAPPEARINTHISINFORMATION.AMD -SPECIFICALLYDISCLAIMSANYIMPLIEDWARRANTIESOFNON-INFRINGEMENT, -MERCHANTABILITY,ORFITNESSFORANYPARTICULARPURPOSE.INNOEVENTWILLAMDBE -LIABLETOANYPERSONFORANYRELIANCE,DIRECT,INDIRECT,SPECIAL,OROTHER -CONSEQUENTIALDAMAGESARISINGFROMTHEUSEOFANYINFORMATIONCONTAINEDHEREIN, -EVENIFAMDISEXPRESSLYADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGES. - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i3_d_settings_8h.xml b/vendor/adlx/SDKDoc/xml/_i3_d_settings_8h.xml deleted file mode 100644 index d9e9abd..0000000 --- a/vendor/adlx/SDKDoc/xml/_i3_d_settings_8h.xml +++ /dev/null @@ -1,983 +0,0 @@ - - - - I3DSettings.h - ADLXStructures.h - IChangedEvent.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLX3DAntiLag - adlx::IADLX3DAntiLag1 - adlx::IADLX3DChill - adlx::IADLX3DBoost - adlx::IADLX3DImageSharpening - adlx::IADLX3DEnhancedSync - adlx::IADLX3DWaitForVerticalRefresh - adlx::IADLX3DFrameRateTargetControl - adlx::IADLX3DAntiAliasing - adlx::IADLX3DMorphologicalAntiAliasing - adlx::IADLX3DAnisotropicFiltering - adlx::IADLX3DTessellation - adlx::IADLX3DRadeonSuperResolution - adlx::IADLX3DResetShaderCache - adlx::IADLX3DSettingsChangedEvent - adlx::IADLX3DSettingsChangedListener - adlx::IADLX3DSettingsChangedHandling - adlx::IADLX3DSettingsServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_I3DSETTINGS_H -#defineADLX_I3DSETTINGS_H -#pragmaonce - -#include"ADLXStructures.h" -#include"IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//I3DSetting.h-InterfacesforADLXGPU3DSettingfunctionality - -//3DAntiLagsettinginterface -#pragmaregionIADLX3DAntiLag -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DAntiLag:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DAntiLag") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -};//IADLX3DAntiLag -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DAntiLag>IADLX3DAntiLagPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DAntiLag,L"IADLX3DAntiLag") - -typedefstructIADLX3DAntiLagIADLX3DAntiLag; - -typedefstructIADLX3DAntiLagVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DAntiLag*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DAntiLag*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DAntiLag*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DAntiLag -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DAntiLag*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DAntiLag*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DAntiLag*pThis,adlx_boolenable); -}IADLX3DAntiLagVtbl; - -structIADLX3DAntiLag{constIADLX3DAntiLagVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DAntiLag - -//3DAntiLag1settinginterface -#pragmaregionIADLX3DAntiLag1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DAntiLag1:publicIADLX3DAntiLag -{ -public: -ADLX_DECLARE_IID(L"IADLX3DAntiLag1") - - -virtualADLX_RESULTADLX_STD_CALLGetLevel(ADLX_ANTILAG_STATE*level)=0; - -virtualADLX_RESULTADLX_STD_CALLSetLevel(ADLX_ANTILAG_STATElevel)=0; -};//IADLX3DAntiLag1 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DAntiLag1>IADLX3DAntiLag1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DAntiLag1,L"IADLX3DAntiLag1") - -typedefstructIADLX3DAntiLag1IADLX3DAntiLag1; - -typedefstructIADLX3DAntiLag1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DAntiLag1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DAntiLag1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DAntiLag1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DAntiLag -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DAntiLag1*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DAntiLag1*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DAntiLag1*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*GetLevel)(IADLX3DAntiLag1*pThis,ADLX_ANTILAG_STATE*level); -ADLX_RESULT(ADLX_STD_CALL*SetLevel)(IADLX3DAntiLag1*pThis,ADLX_ANTILAG_STATElevel); -}IADLX3DAntiLag1Vtbl; - -structIADLX3DAntiLag1{constIADLX3DAntiLag1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DAntiLag1 - - -//3DChillsettinginterface -#pragmaregionIADLX3DChill -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DChill:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DChill") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetFPSRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMinFPS(adlx_int*currentMinFPS)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMaxFPS(adlx_int*currentMaxFPS)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMinFPS(adlx_intminFPS)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMaxFPS(adlx_intmaxFPS)=0; - -};//IADLX3DChill -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DChill>IADLX3DChillPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DChill,L"IADLX3DChill") - -typedefstructIADLX3DChillIADLX3DChill; - -typedefstructIADLX3DChillVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DChill*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DChill*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DChill*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DChill -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DChill*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DChill*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetFPSRange)(IADLX3DChill*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetMinFPS)(IADLX3DChill*pThis,adlx_int*currentMinFPS); -ADLX_RESULT(ADLX_STD_CALL*GetMaxFPS)(IADLX3DChill*pThis,adlx_int*currentMaxFPS); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DChill*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*SetMinFPS)(IADLX3DChill*pThis,adlx_intminFPS); -ADLX_RESULT(ADLX_STD_CALL*SetMaxFPS)(IADLX3DChill*pThis,adlx_intmaxFPS); -}IADLX3DChillVtbl; - -structIADLX3DChill{constIADLX3DChillVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DChill - -//3DBoostsettinginterface -#pragmaregionIADLX3DBoost -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DBoost:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DBoost") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetResolutionRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetResolution(adlx_int*currentMinRes)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLSetResolution(adlx_intminRes)=0; - -};//IADLX3DBoost -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DBoost>IADLX3DBoostPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DBoost,L"IADLX3DBoost") - -typedefstructIADLX3DBoostIADLX3DBoost; - -typedefstructIADLX3DBoostVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DBoost*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DBoost*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DBoost*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DBoost -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DBoost*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DBoost*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetResolutionRange)(IADLX3DBoost*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetResolution)(IADLX3DBoost*pThis,adlx_int*currentMinRes); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DBoost*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*SetResolution)(IADLX3DBoost*pThis,adlx_intminRes); -}IADLX3DBoostVtbl; - -structIADLX3DBoost{constIADLX3DBoostVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DBoost - -//3DImageSharpeningsettinginterface -#pragmaregionIADLX3DImageSharpening -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DImageSharpening:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DImageSharpening") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSharpnessRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSharpness(adlx_int*currentSharpness)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLSetSharpness(adlx_intsharpness)=0; - -};//IADLX3DImageSharpening -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DImageSharpening>IADLX3DImageSharpeningPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DImageSharpening,L"IADLX3DImageSharpening") - -typedefstructIADLX3DImageSharpeningIADLX3DImageSharpening; - -typedefstructIADLX3DImageSharpeningVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DImageSharpening*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DImageSharpening*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DImageSharpening*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DImageSharpening -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DImageSharpening*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DImageSharpening*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetSharpnessRange)(IADLX3DImageSharpening*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetSharpness)(IADLX3DImageSharpening*pThis,adlx_int*currentSharpness); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DImageSharpening*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*SetSharpness)(IADLX3DImageSharpening*pThis,adlx_intsharpness); -}IADLX3DImageSharpeningVtbl; - -structIADLX3DImageSharpening{constIADLX3DImageSharpeningVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DImageSharpening - -//3DEnhancedSyncsettinginterface -#pragmaregionIADLX3DEnhancedSync -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DEnhancedSync:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DEnhancedSync") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -};//IADLX3DEnhancedSync -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DEnhancedSync>IADLX3DEnhancedSyncPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DEnhancedSync,L"IADLX3DEnhancedSync") - -typedefstructIADLX3DEnhancedSyncIADLX3DEnhancedSync; - -typedefstructIADLX3DEnhancedSyncVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DEnhancedSync*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DEnhancedSync*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DEnhancedSync*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DEnhancedSync -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DEnhancedSync*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DEnhancedSync*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DEnhancedSync*pThis,adlx_boolenable); -}IADLX3DEnhancedSyncVtbl; - -structIADLX3DEnhancedSync{constIADLX3DEnhancedSyncVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DEnhancedSync - -//3DWaitForVerticalRefreshsettinginterface -#pragmaregionIADLX3DWaitForVerticalRefresh -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DWaitForVerticalRefresh:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DWaitForVerticalRefresh") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMode(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE*currentMode)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMode(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode)=0; - -};//IADLX3DWaitForVerticalRefresh -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DWaitForVerticalRefresh>IADLX3DWaitForVerticalRefreshPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DWaitForVerticalRefresh,L"IADLX3DWaitForVerticalRefresh") - -typedefstructIADLX3DWaitForVerticalRefreshIADLX3DWaitForVerticalRefresh; - -typedefstructIADLX3DWaitForVerticalRefreshVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DWaitForVerticalRefresh*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DWaitForVerticalRefresh*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DWaitForVerticalRefresh*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DWaitForVerticalRefresh -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DWaitForVerticalRefresh*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DWaitForVerticalRefresh*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetMode)(IADLX3DWaitForVerticalRefresh*pThis,ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE*currentMode); -ADLX_RESULT(ADLX_STD_CALL*SetMode)(IADLX3DWaitForVerticalRefresh*pThis,ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode); -}IADLX3DWaitForVerticalRefreshVtbl; - -structIADLX3DWaitForVerticalRefresh{constIADLX3DWaitForVerticalRefreshVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DWaitForVerticalRefresh - -//3DFrameRateTargetControlsettinginterface -#pragmaregionIADLX3DFrameRateTargetControl -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DFrameRateTargetControl:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DFrameRateTargetControl") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetFPSRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetFPS(adlx_int*currentFPS)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLSetFPS(adlx_intmaxFPS)=0; - -};//IADLX3DFrameRateTargetControl -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DFrameRateTargetControl>IADLX3DFrameRateTargetControlPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DFrameRateTargetControl,L"IADLX3DFrameRateTargetControl") - -typedefstructIADLX3DFrameRateTargetControlIADLX3DFrameRateTargetControl; - -typedefstructIADLX3DFrameRateTargetControlVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DFrameRateTargetControl*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DFrameRateTargetControl*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DFrameRateTargetControl*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DFrameRateTargetControl -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DFrameRateTargetControl*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DFrameRateTargetControl*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetFPSRange)(IADLX3DFrameRateTargetControl*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetFPS)(IADLX3DFrameRateTargetControl*pThis,adlx_int*currentFPS); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DFrameRateTargetControl*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*SetFPS)(IADLX3DFrameRateTargetControl*pThis,adlx_intmaxFPS); -}IADLX3DFrameRateTargetControlVtbl; - -structIADLX3DFrameRateTargetControl{constIADLX3DFrameRateTargetControlVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DFrameRateTargetControl - -//3DAntiAliasingsettinginterface -#pragmaregionIADLX3DAntiAliasing -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DAntiAliasing:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DAntiAliasing") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMode(ADLX_ANTI_ALIASING_MODE*currentMode)=0; - -virtualADLX_RESULTADLX_STD_CALLGetLevel(ADLX_ANTI_ALIASING_LEVEL*currentLevel)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMethod(ADLX_ANTI_ALIASING_METHOD*currentMethod)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMode(ADLX_ANTI_ALIASING_MODEmode)=0; - -virtualADLX_RESULTADLX_STD_CALLSetLevel(ADLX_ANTI_ALIASING_LEVELlevel)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMethod(ADLX_ANTI_ALIASING_METHODmethod)=0; - -};//IADLX3DAntiAliasing -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DAntiAliasing>IADLX3DAntiAliasingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DAntiAliasing,L"IADLX3DAntiAliasing") - -typedefstructIADLX3DAntiAliasingIADLX3DAntiAliasing; - -typedefstructIADLX3DAntiAliasingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DAntiAliasing*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DAntiAliasing*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DAntiAliasing*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DAntiAliasing -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DAntiAliasing*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetMode)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_MODE*currentMode); -ADLX_RESULT(ADLX_STD_CALL*GetLevel)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_LEVEL*currentLevel); -ADLX_RESULT(ADLX_STD_CALL*GetMethod)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_METHOD*currentMethod); -ADLX_RESULT(ADLX_STD_CALL*SetMode)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_MODEmode); -ADLX_RESULT(ADLX_STD_CALL*SetLevel)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_LEVELlevel); -ADLX_RESULT(ADLX_STD_CALL*SetMethod)(IADLX3DAntiAliasing*pThis,ADLX_ANTI_ALIASING_METHODmethod); -}IADLX3DAntiAliasingVtbl; - -structIADLX3DAntiAliasing{constIADLX3DAntiAliasingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DAntiAliasing - -//3DMorphologicalAntiAliasingsettinginterface -#pragmaregionIADLX3DMorphologicalAntiAliasing -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DMorphologicalAntiAliasing:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DMorphologicalAntiAliasing") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; -};//IADLX3DMorphologicalAntiAliasing -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DMorphologicalAntiAliasing>IADLX3DMorphologicalAntiAliasingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DMorphologicalAntiAliasing,L"IADLX3DMorphologicalAntiAliasing") - -typedefstructIADLX3DMorphologicalAntiAliasingIADLX3DMorphologicalAntiAliasing; - -typedefstructIADLX3DMorphologicalAntiAliasingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DMorphologicalAntiAliasing*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DMorphologicalAntiAliasing*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DMorphologicalAntiAliasing*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DMorphologicalAntiAliasing -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DMorphologicalAntiAliasing*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DMorphologicalAntiAliasing*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DMorphologicalAntiAliasing*pThis,adlx_boolenable); -}IADLX3DMorphologicalAntiAliasingVtbl; - -structIADLX3DMorphologicalAntiAliasing{constIADLX3DMorphologicalAntiAliasingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DMorphologicalAntiAliasing - -//3DAnisotropicFilteringsettinginterface -#pragmaregionIADLX3DAnisotropicFiltering -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DAnisotropicFiltering:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DAnisotropicFiltering") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*isEnabled)=0; - -virtualADLX_RESULTADLX_STD_CALLGetLevel(ADLX_ANISOTROPIC_FILTERING_LEVEL*currentLevel)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLSetLevel(ADLX_ANISOTROPIC_FILTERING_LEVELlevel)=0; - -};//IADLX3DAnisotropicFiltering -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DAnisotropicFiltering>IADLX3DAnisotropicFilteringPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DAnisotropicFiltering,L"IADLX3DAnisotropicFiltering") - -typedefstructIADLX3DAnisotropicFilteringIADLX3DAnisotropicFiltering; - -typedefstructIADLX3DAnisotropicFilteringVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DAnisotropicFiltering*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DAnisotropicFiltering*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DAnisotropicFiltering*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DAnisotropicFiltering -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DAnisotropicFiltering*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DAnisotropicFiltering*pThis,adlx_bool*isEnabled); -ADLX_RESULT(ADLX_STD_CALL*GetLevel)(IADLX3DAnisotropicFiltering*pThis,ADLX_ANISOTROPIC_FILTERING_LEVEL*currentLevel); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DAnisotropicFiltering*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*SetLevel)(IADLX3DAnisotropicFiltering*pThis,ADLX_ANISOTROPIC_FILTERING_LEVELlevel); -}IADLX3DAnisotropicFilteringVtbl; - -structIADLX3DAnisotropicFiltering{constIADLX3DAnisotropicFilteringVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DAnisotropicFiltering - -//3DTessellationsettinginterface -#pragmaregionIADLX3DTessellation -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DTessellation:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DTessellation") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMode(ADLX_TESSELLATION_MODE*currentMode)=0; - -virtualADLX_RESULTADLX_STD_CALLGetLevel(ADLX_TESSELLATION_LEVEL*currentLevel)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMode(ADLX_TESSELLATION_MODEmode)=0; - -virtualADLX_RESULTADLX_STD_CALLSetLevel(ADLX_TESSELLATION_LEVELlevel)=0; - -};//IADLX3DTessellation -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DTessellation>IADLX3DTessellationPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DTessellation,L"IADLX3DTessellation") - -typedefstructIADLX3DTessellationIADLX3DTessellation; - -typedefstructIADLX3DTessellationVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DTessellation*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DTessellation*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DTessellation*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DTessellation -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DTessellation*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetMode)(IADLX3DTessellation*pThis,ADLX_TESSELLATION_MODE*currentMode); -ADLX_RESULT(ADLX_STD_CALL*GetLevel)(IADLX3DTessellation*pThis,ADLX_TESSELLATION_LEVEL*currentLevel); -ADLX_RESULT(ADLX_STD_CALL*SetMode)(IADLX3DTessellation*pThis,ADLX_TESSELLATION_MODEmode); -ADLX_RESULT(ADLX_STD_CALL*SetLevel)(IADLX3DTessellation*pThis,ADLX_TESSELLATION_LEVELlevel); -}IADLX3DTessellationVtbl; - -structIADLX3DTessellation{constIADLX3DTessellationVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DTessellation - -//3DRadeonSuperResolutioninterface -#pragmaregionIADLX3DRadeonSuperResolution -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DRadeonSuperResolution:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DRadeonSuperResolution") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenable)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSharpnessRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSharpness(adlx_int*currentSharpness)=0; - -virtualADLX_RESULTADLX_STD_CALLSetSharpness(adlx_intsharpness)=0; -};//IADLX3DRadeonSuperResolution -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DRadeonSuperResolution>IADLX3DRadeonSuperResolutionPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DRadeonSuperResolution,L"IADLX3DRadeonSuperResolution") - -typedefstructIADLX3DRadeonSuperResolutionIADLX3DRadeonSuperResolution; - -typedefstructIADLX3DRadeonSuperResolutionVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DRadeonSuperResolution*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DRadeonSuperResolution*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DRadeonSuperResolution*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DRadeonSuperResolution -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DRadeonSuperResolution*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLX3DRadeonSuperResolution*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLX3DRadeonSuperResolution*pThis,adlx_boolenable); -ADLX_RESULT(ADLX_STD_CALL*GetSharpnessRange)(IADLX3DRadeonSuperResolution*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetSharpness)(IADLX3DRadeonSuperResolution*pThis,adlx_int*currentSharpness); -ADLX_RESULT(ADLX_STD_CALL*SetSharpness)(IADLX3DRadeonSuperResolution*pThis,adlx_intsharpness); -}IADLX3DRadeonSuperResolutionVtbl; - -structIADLX3DRadeonSuperResolution{constIADLX3DRadeonSuperResolutionVtbl*pVtbl;}; - -#endif//__cplusplus -#pragmaendregionIADLX3DRadeonSuperResolution - -//3DResetShaderCachesettinginterface -#pragmaregionIADLX3DResetShaderCache -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DResetShaderCache:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DResetShaderCache") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLResetShaderCache()=0; - -};//IADLX3DResetShaderCache -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DResetShaderCache>IADLX3DResetShaderCachePtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DResetShaderCache,L"IADLX3DResetShaderCache") - -typedefstructIADLX3DResetShaderCacheIADLX3DResetShaderCache; - -typedefstructIADLX3DResetShaderCacheVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DResetShaderCache*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DResetShaderCache*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DResetShaderCache*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DResetShaderCache -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLX3DResetShaderCache*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*ResetShaderCache)(IADLX3DResetShaderCache*pThis); -}IADLX3DResetShaderCacheVtbl; - -structIADLX3DResetShaderCache{constIADLX3DResetShaderCacheVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DResetShaderCache - -//Interfacewithinformationon3Dsettingchangesonadisplay.ADLXpassesthistoapplicationthatregisteredfor3DsettingchangedeventintheIADLX3DSettingsChangedListener::On3DSettingsChanged() -#pragmaregionIADLX3DSettingsChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; -classADLX_NO_VTABLEIADLX3DSettingsChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLX3DSettingsChangedEvent") - - -virtualADLX_RESULTADLX_STD_CALLGetGPU(IADLXGPU**ppGPU)=0; - -virtualadlx_boolADLX_STD_CALLIsAntiLagChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsChillChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsBoostChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsImageSharpeningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsEnhancedSyncChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsWaitForVerticalRefreshChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsFrameRateTargetControlChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsAntiAliasingChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsMorphologicalAntiAliasingChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsAnisotropicFilteringChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsTessellationModeChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsRadeonSuperResolutionChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsResetShaderCache()=0; - -};//IADLX3DSettingsChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DSettingsChangedEvent>IADLX3DSettingsChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DSettingsChangedEvent,L"IADLX3DSettingsChangedEvent") -typedefstructIADLX3DSettingsChangedEventIADLX3DSettingsChangedEvent; - -typedefstructIADLX3DSettingsChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DSettingsChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DSettingsChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DSettingsChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLX3DSettingsChangedEvent*pThis); - -//IADLX3DSettingsChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetGPU)(IADLX3DSettingsChangedEvent*pThis,IADLXGPU**ppGPU); -adlx_bool(ADLX_STD_CALL*IsAntiLagChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsChillChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsBoostChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsImageSharpeningChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsEnhancedSyncChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsWaitForVerticalRefreshChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsFrameRateTargetControlChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsAntiAliasingChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsMorphologicalAntiAliasingChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsAnisotropicFilteringChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsTessellationModeChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsRadeonSuperResolutionChanged)(IADLX3DSettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsResetShaderCache)(IADLX3DSettingsChangedEvent*pThis); - -}IADLX3DSettingsChangedEventVtbl; - -structIADLX3DSettingsChangedEvent{constIADLX3DSettingsChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DSettingsChangedEvent - -//GPU3Dsettingchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLX3DSettingsChangedHandling::Add3DSettingEventListener() -#pragmaregionIADLX3DSettingsChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DSettingsChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOn3DSettingsChanged(IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent)=0; -};//IADLX3DSettingsChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLX3DSettingsChangedListenerIADLX3DSettingsChangedListener; - -typedefstructIADLX3DSettingsChangedListenerVtbl -{ -//IADLX3DSettingsChangedListenerinterface -adlx_bool(ADLX_STD_CALL*On3DSettingsChanged)(IADLX3DSettingsChangedListener*pThis,IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent); - -}IADLX3DSettingsChangedListenerVtbl; - -structIADLX3DSettingsChangedListener{constIADLX3DSettingsChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DSettingsChangedListener - -//Interfacethatallowsregistrationto3Dsettings-relatedevents -#pragmaregionIADLX3DSettingsChangedHandling -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLX3DSettingsChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DSettingsChangedHandling") - - -virtualADLX_RESULTADLX_STD_CALLAdd3DSettingsEventListener(IADLX3DSettingsChangedListener*p3DSettingsChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemove3DSettingsEventListener(IADLX3DSettingsChangedListener*p3DSettingsChangedListener)=0; - -};//IADLX3DSettingsChangedHandling -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DSettingsChangedHandling>IADLX3DSettingsChangedHandlingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DSettingsChangedHandling,L"IADLX3DSettingsChangedHandling") -typedefstructIADLX3DSettingsChangedHandlingIADLX3DSettingsChangedHandling; - -typedefstructIADLX3DSettingsChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DSettingsChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DSettingsChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DSettingsChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DSettingsChangedHandlinginterface -ADLX_RESULT(ADLX_STD_CALL*Add3DSettingsEventListener)(IADLX3DSettingsChangedHandling*pThis,IADLX3DSettingsChangedListener*p3DSettingsChangedListener); -ADLX_RESULT(ADLX_STD_CALL*Remove3DSettingsEventListener)(IADLX3DSettingsChangedHandling*pThis,IADLX3DSettingsChangedListener*p3DSettingsChangedListener); - -}IADLX3DSettingsChangedHandlingVtbl; - -structIADLX3DSettingsChangedHandling{constIADLX3DSettingsChangedHandlingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DSettingsChangedHandling - -//3DSettingServicesinterface -#pragmaregionIADLX3DSettingsServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; - -classADLX_NO_VTABLEIADLX3DSettingsServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLX3DSettingsServices") - - -virtualADLX_RESULTADLX_STD_CALLGetAntiLag(IADLXGPU*pGPU,IADLX3DAntiLag**pp3DAntiLag)=0; - -virtualADLX_RESULTADLX_STD_CALLGetChill(IADLXGPU*pGPU,IADLX3DChill**pp3DChill)=0; - -virtualADLX_RESULTADLX_STD_CALLGetBoost(IADLXGPU*pGPU,IADLX3DBoost**pp3DBoost)=0; - -virtualADLX_RESULTADLX_STD_CALLGetImageSharpening(IADLXGPU*pGPU,IADLX3DImageSharpening**pp3DImageSharpening)=0; - -virtualADLX_RESULTADLX_STD_CALLGetEnhancedSync(IADLXGPU*pGPU,IADLX3DEnhancedSync**pp3DEnhancedSync)=0; - -virtualADLX_RESULTADLX_STD_CALLGetWaitForVerticalRefresh(IADLXGPU*pGPU,IADLX3DWaitForVerticalRefresh**pp3DWaitForVerticalRefresh)=0; - -virtualADLX_RESULTADLX_STD_CALLGetFrameRateTargetControl(IADLXGPU*pGPU,IADLX3DFrameRateTargetControl**pp3DFrameRateTargetControl)=0; - -virtualADLX_RESULTADLX_STD_CALLGetAntiAliasing(IADLXGPU*pGPU,IADLX3DAntiAliasing**pp3DAntiAliasing)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMorphologicalAntiAliasing(IADLXGPU*pGPU,IADLX3DMorphologicalAntiAliasing**pp3DMorphologicalAntiAliasing)=0; - -virtualADLX_RESULTADLX_STD_CALLGetAnisotropicFiltering(IADLXGPU*pGPU,IADLX3DAnisotropicFiltering**pp3DAnisotropicFiltering)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTessellation(IADLXGPU*pGPU,IADLX3DTessellation**pp3DTessellation)=0; - -virtualADLX_RESULTADLX_STD_CALLGetRadeonSuperResolution(IADLX3DRadeonSuperResolution**pp3DRadeonSuperResolution)=0; - -virtualADLX_RESULTADLX_STD_CALLGetResetShaderCache(IADLXGPU*pGPU,IADLX3DResetShaderCache**pp3DResetShaderCache)=0; - -virtualADLX_RESULTADLX_STD_CALLGet3DSettingsChangedHandling(IADLX3DSettingsChangedHandling**pp3DSettingsChangedHandling)=0; - -};//IADLX3DSettingsServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLX3DSettingsServices>IADLX3DSettingsServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLX3DSettingsServices,L"IADLX3DSettingsServices") -typedefstructIADLX3DSettingsServicesIADLX3DSettingsServices; - -typedefstructIADLX3DSettingsServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLX3DSettingsServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLX3DSettingsServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLX3DSettingsServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLX3DSettingsServices -ADLX_RESULT(ADLX_STD_CALL*GetAntiLag)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DAntiLag**pp3DAntiLag); -ADLX_RESULT(ADLX_STD_CALL*GetChill)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DChill**pp3DChill); -ADLX_RESULT(ADLX_STD_CALL*GetBoost)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DBoost**pp3DBoost); -ADLX_RESULT(ADLX_STD_CALL*GetImageSharpening)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DImageSharpening**pp3DImageSharpening); -ADLX_RESULT(ADLX_STD_CALL*GetEnhancedSync)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DEnhancedSync**pp3DEnhancedSync); -ADLX_RESULT(ADLX_STD_CALL*GetWaitForVerticalRefresh)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DWaitForVerticalRefresh**pp3DWaitForVerticalRefresh); -ADLX_RESULT(ADLX_STD_CALL*GetFrameRateTargetControl)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DFrameRateTargetControl**pp3DFrameRateTargetControl); -ADLX_RESULT(ADLX_STD_CALL*GetAntiAliasing)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DAntiAliasing**pp3DAntiAliasing); -ADLX_RESULT(ADLX_STD_CALL*GetMorphologicalAntiAliasing)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DMorphologicalAntiAliasing**pp3DMorphologicalAntiAliasing); -ADLX_RESULT(ADLX_STD_CALL*GetAnisotropicFiltering)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DAnisotropicFiltering**pp3DAnisotropicFiltering); -ADLX_RESULT(ADLX_STD_CALL*GetTessellation)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DTessellation**pp3DTessellation); -ADLX_RESULT(ADLX_STD_CALL*GetRadeonSuperResolution)(IADLX3DSettingsServices*pThis,IADLX3DRadeonSuperResolution**pp3DRadeonSuperResolution); -ADLX_RESULT(ADLX_STD_CALL*GetResetShaderCache)(IADLX3DSettingsServices*pThis,IADLXGPU*pGPU,IADLX3DResetShaderCache**pp3DResetShaderCache); -ADLX_RESULT(ADLX_STD_CALL*Get3DSettingsChangedHandling)(IADLX3DSettingsServices*pThis,IADLX3DSettingsChangedHandling**pp3DSettingsChangedHandling); -}IADLX3DSettingsServicesVtbl; - -structIADLX3DSettingsServices{constIADLX3DSettingsServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLX3DSettingsServices - -#endif//ADLX_I3DSETTINGS_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_changed_event_8h.xml b/vendor/adlx/SDKDoc/xml/_i_changed_event_8h.xml deleted file mode 100644 index 237a02b..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_changed_event_8h.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - IChangedEvent.h - ADLXDefines.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/I3DSettings.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplays.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IPowerTuning.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXChangedEvent - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_CHANGEDE_EVENT_H -#defineADLX_CHANGEDE_EVENT_H -#pragmaonce - -#include"ADLXDefines.h" - -#pragmaregionIADLXChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXChangedEvent:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXChangedEvent") - - -virtualADLX_SYNC_ORIGINADLX_STD_CALLGetOrigin()=0; -};//IADLXList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXChangedEvent>IADLXChangedEventPtr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXChangedEvent,L"IADLXChangedEvent") -typedefstructIADLXChangedEventIADLXChangedEvent; -typedefstructIADLXChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXChangedEvent*pThis); - -}IADLXChangedEventVtbl; - -structIADLXChangedEvent -{ -constIADLXChangedEventVtbl*pVtbl; -}; - -#endif -#pragmaendregionIADLXChangedEvent - -#endif//ADLX_CHANGEDE_EVENT_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_collections_8h.xml b/vendor/adlx/SDKDoc/xml/_i_collections_8h.xml deleted file mode 100644 index 05a2277..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_collections_8h.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - ICollections.h - ADLXDefines.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDesktops.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplays.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUManualFanTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplaySettings.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUTuning.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ISystem.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IPerformanceMonitoring.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXList - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_ICOLLECTIONS_H -#defineADLX_ICOLLECTIONS_H -#pragmaonce - -#include"ADLXDefines.h" - -//------------------------------------------------------------------------------------------------- -//ICollections.h-InterfacesforADLXcollections - -//TheseinterfacesareusedwhenADLXreturnsorreceivesmany-ofcollections - -//IADLXListallowsiteratingforwardinacollectionofobjects,similarwithanstlvector -#pragmaregionIADLXListinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXList:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(L"IADLXInterface") - - -virtualadlx_uintADLX_STD_CALLSize()=0; -virtualadlx_boolADLX_STD_CALLEmpty()=0; - -virtualadlx_uintADLX_STD_CALLBegin()=0; -virtualadlx_uintADLX_STD_CALLEnd()=0; - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXInterface**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLClear()=0; -virtualADLX_RESULTADLX_STD_CALLRemove_Back()=0; -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXInterface*pItem)=0; -};//IADLXList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXList>IADLXListPtr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXList,L"IADLXList") -ADLX_DECLARE_ITEM_IID(IADLXInterface,L"IADLXInterface") -typedefstructIADLXListIADLXList; -typedefstructIADLXListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXList*pThis,IADLXInterface*pItem); -}IADLXListVtbl; - -structIADLXList -{ -constIADLXListVtbl*pVtbl; -}; - -#endif -#pragmaendregionIADLXListinterface - -#endif//ADLX_ICOLLECTIONS_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_desktops_8h.xml b/vendor/adlx/SDKDoc/xml/_i_desktops_8h.xml deleted file mode 100644 index b56a8b4..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_desktops_8h.xml +++ /dev/null @@ -1,345 +0,0 @@ - - - - IDesktops.h - ADLXStructures.h - ICollections.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDesktop - adlx::IADLXEyefinityDesktop - adlx::IADLXDesktopList - adlx::IADLXDesktopListChangedListener - adlx::IADLXDesktopChangedHandling - adlx::IADLXSimpleEyefinity - adlx::IADLXDesktopServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDESKTOPS_H -#defineADLX_IDESKTOPS_H -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IDesktops.h-InterfacesforADLXDesktopsfunctionality,includingAMDEyefinity - -//Desktopinterface:Describeagenericdesktop -#pragmaregionIADLXDesktop -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayList; -classADLX_NO_VTABLEIADLXDesktop:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDesktop") -virtualADLX_RESULTADLX_STD_CALLOrientation(ADLX_ORIENTATION*orientation)=0; -virtualADLX_RESULTADLX_STD_CALLSize(adlx_int*width,adlx_int*height)=0; -virtualADLX_RESULTADLX_STD_CALLTopLeft(ADLX_Point*locationTopLeft)=0; -virtualADLX_RESULTADLX_STD_CALLType(ADLX_DESKTOP_TYPE*desktopType)=0; -virtualADLX_RESULTADLX_STD_CALLGetNumberOfDisplays(adlx_uint*numDisplays)=0; -virtualADLX_RESULTADLX_STD_CALLGetDisplays(IADLXDisplayList**ppDisplays)=0; -};//IADLXDesktop -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDesktop>IADLXDesktopPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDesktop,L"IADLXDesktop") -typedefstructIADLXDesktopIADLXDesktop; -typedefstructIADLXDisplayListIADLXDisplayList; -typedefstructIADLXDesktopVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDesktop*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDesktop*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDesktop*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDesktop -ADLX_RESULT(ADLX_STD_CALL*Orientation)(IADLXDesktop*pThis,ADLX_ORIENTATION*orientation); -ADLX_RESULT(ADLX_STD_CALL*Size)(IADLXDesktop*pThis,adlx_int*width,adlx_int*height); -ADLX_RESULT(ADLX_STD_CALL*TopLeft)(IADLXDesktop*pThis,ADLX_Point*locationTopLeft); -ADLX_RESULT(ADLX_STD_CALL*Type)(IADLXDesktop*pThis,ADLX_DESKTOP_TYPE*desktopType); -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfDisplays)(IADLXDesktop*pThis,adlx_uint*numDisplays); -ADLX_RESULT(ADLX_STD_CALL*GetDisplays)(IADLXDesktop*pThis,IADLXDisplayList**ppDisplays); -}IADLXDesktopVtbl; -structIADLXDesktop{constIADLXDesktopVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDesktop - - -//AMDEyefinityDesktopinterface:describeandAMDEyefinitydesktop -#pragmaregionIADLXEyefinityDesktop -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplay; -classADLX_NO_VTABLEIADLXEyefinityDesktop:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXEyefinityDesktop") -virtualADLX_RESULTADLX_STD_CALLGridSize(adlx_uint*rows,adlx_uint*cols)=0; -virtualADLX_RESULTADLX_STD_CALLGetDisplay(adlx_uintrow,adlx_uintcol,IADLXDisplay**ppDisplay)=0; -virtualADLX_RESULTADLX_STD_CALLDisplayOrientation(adlx_uintrow,adlx_uintcol,ADLX_ORIENTATION*displayOrientation)=0; -virtualADLX_RESULTADLX_STD_CALLDisplaySize(adlx_uintrow,adlx_uintcol,adlx_int*displayWidth,adlx_int*displayHeight)=0; -virtualADLX_RESULTADLX_STD_CALLDisplayTopLeft(adlx_uintrow,adlx_uintcol,ADLX_Point*displayLocationTopLeft)=0; -};//IADLXEyefinityDesktop -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXEyefinityDesktop>IADLXEyefinityDesktopPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXEyefinityDesktop,L"IADLXEyefinityDesktop") -typedefstructIADLXEyefinityDesktopIADLXEyefinityDesktop; -typedefstructIADLXDisplayIADLXDisplay; -typedefstructIADLXDisplayListIADLXDisplayList; -typedefstructIADLXEyefinityDesktopVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXEyefinityDesktop*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXEyefinityDesktop*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXEyefinityDesktop*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXEyefinityDesktop -ADLX_RESULT(ADLX_STD_CALL*GridSize)(IADLXEyefinityDesktop*pThis,adlx_uint*rows,adlx_uint*cols); -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXEyefinityDesktop*pThis,adlx_uintrow,adlx_uintcol,IADLXDisplay**ppDisplay); -ADLX_RESULT(ADLX_STD_CALL*DisplayOrientation)(IADLXEyefinityDesktop*pThis,adlx_uintrow,adlx_uintcol,ADLX_ORIENTATION*displayOrientation); -ADLX_RESULT(ADLX_STD_CALL*DisplaySize)(IADLXEyefinityDesktop*pThis,adlx_uintrow,adlx_uintcol,adlx_int*displayWidth,adlx_int*displayHeight); -ADLX_RESULT(ADLX_STD_CALL*DisplayTopLeft)(IADLXEyefinityDesktop*pThis,adlx_uintrow,adlx_uintcol,ADLX_Point*displayLocationTopLeft); -}IADLXEyefinityDesktopVtbl; -structIADLXEyefinityDesktop{constIADLXEyefinityDesktopVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXEyefinityDesktop - - -//Desktopslistinterface:ListforIADLXDesktopitems -#pragmaregionIADLXDesktopList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDesktopList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXDesktopList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXDesktop::IID()) -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXDesktop**ppItem)=0; -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXDesktop*pItem)=0; -};//IADLXDisplayList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDesktopList>IADLXDesktopListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDesktopList,L"IADLXDesktopList") -ADLX_DECLARE_ITEM_IID(IADLXDesktop,IID_IADLXDesktop()) - -typedefstructIADLXDesktopListIADLXDesktopList; -typedefstructIADLXDesktopListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDesktopList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDesktopList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDesktopList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXDesktopList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXDesktopList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXDesktopList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXDesktopList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXDesktopList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXDesktopList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXDesktopList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXDesktopList*pThis,IADLXInterface*pItem); - -//IADLXDesktopList -ADLX_RESULT(ADLX_STD_CALL*At_DesktopList)(IADLXDesktopList*pThis,constadlx_uintlocation,IADLXDesktop**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_DesktopList)(IADLXDesktopList*pThis,IADLXDesktop*pItem); - -}IADLXDesktopListVtbl; - -structIADLXDesktopList{constIADLXDesktopListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDesktopList - -//DesktopListchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXDesktopChangedHandling::AddDesktopListEventListener() -#pragmaregionIADLXDesktopListChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDesktopListChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDesktopListChanged(IADLXDesktopList*pNewDesktop)=0; -};//IADLXDesktopListChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDesktopListChangedListenerIADLXDesktopListChangedListener; - -typedefstructIADLXDesktopListChangedListenerVtbl -{ -//IADLXDesktopListChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnDesktopListChanged)(IADLXDesktopListChangedListener*pThis,IADLXDesktopList*pNewDesktop); - -}IADLXDesktopListChangedListenerVtbl; - -structIADLXDesktopListChangedListener{constIADLXDesktopListChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDesktopListChangedListener - - -#pragmaregionIADLXDesktopChangedHandling -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDesktopChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDesktopChangedHandling") -virtualADLX_RESULTADLX_STD_CALLAddDesktopListEventListener(IADLXDesktopListChangedListener*pDesktopListChangedListener)=0; -virtualADLX_RESULTADLX_STD_CALLRemoveDesktopListEventListener(IADLXDesktopListChangedListener*pDesktopListChangedListener)=0; - -};//IADLXDesktopChangedHandling -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDesktopChangedHandling>IADLXDesktopChangedHandlingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDesktopChangedHandling,L"IADLXDesktopChangedHandling") -typedefstructIADLXDesktopChangedHandlingIADLXDesktopChangedHandling; - -typedefstructIADLXDesktopChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDesktopChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDesktopChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDesktopChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDesktopChangedHandlinginterface -ADLX_RESULT(ADLX_STD_CALL*AddDesktopListEventListener)(IADLXDesktopChangedHandling*pThis,IADLXDesktopListChangedListener*pDesktopListChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDesktopListEventListener)(IADLXDesktopChangedHandling*pThis,IADLXDesktopListChangedListener*pDesktopListChangedListener); - -}IADLXDesktopChangedHandlingVtbl; - -structIADLXDesktopChangedHandling{constIADLXDesktopChangedHandlingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDesktopChangedHandling - -//SimpleAMDEyefinityinterface:allowscreationanddestructionofAMDEyefinitydesktops -#pragmaregionIADLXSimpleEyefinity -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSimpleEyefinity:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSimpleEyefinity") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLCreate(IADLXEyefinityDesktop**ppEyefinityDesktop)=0; -virtualADLX_RESULTADLX_STD_CALLDestroyAll()=0; -virtualADLX_RESULTADLX_STD_CALLDestroy(IADLXEyefinityDesktop*pDesktop)=0; -};//IADLXSimpleEyefinity -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSimpleEyefinity>IADLXSimpleEyefinityPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSimpleEyefinity,L"IADLXSimpleEyefinity") -typedefstructIADLXSimpleEyefinityIADLXSimpleEyefinity; -typedefstructIADLXSimpleEyefinityVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSimpleEyefinity*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSimpleEyefinity*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSimpleEyefinity*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSimpleEyefinity -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXSimpleEyefinity*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*Create)(IADLXSimpleEyefinity*pThis,IADLXEyefinityDesktop**ppEyefinityDesktop); -ADLX_RESULT(ADLX_STD_CALL*DestroyAll)(IADLXSimpleEyefinity*pThis); -ADLX_RESULT(ADLX_STD_CALL*Destroy)(IADLXSimpleEyefinity*pThis,IADLXEyefinityDesktop*pDesktop); -}IADLXSimpleEyefinityVtbl; -structIADLXSimpleEyefinity{constIADLXSimpleEyefinityVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSimpleEyefinity - -//Desktopsservicesinterface:toplevelinterfaceforaccessingdesktopfunctionality: -//describedesktops(includingAMDEyefinity),registerfordesktopchangedeventsandaccessAMDEyefinityfunctionality -#pragmaregionIADLXDesktopServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDesktopServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDesktopServices") -virtualADLX_RESULTADLX_STD_CALLGetNumberOfDesktops(adlx_uint*numDesktops)=0; -virtualADLX_RESULTADLX_STD_CALLGetDesktops(IADLXDesktopList**ppDesktops)=0; -virtualADLX_RESULTADLX_STD_CALLGetDesktopChangedHandling(IADLXDesktopChangedHandling**ppDesktopChangedHandling)=0; -virtualADLX_RESULTADLX_STD_CALLGetSimpleEyefinity(IADLXSimpleEyefinity**ppSimpleEyefinity)=0; -};//IADLXDesktopServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDesktopServices>IADLXDesktopServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDesktopServices,L"IADLXDesktopServices") -typedefstructIADLXDesktopServicesIADLXDesktopServices; -typedefstructIADLXDesktopServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDesktopServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDesktopServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDesktopServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDesktopServices -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfDesktops)(IADLXDesktopServices*pThis,adlx_uint*pNumDesktops); -ADLX_RESULT(ADLX_STD_CALL*GetDesktops)(IADLXDesktopServices*pThis,IADLXDesktopList**ppDesktops); -ADLX_RESULT(ADLX_STD_CALL*GetDesktopChangedHandling)(IADLXDesktopServices*pThis,IADLXDesktopChangedHandling**ppDesktopChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*GetSimpleEyefinity)(IADLXDesktopServices*pThis,IADLXSimpleEyefinity**ppSimpleEyefinity); -}IADLXDesktopServicesVtbl; -structIADLXDesktopServices{constIADLXDesktopServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDesktopServices - -#endif//ADLX_IDESKTOPS_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_display3_d_l_u_t_8h.xml b/vendor/adlx/SDKDoc/xml/_i_display3_d_l_u_t_8h.xml deleted file mode 100644 index a97416e..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_display3_d_l_u_t_8h.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - IDisplay3DLUT.h - ADLXDefines.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDisplay3DLUT - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAY3DLUT_H -#defineADLX_IDISPLAY3DLUT_H -#pragmaonce - -#include"ADLXDefines.h" -#include"ADLXStructures.h" -//------------------------------------------------------------------------------------------------- -//IDisplays3DLUT.h-InterfacesforADLXDisplay3DLUTfunctionality - -#pragmaregionIADLXDisplay3DLUTinterface -#ifdefined(__cplusplus) - -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplay3DLUT:publicIADLXInterface -{ - -public: -ADLX_DECLARE_IID(L"IADLXDisplay3DLUT") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedSCE(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedSCEVividGaming(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentSCEDisabled(adlx_bool*sceDisabled)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentSCEVividGaming(adlx_bool*vividGaming)=0; - -virtualADLX_RESULTADLX_STD_CALLSetSCEDisabled()=0; - -virtualADLX_RESULTADLX_STD_CALLSetSCEVividGaming()=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedSCEDynamicContrast(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentSCEDynamicContrast(adlx_bool*dynamicContrast)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSCEDynamicContrastRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSCEDynamicContrast(adlx_int*contrast)=0; - -virtualADLX_RESULTADLX_STD_CALLSetSCEDynamicContrast(adlx_intcontrast)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedUser3DLUT(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLClearUser3DLUT()=0; - -virtualADLX_RESULTADLX_STD_CALLGetSDRUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLSetSDRUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLGetHDRUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLSetHDRUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLGetAllUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLSetAllUser3DLUT(ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data)=0; - -virtualADLX_RESULTADLX_STD_CALLGetUser3DLUTIndex(adlx_intlutSize,constADLX_UINT16_RGB*rgbCoordinate,adlx_int*index)=0; - -};//IADLXDisplay3DLUT -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplay3DLUT>IADLXDisplay3DLUTPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplay3DLUT,L"IADLXDisplay3DLUT") -typedefstructIADLXDisplay3DLUTIADLXDisplay3DLUT; - -typedefstructIADLXDisplay3DLUTVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplay3DLUT*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplay3DLUT*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplay3DLUT*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplay3DLUT -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSCE)(IADLXDisplay3DLUT*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSCEVividGaming)(IADLXDisplay3DLUT*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentSCEDisabled)(IADLXDisplay3DLUT*pThis,adlx_bool*sceDisabled); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentSCEVividGaming)(IADLXDisplay3DLUT*pThis,adlx_bool*vividGaming); - -ADLX_RESULT(ADLX_STD_CALL*SetSCEDisabled)(IADLXDisplay3DLUT*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetSCEVividGaming)(IADLXDisplay3DLUT*pThis); - -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSCEDynamicContrast)(IADLXDisplay3DLUT*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentSCEDynamicContrast)(IADLXDisplay3DLUT*pThis,adlx_bool*dynamicContrast); -ADLX_RESULT(ADLX_STD_CALL*GetSCEDynamicContrastRange)(IADLXDisplay3DLUT*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetSCEDynamicContrast)(IADLXDisplay3DLUT*pThis,adlx_int*contrast); -ADLX_RESULT(ADLX_STD_CALL*SetSCEDynamicContrast)(IADLXDisplay3DLUT*pThis,adlx_intcontrast); - -ADLX_RESULT(ADLX_STD_CALL*IsSupportedUser3DLUT)(IADLXDisplay3DLUT*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*ClearUser3DLUT)(IADLXDisplay3DLUT*pThis); -ADLX_RESULT(ADLX_STD_CALL*GetSDRUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*SetSDRUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*GetHDRUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*SetHDRUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*GetAllUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTION*transferFunction,ADLX_3DLUT_COLORSPACE*colorSpace,adlx_int*pointsNumber,ADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*SetAllUser3DLUT)(IADLXDisplay3DLUT*pThis,ADLX_3DLUT_TRANSFER_FUNCTIONtransferFunction,ADLX_3DLUT_COLORSPACEcolorSpace,adlx_intpointsNumber,constADLX_3DLUT_Data*data); -ADLX_RESULT(ADLX_STD_CALL*GetUser3DLUTIndex)(IADLXDisplay3DLUT*pThis,adlx_intlutSize,constADLX_UINT16_RGB*rgbCoordinate,adlx_int*index); -}IADLXDisplay3DLUTVtbl; - -structIADLXDisplay3DLUT -{ -constIADLXDisplay3DLUTVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXDisplay3DLUTinterface - -#endif//ADLX_IDISPLAY3DLUT_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_display_gamma_8h.xml b/vendor/adlx/SDKDoc/xml/_i_display_gamma_8h.xml deleted file mode 100644 index 463df7d..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_display_gamma_8h.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - IDisplayGamma.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGamma - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYGAMMA_H -#defineADLX_IDISPLAYGAMMA_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IDisplayGamma.h-InterfacesforADLXDisplayGammafunctionality - -//TheDisplayGammaobjectimplementsthisinterface -#pragmaregionIADLXDisplayGammainterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGamma:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayGamma") - - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGammaRamp(adlx_bool*isReGammaRamp)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentDeGammaRamp(adlx_bool*isDeGammaRamp)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentRegammaCoefficient(adlx_bool*isRegammaCoeff)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGammaRamp(ADLX_GammaRamp*lut)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGammaCoefficient(ADLX_RegammaCoeff*coeff)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedReGammaSRGB(adlx_bool*isSupportedRegammaSRGB)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedReGammaBT709(adlx_bool*isSupportedReGammaBT709)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedReGammaPQ(adlx_bool*isSupportedReGammaPQ)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedReGammaPQ2084Interim(adlx_bool*isSupportedReGammaPQ2084Interim)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedReGamma36(adlx_bool*isSupportedReGamma36)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGammaSRGB(adlx_bool*isCurrentReGammaSRGB)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGammaBT709(adlx_bool*isCurrentReGammaBT709)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGammaPQ(adlx_bool*isCurrentReGammaPQ)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGammaPQ2084Interim(adlx_bool*isCurrentReGammaPQ2084Interim)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentReGamma36(adlx_bool*isCurrentReGamma36)=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaSRGB()=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaBT709()=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaPQ()=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaPQ2084Interim()=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGamma36()=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaCoefficient(ADLX_RegammaCoeffcoeff)=0; - -virtualADLX_RESULTADLX_STD_CALLSetDeGammaRamp(constchar*path)=0; - -virtualADLX_RESULTADLX_STD_CALLSetDeGammaRamp(ADLX_GammaRampgammaRamp)=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaRamp(constchar*path)=0; - -virtualADLX_RESULTADLX_STD_CALLSetReGammaRamp(ADLX_GammaRampgammaRamp)=0; - -virtualADLX_RESULTADLX_STD_CALLResetGammaRamp()=0; -};//IADLXDisplayGamma -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayGamma>IADLXDisplayGammaPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayGamma,L"IADLXDisplayGamma") -typedefstructIADLXDisplayGammaIADLXDisplayGamma; - -typedefstructIADLXDisplayGammaVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayGamma*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayGamma*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayGamma*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayGamma -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGammaRamp)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGammaRamp); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentDeGammaRamp)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentDeGammaRamp); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentRegammaCoefficient)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentRegammaCoefficient); -ADLX_RESULT(ADLX_STD_CALL*GetGammaRamp)(IADLXDisplayGamma*pThis,ADLX_GammaRamp*lut); -ADLX_RESULT(ADLX_STD_CALL*GetGammaCoefficient)(IADLXDisplayGamma*pThis,ADLX_RegammaCoeff*coeff); - -ADLX_RESULT(ADLX_STD_CALL*IsSupportedReGammaSRGB)(IADLXDisplayGamma*pThis,adlx_bool*isSupportedReGammaSRGB); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedReGammaBT709)(IADLXDisplayGamma*pThis,adlx_bool*isSupportedReGammaBT709); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedReGammaPQ)(IADLXDisplayGamma*pThis,adlx_bool*isSupportedReGammaPQ); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedReGammaPQ2084Interim)(IADLXDisplayGamma*pThis,adlx_bool*isSupportedReGammaPQ2084Interim); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedReGamma36)(IADLXDisplayGamma*pThis,adlx_bool*isSupportedReGamma36); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGammaSRGB)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGammaSRGB); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGammaBT709)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGammaBT709); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGammaPQ)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGammaPQ); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGammaPQ2084Interim)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGammaPQ2084Interim); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentReGamma36)(IADLXDisplayGamma*pThis,adlx_bool*isCurrentReGamma36); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaSRGB)(IADLXDisplayGamma*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaBT709)(IADLXDisplayGamma*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaPQ)(IADLXDisplayGamma*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaPQ2084Interim)(IADLXDisplayGamma*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetReGamma36)(IADLXDisplayGamma*pThis); - -ADLX_RESULT(ADLX_STD_CALL*SetReGammaCoefficient)(IADLXDisplayGamma*pThis,ADLX_RegammaCoeffcoeff); -ADLX_RESULT(ADLX_STD_CALL*SetDeGammaRamp_Memory)(IADLXDisplayGamma*pThis,ADLX_GammaRampgammaRamp); -ADLX_RESULT(ADLX_STD_CALL*SetDeGammaRamp_File)(IADLXDisplayGamma*pThis,constchar*path); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaRamp_Memory)(IADLXDisplayGamma*pThis,ADLX_GammaRampgammaRamp); -ADLX_RESULT(ADLX_STD_CALL*SetReGammaRamp_File)(IADLXDisplayGamma*pThis,constchar*path); -ADLX_RESULT(ADLX_STD_CALL*ResetGammaRamp)(IADLXDisplayGamma*pThis); -}IADLXDisplayGammaVtbl; - -structIADLXDisplayGamma -{ -constIADLXDisplayGammaVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXDisplayGammainterface - -#endif//ADLX_IDISPLAYGAMMA_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_display_gamut_8h.xml b/vendor/adlx/SDKDoc/xml/_i_display_gamut_8h.xml deleted file mode 100644 index c583cf0..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_display_gamut_8h.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - IDisplayGamut.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGamut - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYGAMUT_H -#defineADLX_IDISPLAYGAMUT_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IDisplayGamut.h-InterfacesforADLXDisplayGamutfunctionality -#pragmaregionIADLXDisplayGamutinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGamut:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayGamut") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCCIR709ColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCCIR601ColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedAdobeRgbColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCIERgbColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCCIR2020ColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCustomColorSpace(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupported5000kWhitePoint(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupported6500kWhitePoint(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupported7500kWhitePoint(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupported9300kWhitePoint(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCustomWhitePoint(adlx_bool*supported)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrent5000kWhitePoint(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrent6500kWhitePoint(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrent7500kWhitePoint(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrent9300kWhitePoint(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCustomWhitePoint(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLGetWhitePoint(ADLX_Point*point)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCCIR709ColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCCIR601ColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentAdobeRgbColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCIERgbColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCCIR2020ColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentCustomColorSpace(adlx_bool*isSet)const=0; - -virtualADLX_RESULTADLX_STD_CALLGetGamutColorSpace(ADLX_GamutColorSpace*gamutColorSpace)const=0; - -virtualADLX_RESULTADLX_STD_CALLSetGamut(ADLX_WHITE_POINTpredefinedWhitePoint,ADLX_GAMUT_SPACEpredefinedGamutSpace)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGamut(ADLX_RGBcustomWhitePoint,ADLX_GAMUT_SPACEpredefinedGamutSpace)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGamut(ADLX_WHITE_POINTpredefinedWhitePoint,ADLX_GamutColorSpacecustomGamut)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGamut(ADLX_RGBcustomWhitePoint,ADLX_GamutColorSpacecustomGamut)=0; -};//IADLXDisplayGamut -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayGamut>IADLXDisplayGamutPtr; -} -#else - -ADLX_DECLARE_IID(IADLXDisplayGamut,L"IADLXDisplayGamut") -typedefstructIADLXDisplayGamutIADLXDisplayGamut; - -typedefstructIADLXDisplayGamutVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayGamut*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayGamut*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayGamut*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayGamut -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCCIR709ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCCIR601ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedAdobeRgbColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCIERgbColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCCIR2020ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCustomColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsSupported5000kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupported6500kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupported7500kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupported9300kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCustomWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsCurrent5000kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrent6500kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrent7500kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrent9300kWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCustomWhitePoint)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*GetWhitePoint)(IADLXDisplayGamut*pThis,ADLX_Point*point); - -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCCIR709ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCCIR601ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentAdobeRgbColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCIERgbColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCCIR2020ColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentCustomColorSpace)(IADLXDisplayGamut*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*GetGamutColorSpace)(IADLXDisplayGamut*pThis,ADLX_GamutColorSpace*gamutColorSpace); - -ADLX_RESULT(ADLX_STD_CALL*SetGamut_CW_CG)(IADLXDisplayGamut*pThis,ADLX_RGBcustomWhitePoint,ADLX_GamutColorSpacecustomGamut); -ADLX_RESULT(ADLX_STD_CALL*SetGamut_PW_CG)(IADLXDisplayGamut*pThis,ADLX_WHITE_POINTpredefinedWhitePoint,ADLX_GamutColorSpacecustomGamut); -ADLX_RESULT(ADLX_STD_CALL*SetGamut_CW_PG)(IADLXDisplayGamut*pThis,ADLX_RGBcustomWhitePoint,ADLX_GAMUT_SPACEpredefinedGamutSpace); -ADLX_RESULT(ADLX_STD_CALL*SetGamut_PW_PG)(IADLXDisplayGamut*pThis,ADLX_WHITE_POINTpredefinedWhitePoint,ADLX_GAMUT_SPACEpredefinedGamutSpace); - -}IADLXDisplayGamutVtbl; - -structIADLXDisplayGamut -{ -constIADLXDisplayGamutVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXDisplayGamutinterface - -#endif//ADLX_IDISPLAYGAMUT_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_display_settings_8h.xml b/vendor/adlx/SDKDoc/xml/_i_display_settings_8h.xml deleted file mode 100644 index eafb965..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_display_settings_8h.xml +++ /dev/null @@ -1,823 +0,0 @@ - - - - IDisplaySettings.h - ADLXStructures.h - ICollections.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDisplayFreeSync - adlx::IADLXDisplayVSR - adlx::IADLXDisplayGPUScaling - adlx::IADLXDisplayScalingMode - adlx::IADLXDisplayIntegerScaling - adlx::IADLXDisplayColorDepth - adlx::IADLXDisplayPixelFormat - adlx::IADLXDisplayCustomColor - adlx::IADLXDisplayHDCP - adlx::IADLXDisplayResolution - adlx::IADLXDisplayResolutionList - adlx::IADLXDisplayCustomResolution - adlx::IADLXDisplayVariBright - adlx::IADLXDisplayConnectivityExperience - adlx::IADLXDisplayBlanking - adlx - - - - - -// -//Copyright(c)2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYSETTING_H -#defineADLX_IDISPLAYSETTING_H - -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" - -#pragmaregionIADLXDisplayFreeSyncinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayFreeSync:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayFreeSync") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; -typedefIADLXInterfacePtr_T<IADLXDisplayFreeSync>IADLXDisplayFreeSyncPtr; -} - -#else -ADLX_DECLARE_IID(IADLXDisplayFreeSync,L"IADLXDisplayFreeSync") -typedefstructIADLXDisplayFreeSyncIADLXDisplayFreeSync; - -typedefstructIADLXFreeSyncVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayFreeSync*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayFreeSync*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayFreeSync*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayFreeSync -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayFreeSync*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayFreeSync*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayFreeSync*pThis,adlx_boolenabled); -}IADLXFreeSyncVtbl; - -structIADLXDisplayFreeSync -{ -constIADLXFreeSyncVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayFreeSyncinterface - -#pragmaregionIADLXDisplayVSRinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayVSR:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayVSR") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; -typedefIADLXInterfacePtr_T<IADLXDisplayVSR>IADLXDisplayVSRPtr; -} - -#else -ADLX_DECLARE_IID(IADLXDisplayVSR,L"IADLXDisplayVSR") -typedefstructIADLXDisplayVSRIADLXDisplayVSR; - -typedefstructIADLXVSRVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayVSR*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayVSR*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayVSR*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayVSR -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayVSR*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayVSR*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayVSR*pThis,adlx_boolenabled); -}IADLXVSRVtbl; - -structIADLXDisplayVSR -{ -constIADLXVSRVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayVSRinterface - -#pragmaregionIADLXDisplayGPUScalinginterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGPUScaling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayGPUScaling") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayGPUScaling>IADLXDisplayGPUScalingPtr; -} - -#else -ADLX_DECLARE_IID(IADLXDisplayGPUScaling,L"IADLXDisplayGPUScaling") -typedefstructIADLXDisplayGPUScalingIADLXDisplayGPUScaling; - -typedefstructIADLXGPUScalingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayGPUScaling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayGPUScaling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayGPUScaling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//GPUScaling -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayGPUScaling*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayGPUScaling*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayGPUScaling*pThis,adlx_boolenabled); -}IADLXGPUScalingVtbl; - -structIADLXDisplayGPUScaling -{ -constIADLXGPUScalingVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayGPUScalinginterface - -#pragmaregionIADLXDisplayScalingModeinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayScalingMode:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayScalingMode") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetMode(ADLX_SCALE_MODE*currentMode)=0; -virtualADLX_RESULTADLX_STD_CALLSetMode(ADLX_SCALE_MODEmode)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayScalingMode>IADLXDisplayScalingModePtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayScalingMode,L"IADLXDisplayScalingMode") - -typedefstructIADLXDisplayScalingModeIADLXDisplayScalingMode; -typedefstructIADLXDisplayScalingModeVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayScalingMode*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayScalingMode*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayScalingMode*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Scalingmode -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayScalingMode*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetMode)(IADLXDisplayScalingMode*pThis,ADLX_SCALE_MODE*currentMode); -ADLX_RESULT(ADLX_STD_CALL*SetMode)(IADLXDisplayScalingMode*pThis,ADLX_SCALE_MODEmode); -}IADLXDisplayScalingModeVtbl; - -structIADLXDisplayScalingMode -{ -constIADLXDisplayScalingModeVtbl*pVtbl; -}; - -#endif -#pragmaendregionIADLXDisplayScalingModeinterface - -#pragmaregionIADLXDisplayIntegerScalinginterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayIntegerScaling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayIntegerScaling") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; -typedefIADLXInterfacePtr_T<IADLXDisplayIntegerScaling>IADLXDisplayIntegerScalingPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayIntegerScaling,L"IADLXDisplayIntegerScaling") - -typedefstructIADLXDisplayIntegerScalingIADLXDisplayIntegerScaling; -typedefstructIADLXIntegerScalingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayIntegerScaling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayIntegerScaling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayIntegerScaling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Integerscaling -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayIntegerScaling*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayIntegerScaling*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayIntegerScaling*pThis,adlx_boolenabled); -}IADLXIntegerScalingVtbl; - -structIADLXDisplayIntegerScaling -{ -constIADLXIntegerScalingVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayIntegerScalinginterface - -#pragmaregionIADLXDisplayColorDepthinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayColorDepth:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayColorDepth") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetValue(ADLX_COLOR_DEPTH*currentColorDepth)=0; -virtualADLX_RESULTADLX_STD_CALLSetValue(ADLX_COLOR_DEPTHcolorDepth)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedColorDepth(ADLX_COLOR_DEPTHcolorDepth,adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_6(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_8(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_10(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_12(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_14(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedBPC_16(adlx_bool*supported)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayColorDepth>IADLXDisplayColorDepthPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayColorDepth,L"IADLXDisplayColorDepth") -typedefstructIADLXDisplayColorDepthIADLXDisplayColorDepth; - -typedefstructIADLX_COLOR_DEPTHVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayColorDepth*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayColorDepth*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayColorDepth*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Colordepth -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetValue)(IADLXDisplayColorDepth*pThis,ADLX_COLOR_DEPTH*currentColorDepth); -ADLX_RESULT(ADLX_STD_CALL*SetValue)(IADLXDisplayColorDepth*pThis,ADLX_COLOR_DEPTHcolorDepth); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedColorDepth)(IADLXDisplayColorDepth*pThis,ADLX_COLOR_DEPTHcolorDepth,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_6)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_8)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_10)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_12)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_14)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBPC_16)(IADLXDisplayColorDepth*pThis,adlx_bool*supported); -}IADLX_COLOR_DEPTHVtbl; - -structIADLXDisplayColorDepth -{ -constIADLX_COLOR_DEPTHVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayColorDepthinterface - -#pragmaregionIADLXDisplayPixelFormatinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayPixelFormat:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayPixelFormat") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetValue(ADLX_PIXEL_FORMAT*pixelFormat)=0; -virtualADLX_RESULTADLX_STD_CALLSetValue(ADLX_PIXEL_FORMATpixelFormat)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedPixelFormat(ADLX_PIXEL_FORMATpixelFormat,adlx_bool*supportd)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedRGB444Full(adlx_bool*supportd)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedYCbCr444(adlx_bool*supportd)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedYCbCr422(adlx_bool*supportd)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedRGB444Limited(adlx_bool*supportd)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedYCbCr420(adlx_bool*supportd)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayPixelFormat>IADLXDisplayPixelFormatPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayPixelFormat,L"IADLXDisplayPixelFormat") -typedefstructIADLXDisplayPixelFormatIADLXDisplayPixelFormat; - -typedefstructIADLX_PIXEL_FORMATVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayPixelFormat*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayPixelFormat*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayPixelFormat*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Pixelformat -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayPixelFormat*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetValue)(IADLXDisplayPixelFormat*pThis,ADLX_PIXEL_FORMAT*pixelFormat); -ADLX_RESULT(ADLX_STD_CALL*SetValue)(IADLXDisplayPixelFormat*pThis,ADLX_PIXEL_FORMATpixelFormat); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedPixelFormat)(IADLXDisplayPixelFormat*pThis,ADLX_PIXEL_FORMATpixelFormat,adlx_bool*supportd); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedRGB444Full)(IADLXDisplayPixelFormat*pThis,adlx_bool*supportd); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedYCbCr444)(IADLXDisplayPixelFormat*pThis,adlx_bool*supportd); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedYCbCr422)(IADLXDisplayPixelFormat*pThis,adlx_bool*supportd); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedRGB444Limited)(IADLXDisplayPixelFormat*pThis,adlx_bool*supportd); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedYCbCr420)(IADLXDisplayPixelFormat*pThis,adlx_bool*supportd); -}IADLX_PIXEL_FORMATVtbl; - -structIADLXDisplayPixelFormat -{ -constIADLX_PIXEL_FORMATVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayPixelFormatinterface - -#pragmaregionIADLXDisplayCustomColorinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayCustomColor:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayCustomColor") -virtualADLX_RESULTADLX_STD_CALLIsHueSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetHueRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLGetHue(adlx_int*currentHue)=0; -virtualADLX_RESULTADLX_STD_CALLSetHue(adlx_inthue)=0; -virtualADLX_RESULTADLX_STD_CALLIsSaturationSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetSaturationRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLGetSaturation(adlx_int*currentSaturation)=0; -virtualADLX_RESULTADLX_STD_CALLSetSaturation(adlx_intsaturation)=0; -virtualADLX_RESULTADLX_STD_CALLIsBrightnessSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetBrightnessRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLGetBrightness(adlx_int*currentBrightness)=0; -virtualADLX_RESULTADLX_STD_CALLSetBrightness(adlx_intbrightness)=0; -virtualADLX_RESULTADLX_STD_CALLIsContrastSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetContrastRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLGetContrast(adlx_int*currentContrast)=0; -virtualADLX_RESULTADLX_STD_CALLSetContrast(adlx_intcontrast)=0; -virtualADLX_RESULTADLX_STD_CALLIsTemperatureSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetTemperatureRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLGetTemperature(adlx_int*currentTemperature)=0; -virtualADLX_RESULTADLX_STD_CALLSetTemperature(adlx_inttemperature)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayCustomColor>IADLXDisplayCustomColorPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayCustomColor,L"IADLXDisplayCustomColor") -typedefstructIADLXDisplayCustomColorIADLXDisplayCustomColor; - -typedefstructIADLXCustomColorVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayCustomColor*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayCustomColor*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayCustomColor*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Customcolor -ADLX_RESULT(ADLX_STD_CALL*IsHueSupported)(IADLXDisplayCustomColor*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetHueRange)(IADLXDisplayCustomColor*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetHue)(IADLXDisplayCustomColor*pThis,adlx_int*currentHue); -ADLX_RESULT(ADLX_STD_CALL*SetHue)(IADLXDisplayCustomColor*pThis,adlx_inthue); - -ADLX_RESULT(ADLX_STD_CALL*IsSaturationSupported)(IADLXDisplayCustomColor*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetSaturationRange)(IADLXDisplayCustomColor*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetSaturation)(IADLXDisplayCustomColor*pThis,adlx_int*currentSaturation); -ADLX_RESULT(ADLX_STD_CALL*SetSaturation)(IADLXDisplayCustomColor*pThis,adlx_intsaturation); - -ADLX_RESULT(ADLX_STD_CALL*IsBrightnessSupported)(IADLXDisplayCustomColor*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetBrightnessRange)(IADLXDisplayCustomColor*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetBrightness)(IADLXDisplayCustomColor*pThis,adlx_int*currentBrightness); -ADLX_RESULT(ADLX_STD_CALL*SetBrightness)(IADLXDisplayCustomColor*pThis,adlx_intbrightness); - -ADLX_RESULT(ADLX_STD_CALL*IsContrastSupported)(IADLXDisplayCustomColor*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetContrastRange)(IADLXDisplayCustomColor*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetContrast)(IADLXDisplayCustomColor*pThis,adlx_int*currentContrast); -ADLX_RESULT(ADLX_STD_CALL*SetContrast)(IADLXDisplayCustomColor*pThis,adlx_intcontrast); - -ADLX_RESULT(ADLX_STD_CALL*IsTemperatureSupported)(IADLXDisplayCustomColor*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetTemperatureRange)(IADLXDisplayCustomColor*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetTemperature)(IADLXDisplayCustomColor*pThis,adlx_int*currentTemperature); -ADLX_RESULT(ADLX_STD_CALL*SetTemperature)(IADLXDisplayCustomColor*pThis,adlx_inttemperature); - - -}IADLXCustomColorVtbl; - -structIADLXDisplayCustomColor -{ -constIADLXCustomColorVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayCustomColorinterface - -#pragmaregionIADLXDisplayHDCPinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayHDCP:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayHDCP") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayHDCP>IADLXDisplayHDCPPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayHDCP,L"IADLXDisplayHDCP") -typedefstructIADLXDisplayHDCPIADLXDisplayHDCP; - -typedefstructIADLXHDCPVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayHDCP*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayHDCP*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayHDCP*pThis,constwchar_t*interfaceId,void**ppInterface); - -//HDCP -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayHDCP*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayHDCP*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayHDCP*pThis,adlx_boolenabled); -}IADLXHDCPVtbl; - -structIADLXDisplayHDCP -{ -constIADLXHDCPVtbl*pVtbl; -}; - -#endif - -#pragmaendregionIADLXDisplayHDCPinterface - -#pragmaregionIADLXDisplayResolutioninterface -#ifdefined(__cplusplus) - -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayResolution:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayResolution") -virtualADLX_RESULTADLX_STD_CALLGetValue(ADLX_CustomResolution*customResolution)=0; -virtualADLX_RESULTADLX_STD_CALLSetValue(ADLX_CustomResolutioncustomResolution)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayResolution>IADLXDisplayResolutionPtr; -} - -#else - -ADLX_DECLARE_IID(IADLXDisplayResolution,L"IADLXDisplayResolution") - -typedefstructIADLXDisplayResolutionIADLXDisplayResolution; - -typedefstructIADLXDisplayResolutionVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayResolution*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayResolution*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayResolution*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayResolution -ADLX_RESULT(ADLX_STD_CALL*GetValue)(IADLXDisplayResolution*pThis,ADLX_CustomResolution*cr); -ADLX_RESULT(ADLX_STD_CALL*SetValue)(IADLXDisplayResolution*pThis,ADLX_CustomResolutioncr); -}IADLXDisplayResolutionVtbl; - -structIADLXDisplayResolution{constIADLXDisplayResolutionVtbl*pVtbl;}; - -#endif -#pragmaendregionIADLXDisplayResolutioninterface - -#pragmaregionIADLXDisplayResolutionListinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayResolutionList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayResolutionList") -ADLX_DECLARE_ITEM_IID(IADLXDisplayResolution::IID()) -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXDisplayResolution**ppItem)=0; -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXDisplayResolution*pItem)=0; -};//IADLXDisplayResolutionList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayResolutionList>IADLXDisplayResolutionListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayResolutionList,L"IADLXDisplayResolutionList") -ADLX_DECLARE_ITEM_IID(IADLXDisplayResolution,IID_IADLXDisplayResolution()) - -typedefstructIADLXDisplayResolutionListIADLXDisplayResolutionList; - -typedefstructIADLXDisplayResolutionListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayResolutionList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayResolutionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayResolutionList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXDisplayResolutionList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXDisplayResolutionList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXDisplayResolutionList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXDisplayResolutionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXDisplayResolutionList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXDisplayResolutionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXDisplayResolutionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXDisplayResolutionList*pThis,IADLXInterface*pItem); - -//IADLXDisplayResolutionList -ADLX_RESULT(ADLX_STD_CALL*At_DisplayResolutionList)(IADLXDisplayResolutionList*pThis,constadlx_uintlocation,IADLXDisplayResolution**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_DisplayResolutionList)(IADLXDisplayResolutionList*pThis,IADLXDisplayResolution*pItem); - -}IADLXDisplayResolutionListVtbl; - -structIADLXDisplayResolutionList{constIADLXDisplayResolutionListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayResolutionListinterface - -#pragmaregionIADLXDisplayCustomResolutioninterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayCustomResolution:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayCustomResolution") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetResolutionList(IADLXDisplayResolutionList**ppResolutionList)=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentAppliedResolution(IADLXDisplayResolution**ppResolution)=0; -virtualADLX_RESULTADLX_STD_CALLCreateNewResolution(IADLXDisplayResolution*pResolution)=0; -virtualADLX_RESULTADLX_STD_CALLDeleteResolution(IADLXDisplayResolution*pResolution)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayCustomResolution>IADLXDisplayCustomResolutionPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayCustomResolution,L"IADLXDisplayCustomResolution") -typedefstructIADLXDisplayCustomResolutionIADLXDisplayCustomResolution; - -typedefstructIADLXDisplayCustomResolutionVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayCustomResolution*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayCustomResolution*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayCustomResolution*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Customresolution -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayCustomResolution*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetResolutionList)(IADLXDisplayCustomResolution*pThis,IADLXDisplayResolutionList**ppResolutionList); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentAppliedResolution)(IADLXDisplayCustomResolution*pThis,IADLXDisplayResolution**ppResolution); -ADLX_RESULT(ADLX_STD_CALL*CreateNewResolution)(IADLXDisplayCustomResolution*pThis,IADLXDisplayResolution*pResolution); -ADLX_RESULT(ADLX_STD_CALL*DeleteResolution)(IADLXDisplayCustomResolution*pThis,IADLXDisplayResolution*pResolution); -}IADLXDisplayCustomResolutionVtbl; - -structIADLXDisplayCustomResolution -{ -constIADLXDisplayCustomResolutionVtbl*pVtbl; -}; -#endif - -#pragmaendregionIADLXDisplayCustomResolutioninterface - -#pragmaregionIADLXDisplayVariBrightinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayVariBright:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayVariBright") -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -virtualADLX_RESULTADLX_STD_CALLIsCurrentMaximizeBrightness(adlx_bool*maximizeBrightness)=0; -virtualADLX_RESULTADLX_STD_CALLIsCurrentOptimizeBrightness(adlx_bool*optimizeBrightness)=0; -virtualADLX_RESULTADLX_STD_CALLIsCurrentBalanced(adlx_bool*balanced)=0; -virtualADLX_RESULTADLX_STD_CALLIsCurrentOptimizeBattery(adlx_bool*optimizeBattery)=0; -virtualADLX_RESULTADLX_STD_CALLIsCurrentMaximizeBattery(adlx_bool*maximizeBattery)=0; -virtualADLX_RESULTADLX_STD_CALLSetMaximizeBrightness()=0; -virtualADLX_RESULTADLX_STD_CALLSetOptimizeBrightness()=0; -virtualADLX_RESULTADLX_STD_CALLSetBalanced()=0; -virtualADLX_RESULTADLX_STD_CALLSetOptimizeBattery()=0; -virtualADLX_RESULTADLX_STD_CALLSetMaximizeBattery()=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayVariBright>IADLXDisplayVariBrightPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayVariBright,L"IADLXDisplayVariBright") -typedefstructIADLXDisplayVariBrightIADLXDisplayVariBright; - -typedefstructIADLXDisplayVariBrightVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayVariBright*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayVariBright*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayVariBright*pThis,constwchar_t*interfaceId,void**ppInterface); - -//Vari-Brightinterface -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayVariBright*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXDisplayVariBright*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXDisplayVariBright*pThis,adlx_boolenabled); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentMaximizeBrightness)(IADLXDisplayVariBright*pThis,adlx_bool*maximizeBrightness); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentOptimizeBrightness)(IADLXDisplayVariBright*pThis,adlx_bool*optimizeBrightness); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentBalanced)(IADLXDisplayVariBright*pThis,adlx_bool*balanced); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentOptimizeBattery)(IADLXDisplayVariBright*pThis,adlx_bool*optimizeBattery); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentMaximizeBattery)(IADLXDisplayVariBright*pThis,adlx_bool*maximizeBattery); -ADLX_RESULT(ADLX_STD_CALL*SetMaximizeBrightness)(IADLXDisplayVariBright*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetOptimizeBrightness)(IADLXDisplayVariBright*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetBalanced)(IADLXDisplayVariBright*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetOptimizeBattery)(IADLXDisplayVariBright*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetMaximizeBattery)(IADLXDisplayVariBright*pThis); -}IADLXDisplayVariBrightVtbl; - -structIADLXDisplayVariBright -{ -constIADLXDisplayVariBrightVtbl*pVtbl; -}; -#endif - -#pragmaendregionIADLXDisplayVariBrightinterface - -#pragmaregionIADLXDisplayConnectivtyExperienceinterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayConnectivityExperience:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayConnectivityExperience") -virtualADLX_RESULTADLX_STD_CALLIsSupportedHDMIQualityDetection(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedDPLink(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabledHDMIQualityDetection(adlx_bool*enabled)=0; -virtualADLX_RESULTADLX_STD_CALLSetEnabledHDMIQualityDetection(adlx_boolenabled)=0; -virtualADLX_RESULTADLX_STD_CALLGetDPLinkRate(ADLX_DP_LINK_RATE*linkRate)=0; -virtualADLX_RESULTADLX_STD_CALLGetNumberOfActiveLanes(adlx_uint*numActiveLanes)=0; -virtualADLX_RESULTADLX_STD_CALLGetNumberOfTotalLanes(adlx_uint*numTotalLanes)=0; -virtualADLX_RESULTADLX_STD_CALLGetRelativePreEmphasis(adlx_int*relativePreEmphasis)=0; -virtualADLX_RESULTADLX_STD_CALLSetRelativePreEmphasis(adlx_intrelativePreEmphasis)=0; -virtualADLX_RESULTADLX_STD_CALLGetRelativeVoltageSwing(adlx_int*relativeVoltageSwing)=0; -virtualADLX_RESULTADLX_STD_CALLSetRelativeVoltageSwing(adlx_intrelativeVoltageSwing)=0; -virtualADLX_RESULTADLX_STD_CALLIsEnabledLinkProtection(adlx_bool*enabled)=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayConnectivityExperience>IADLXDisplayConnectivityExperiencePtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayConnectivityExperience,L"IADLXDisplayConnectivityExperience") -typedefstructIADLXDisplayConnectivityExperienceIADLXDisplayConnectivityExperience; - -typedefstructIADLXDisplayConnectivityExperienceVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayConnectivityExperience*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayConnectivityExperience*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayConnectivityExperience*pThis,constwchar_t*interfaceId,void**ppInterface); - -//DisplayConnectivityExperienceinterface -ADLX_RESULT(ADLX_STD_CALL*IsSupportedHDMIQualityDetection)(IADLXDisplayConnectivityExperience*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedDPLink)(IADLXDisplayConnectivityExperience*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabledHDMIQualityDetection)(IADLXDisplayConnectivityExperience*pThis,adlx_boolenabled); -ADLX_RESULT(ADLX_STD_CALL*GetDPLinkRate)(IADLXDisplayConnectivityExperience*pThis,ADLX_DP_LINK_RATE*linkRate); -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfActiveLanes)(IADLXDisplayConnectivityExperience*pThis,adlx_uint*numActiveLanes); -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfTotalLanes)(IADLXDisplayConnectivityExperience*pThis,adlx_uint*numTotalLanes); -ADLX_RESULT(ADLX_STD_CALL*GetRelativePreEmphasis)(IADLXDisplayConnectivityExperience*pThis,adlx_int*relativePreEmphasis); -ADLX_RESULT(ADLX_STD_CALL*SetRelativePreEmphasis)(IADLXDisplayConnectivityExperience*pThis,adlx_intrelativePreEmphasis); -ADLX_RESULT(ADLX_STD_CALL*GetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience*pThis,adlx_int*relativeVoltageSwing); -ADLX_RESULT(ADLX_STD_CALL*SetRelativeVoltageSwing)(IADLXDisplayConnectivityExperience*pThis,adlx_intrelativeVoltageSwing); -ADLX_RESULT(ADLX_STD_CALL*IsEnabledLinkProtection)(IADLXDisplayConnectivityExperience*pThis,adlx_bool*enabled); -}IADLXDisplayConnectivityExperienceVtbl; - -structIADLXDisplayConnectivityExperience -{ -constIADLXDisplayConnectivityExperienceVtbl*pVtbl; -}; -#endif - -#pragmaendregionIADLXDisplayConnectivtyExperienceinterface - -#pragmaregionIADLXDisplayBlankinginterface - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayBlanking:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayBlanking") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentBlanked(adlx_bool*blanked)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentUnblanked(adlx_bool*unBlanked)=0; - -virtualADLX_RESULTADLX_STD_CALLSetBlanked()=0; - -virtualADLX_RESULTADLX_STD_CALLSetUnblanked()=0; -}; - -typedefIADLXInterfacePtr_T<IADLXDisplayBlanking>IADLXDisplayBlankingPtr; -} -#else -ADLX_DECLARE_IID(IADLXDisplayBlanking,L"IADLXDisplayBlanking") -typedefstructIADLXDisplayBlankingIADLXDisplayBlanking; - -typedefstructIADLXDisplayBlankingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayBlanking*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayBlanking*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayBlanking*pThis,constwchar_t*interfaceId,void**ppInterface); - -//DisplayBlankinginterface -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXDisplayBlanking*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentBlanked)(IADLXDisplayBlanking*pThis,adlx_bool*blanked); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentUnblanked)(IADLXDisplayBlanking*pThis,adlx_bool*unBlanked); -ADLX_RESULT(ADLX_STD_CALL*SetBlanked)(IADLXDisplayBlanking*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetUnblanked)(IADLXDisplayBlanking*pThis); -}IADLXDisplayBlankingVtbl; - -structIADLXDisplayBlanking -{ -constIADLXDisplayBlankingVtbl*pVtbl; -}; -#endif - -#pragmaendregionIADLXDisplayBlankinginterface - -#endif//ADLX_IDISPLAYSETTING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_displays1_8h.xml b/vendor/adlx/SDKDoc/xml/_i_displays1_8h.xml deleted file mode 100644 index 67e0470..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_displays1_8h.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - IDisplays1.h - IDisplays.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplays2.h - adlx::IADLXDisplayServices1 - adlx::IADLXDisplaySettingsChangedEvent1 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYS1_H -#defineADLX_IDISPLAYS1_H -#pragmaonce - -#include"IDisplays.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays1.h-InterfacesforADLXDisplayInformationfunctionality - -#pragmaregionIADLXDisplayServices1 - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayConnectivityExperience; -classADLX_NO_VTABLEIADLXDisplayBlanking; -classADLX_NO_VTABLEIADLXDisplayServices1:publicIADLXDisplayServices -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayServices1") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplayBlanking(IADLXDisplay*pDisplay,IADLXDisplayBlanking**ppDisplayBlanking)=0; - -};//IADLXDisplayServices1 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayServices1>IADLXDisplayServices1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayServices1,L"IADLXDisplayServices1") -typedefstructIADLXDisplayServices1IADLXDisplayServices1; - -typedefstructIADLXDisplayFreeSyncIADLXDisplayFreeSync; -typedefstructIADLXDisplayVSRIADLXDisplayVSR; -typedefstructIADLXDisplayGPUScalingIADLXDisplayGPUScaling; -typedefstructIADLXDisplayScalingModeIADLXDisplayScalingMode; -typedefstructIADLXDisplayIntegerScalingIADLXDisplayIntegerScaling; -typedefstructIADLXDisplayColorDepthIADLXDisplayColorDepth; -typedefstructIADLXDisplayPixelFormatIADLXDisplayPixelFormat; -typedefstructIADLXDisplayCustomColorIADLXDisplayCustomColor; -typedefstructIADLXDisplayHDCPIADLXDisplayHDCP; -typedefstructIADLXDisplayCustomResolutionIADLXDisplayCustomResolution; -typedefstructIADLXDisplayChangedHandlingIADLXDisplayChangedHandling; -typedefstructIADLXDisplayVariBrightIADLXDisplayVariBright; -typedefstructIADLXDisplayConnectivityExperienceIADLXDisplayConnectivityExperience; -typedefstructIADLXDisplayBlankingIADLXDisplayBlanking; - -typedefstructIADLXDisplayServices1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayServices1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayServices1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayServices1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayServices -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfDisplays)(IADLXDisplayServices1*pThis,adlx_uint*numDisplays); -ADLX_RESULT(ADLX_STD_CALL*GetDisplays)(IADLXDisplayServices1*pThis,IADLXDisplayList**ppDisplays); -ADLX_RESULT(ADLX_STD_CALL*Get3DLUT)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplay3DLUT**ppDisp3DLUT); -ADLX_RESULT(ADLX_STD_CALL*GetGamut)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamut**ppDispGamut); -ADLX_RESULT(ADLX_STD_CALL*GetGamma)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamma**ppDispGamma); -ADLX_RESULT(ADLX_STD_CALL*GetDisplayChangedHandling)(IADLXDisplayServices1*pThis,IADLXDisplayChangedHandling**ppDisplayChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*GetFreeSync)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayFreeSync**ppFreeSync); -ADLX_RESULT(ADLX_STD_CALL*GetVirtualSuperResolution)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayVSR**ppVSR); -ADLX_RESULT(ADLX_STD_CALL*GetGPUScaling)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayGPUScaling**ppGPUScaling); -ADLX_RESULT(ADLX_STD_CALL*GetScalingMode)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayScalingMode**ppScalingMode); -ADLX_RESULT(ADLX_STD_CALL*GetIntegerScaling)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayIntegerScaling**ppIntegerScaling); -ADLX_RESULT(ADLX_STD_CALL*GetColorDepth)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayColorDepth**ppColorDepth); -ADLX_RESULT(ADLX_STD_CALL*GetPixelFormat)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayPixelFormat**ppPixelFormat); -ADLX_RESULT(ADLX_STD_CALL*GetCustomColor)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomColor**ppCustomColor); -ADLX_RESULT(ADLX_STD_CALL*GetHDCP)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayHDCP**ppHDCP); -ADLX_RESULT(ADLX_STD_CALL*GetCustomResolution)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomResolution**ppCustomResolution); -ADLX_RESULT(ADLX_STD_CALL*GetVariBright)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayVariBright**ppVariBright); - -//IADLXDisplayServices1 -ADLX_RESULT(ADLX_STD_CALL*GetDisplayBlanking)(IADLXDisplayServices1*pThis,IADLXDisplay*pDisplay,IADLXDisplayBlanking**ppDisplayBlanking); -}IADLXDisplayServices1Vtbl; - -structIADLXDisplayServices1{constIADLXDisplayServices1Vtbl*pVtbl;}; -#endif - -#pragmaendregionIADLXDisplayServices1 - -#pragmaregionIADLXDisplaySettingsChangedEvent1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplaySettingsChangedEvent1:publicIADLXDisplaySettingsChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent1") - - -virtualadlx_boolADLX_STD_CALLIsDisplayBlankingChanged()=0; -};//IADLXDisplaySettingsChangedEvent1 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent1>IADLXDisplaySettingsChangedEvent1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent1,L"IADLXDisplaySettingsChangedEvent1") -typedefstructIADLXDisplaySettingsChangedEvent1IADLXDisplaySettingsChangedEvent1; - -typedefstructIADLXDisplaySettingsChangedEvent1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplaySettingsChangedEvent1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplaySettingsChangedEvent1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplaySettingsChangedEvent1*pThis); - -//IADLXDisplaySettingsChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplaySettingsChangedEvent1*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsVSRChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsHDCPChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent1*pThis); - -//IADLXDisplaySettingsChangedEvent1interface -adlx_bool(ADLX_STD_CALL*IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent1*pThis); - -}IADLXDisplaySettingsChangedEvent1Vtbl; - -structIADLXDisplaySettingsChangedEvent1{constIADLXDisplaySettingsChangedEvent1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplaySettingsChangedEvent1 - -#endif//ADLX_IDISPLAYS1_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_displays2_8h.xml b/vendor/adlx/SDKDoc/xml/_i_displays2_8h.xml deleted file mode 100644 index 9027fa9..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_displays2_8h.xml +++ /dev/null @@ -1,153 +0,0 @@ - - - - IDisplays2.h - IDisplays1.h - adlx::IADLXDisplayServices2 - adlx::IADLXDisplaySettingsChangedEvent2 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYS2_H -#defineADLX_IDISPLAYS2_H -#pragmaonce - -#include"IDisplays1.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays2.h-InterfacesforADLXDisplayInformationfunctionality - -#pragmaregionIADLXDisplayServices2 - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayConnectivityExperience; -classADLX_NO_VTABLEIADLXDisplayServices2:publicIADLXDisplayServices1 -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayServices2") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplayConnectivityExperience(IADLXDisplay*pDisplay,IADLXDisplayConnectivityExperience**ppDisplayConnectivityExperience)=0; -};//IADLXDisplayServices2 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayServices2>IADLXDisplayServices2Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayServices2,L"IADLXDisplayServices2") -typedefstructIADLXDisplayServices2IADLXDisplayServices2; - -typedefstructIADLXDisplayConnectivityExperienceIADLXDisplayConnectivityExperience; - -typedefstructIADLXDisplayServices2Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayServices2*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayServices2*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayServices2*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayServices -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfDisplays)(IADLXDisplayServices2*pThis,adlx_uint*numDisplays); -ADLX_RESULT(ADLX_STD_CALL*GetDisplays)(IADLXDisplayServices2*pThis,IADLXDisplayList**ppDisplays); -ADLX_RESULT(ADLX_STD_CALL*Get3DLUT)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplay3DLUT**ppDisp3DLUT); -ADLX_RESULT(ADLX_STD_CALL*GetGamut)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamut**ppDispGamut); -ADLX_RESULT(ADLX_STD_CALL*GetGamma)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamma**ppDispGamma); -ADLX_RESULT(ADLX_STD_CALL*GetDisplayChangedHandling)(IADLXDisplayServices2*pThis,IADLXDisplayChangedHandling**ppDisplayChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*GetFreeSync)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayFreeSync**ppFreeSync); -ADLX_RESULT(ADLX_STD_CALL*GetVirtualSuperResolution)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayVSR**ppVSR); -ADLX_RESULT(ADLX_STD_CALL*GetGPUScaling)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayGPUScaling**ppGPUScaling); -ADLX_RESULT(ADLX_STD_CALL*GetScalingMode)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayScalingMode**ppScalingMode); -ADLX_RESULT(ADLX_STD_CALL*GetIntegerScaling)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayIntegerScaling**ppIntegerScaling); -ADLX_RESULT(ADLX_STD_CALL*GetColorDepth)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayColorDepth**ppColorDepth); -ADLX_RESULT(ADLX_STD_CALL*GetPixelFormat)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayPixelFormat**ppPixelFormat); -ADLX_RESULT(ADLX_STD_CALL*GetCustomColor)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomColor**ppCustomColor); -ADLX_RESULT(ADLX_STD_CALL*GetHDCP)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayHDCP**ppHDCP); -ADLX_RESULT(ADLX_STD_CALL*GetCustomResolution)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomResolution**ppCustomResolution); -ADLX_RESULT(ADLX_STD_CALL*GetVariBright)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayVariBright**ppVariBright); - -//IADLXDisplayServices1 -ADLX_RESULT(ADLX_STD_CALL*GetDisplayBlanking)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayBlanking**ppDisplayBlanking); - -//IADLXDisplayServices2 -ADLX_RESULT(ADLX_STD_CALL*GetDisplayConnectivityExperience)(IADLXDisplayServices2*pThis,IADLXDisplay*pDisplay,IADLXDisplayConnectivityExperience**ppDisplayConnectivityExperience); -}IADLXDisplayServices2Vtbl; - -structIADLXDisplayServices2{constIADLXDisplayServices2Vtbl*pVtbl;}; -#endif - -#pragmaendregionIADLXDisplayServices2 - -#pragmaregionIADLXDisplaySettingsChangedEvent2 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplaySettingsChangedEvent2:publicIADLXDisplaySettingsChangedEvent1 -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent2") - - -virtualadlx_boolADLX_STD_CALLIsDisplayConnectivityExperienceChanged()=0; -};//IADLXDisplaySettingsChangedEvent2 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent2>IADLXDisplaySettingsChangedEvent2Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent2,L"IADLXDisplaySettingsChangedEvent2") -typedefstructIADLXDisplaySettingsChangedEvent2IADLXDisplaySettingsChangedEvent2; - -typedefstructIADLXDisplaySettingsChangedEvent2Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplaySettingsChangedEvent2*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplaySettingsChangedEvent2*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplaySettingsChangedEvent2*pThis); - -//IADLXDisplaySettingsChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplaySettingsChangedEvent2*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsVSRChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsHDCPChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent2*pThis); -adlx_bool(ADLX_STD_CALL*IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent2*pThis); - -//IADLXDisplaySettingsChangedEvent1interface -adlx_bool(ADLX_STD_CALL*IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent2*pThis); - -//IADLXDisplaySettingsChangedEvent2interface -adlx_bool(ADLX_STD_CALL*IsDisplayConnectivityExperienceChanged)(IADLXDisplaySettingsChangedEvent2*pThis); - - -}IADLXDisplaySettingsChangedEvent2Vtbl; - -structIADLXDisplaySettingsChangedEvent2{constIADLXDisplaySettingsChangedEvent2Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplaySettingsChangedEvent2 - -#endif//ADLX_IDISPLAYS2_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_displays_8h.xml b/vendor/adlx/SDKDoc/xml/_i_displays_8h.xml deleted file mode 100644 index 5173d23..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_displays_8h.xml +++ /dev/null @@ -1,719 +0,0 @@ - - - - IDisplays.h - ADLXStructures.h - ICollections.h - IChangedEvent.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IDisplays1.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXDisplay - adlx::IADLXDisplayList - adlx::IADLXDisplayListChangedListener - adlx::IADLXDisplayGamutChangedEvent - adlx::IADLXDisplayGamutChangedListener - adlx::IADLXDisplayGammaChangedEvent - adlx::IADLXDisplayGammaChangedListener - adlx::IADLXDisplay3DLUTChangedEvent - adlx::IADLXDisplay3DLUTChangedListener - adlx::IADLXDisplaySettingsChangedEvent - adlx::IADLXDisplaySettingsChangedListener - adlx::IADLXDisplayChangedHandling - adlx::IADLXDisplayServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IDISPLAYS_H -#defineADLX_IDISPLAYS_H -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" -#include"IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//IDisplays.h-InterfacesforADLXDisplayInformationfunctionality - -//Displayinterface -#pragmaregionIADLXDisplay -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; -classADLX_NO_VTABLEIADLXDisplayGamut; -classADLX_NO_VTABLEIADLXDisplayGamma; -classADLX_NO_VTABLEIADLXDisplay3DLUT; -classADLX_NO_VTABLEIADLXDisplayFreeSync; -classADLX_NO_VTABLEIADLXDisplayVSR; -classADLX_NO_VTABLEIADLXDisplayGPUScaling; -classADLX_NO_VTABLEIADLXDisplayScalingMode; -classADLX_NO_VTABLEIADLXDisplayIntegerScaling; -classADLX_NO_VTABLEIADLXDisplayColorDepth; -classADLX_NO_VTABLEIADLXDisplayPixelFormat; -classADLX_NO_VTABLEIADLXDisplayCustomColor; -classADLX_NO_VTABLEIADLXDisplayHDCP; -classADLX_NO_VTABLEIADLXDisplayCustomResolution; -classADLX_NO_VTABLEIADLXDisplayVariBright; -classADLX_NO_VTABLEIADLXDisplay:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplay") - - -virtualADLX_RESULTADLX_STD_CALLManufacturerID(adlx_uint*manufacturerID)const=0; - -virtualADLX_RESULTADLX_STD_CALLDisplayType(ADLX_DISPLAY_TYPE*displayType)const=0; - -virtualADLX_RESULTADLX_STD_CALLConnectorType(ADLX_DISPLAY_CONNECTOR_TYPE*connectType)const=0; - -virtualADLX_RESULTADLX_STD_CALLName(constchar**displayName)const=0; - -virtualADLX_RESULTADLX_STD_CALLEDID(constchar**edid)const=0; - -virtualADLX_RESULTADLX_STD_CALLNativeResolution(adlx_int*maxHResolution,adlx_int*maxVResolution)const=0; - -virtualADLX_RESULTADLX_STD_CALLRefreshRate(adlx_double*refreshRate)const=0; - -virtualADLX_RESULTADLX_STD_CALLPixelClock(adlx_uint*pixelClock)const=0; - -virtualADLX_RESULTADLX_STD_CALLScanType(ADLX_DISPLAY_SCAN_TYPE*scanType)const=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPU(IADLXGPU**ppGPU)=0; - -virtualADLX_RESULTADLX_STD_CALLUniqueId(adlx_size*uniqueId)=0; -};//IADLXDisplay -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplay>IADLXDisplayPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplay,L"IADLXDisplay") -typedefstructIADLXDisplayGamutIADLXDisplayGamut; -typedefstructIADLXDisplayGammaIADLXDisplayGamma; -typedefstructIADLXDisplay3DLUTIADLXDisplay3DLUT; -typedefstructIADLXGPUIADLXGPU; - -typedefstructIADLXDisplayIADLXDisplay; - -typedefstructIADLXDisplayVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplay*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplay*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplay*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplay -ADLX_RESULT(ADLX_STD_CALL*ManufacturerID)(IADLXDisplay*pThis,adlx_uint*manufacturerID); -ADLX_RESULT(ADLX_STD_CALL*DisplayType)(IADLXDisplay*pThis,ADLX_DISPLAY_TYPE*displayType); -ADLX_RESULT(ADLX_STD_CALL*ConnectorType)(IADLXDisplay*pThis,ADLX_DISPLAY_CONNECTOR_TYPE*connectType); -ADLX_RESULT(ADLX_STD_CALL*Name)(IADLXDisplay*pThis,constchar**displayName); -ADLX_RESULT(ADLX_STD_CALL*EDID)(IADLXDisplay*pThis,constchar**edid); -ADLX_RESULT(ADLX_STD_CALL*NativeResolution)(IADLXDisplay*pThis,adlx_int*maxHResolution,adlx_int*maxVResolution); -ADLX_RESULT(ADLX_STD_CALL*RefreshRate)(IADLXDisplay*pThis,adlx_double*refreshRate); -ADLX_RESULT(ADLX_STD_CALL*PixelClock)(IADLXDisplay*pThis,adlx_uint*pixelClock); -ADLX_RESULT(ADLX_STD_CALL*ScanType)(IADLXDisplay*pThis,ADLX_DISPLAY_SCAN_TYPE*scanType); -ADLX_RESULT(ADLX_STD_CALL*GetGPU)(IADLXDisplay*pThis,IADLXGPU**ppGPU); -ADLX_RESULT(ADLX_STD_CALL*UniqueId)(IADLXDisplay*pThis,adlx_size*uniqueId); -}IADLXDisplayVtbl; - -structIADLXDisplay{constIADLXDisplayVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplay - -//Displaylistinterface -#pragmaregionIADLXDisplayList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXDisplay::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXDisplay**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXDisplay*pItem)=0; -};//IADLXDisplayList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayList>IADLXDisplayListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayList,L"IADLXDisplayList") -ADLX_DECLARE_ITEM_IID(IADLXDisplay,IID_IADLXDisplay()) - -typedefstructIADLXDisplayListIADLXDisplayList; - -typedefstructIADLXDisplayListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXDisplayList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXDisplayList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXDisplayList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXDisplayList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXDisplayList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXDisplayList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXDisplayList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXDisplayList*pThis,IADLXInterface*pItem); - -//IADLXDisplayList -ADLX_RESULT(ADLX_STD_CALL*At_DisplayList)(IADLXDisplayList*pThis,constadlx_uintlocation,IADLXDisplay**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_DisplayList)(IADLXDisplayList*pThis,IADLXDisplay*pItem); - -}IADLXDisplayListVtbl; - -structIADLXDisplayList{constIADLXDisplayListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayList - -//DisplayListchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXDisplayChangedHandling::AddDisplayListEventListener() -#pragmaregionIADLXDisplayListChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayListChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDisplayListChanged(IADLXDisplayList*pNewDisplay)=0; -};//IADLXDisplayListChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDisplayListChangedListenerIADLXDisplayListChangedListener; - -typedefstructIADLXDisplayListChangedListenerVtbl -{ -//IDisplayEventListenerinterface -adlx_bool(ADLX_STD_CALL*OnDisplayListChanged)(IADLXDisplayListChangedListener*pThis,IADLXDisplayList*pNewDisplay); - -}IADLXDisplayListChangedListenerVtbl; - -structIADLXDisplayListChangedListener{constIADLXDisplayListChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayListChangedListener - -//Interfacewithinformationongamutchangesonadisplay.ADLXpassesthistoapplicationthatregisteredforGamutchangedeventintheIADLXDisplayGamutChangedListener::OnDisplayGamutChanged() -#pragmaregionIADLXDisplayGamutChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGamutChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayGamutChangedEvent") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplay(IADLXDisplay**ppDisplay)=0; - -virtualadlx_boolADLX_STD_CALLIsWhitePointChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsColorSpaceChanged()=0; -};//IADLXDisplayGamutChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayGamutChangedEvent>IADLXDisplayGamutChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayGamutChangedEvent,L"IADLXDisplayGamutChangedEvent") -typedefstructIADLXDisplayGamutChangedEventIADLXDisplayGamutChangedEvent; - -typedefstructIADLXDisplayGamutChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayGamutChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayGamutChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayGamutChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplayGamutChangedEvent*pThis); - -//IADLXDisplayGamutChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplayGamutChangedEvent*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsWhitePointChanged)(IADLXDisplayGamutChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsColorSpaceChanged)(IADLXDisplayGamutChangedEvent*pThis); - -}IADLXDisplayGamutChangedEventVtbl; - -structIADLXDisplayGamutChangedEvent{constIADLXDisplayGamutChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayGamutChangedEvent - -//DisplayGamutchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXDisplayChangedHandling::AddDisplayGamutEventListener() -#pragmaregionIADLXDisplayGamutChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGamutChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDisplayGamutChanged(IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent)=0; -};//IADLXDisplayGamutChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDisplayGamutChangedListenerIADLXDisplayGamutChangedListener; - -typedefstructIADLXDisplayGamutChangedListenerVtbl -{ -//IADLXDisplayGamutChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*pThis,IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent); - -}IADLXDisplayGamutChangedListenerVtbl; - -structIADLXDisplayGamutChangedListener{constIADLXDisplayGamutChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayGamutChangedListener - -//Interfacewithinformationongammachangesonadisplay.ADLXpassesthistoapplicationthatregisteredforGammachangedeventintheIADLXDisplayGammaChangedListener::OnDisplayGammaChanged() -#pragmaregionIADLXDisplayGammaChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGammaChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayGammaChangedEvent") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplay(IADLXDisplay**ppDisplay)=0; - -virtualadlx_boolADLX_STD_CALLIsGammaRampChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsGammaCoefficientChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsReGammaChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsDeGammaChanged()=0; -};//IADLXDisplayGammaChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayGammaChangedEvent>IADLXDisplayGammaChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayGammaChangedEvent,L"IADLXDisplayGammaChangedEvent") -typedefstructIADLXDisplayGammaChangedEventIADLXDisplayGammaChangedEvent; - -typedefstructIADLXDisplayGammaChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayGammaChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayGammaChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayGammaChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplayGammaChangedEvent*pThis); - -//IADLXDisplayGammaChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplayGammaChangedEvent*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsGammaRampChanged)(IADLXDisplayGammaChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsGammaCoefficientChanged)(IADLXDisplayGammaChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsReGammaChanged)(IADLXDisplayGammaChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsDeGammaChanged)(IADLXDisplayGammaChangedEvent*pThis); - -}IADLXDisplayGammaChangedEventVtbl; - -structIADLXDisplayGammaChangedEvent{constIADLXDisplayGammaChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayGammaChangedEvent - -//DisplayGammachangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXDisplayChangedHandling::AddDisplayGammaEventListener() -#pragmaregionIADLXDisplayGammaChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayGammaChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDisplayGammaChanged(IADLXDisplayGammaChangedEvent*pDisplayGammaChangedEvent)=0; -};//IADLXDisplayGammaChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDisplayGammaChangedListenerIADLXDisplayGammaChangedListener; - -typedefstructIADLXDisplayGammaChangedListenerVtbl -{ -//IADLXDisplayGammaChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnDisplayGammaChanged)(IADLXDisplayGammaChangedListener*pThis,IADLXDisplayGammaChangedEvent*pDisplayGammaChangedEvent); - -}IADLXDisplayGammaChangedListenerVtbl; - -structIADLXDisplayGammaChangedListener{constIADLXDisplayGammaChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayGammaChangedListener - -//Interfacewithinformationon3DLUTchangesonadisplay.ADLXpassesthistoapplicationthatregisteredfor3DLUTchangedeventintheIADLXDisplay3DLUTChangedListener::OnDisplay3DLUTChanged() -#pragmaregionIADLXDisplay3DLUTChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplay3DLUTChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplay3DLUTChangedEvent") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplay(IADLXDisplay**ppDisplay)=0; -virtualadlx_boolADLX_STD_CALLIsSCEChanged()=0; -virtualadlx_boolADLX_STD_CALLIsCustom3DLUTChanged()=0; -};//IADLXDisplay3DLUTChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplay3DLUTChangedEvent>IADLXDisplay3DLUTChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplay3DLUTChangedEvent,L"IADLXDisplay3DLUTChangedEvent") -typedefstructIADLXDisplay3DLUTChangedEventIADLXDisplay3DLUTChangedEvent; - -typedefstructIADLXDisplay3DLUTChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplay3DLUTChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplay3DLUTChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplay3DLUTChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplay3DLUTChangedEvent*pThis); - -//IADLXDisplay3DLUTChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplay3DLUTChangedEvent*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsSCEChanged)(IADLXDisplay3DLUTChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustom3DLUTChanged)(IADLXDisplay3DLUTChangedEvent*pThis); -}IADLXDisplay3DLUTChangedEventVtbl; - -structIADLXDisplay3DLUTChangedEvent{constIADLXDisplay3DLUTChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplay3DLUTChangedEvent - -//Display3DLUTchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXDisplayChangedHandling::AddDisplay3DLUTEventListener() -#pragmaregionIADLXDisplay3DLUTChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplay3DLUTChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent)=0; -};//IADLXDisplay3DLUTChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDisplay3DLUTChangedListenerIADLXDisplay3DLUTChangedListener; - -typedefstructIADLXDisplay3DLUTChangedListenerVtbl -{ -//IADLXDisplayGammaChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnDisplay3DLUTChanged)(IADLXDisplay3DLUTChangedListener*pThis,IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent); - -}IADLXDisplay3DLUTChangedListenerVtbl; - -structIADLXDisplay3DLUTChangedListener{constIADLXDisplay3DLUTChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplay3DLUTChangedListener - -#pragmaregionIADLXDisplaySettingsChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplay; - -classADLX_NO_VTABLEIADLXDisplaySettingsChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent") - - -virtualADLX_RESULTADLX_STD_CALLGetDisplay(IADLXDisplay**ppDisplay)=0; - -virtualadlx_boolADLX_STD_CALLIsFreeSyncChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsVSRChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsGPUScalingChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsScalingModeChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsIntegerScalingChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsColorDepthChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsPixelFormatChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsHDCPChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomColorHueChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomColorSaturationChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomColorBrightnessChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomColorTemperatureChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomColorContrastChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsCustomResolutionChanged()=0; -virtualadlx_boolADLX_STD_CALLIsVariBrightChanged()=0; -};//IADLXDisplaySettingsChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent>IADLXDisplaySettingsChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent,L"IADLXDisplaySettingsChangedEvent") -typedefstructIADLXDisplaySettingsChangedEventIADLXDisplaySettingsChangedEvent; - -typedefstructIADLXDisplaySettingsChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplaySettingsChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplaySettingsChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXDisplaySettingsChangedEvent*pThis); - -//IADLXDisplaySettingsChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetDisplay)(IADLXDisplaySettingsChangedEvent*pThis,IADLXDisplay**ppDisplay); -adlx_bool(ADLX_STD_CALL*IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsVSRChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsHDCPChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent*pThis); - -}IADLXDisplaySettingsChangedEventVtbl; - -structIADLXDisplaySettingsChangedEvent{constIADLXDisplaySettingsChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplaySettingsChangedEvent - -#pragmaregionIADLXDisplaySettingsChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplaySettingsChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnDisplaySettingsChanged(IADLXDisplaySettingsChangedEvent*pDisplaySettingChangedEvent)=0; -};//IADLXDisplaySettingsChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXDisplaySettingsChangedListenerIADLXDisplaySettingsChangedListener; - -typedefstructIADLXDisplaySettingsChangedListenerVtbl -{ -//IADLXDisplaySettingsChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnDisplaySettingsChanged)(IADLXDisplaySettingsChangedListener*pThis,IADLXDisplaySettingsChangedEvent*pDisplaySettingChangedEvent); - -}IADLXDisplaySettingsChangedListenerVtbl; - -structIADLXDisplaySettingsChangedListener{constIADLXDisplaySettingsChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplaySettingsChangedListener - - -//Interfacethatallowsregistrationtodisplay-relatedevents:DisplayListchanged,DisplayGamutchanged,DisplayGammachangedandDisplay3DLUTchanged -#pragmaregionIADLXDisplayChangedHandling -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayChangedHandling") - - -virtualADLX_RESULTADLX_STD_CALLAddDisplayListEventListener(IADLXDisplayListChangedListener*pDisplayListChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveDisplayListEventListener(IADLXDisplayListChangedListener*pDisplayListChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLAddDisplayGamutEventListener(IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveDisplayGamutEventListener(IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLAddDisplayGammaEventListener(IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveDisplayGammaEventListener(IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLAddDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener)=0; -virtualADLX_RESULTADLX_STD_CALLAddDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener)=0; -};//IADLXDisplayChangedHandling -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayChangedHandling>IADLXDisplayChangedHandlingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayChangedHandling,L"IADLXDisplayChangedHandling") -typedefstructIADLXDisplayChangedHandlingIADLXDisplayChangedHandling; - -typedefstructIADLXDisplayChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayChangedHandlinginterface -ADLX_RESULT(ADLX_STD_CALL*AddDisplayListEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayListChangedListener*pDisplayListChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDisplayListEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayListChangedListener*pDisplayListChangedListener); - -ADLX_RESULT(ADLX_STD_CALL*AddDisplayGamutEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDisplayGamutEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener); - -ADLX_RESULT(ADLX_STD_CALL*AddDisplayGammaEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDisplayGammaEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener); - -ADLX_RESULT(ADLX_STD_CALL*AddDisplay3DLUTEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDisplay3DLUTEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener); - -ADLX_RESULT(ADLX_STD_CALL*AddDisplaySettingsEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveDisplaySettingsEventListener)(IADLXDisplayChangedHandling*pThis,IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener); - -}IADLXDisplayChangedHandlingVtbl; - -structIADLXDisplayChangedHandling{constIADLXDisplayChangedHandlingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayChangedHandling - -//DisplayServicesinterface -#pragmaregionIADLXDisplayServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDisplayServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXDisplayServices") -virtualADLX_RESULTADLX_STD_CALLGetNumberOfDisplays(adlx_uint*numDisplays)=0; - -virtualADLX_RESULTADLX_STD_CALLGetDisplays(IADLXDisplayList**ppDisplay)=0; - -virtualADLX_RESULTADLX_STD_CALLGet3DLUT(IADLXDisplay*pDisplay,IADLXDisplay3DLUT**ppDisp3DLUT)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGamut(IADLXDisplay*pDisplay,IADLXDisplayGamut**ppDispGamut)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGamma(IADLXDisplay*pDisplay,IADLXDisplayGamma**ppDispGamma)=0; - -virtualADLX_RESULTADLX_STD_CALLGetDisplayChangedHandling(IADLXDisplayChangedHandling**ppDisplayChangedHandling)=0; -virtualADLX_RESULTADLX_STD_CALLGetFreeSync(IADLXDisplay*pDisplay,IADLXDisplayFreeSync**ppFreeSync)=0; - -virtualADLX_RESULTADLX_STD_CALLGetVirtualSuperResolution(IADLXDisplay*pDisplay,IADLXDisplayVSR**ppVSR)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUScaling(IADLXDisplay*pDisplay,IADLXDisplayGPUScaling**ppGPUScaling)=0; - -virtualADLX_RESULTADLX_STD_CALLGetScalingMode(IADLXDisplay*pDisplay,IADLXDisplayScalingMode**ppScalingMode)=0; - -virtualADLX_RESULTADLX_STD_CALLGetIntegerScaling(IADLXDisplay*pDisplay,IADLXDisplayIntegerScaling**ppIntegerScaling)=0; -virtualADLX_RESULTADLX_STD_CALLGetColorDepth(IADLXDisplay*pDisplay,IADLXDisplayColorDepth**ppColorDepth)=0; -virtualADLX_RESULTADLX_STD_CALLGetPixelFormat(IADLXDisplay*pDisplay,IADLXDisplayPixelFormat**ppPixelFormat)=0; -virtualADLX_RESULTADLX_STD_CALLGetCustomColor(IADLXDisplay*pDisplay,IADLXDisplayCustomColor**ppCustomColor)=0; -virtualADLX_RESULTADLX_STD_CALLGetHDCP(IADLXDisplay*pDisplay,IADLXDisplayHDCP**ppHDCP)=0; -virtualADLX_RESULTADLX_STD_CALLGetCustomResolution(IADLXDisplay*pDisplay,IADLXDisplayCustomResolution**ppCustomResolution)=0; -virtualADLX_RESULTADLX_STD_CALLGetVariBright(IADLXDisplay*pDisplay,IADLXDisplayVariBright**ppVariBright)=0; -};//IADLXDisplayServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXDisplayServices>IADLXDisplayServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXDisplayServices,L"IADLXDisplayServices") -typedefstructIADLXDisplayServicesIADLXDisplayServices; - -typedefstructIADLXDisplayFreeSyncIADLXDisplayFreeSync; -typedefstructIADLXDisplayVSRIADLXDisplayVSR; -typedefstructIADLXDisplayGPUScalingIADLXDisplayGPUScaling; -typedefstructIADLXDisplayScalingModeIADLXDisplayScalingMode; -typedefstructIADLXDisplayIntegerScalingIADLXDisplayIntegerScaling; -typedefstructIADLXDisplayColorDepthIADLXDisplayColorDepth; -typedefstructIADLXDisplayPixelFormatIADLXDisplayPixelFormat; -typedefstructIADLXDisplayCustomColorIADLXDisplayCustomColor; -typedefstructIADLXDisplayHDCPIADLXDisplayHDCP; -typedefstructIADLXDisplayCustomResolutionIADLXDisplayCustomResolution; -typedefstructIADLXDisplayChangedHandlingIADLXDisplayChangedHandling; -typedefstructIADLXDisplayVariBrightIADLXDisplayVariBright; - -typedefstructIADLXDisplayServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXDisplayServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXDisplayServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXDisplayServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXDisplayServices -ADLX_RESULT(ADLX_STD_CALL*GetNumberOfDisplays)(IADLXDisplayServices*pThis,adlx_uint*numDisplays); -ADLX_RESULT(ADLX_STD_CALL*GetDisplays)(IADLXDisplayServices*pThis,IADLXDisplayList**ppDisplays); -ADLX_RESULT(ADLX_STD_CALL*Get3DLUT)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplay3DLUT**ppDisp3DLUT); -ADLX_RESULT(ADLX_STD_CALL*GetGamut)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamut**ppDispGamut); -ADLX_RESULT(ADLX_STD_CALL*GetGamma)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayGamma**ppDispGamma); -ADLX_RESULT(ADLX_STD_CALL*GetDisplayChangedHandling)(IADLXDisplayServices*pThis,IADLXDisplayChangedHandling**ppDisplayChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*GetFreeSync)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayFreeSync**ppFreeSync); -ADLX_RESULT(ADLX_STD_CALL*GetVirtualSuperResolution)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayVSR**ppVSR); -ADLX_RESULT(ADLX_STD_CALL*GetGPUScaling)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayGPUScaling**ppGPUScaling); -ADLX_RESULT(ADLX_STD_CALL*GetScalingMode)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayScalingMode**ppScalingMode); -ADLX_RESULT(ADLX_STD_CALL*GetIntegerScaling)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayIntegerScaling**ppIntegerScaling); -ADLX_RESULT(ADLX_STD_CALL*GetColorDepth)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayColorDepth**ppColorDepth); -ADLX_RESULT(ADLX_STD_CALL*GetPixelFormat)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayPixelFormat**ppPixelFormat); -ADLX_RESULT(ADLX_STD_CALL*GetCustomColor)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomColor**ppCustomColor); -ADLX_RESULT(ADLX_STD_CALL*GetHDCP)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayHDCP**ppHDCP); -ADLX_RESULT(ADLX_STD_CALL*GetCustomResolution)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayCustomResolution**ppCustomResolution); -ADLX_RESULT(ADLX_STD_CALL*GetVariBright)(IADLXDisplayServices*pThis,IADLXDisplay*pDisplay,IADLXDisplayVariBright**ppVariBright); -}IADLXDisplayServicesVtbl; - -structIADLXDisplayServices{constIADLXDisplayServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXDisplayServices - -#endif//ADLX_IDISPLAYS_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_auto_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_auto_tuning_8h.xml deleted file mode 100644 index 7201ba5..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_auto_tuning_8h.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - IGPUAutoTuning.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXGPUAutoTuningCompleteEvent - adlx::IADLXGPUAutoTuningCompleteListener - adlx::IADLXGPUAutoTuning - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUAUTOTUNING_H -#defineADLX_IGPUAUTOTUNING_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUAutoTuning.h-InterfacesforADLXGPUAutoTuningfunctionality - -//InterfacewithinformationonGPUTuningchangesonaGPU.ADLXpassesthistoapplicationthatregisteredforGPUTuningchangedeventintheIADLXAutomaticTuningChangedListener::OnAutomaticTuningChanged() -#pragmaregionIADLXGPUAutoTuningCompleteEvent - -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUAutoTuningCompleteEvent:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUAutoTuningCompleteEvent") - - -virtualadlx_boolADLX_STD_CALLIsUndervoltGPUCompleted()=0; - -virtualadlx_boolADLX_STD_CALLIsOverclockGPUCompleted()=0; - -virtualadlx_boolADLX_STD_CALLIsOverclockVRAMCompleted()=0; -};//IADLXGPUAutoTuningCompleteEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUAutoTuningCompleteEvent>IADLXGPUAutoTuningCompleteEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUAutoTuningCompleteEvent,L"IADLXGPUAutoTuningCompleteEvent") -typedefstructIADLXGPUAutoTuningCompleteEventIADLXGPUAutoTuningCompleteEvent; - -typedefstructIADLXGPUAutoTuningCompleteEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUAutoTuningCompleteEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUAutoTuningCompleteEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUAutoTuningCompleteEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUAutoTuningCompleteEventinterface -adlx_bool(ADLX_STD_CALL*IsUndervoltGPUCompleted)(IADLXGPUAutoTuningCompleteEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsOverclockGPUCompleted)(IADLXGPUAutoTuningCompleteEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsOverclockVRAMCompleted)(IADLXGPUAutoTuningCompleteEvent*pThis); -}IADLXGPUAutoTuningCompleteEventVtbl; - -structIADLXGPUAutoTuningCompleteEvent{constIADLXGPUAutoTuningCompleteEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUAutoTuningCompleteEvent - -//GPUAutoTuningcompletelistenerinterface.TobeimplementedinapplicationandpassedinIADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener() -#pragmaregionIADLXGPUAutoTuningCompleteListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUAutoTuningCompleteListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnGPUAutoTuningComplete(IADLXGPUAutoTuningCompleteEvent*pGPUAutoTuningCompleteEvent)=0; -};//IADLXGPUAutoTuningCompleteListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXGPUAutoTuningCompleteListenerIADLXGPUAutoTuningCompleteListener; - -typedefstructIADLXGPUAutoTuningCompleteListenerVtbl -{ -//IADLXGPUAutoTuningCompleteListenerinterface -adlx_bool(ADLX_STD_CALL*OnGPUAutoTuningComplete)(IADLXGPUAutoTuningCompleteListener*pThis,IADLXGPUAutoTuningCompleteEvent*pGPUAutoTuningCompleteEvent); -}IADLXGPUAutoTuningCompleteListenerVtbl; - -structIADLXGPUAutoTuningCompleteListener{constIADLXGPUAutoTuningCompleteListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUAutoTuningCompleteListener - -//AutomaticTuning -#pragmaregionIADLXGPUAutoTuning -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUAutoTuning:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUAutoTuning") -virtualADLX_RESULTADLX_STD_CALLIsSupportedUndervoltGPU(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedOverclockGPU(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedOverclockVRAM(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentUndervoltGPU(adlx_bool*isUndervoltGPU)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentOverclockGPU(adlx_bool*isOverclockGPU)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentOverclockVRAM(adlx_bool*isOverclockVRAM)=0; - -virtualADLX_RESULTADLX_STD_CALLStartUndervoltGPU(IADLXGPUAutoTuningCompleteListener*pCompleteListener)=0; - -virtualADLX_RESULTADLX_STD_CALLStartOverclockGPU(IADLXGPUAutoTuningCompleteListener*pCompleteListener)=0; - -virtualADLX_RESULTADLX_STD_CALLStartOverclockVRAM(IADLXGPUAutoTuningCompleteListener*pCompleteListener)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUAutoTuning>IADLXGPUAutoTuningPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUAutoTuning,L"IADLXGPUAutoTuning") - -typedefstructIADLXGPUAutoTuningIADLXGPUAutoTuning; - -typedefstructIADLXGPUAutoTuningVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUAutoTuning*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUAutoTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUAutoTuning*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUAutoTuning -ADLX_RESULT(ADLX_STD_CALL*IsSupportedUndervoltGPU)(IADLXGPUAutoTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedOverclockGPU)(IADLXGPUAutoTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedOverclockVRAM)(IADLXGPUAutoTuning*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsCurrentUndervoltGPU)(IADLXGPUAutoTuning*pThis,adlx_bool*isUndervoltGPU); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentOverclockGPU)(IADLXGPUAutoTuning*pThis,adlx_bool*isOverclockGPU); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentOverclockVRAM)(IADLXGPUAutoTuning*pThis,adlx_bool*isOverclockVRAM); - -ADLX_RESULT(ADLX_STD_CALL*StartUndervoltGPU)(IADLXGPUAutoTuning*pThis,IADLXGPUAutoTuningCompleteListener*pCompleteListener); -ADLX_RESULT(ADLX_STD_CALL*StartOverclockGPU)(IADLXGPUAutoTuning*pThis,IADLXGPUAutoTuningCompleteListener*pCompleteListener); -ADLX_RESULT(ADLX_STD_CALL*StartOverclockVRAM)(IADLXGPUAutoTuning*pThis,IADLXGPUAutoTuningCompleteListener*pCompleteListener); - -}IADLXGPUAutoTuningVtbl; - -structIADLXGPUAutoTuning{constIADLXGPUAutoTuningVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUAutoTuning - -#endif//ADLX_IGPUAUTOTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_fan_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_fan_tuning_8h.xml deleted file mode 100644 index 404aa3c..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_fan_tuning_8h.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - IGPUManualFanTuning.h - ADLXStructures.h - ICollections.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXManualFanTuningState - adlx::IADLXManualFanTuningStateList - adlx::IADLXManualFanTuning - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUMANUALFANTUNING_H -#defineADLX_IGPUMANUALFANTUNING_H -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualFanTuning.h-InterfacesforADLXGPUManualFanTuningfunctionality - -//ManualTuninginterface -#pragmaregionIADLXManualFanTuningState -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualFanTuningState:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualFanTuningState") - - -virtualADLX_RESULTADLX_STD_CALLGetFanSpeed(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetFanSpeed(adlx_intvalue)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTemperature(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetTemperature(adlx_intvalue)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualFanTuningState>IADLXManualFanTuningStatePtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualFanTuningState,L"IADLXManualFanTuningState") - -typedefstructIADLXManualFanTuningStateIADLXManualFanTuningState; - -typedefstructIADLXManualFanTuningStateVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualFanTuningState*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualFanTuningState*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualFanTuningState*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualFanTuningState -ADLX_RESULT(ADLX_STD_CALL*GetFanSpeed)(IADLXManualFanTuningState*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetFanSpeed)(IADLXManualFanTuningState*pThis,adlx_intvalue); -ADLX_RESULT(ADLX_STD_CALL*GetTemperature)(IADLXManualFanTuningState*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetTemperature)(IADLXManualFanTuningState*pThis,adlx_intvalue); -}IADLXManualFanTuningStateVtbl; - -structIADLXManualFanTuningState{constIADLXManualFanTuningStateVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualFanTuningState - -//IADLXManualFanTuningStatelistinterface -#pragmaregionIADLXManualFanTuningStateList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualFanTuningStateList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXManualFanTuningStateList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXManualFanTuningState::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXManualFanTuningState**ppItem)=0; -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXManualFanTuningState*pItem)=0; -};//IADLXManualFanTuningStateList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualFanTuningStateList>IADLXManualFanTuningStateListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualFanTuningStateList,L"IADLXManualFanTuningStateList") -ADLX_DECLARE_ITEM_IID(IADLXManualFanTuningState,IID_IADLXManualFanTuningState()) - -typedefstructIADLXManualFanTuningStateListIADLXManualFanTuningStateList; - -typedefstructIADLXManualFanTuningStateListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualFanTuningStateList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualFanTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualFanTuningStateList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXManualFanTuningStateList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXManualFanTuningStateList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXManualFanTuningStateList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXManualFanTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXManualFanTuningStateList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXManualFanTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXManualFanTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXManualFanTuningStateList*pThis,IADLXInterface*pItem); - -//IADLXManualFanTuningStateList -ADLX_RESULT(ADLX_STD_CALL*At_ManualFanTuningStateList)(IADLXManualFanTuningStateList*pThis,constadlx_uintlocation,IADLXManualFanTuningState**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_ManualFanTuningStateList)(IADLXManualFanTuningStateList*pThis,IADLXManualFanTuningState*pItem); - -}IADLXManualFanTuningStateListVtbl; - -structIADLXManualFanTuningStateList{constIADLXManualFanTuningStateListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualFanTuningStateList - -//ManualFANTuning -#pragmaregionIADLXManualFanTuning -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualFanTuning:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualFanTuning") - - -virtualADLX_RESULTADLX_STD_CALLGetFanTuningRanges(ADLX_IntRange*speedRange,ADLX_IntRange*temperatureRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetFanTuningStates(IADLXManualFanTuningStateList**ppStates)=0; - -virtualADLX_RESULTADLX_STD_CALLGetEmptyFanTuningStates(IADLXManualFanTuningStateList**ppStates)=0; - -virtualADLX_RESULTADLX_STD_CALLIsValidFanTuningStates(IADLXManualFanTuningStateList*pStates,adlx_int*errorIndex)=0; - -virtualADLX_RESULTADLX_STD_CALLSetFanTuningStates(IADLXManualFanTuningStateList*pStates)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedZeroRPM(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetZeroRPMState(adlx_bool*isSet)=0; - -virtualADLX_RESULTADLX_STD_CALLSetZeroRPMState(adlx_boolset)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedMinAcousticLimit(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMinAcousticLimitRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMinAcousticLimit(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMinAcousticLimit(adlx_intvalue)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedMinFanSpeed(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMinFanSpeedRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMinFanSpeed(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMinFanSpeed(adlx_intvalue)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedTargetFanSpeed(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTargetFanSpeedRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTargetFanSpeed(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetTargetFanSpeed(adlx_intvalue)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualFanTuning>IADLXManualFanTuningPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualFanTuning,L"IADLXManualFanTuning") - -typedefstructIADLXManualFanTuningIADLXManualFanTuning; - -typedefstructIADLXManualFanTuningVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualFanTuning*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualFanTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualFanTuning*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualFanTuningState -ADLX_RESULT(ADLX_STD_CALL*GetFanTuningRanges)(IADLXManualFanTuning*pThis,ADLX_IntRange*speedRange,ADLX_IntRange*temperatureRange); -ADLX_RESULT(ADLX_STD_CALL*GetFanTuningStates)(IADLXManualFanTuning*pThis,IADLXManualFanTuningStateList**ppStates); -ADLX_RESULT(ADLX_STD_CALL*GetEmptyFanTuningStates)(IADLXManualFanTuning*pThis,IADLXManualFanTuningStateList**ppStates); -ADLX_RESULT(ADLX_STD_CALL*IsValidFanTuningStates)(IADLXManualFanTuning*pThis,IADLXManualFanTuningStateList*pStates,adlx_int*errorIndex); -ADLX_RESULT(ADLX_STD_CALL*SetFanTuningStates)(IADLXManualFanTuning*pThis,IADLXManualFanTuningStateList*pStates); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedZeroRPM)(IADLXManualFanTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetZeroRPMState)(IADLXManualFanTuning*pThis,adlx_bool*isSet); -ADLX_RESULT(ADLX_STD_CALL*SetZeroRPMState)(IADLXManualFanTuning*pThis,adlx_boolset); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedMinAcousticLimit)(IADLXManualFanTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetMinAcousticLimitRange)(IADLXManualFanTuning*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetMinAcousticLimit)(IADLXManualFanTuning*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetMinAcousticLimit)(IADLXManualFanTuning*pThis,adlx_intvalue); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedMinFanSpeed)(IADLXManualFanTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetMinFanSpeedRange)(IADLXManualFanTuning*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetMinFanSpeed)(IADLXManualFanTuning*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetMinFanSpeed)(IADLXManualFanTuning*pThis,adlx_intvalue); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedTargetFanSpeed)(IADLXManualFanTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetTargetFanSpeedRange)(IADLXManualFanTuning*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetTargetFanSpeed)(IADLXManualFanTuning*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetTargetFanSpeed)(IADLXManualFanTuning*pThis,adlx_intvalue); -}IADLXManualFanTuningVtbl; - -structIADLXManualFanTuning{constIADLXManualFanTuningVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualFanTuning - -#endif//ADLX_IGPUMANUALFANTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_g_f_x_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_g_f_x_tuning_8h.xml deleted file mode 100644 index bebedb5..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_g_f_x_tuning_8h.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - IGPUManualGFXTuning.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXManualGraphicsTuning1 - adlx::IADLXManualGraphicsTuning2 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- -#ifndefADLX_IGPUMANUALGFXTUNING_H -#defineADLX_IGPUMANUALGFXTUNING_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualGFXTunings.h-InterfacesforADLXGPUManualGraphicsTuningfunctionality - -//ManualGraphicsTuning -#pragmaregionIADLXManualGraphicsTuning1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualTuningStateList; -classADLX_NO_VTABLEIADLXManualGraphicsTuning1:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualGraphicsTuning1") - - -virtualADLX_RESULTADLX_STD_CALLGetGPUTuningRanges(ADLX_IntRange*frequencyRange,ADLX_IntRange*voltageRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUTuningStates(IADLXManualTuningStateList**ppGFXStates)=0; - -virtualADLX_RESULTADLX_STD_CALLGetEmptyGPUTuningStates(IADLXManualTuningStateList**ppGFXStates)=0; - -virtualADLX_RESULTADLX_STD_CALLIsValidGPUTuningStates(IADLXManualTuningStateList*pGFXStates,adlx_int*errorIndex)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGPUTuningStates(IADLXManualTuningStateList*pGFXStates)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualGraphicsTuning1>IADLXManualGraphicsTuning1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualGraphicsTuning1,L"IADLXManualGraphicsTuning1") -typedefstructIADLXManualTuningStateListIADLXManualTuningStateList; -typedefstructIADLXManualGraphicsTuning1IADLXManualGraphicsTuning1; - -typedefstructIADLXManualGraphicsTuning1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualGraphicsTuning1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualGraphicsTuning1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualGraphicsTuning1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualGraphicsTuning1 -ADLX_RESULT(ADLX_STD_CALL*GetGPUTuningRanges)(IADLXManualGraphicsTuning1*pThis,ADLX_IntRange*frequencyRange,ADLX_IntRange*voltageRange); -ADLX_RESULT(ADLX_STD_CALL*GetGPUTuningStates)(IADLXManualGraphicsTuning1*pThis,IADLXManualTuningStateList**ppGFXStates); -ADLX_RESULT(ADLX_STD_CALL*GetEmptyGPUTuningStates)(IADLXManualGraphicsTuning1*pThis,IADLXManualTuningStateList**ppGFXStates); -ADLX_RESULT(ADLX_STD_CALL*IsValidGPUTuningStates)(IADLXManualGraphicsTuning1*pThis,IADLXManualTuningStateList*pGFXStates,adlx_int*errorIndex); -ADLX_RESULT(ADLX_STD_CALL*SetGPUTuningStates)(IADLXManualGraphicsTuning1*pThis,IADLXManualTuningStateList*pGFXStates); -}IADLXManualGraphicsTuning1Vtbl; - -structIADLXManualGraphicsTuning1{constIADLXManualGraphicsTuning1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualGraphicsTuning1 - -//ManualGraphicsTuning -#pragmaregionIADLXManualGraphicsTuning2 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualGraphicsTuning2:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualGraphicsTuning2") - - -virtualADLX_RESULTADLX_STD_CALLGetGPUMinFrequencyRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUMinFrequency(adlx_int*minFreq)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGPUMinFrequency(adlx_intminFreq)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUMaxFrequencyRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUMaxFrequency(adlx_int*maxFreq)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGPUMaxFrequency(adlx_intmaxFreq)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUVoltageRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUVoltage(adlx_int*volt)=0; - -virtualADLX_RESULTADLX_STD_CALLSetGPUVoltage(adlx_intvolt)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualGraphicsTuning2>IADLXManualGraphicsTuning2Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualGraphicsTuning2,L"IADLXManualGraphicsTuning2") - -typedefstructIADLXManualGraphicsTuning2IADLXManualGraphicsTuning2; - -typedefstructIADLXManualGraphicsTuning2Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualGraphicsTuning2*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualGraphicsTuning2*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualGraphicsTuning2*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualGraphicsTuning2 -ADLX_RESULT(ADLX_STD_CALL*GetGPUMinFrequencyRange)(IADLXManualGraphicsTuning2*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetGPUMinFrequency)(IADLXManualGraphicsTuning2*pThis,adlx_int*minFreq); -ADLX_RESULT(ADLX_STD_CALL*SetGPUMinFrequency)(IADLXManualGraphicsTuning2*pThis,adlx_intminFreq); -ADLX_RESULT(ADLX_STD_CALL*GetGPUMaxFrequencyRange)(IADLXManualGraphicsTuning2*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetGPUMaxFrequency)(IADLXManualGraphicsTuning2*pThis,adlx_int*maxFreq); -ADLX_RESULT(ADLX_STD_CALL*SetGPUMaxFrequency)(IADLXManualGraphicsTuning2*pThis,adlx_intmaxFreq); - -ADLX_RESULT(ADLX_STD_CALL*GetGPUVoltageRange)(IADLXManualGraphicsTuning2*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetGPUVoltage)(IADLXManualGraphicsTuning2*pThis,adlx_int*volt); -ADLX_RESULT(ADLX_STD_CALL*SetGPUVoltage)(IADLXManualGraphicsTuning2*pThis,adlx_intvolt); -}IADLXManualGraphicsTuning2Vtbl; -structIADLXManualGraphicsTuning2{constIADLXManualGraphicsTuning2Vtbl*pVtbl;}; - -#endif//__cplusplus -#pragmaendregionIADLXManualGraphicsTuning2 - -#endif//ADLX_IGPUMANUALGFXTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_power_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_power_tuning_8h.xml deleted file mode 100644 index 5906fd4..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_power_tuning_8h.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - IGPUManualPowerTuning.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXManualPowerTuning - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUMANUALPOWERTUNING_H -#defineADLX_IGPUMANUALPOWERTUNING_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualPowerTuning.h-InterfacesforADLXGPUManualPowerTuningfunctionality -//ManualPowerTuning -#pragmaregionIADLXManualPowerTuning -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualPowerTuning:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualPowerTuning") - - -virtualADLX_RESULTADLX_STD_CALLGetPowerLimitRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetPowerLimit(adlx_int*curVal)=0; - -virtualADLX_RESULTADLX_STD_CALLSetPowerLimit(adlx_intcurVal)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedTDCLimit(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTDCLimitRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetTDCLimit(adlx_int*curVal)=0; - -virtualADLX_RESULTADLX_STD_CALLSetTDCLimit(adlx_intcurVal)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualPowerTuning>IADLXManualPowerTuningPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualPowerTuning,L"IADLXManualPowerTuning") - -typedefstructIADLXManualPowerTuningIADLXManualPowerTuning; - -typedefstructIADLXManualPowerTuningVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualPowerTuning*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualPowerTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualPowerTuning*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualPowerTuning -ADLX_RESULT(ADLX_STD_CALL*GetPowerLimitRange)(IADLXManualPowerTuning*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetPowerLimit)(IADLXManualPowerTuning*pThis,adlx_int*curVal); -ADLX_RESULT(ADLX_STD_CALL*SetPowerLimit)(IADLXManualPowerTuning*pThis,adlx_intcurVal); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedTDCLimit)(IADLXManualPowerTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetTDCLimitRange)(IADLXManualPowerTuning*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetTDCLimit)(IADLXManualPowerTuning*pThis,adlx_int*curVal); -ADLX_RESULT(ADLX_STD_CALL*SetTDCLimit)(IADLXManualPowerTuning*pThis,adlx_intcurVal); -}IADLXManualPowerTuningVtbl; - -structIADLXManualPowerTuning{constIADLXManualPowerTuningVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualPowerTuning - -#endif//ADLX_IGPUMANUALPOWERTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_v_r_a_m_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_v_r_a_m_tuning_8h.xml deleted file mode 100644 index b77ee52..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_manual_v_r_a_m_tuning_8h.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - IGPUManualVRAMTuning.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXManualVRAMTuning1 - adlx::IADLXManualVRAMTuning2 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- -#ifndefADLX_IGPUMANUALVRAMTUNING_H -#defineADLX_IGPUMANUALVRAMTUNING_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUManualVRAMTuning.h-InterfacesforADLXGPUmanualVRAMTuningfunctionality - -//ManualVRAMTuning,commonverion -#pragmaregionIADLXManualVRAMTuning1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualTuningStateList; -classADLX_NO_VTABLEIADLXMemoryTimingDescriptionList; -classADLX_NO_VTABLEIADLXManualVRAMTuning1:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualVRAMTuning1") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedMemoryTiming(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSupportedMemoryTimingDescriptionList(IADLXMemoryTimingDescriptionList**ppDescriptionList)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMemoryTimingDescription(ADLX_MEMORYTIMING_DESCRIPTION*description)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMemoryTimingDescription(ADLX_MEMORYTIMING_DESCRIPTIONdescription)=0; - -virtualADLX_RESULTADLX_STD_CALLGetVRAMTuningRanges(ADLX_IntRange*frequencyRange,ADLX_IntRange*voltageRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetVRAMTuningStates(IADLXManualTuningStateList**ppVRAMStates)=0; - -virtualADLX_RESULTADLX_STD_CALLGetEmptyVRAMTuningStates(IADLXManualTuningStateList**ppVRAMStates)=0; - -virtualADLX_RESULTADLX_STD_CALLIsValidVRAMTuningStates(IADLXManualTuningStateList*pVRAMStates,adlx_int*errorIndex)=0; - -virtualADLX_RESULTADLX_STD_CALLSetVRAMTuningStates(IADLXManualTuningStateList*pVRAMStates)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualVRAMTuning1>IADLXManualVRAMTuning1Ptr; -}//namespaceadlx -#else//__cplusplus - -ADLX_DECLARE_IID(IADLXManualVRAMTuning1,L"IADLXManualVRAMTuning1") -typedefstructIADLXManualVRAMTuning1IADLXManualVRAMTuning1; -typedefstructIADLXManualTuningStateListIADLXManualTuningStateList; -typedefstructIADLXMemoryTimingDescriptionListIADLXMemoryTimingDescriptionList; -typedefstructIADLXManualVRAMTuning1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualVRAMTuning1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualVRAMTuning1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualVRAMTuning1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualVRAMTuning1 -ADLX_RESULT(ADLX_STD_CALL*IsSupportedMemoryTiming)(IADLXManualVRAMTuning1*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning1*pThis,IADLXMemoryTimingDescriptionList**ppDescriptionList); -ADLX_RESULT(ADLX_STD_CALL*GetMemoryTimingDescription)(IADLXManualVRAMTuning1*pThis,ADLX_MEMORYTIMING_DESCRIPTION*description); -ADLX_RESULT(ADLX_STD_CALL*SetMemoryTimingDescription)(IADLXManualVRAMTuning1*pThis,ADLX_MEMORYTIMING_DESCRIPTIONdescription); - -ADLX_RESULT(ADLX_STD_CALL*GetVRAMTuningRanges)(IADLXManualVRAMTuning1*pThis,ADLX_IntRange*frequencyRange,ADLX_IntRange*voltageRange); -ADLX_RESULT(ADLX_STD_CALL*GetVRAMTuningStates)(IADLXManualVRAMTuning1*pThis,IADLXManualTuningStateList**ppVRAMStates); -ADLX_RESULT(ADLX_STD_CALL*GetEmptyVRAMTuningStates)(IADLXManualVRAMTuning1*pThis,IADLXManualTuningStateList**ppVRAMStates); -ADLX_RESULT(ADLX_STD_CALL*IsValidVRAMTuningStates)(IADLXManualVRAMTuning1*pThis,IADLXManualTuningStateList*pVRAMStates,adlx_int*errorIndex); -ADLX_RESULT(ADLX_STD_CALL*SetVRAMTuningStates)(IADLXManualVRAMTuning1*pThis,IADLXManualTuningStateList*pVRAMStates); -}IADLXManualVRAMTuning1Vtbl; - -structIADLXManualVRAMTuning1{constIADLXManualVRAMTuning1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualVRAMTuning1 - -//ManualVRAMTuning2forNavi2X -#pragmaregionIADLXManualVRAMTuning2 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualVRAMTuning2:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualVRAMTuning2") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedMemoryTiming(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSupportedMemoryTimingDescriptionList(IADLXMemoryTimingDescriptionList**ppDescriptionList)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMemoryTimingDescription(ADLX_MEMORYTIMING_DESCRIPTION*description)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMemoryTimingDescription(ADLX_MEMORYTIMING_DESCRIPTIONdescription)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMaxVRAMFrequencyRange(ADLX_IntRange*tuningRange)=0; - -virtualADLX_RESULTADLX_STD_CALLGetMaxVRAMFrequency(adlx_int*freq)=0; - -virtualADLX_RESULTADLX_STD_CALLSetMaxVRAMFrequency(adlx_intfreq)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualVRAMTuning2>IADLXManualVRAMTuning2Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualVRAMTuning2,L"IADLXManualVRAMTuning2") -typedefstructIADLXManualVRAMTuning2IADLXManualVRAMTuning2; -typedefstructIADLXManualVRAMTuning2Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualVRAMTuning2*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualVRAMTuning2*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualVRAMTuning2*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualVRAMTuning2 -ADLX_RESULT(ADLX_STD_CALL*IsSupportedMemoryTiming)(IADLXManualVRAMTuning2*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning2*pThis,IADLXMemoryTimingDescriptionList**ppDescriptionList); -ADLX_RESULT(ADLX_STD_CALL*GetMemoryTimingDescription)(IADLXManualVRAMTuning2*pThis,ADLX_MEMORYTIMING_DESCRIPTION*description); -ADLX_RESULT(ADLX_STD_CALL*SetMemoryTimingDescription)(IADLXManualVRAMTuning2*pThis,ADLX_MEMORYTIMING_DESCRIPTIONdescription); - -ADLX_RESULT(ADLX_STD_CALL*GetMaxVRAMFrequencyRange)(IADLXManualVRAMTuning2*pThis,ADLX_IntRange*tuningRange); -ADLX_RESULT(ADLX_STD_CALL*GetMaxVRAMFrequency)(IADLXManualVRAMTuning2*pThis,adlx_int*freq); -ADLX_RESULT(ADLX_STD_CALL*SetMaxVRAMFrequency)(IADLXManualVRAMTuning2*pThis,adlx_intfreq); -}IADLXManualVRAMTuning2Vtbl; - -structIADLXManualVRAMTuning2{constIADLXManualVRAMTuning2Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualVRAMTuning2 - -#endif//ADLX_IGPUMANUALVRAMTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_preset_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_preset_tuning_8h.xml deleted file mode 100644 index d81f167..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_preset_tuning_8h.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - IGPUPresetTuning.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXGPUPresetTuning - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUPRESETTUNING_H -#defineADLX_IGPUPRESETTUNING_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//IGPUPresetTuning.h-InterfacesforADLXGPUPresetTuningfunctionality - -//PresetTuning -#pragmaregionIADLXGPUPresetTuning -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUPresetTuning:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUPresetTuning") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedPowerSaver(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedQuiet(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedBalanced(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedTurbo(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedRage(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentPowerSaver(adlx_bool*isPowerSaver)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentQuiet(adlx_bool*isQuiet)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentBalanced(adlx_bool*isBalance)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentTurbo(adlx_bool*isTurbo)=0; - -virtualADLX_RESULTADLX_STD_CALLIsCurrentRage(adlx_bool*isRage)=0; - -virtualADLX_RESULTADLX_STD_CALLSetPowerSaver()=0; - -virtualADLX_RESULTADLX_STD_CALLSetQuiet()=0; - -virtualADLX_RESULTADLX_STD_CALLSetBalanced()=0; - -virtualADLX_RESULTADLX_STD_CALLSetTurbo()=0; - -virtualADLX_RESULTADLX_STD_CALLSetRage()=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUPresetTuning>IADLXGPUPresetTuningPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUPresetTuning,L"IADLXGPUPresetTuning") - -typedefstructIADLXGPUPresetTuningIADLXGPUPresetTuning; - -typedefstructIADLXGPUPresetTuningVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUPresetTuning*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUPresetTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUPresetTuning*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUPresetTuning -ADLX_RESULT(ADLX_STD_CALL*IsSupportedPowerSaver)(IADLXGPUPresetTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedQuiet)(IADLXGPUPresetTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedBalanced)(IADLXGPUPresetTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedTurbo)(IADLXGPUPresetTuning*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedRage)(IADLXGPUPresetTuning*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*IsCurrentPowerSaver)(IADLXGPUPresetTuning*pThis,adlx_bool*isPowerSaver); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentQuiet)(IADLXGPUPresetTuning*pThis,adlx_bool*isQuiet); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentBalanced)(IADLXGPUPresetTuning*pThis,adlx_bool*isBalance); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentTurbo)(IADLXGPUPresetTuning*pThis,adlx_bool*isTurbo); -ADLX_RESULT(ADLX_STD_CALL*IsCurrentRage)(IADLXGPUPresetTuning*pThis,adlx_bool*isRage); - -ADLX_RESULT(ADLX_STD_CALL*SetPowerSaver)(IADLXGPUPresetTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetQuiet)(IADLXGPUPresetTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetBalanced)(IADLXGPUPresetTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetTurbo)(IADLXGPUPresetTuning*pThis); -ADLX_RESULT(ADLX_STD_CALL*SetRage)(IADLXGPUPresetTuning*pThis); - -}IADLXGPUPresetTuningVtbl; - -structIADLXGPUPresetTuning{constIADLXGPUPresetTuningVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUPresetTuning - -#endif//ADLX_IGPUPRESETTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning1_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning1_8h.xml deleted file mode 100644 index 2a310ae..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning1_8h.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - IGPUTuning1.h - ADLXStructures.h - IGPUTuning.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningServices1 - adlx::IADLXGPUTuningChangedEvent1 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUTUNING1_H -#defineADLX_IGPUTUNING1_H -#pragmaonce - -#include"ADLXStructures.h" -#include"IGPUTuning.h" - -//------------------------------------------------------------------------------------------------- -//IGPUTuning1.h-InterfacesforADLXGPUTuningfunctionality - -#pragmaregionIADLXGPUTuningServices1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; -classADLX_NO_VTABLEIADLXSmartAccessMemory; -classADLX_NO_VTABLEIADLXGPUTuningServices1:publicIADLXGPUTuningServices -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUTuningServices1") - - -virtualADLX_RESULTADLX_STD_CALLGetSmartAccessMemory(IADLXGPU*pGPU,IADLXSmartAccessMemory**ppSmartAccessMemory)=0; -};//IADLXGPUTuningServices1 -typedefIADLXInterfacePtr_T<IADLXGPUTuningServices1>IADLXGPUTuningServices1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningServices1,L"IADLXGPUTuningServices1") -typedefstructIADLXSmartAccessMemoryIADLXSmartAccessMemory; -typedefstructIADLXGPUTuningServices1IADLXGPUTuningServices1; - -typedefstructIADLXGPUTuningServices1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUTuningServices1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUTuningServices1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUTuningServices1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUTuningServices -ADLX_RESULT(ADLX_STD_CALL*GetGPUTuningChangedHandling)(IADLXGPUTuningServices1*pThis,IADLXGPUTuningChangedHandling**ppGPUTuningChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*IsAtFactory)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*isFactory); -ADLX_RESULT(ADLX_STD_CALL*ResetToFactory)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU); - -ADLX_RESULT(ADLX_STD_CALL*IsSupportedAutoTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedPresetTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualGFXTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualVRAMTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualFanTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualPowerTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*GetAutoTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppAutoTuning); -ADLX_RESULT(ADLX_STD_CALL*GetPresetTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppPresetTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualGFXTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualGFXTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualVRAMTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualVRAMTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualFanTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualFanTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualPowerTuning)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualPowerTuning); - -//IADLXGPUTuningServices1 -ADLX_RESULT(ADLX_STD_CALL*GetSmartAccessMemory)(IADLXGPUTuningServices1*pThis,IADLXGPU*pGPU,IADLXSmartAccessMemory**ppSmartAccessMemory); -}IADLXGPUTuningServices1Vtbl; - -structIADLXGPUTuningServices1{constIADLXGPUTuningServices1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningServices1 - -#pragmaregionIADLXGPUTuningChangedEvent1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUTuningChangedEvent1:publicIADLXGPUTuningChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUTuningChangedEvent1") - - -virtualadlx_boolADLX_STD_CALLIsSmartAccessMemoryChanged()=0; - -virtualADLX_RESULTADLX_STD_CALLGetSmartAccessMemoryStatus(adlx_bool*pEnabled,adlx_bool*pCompleted)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUTuningChangedEvent1>IADLXGPUTuningChangedEvent1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningChangedEvent1,L"IADLXGPUTuningChangedEvent1") - -typedefstructIADLXGPUTuningChangedEvent1IADLXGPUTuningChangedEvent1; - -typedefstructIADLXGPUTuningChangedEvent1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUTuningChangedEvent1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUTuningChangedEvent1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUTuningChangedEvent1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXGPUTuningChangedEvent1*pThis); - -//IADLXGPUTuningChangedEvent -ADLX_RESULT(ADLX_STD_CALL*GetGPU)(IADLXGPUTuningChangedEvent1*pThis,IADLXGPU**ppGPU); -adlx_bool(ADLX_STD_CALL*IsAutomaticTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsPresetTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsManualGPUCLKTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsManualVRAMTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsManualFanTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); -adlx_bool(ADLX_STD_CALL*IsManualPowerTuningChanged)(IADLXGPUTuningChangedEvent1*pThis); - -//IADLXGPUTuningChangedEvent1 -adlx_bool(ADLX_STD_CALL*IsSmartAccessMemoryChanged)(IADLXGPUTuningChangedEvent1*pThis); -ADLX_RESULT(ADLX_STD_CALL*GetSmartAccessMemoryStatus)(IADLXGPUTuningChangedEvent1*pThis,adlx_bool*pEnabled,adlx_bool*pCompleted); -}IADLXGPUTuningChangedEvent1Vtbl; - -structIADLXGPUTuningChangedEvent1{constIADLXGPUTuningChangedEvent1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningChangedEvent1 - -#endif//ADLX_IGPUTUNING1_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning_8h.xml deleted file mode 100644 index e6431ed..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_g_p_u_tuning_8h.xml +++ /dev/null @@ -1,460 +0,0 @@ - - - - IGPUTuning.h - ADLXStructures.h - ICollections.h - IChangedEvent.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IGPUTuning1.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXManualTuningState - adlx::IADLXMemoryTimingDescription - adlx::IADLXManualTuningStateList - adlx::IADLXMemoryTimingDescriptionList - adlx::IADLXGPUTuningChangedEvent - adlx::IADLXGPUTuningChangedListener - adlx::IADLXGPUTuningChangedHandling - adlx::IADLXGPUTuningServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IGPUTUNING_H -#defineADLX_IGPUTUNING_H -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" -#include"IChangedEvent.h" - -//------------------------------------------------------------------------------------------------- -//IGPUTuning.h-InterfacesforADLXGPUTuningfunctionality - -//ManualTuninginterface -#pragmaregionIADLXManualTuningState -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualTuningState:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXManualTuningState") - - -virtualADLX_RESULTADLX_STD_CALLGetFrequency(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetFrequency(adlx_intvalue)=0; - -virtualADLX_RESULTADLX_STD_CALLGetVoltage(adlx_int*value)=0; - -virtualADLX_RESULTADLX_STD_CALLSetVoltage(adlx_intvalue)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualTuningState>IADLXManualTuningStatePtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualTuningState,L"IADLXManualTuningState") - -typedefstructIADLXManualTuningStateIADLXManualTuningState; - -typedefstructIADLXManualTuningStateVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualTuningState*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualTuningState*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualTuningState*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXManualTuningState -ADLX_RESULT(ADLX_STD_CALL*GetFrequency)(IADLXManualTuningState*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetFrequency)(IADLXManualTuningState*pThis,adlx_intvalue); -ADLX_RESULT(ADLX_STD_CALL*GetVoltage)(IADLXManualTuningState*pThis,adlx_int*value); -ADLX_RESULT(ADLX_STD_CALL*SetVoltage)(IADLXManualTuningState*pThis,adlx_intvalue); -}IADLXManualTuningStateVtbl; - -structIADLXManualTuningState{constIADLXManualTuningStateVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualTuningState - -#pragmaregionIADLXMemoryTimingDescription -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXMemoryTimingDescription:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXMemoryTimingDescription") - - -virtualADLX_RESULTADLX_STD_CALLGetDescription(ADLX_MEMORYTIMING_DESCRIPTION*description)=0; -}; -typedefIADLXInterfacePtr_T<IADLXMemoryTimingDescription>IADLXMemoryTimingDescriptionPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXMemoryTimingDescription,L"IADLXMemoryTimingDescription") - -typedefstructIADLXMemoryTimingDescriptionIADLXMemoryTimingDescription; - -typedefstructIADLXMemoryTimingDescriptionVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXMemoryTimingDescription*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXMemoryTimingDescription*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXMemoryTimingDescription*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXMemoryTimingDescription -ADLX_RESULT(ADLX_STD_CALL*GetDescription)(IADLXMemoryTimingDescription*pThis,ADLX_MEMORYTIMING_DESCRIPTION*description); -}IADLXMemoryTimingDescriptionVtbl; - -structIADLXMemoryTimingDescription{constIADLXMemoryTimingDescriptionVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXMemoryTimingDescription - -//IADLXManualTuningStatelistinterface -#pragmaregionIADLXManualTuningStateList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXManualTuningStateList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXManualTuningStateList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXManualTuningState::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXManualTuningState**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXManualTuningState*pItem)=0; -};//IADLXManualTuningStateList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXManualTuningStateList>IADLXManualTuningStateListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXManualTuningStateList,L"IADLXManualTuningStateList") -ADLX_DECLARE_ITEM_IID(IADLXManualTuningState,IID_IADLXManualTuningState()) - -typedefstructIADLXManualTuningStateListIADLXManualTuningStateList; - -typedefstructIADLXManualTuningStateListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXManualTuningStateList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXManualTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXManualTuningStateList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXManualTuningStateList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXManualTuningStateList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXManualTuningStateList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXManualTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXManualTuningStateList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXManualTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXManualTuningStateList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXManualTuningStateList*pThis,IADLXInterface*pItem); - -//IADLXManualTuningStateList -ADLX_RESULT(ADLX_STD_CALL*At_ManualTuningStateList)(IADLXManualTuningStateList*pThis,constadlx_uintlocation,IADLXManualTuningState**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_ManualTuningStateList)(IADLXManualTuningStateList*pThis,IADLXManualTuningState*pItem); - -}IADLXManualTuningStateListVtbl; - -structIADLXManualTuningStateList{constIADLXManualTuningStateListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXManualTuningStateList - -#pragmaregionIADLXMemoryTimingDescriptionList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXMemoryTimingDescriptionList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXMemoryTimingDescriptionList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXMemoryTimingDescription::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXMemoryTimingDescription**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXMemoryTimingDescription*pItem)=0; -}; -typedefIADLXInterfacePtr_T<IADLXMemoryTimingDescriptionList>IADLXMemoryTimingDescriptionListPtr; -} -#else//__cplusplus -ADLX_DECLARE_IID(IADLXMemoryTimingDescriptionList,L"IADLXMemoryTimingDescriptionList") -ADLX_DECLARE_ITEM_IID(IADLXMemoryTimingDescription,IID_IADLXMemoryTimingDescription()) - -typedefstructIADLXMemoryTimingDescriptionListIADLXMemoryTimingDescriptionList; - -typedefstructIADLXMemoryTimingDescriptionListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXMemoryTimingDescriptionList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXMemoryTimingDescriptionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXMemoryTimingDescriptionList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXMemoryTimingDescriptionList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXMemoryTimingDescriptionList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXMemoryTimingDescriptionList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXMemoryTimingDescriptionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXMemoryTimingDescriptionList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXMemoryTimingDescriptionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXMemoryTimingDescriptionList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXMemoryTimingDescriptionList*pThis,IADLXInterface*pItem); - -//IADLXMemoryTimingDescriptionList -ADLX_RESULT(ADLX_STD_CALL*At_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList*pThis,constadlx_uintlocation,IADLXMemoryTimingDescription**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList*pThis,IADLXMemoryTimingDescription*pItem); - -}IADLXMemoryTimingDescriptionListVtbl; - -structIADLXMemoryTimingDescriptionList{constIADLXMemoryTimingDescriptionListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXMemoryTimingDescriptionList - -#pragmaregionIADLXGPUTuningChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; -classADLX_NO_VTABLEIADLXGPUTuningChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUTuningChangedEvent") -virtualADLX_RESULTADLX_STD_CALLGetGPU(IADLXGPU**ppGPU)=0; - -virtualadlx_boolADLX_STD_CALLIsAutomaticTuningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsPresetTuningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsManualGPUCLKTuningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsManualVRAMTuningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsManualFanTuningChanged()=0; - -virtualadlx_boolADLX_STD_CALLIsManualPowerTuningChanged()=0; -};//IADLXGPUTuningChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUTuningChangedEvent>IADLXGPUTuningChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXGPUIADLXGPU; - -ADLX_DECLARE_IID(IADLXGPUTuningChangedEvent,L"IADLXGPUTuningChangedEvent") -typedefstructIADLXGPUTuningChangedEventIADLXGPUTuningChangedEvent; - -typedefstructIADLXGPUTuningChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUTuningChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUTuningChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUTuningChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXGPUTuningChangedEvent*pThis); - -//IADLXAutomaticTuningChangedEventinterface -ADLX_RESULT(ADLX_STD_CALL*GetGPU)(IADLXGPUTuningChangedEvent*pThis,IADLXGPU**ppGPU); - -adlx_bool(ADLX_STD_CALL*IsAutomaticTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsPresetTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsManualGPUCLKTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsManualVRAMTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsManualFanTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -adlx_bool(ADLX_STD_CALL*IsManualPowerTuningChanged)(IADLXGPUTuningChangedEvent*pThis); -}IADLXGPUTuningChangedEventVtbl; - -structIADLXGPUTuningChangedEvent{constIADLXGPUTuningChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningChangedEvent - -//GPUTuningchangedlistenerinterface.TobeimplementedinapplicationandpassedinIADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener() -#pragmaregionIADLXGPUTuningChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUTuningChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnGPUTuningChanged(IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent)=0; -};//IADLXGPUTuningChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXGPUTuningChangedListenerIADLXGPUTuningChangedListener; - -typedefstructIADLXGPUTuningChangedListenerVtbl -{ -//IADLXGPUTuningChangedListenerinterface -adlx_bool(ADLX_STD_CALL*OnGPUTuningChanged)(IADLXGPUTuningChangedListener*pThis,IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent); -}IADLXGPUTuningChangedListenerVtbl; - -structIADLXGPUTuningChangedListener{constIADLXGPUTuningChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningChangedListener - -//Interfacethatallowsregistrationtogputuning-relatedevents: -//-GPUTuningListchanged -//-AutomaticTuningchanged -//-PresetTuningchanged -//-ManualTuningchanged -#pragmaregionIADLXGPUTuningChangedHandling -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUTuningChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUTuningChangedHandling") -virtualADLX_RESULTADLX_STD_CALLAddGPUTuningEventListener(IADLXGPUTuningChangedListener*pGPUTuningChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemoveGPUTuningEventListener(IADLXGPUTuningChangedListener*pGPUTuningChangedListener)=0; -};//IADLXGPUTuningChangedHandling -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUTuningChangedHandling>IADLXGPUTuningChangedHandlingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningChangedHandling,L"IADLXGPUTuningChangedHandling") -typedefstructIADLXGPUTuningChangedHandlingIADLXGPUTuningChangedHandling; - -typedefstructIADLXGPUTuningChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUTuningChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUTuningChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUTuningChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUTuningChangedHandlinginterface -ADLX_RESULT(ADLX_STD_CALL*AddGPUTuningEventListener)(IADLXGPUTuningChangedHandling*pThis,IADLXGPUTuningChangedListener*pGPUTuningChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveGPUTuningEventListener)(IADLXGPUTuningChangedHandling*pThis,IADLXGPUTuningChangedListener*pGPUTuningChangedListener); -}IADLXGPUTuningChangedHandlingVtbl; - -structIADLXGPUTuningChangedHandling{constIADLXGPUTuningChangedHandlingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningChangedHandling - - -//GPUTuningServicesinterface -#pragmaregionIADLXGPUTuningServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUTuningServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUTuningServices") - - -virtualADLX_RESULTADLX_STD_CALLGetGPUTuningChangedHandling(IADLXGPUTuningChangedHandling**ppGPUTuningChangedHandling)=0; - -virtualADLX_RESULTADLX_STD_CALLIsAtFactory(IADLXGPU*pGPU,adlx_bool*isFactory)=0; - -virtualADLX_RESULTADLX_STD_CALLResetToFactory(IADLXGPU*pGPU)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedAutoTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedPresetTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedManualGFXTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedManualVRAMTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedManualFanTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupportedManualPowerTuning(IADLXGPU*pGPU,adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetAutoTuning(IADLXGPU*pGPU,IADLXInterface**ppAutoTuning)=0; - -virtualADLX_RESULTADLX_STD_CALLGetPresetTuning(IADLXGPU*pGPU,IADLXInterface**ppPresetTuning)=0; - -virtualADLX_RESULTADLX_STD_CALLGetManualGFXTuning(IADLXGPU*pGPU,IADLXInterface**ppManualGFXTuning)=0; - -virtualADLX_RESULTADLX_STD_CALLGetManualVRAMTuning(IADLXGPU*pGPU,IADLXInterface**ppManualVRAMTuning)=0; - -virtualADLX_RESULTADLX_STD_CALLGetManualFanTuning(IADLXGPU*pGPU,IADLXInterface**ppManualFanTuning)=0; - -virtualADLX_RESULTADLX_STD_CALLGetManualPowerTuning(IADLXGPU*pGPU,IADLXInterface**ppManualPowerTuning)=0; -};//IADLXGPUTuningServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUTuningServices>IADLXGPUTuningServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUTuningServices,L"IADLXGPUTuningServices") -typedefstructIADLXGPUTuningServicesIADLXGPUTuningServices; - -typedefstructIADLXGPUTuningServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUTuningServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUTuningServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUTuningServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUTuningServices -ADLX_RESULT(ADLX_STD_CALL*GetGPUTuningChangedHandling)(IADLXGPUTuningServices*pThis,IADLXGPUTuningChangedHandling**ppGPUTuningChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*IsAtFactory)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*isFactory); -ADLX_RESULT(ADLX_STD_CALL*ResetToFactory)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU); - -ADLX_RESULT(ADLX_STD_CALL*IsSupportedAutoTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedPresetTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualGFXTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualVRAMTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualFanTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedManualPowerTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*GetAutoTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppAutoTuning); -ADLX_RESULT(ADLX_STD_CALL*GetPresetTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppPresetTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualGFXTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualGFXTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualVRAMTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualVRAMTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualFanTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualFanTuning); -ADLX_RESULT(ADLX_STD_CALL*GetManualPowerTuning)(IADLXGPUTuningServices*pThis,IADLXGPU*pGPU,IADLXInterface**ppManualPowerTuning); -}IADLXGPUTuningServicesVtbl; - -structIADLXGPUTuningServices{constIADLXGPUTuningServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUTuningServices - -#endif//ADLX_IGPUTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_i2_c_8h.xml b/vendor/adlx/SDKDoc/xml/_i_i2_c_8h.xml deleted file mode 100644 index 8bd8cb1..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_i2_c_8h.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - II2C.h - ADLXDefines.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXI2C - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_II2C_H -#defineADLX_II2C_H -#pragmaonce - -#include"ADLXDefines.h" - -//------------------------------------------------------------------------------------------------- -//II2C.h-InterfacesforADLXGPUI2Cfunctionality - -//I2Csettinginterface -#pragmaregionIADLXI2C -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXI2C:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXI2C") - - -virtualADLX_RESULTADLX_STD_CALLVersion(adlx_int*major,adlx_int*minor)=0; - -virtualADLX_RESULTADLX_STD_CALLIsSupported(ADLX_I2C_LINEline,adlx_intaddress,adlx_bool*isSupported)=0; - -virtualADLX_RESULTADLX_STD_CALLRead(ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data)=0; - -virtualADLX_RESULTADLX_STD_CALLRepeatedStartRead(ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data)=0; - -virtualADLX_RESULTADLX_STD_CALLWrite(ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data)=0; - -};//IADLXI2C -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXI2C>IADLXI2CPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXI2C,L"IADLXI2C") - -typedefstructIADLXI2CIADLXI2C; - -typedefstructIADLXI2CVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXI2C*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXI2C*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXI2C*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXI2C -ADLX_RESULT(ADLX_STD_CALL*Version)(IADLXI2C*pThis,adlx_int*major,adlx_int*minor); -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXI2C*pThis,ADLX_I2C_LINEline,adlx_intaddress,adlx_bool*isSupported); -ADLX_RESULT(ADLX_STD_CALL*Read)(IADLXI2C*pThis,ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data); -ADLX_RESULT(ADLX_STD_CALL*RepeatedStartRead)(IADLXI2C*pThis,ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data); -ADLX_RESULT(ADLX_STD_CALL*Write)(IADLXI2C*pThis,ADLX_I2C_LINEline,adlx_intspeed,adlx_intaddress,adlx_intoffset,adlx_intdataSize,adlx_byte*data); - -}IADLXI2CVtbl; - -structIADLXI2C{constIADLXI2CVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXI2C - -#endif//ADLX_II2C_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_log_8h.xml b/vendor/adlx/SDKDoc/xml/_i_log_8h.xml deleted file mode 100644 index 920e346..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_log_8h.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - ILog.h - ADLXDefines.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXLog - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -//------------------------------------------------------------------------------------------------- -//ILog.h-InterfacesforADLXlogfunctionality -#ifndefADLX_LOG_H -#defineADLX_LOG_H -#pragmaonce - -#include"ADLXDefines.h" - -#pragmaregionIADLXLoginterface -#ifdefined(__cplusplus) - -namespaceadlx -{ -classADLX_NO_VTABLEIADLXLog -{ -public: -virtualADLX_RESULTADLX_STD_CALLWriteLog(constwchar_t*msg)=0; -};//IADLXLog -} -#else -ADLX_DECLARE_IID(IADLXLog,L"IADLXLog"); -typedefstructIADLXLogIADLXLog; - -typedefstructIADLXLogVtbl -{ -//IADLXLog -ADLX_RESULT(ADLX_STD_CALL*WriteLog)(IADLXLog*pThis,constwchar_t*msg); -}IADLXLogVtbl; - -structIADLXLog -{ -constIADLXLogVtbl*pVtbl; -}; - -#endif -#pragmaregionIADLXLoginterface - -#endif//ADLX_LOG_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_performance_monitoring1_8h.xml b/vendor/adlx/SDKDoc/xml/_i_performance_monitoring1_8h.xml deleted file mode 100644 index 93d738d..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_performance_monitoring1_8h.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - IPerformanceMonitoring1.h - IPerformanceMonitoring.h - adlx::IADLXSystemMetricsSupport1 - adlx::IADLXSystemMetrics1 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IPERFORMANCEMONITORING1_H -#defineADLX_IPERFORMANCEMONITORING1_H -#pragmaonce - -#include"IPerformanceMonitoring.h" - -#pragmaregionIADLXSystemMetricsSupport1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSystemMetricsSupport1:publicIADLXSystemMetricsSupport -{ -public: -ADLX_DECLARE_IID(L"IADLXSystemMetricsSupport1") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedPowerDistribution(adlx_bool*supported)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSystemMetricsSupport1>IADLXSystemMetricsSupport1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSystemMetricsSupport1,L"IADLXSystemMetricsSupport1") - -typedefstructIADLXSystemMetricsSupport1IADLXSystemMetricsSupport1; -typedefstructIADLXSystemMetricsSupport1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystemMetricsSupport1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystemMetricsSupport1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystemMetricsSupport1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSystemMetricsSupport -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCPUUsage)(IADLXSystemMetricsSupport1*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSystemRAM)(IADLXSystemMetricsSupport1*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSmartShift)(IADLXSystemMetricsSupport1*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetCPUUsageRange)(IADLXSystemMetricsSupport1*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetSystemRAMRange)(IADLXSystemMetricsSupport1*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetSmartShiftRange)(IADLXSystemMetricsSupport1*pThis,adlx_int*minValue,adlx_int*maxValue); - -//IADLXSystemMetricsSupport1 -ADLX_RESULT(ADLX_STD_CALL*IsSupportedPowerDistribution)(IADLXSystemMetricsSupport1*pThis,adlx_bool*supported); -}IADLXSystemMetricsSupport1Vtbl; -structIADLXSystemMetricsSupport1{constIADLXSystemMetricsSupport1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSystemMetricsSupport1 - -#pragmaregionIADLXSystemMetrics1 -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSystemMetrics1:publicIADLXSystemMetrics -{ -public: -ADLX_DECLARE_IID(L"IADLXSystemMetrics1") - - -virtualADLX_RESULTADLX_STD_CALLPowerDistribution(adlx_int*apuShiftValue,adlx_int*gpuShiftValue,adlx_int*apuShiftLimit,adlx_int*gpuShiftLimit,adlx_int*totalShiftLimit)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSystemMetrics1>IADLXSystemMetrics1Ptr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSystemMetrics1,L"IADLXSystemMetrics1") - -typedefstructIADLXSystemMetrics1IADLXSystemMetrics1; -typedefstructIADLXSystemMetrics1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystemMetrics1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystemMetrics1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystemMetrics1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSystemMetrics -ADLX_RESULT(ADLX_STD_CALL*TimeStamp)(IADLXSystemMetrics1*pThis,adlx_int64*ms); -ADLX_RESULT(ADLX_STD_CALL*CPUUsage)(IADLXSystemMetrics1*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*SystemRAM)(IADLXSystemMetrics1*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*SmartShift)(IADLXSystemMetrics1*pThis,adlx_int*data); - -//IADLXSystemMetrics1 -ADLX_RESULT(ADLX_STD_CALL*PowerDistribution)(IADLXSystemMetrics1*pThis,adlx_int*apuShiftValue,adlx_int*gpuShiftValue,adlx_int*apuShiftLimit,adlx_int*gpuShiftLimit,adlx_int*totalShiftLimit); -}IADLXSystemMetrics1Vtbl; -structIADLXSystemMetrics1{constIADLXSystemMetrics1Vtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSystemMetrics1 - -#endif//ADLX_IPERFORMANCEMONITORING1_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_performance_monitoring_8h.xml b/vendor/adlx/SDKDoc/xml/_i_performance_monitoring_8h.xml deleted file mode 100644 index e742896..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_performance_monitoring_8h.xml +++ /dev/null @@ -1,648 +0,0 @@ - - - - IPerformanceMonitoring.h - ADLXStructures.h - ICollections.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/IPerformanceMonitoring1.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXGPUMetricsSupport - adlx::IADLXSystemMetricsSupport - adlx::IADLXGPUMetrics - adlx::IADLXGPUMetricsList - adlx::IADLXSystemMetrics - adlx::IADLXSystemMetricsList - adlx::IADLXFPS - adlx::IADLXFPSList - adlx::IADLXAllMetrics - adlx::IADLXAllMetricsList - adlx::IADLXPerformanceMonitoringServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_IPERFORMANCEMONITORING_H -#defineADLX_IPERFORMANCEMONITORING_H -#pragmaonce - -#include"ADLXStructures.h" -#include"ICollections.h" - -//------------------------------------------------------------------------------------------------- -//IPerformanceMonitoring.h-InterfacesforADLXPerformanceMonitoringfunctionality -#pragmaregionIADLXGPUMetricsSupport -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUMetricsSupport:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUMetricsSupport") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUUsage(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUClockSpeed(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUVRAMClockSpeed(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUTemperature(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUHotspotTemperature(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUPower(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUTotalBoardPower(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUFanSpeed(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUVRAM(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUVoltage(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUUsageRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUClockSpeedRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUVRAMClockSpeedRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUTemperatureRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUHotspotTemperatureRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUPowerRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUFanSpeedRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUVRAMRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUVoltageRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUTotalBoardPowerRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUIntakeTemperatureRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedGPUIntakeTemperature(adlx_bool*supported)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUMetricsSupport>IADLXGPUMetricsSupportPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUMetricsSupport,L"IADLXGPUMetricsSupport") - -typedefstructIADLXGPUMetricsSupportIADLXGPUMetricsSupport; - -typedefstructIADLXGPUMetricsSupportVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUMetricsSupport*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUMetricsSupport*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUMetricsSupport*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUMetricsSupport -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUUsage)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUClockSpeed)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUVRAMClockSpeed)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUTemperature)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUHotspotTemperature)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUPower)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUTotalBoardPower)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUFanSpeed)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUVRAM)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUVoltage)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); - -ADLX_RESULT(ADLX_STD_CALL*GetGPUUsageRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUClockSpeedRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUVRAMClockSpeedRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUTemperatureRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUHotspotTemperatureRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUPowerRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUFanSpeedRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUVRAMRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUVoltageRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUTotalBoardPowerRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetGPUIntakeTemperatureRange)(IADLXGPUMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedGPUIntakeTemperature)(IADLXGPUMetricsSupport*pThis,adlx_bool*supported); -}IADLXGPUMetricsSupportVtbl; - -structIADLXGPUMetricsSupport{constIADLXGPUMetricsSupportVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUMetricsSupport - -#pragmaregionIADLXSystemMetricsSupport -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSystemMetricsSupport:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSystemMetricsSupport") - - -virtualADLX_RESULTADLX_STD_CALLIsSupportedCPUUsage(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedSystemRAM(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLIsSupportedSmartShift(adlx_bool*supported)=0; -virtualADLX_RESULTADLX_STD_CALLGetCPUUsageRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetSystemRAMRange(adlx_int*minValue,adlx_int*maxValue)=0; -virtualADLX_RESULTADLX_STD_CALLGetSmartShiftRange(adlx_int*minValue,adlx_int*maxValue)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSystemMetricsSupport>IADLXSystemMetricsSupportPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSystemMetricsSupport,L"IADLXSystemMetricsSupport") - -typedefstructIADLXSystemMetricsSupportIADLXSystemMetricsSupport; - -typedefstructIADLXSystemMetricsSupportVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystemMetricsSupport*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystemMetricsSupport*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystemMetricsSupport*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSystemMetricsSupport -ADLX_RESULT(ADLX_STD_CALL*IsSupportedCPUUsage)(IADLXSystemMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSystemRAM)(IADLXSystemMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsSupportedSmartShift)(IADLXSystemMetricsSupport*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetCPUUsageRange)(IADLXSystemMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetSystemRAMRange)(IADLXSystemMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -ADLX_RESULT(ADLX_STD_CALL*GetSmartShiftRange)(IADLXSystemMetricsSupport*pThis,adlx_int*minValue,adlx_int*maxValue); -}IADLXSystemMetricsSupportVtbl; - -structIADLXSystemMetricsSupport{constIADLXSystemMetricsSupportVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSystemMetricsSupport - -#pragmaregionIADLXGPUMetrics -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUMetrics:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUMetrics") -virtualADLX_RESULTADLX_STD_CALLTimeStamp(adlx_int64*ms)=0; -virtualADLX_RESULTADLX_STD_CALLGPUUsage(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUClockSpeed(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUVRAMClockSpeed(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUTemperature(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUHotspotTemperature(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUPower(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUTotalBoardPower(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUFanSpeed(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUVRAM(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUVoltage(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLGPUIntakeTemperature(adlx_double*data)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUMetrics>IADLXGPUMetricsPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUMetrics,L"IADLXGPUMetrics") - -typedefstructIADLXGPUMetricsIADLXGPUMetrics; - -typedefstructIADLXGPUMetricsVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUMetrics*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUMetrics*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUMetrics*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUMetrics -ADLX_RESULT(ADLX_STD_CALL*TimeStamp)(IADLXGPUMetrics*pThis,adlx_int64*ms); -ADLX_RESULT(ADLX_STD_CALL*GPUUsage)(IADLXGPUMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*GPUClockSpeed)(IADLXGPUMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*GPUVRAMClockSpeed)(IADLXGPUMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*GPUTemperature)(IADLXGPUMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*GPUHotspotTemperature)(IADLXGPUMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*GPUPower)(IADLXGPUMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*GPUTotalBoardPower)(IADLXGPUMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*GPUFanSpeed)(IADLXGPUMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*GPUVRAM)(IADLXGPUMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*GPUVoltage)(IADLXGPUMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*GPUIntakeTemperature)(IADLXGPUMetrics*pThis,adlx_double*data); -}IADLXGPUMetricsVtbl; - -structIADLXGPUMetrics{constIADLXGPUMetricsVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUMetrics - -#pragmaregionIADLXGPUMetricsList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUMetricsList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUMetricsList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXGPUMetrics::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXGPUMetrics**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXGPUMetrics*pItem)=0; -};//IADLXGPUMetricsList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUMetricsList>IADLXGPUMetricsListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXGPUMetricsList,L"IADLXGPUMetricsList") -ADLX_DECLARE_ITEM_IID(IADLXGPUMetrics,IID_IADLXGPUMetrics()) - -typedefstructIADLXGPUMetricsListIADLXGPUMetricsList; - -typedefstructIADLXGPUMetricsListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUMetricsList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUMetricsList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXGPUMetricsList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXGPUMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXGPUMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXGPUMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXGPUMetricsList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXGPUMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXGPUMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXGPUMetricsList*pThis,IADLXInterface*pItem); - -//IADLXGPUMetricsList -ADLX_RESULT(ADLX_STD_CALL*At_GPUMetricsList)(IADLXGPUMetricsList*pThis,constadlx_uintlocation,IADLXGPUMetrics**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_GPUMetricsList)(IADLXGPUMetricsList*pThis,IADLXGPUMetrics*pItem); - -}IADLXGPUMetricsListVtbl; - -structIADLXGPUMetricsList{constIADLXGPUMetricsListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXGPUMetricsList - -#pragmaregionIADLXSystemMetrics -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSystemMetrics:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSystemMetrics") -virtualADLX_RESULTADLX_STD_CALLTimeStamp(adlx_int64*ms)=0; -virtualADLX_RESULTADLX_STD_CALLCPUUsage(adlx_double*data)=0; -virtualADLX_RESULTADLX_STD_CALLSystemRAM(adlx_int*data)=0; -virtualADLX_RESULTADLX_STD_CALLSmartShift(adlx_int*data)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSystemMetrics>IADLXSystemMetricsPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSystemMetrics,L"IADLXSystemMetrics") - -typedefstructIADLXSystemMetricsIADLXSystemMetrics; - -typedefstructIADLXSystemMetricsVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystemMetrics*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystemMetrics*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystemMetrics*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSystemMetrics -ADLX_RESULT(ADLX_STD_CALL*TimeStamp)(IADLXSystemMetrics*pThis,adlx_int64*ms); -ADLX_RESULT(ADLX_STD_CALL*CPUUsage)(IADLXSystemMetrics*pThis,adlx_double*data); -ADLX_RESULT(ADLX_STD_CALL*SystemRAM)(IADLXSystemMetrics*pThis,adlx_int*data); -ADLX_RESULT(ADLX_STD_CALL*SmartShift)(IADLXSystemMetrics*pThis,adlx_int*data); -}IADLXSystemMetricsVtbl; - -structIADLXSystemMetrics{constIADLXSystemMetricsVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSystemMetrics - -#pragmaregionIADLXSystemMetricsList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSystemMetricsList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXSystemMetricsList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXSystemMetrics::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXSystemMetrics**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXSystemMetrics*pItem)=0; -};//IADLXSystemMetricsList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSystemMetricsList>IADLXSystemMetricsListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSystemMetricsList,L"IADLXSystemMetricsList") -ADLX_DECLARE_ITEM_IID(IADLXSystemMetrics,IID_IADLXSystemMetrics()) - -typedefstructIADLXSystemMetricsListIADLXSystemMetricsList; - -typedefstructIADLXSystemMetricsListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystemMetricsList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystemMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystemMetricsList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXSystemMetricsList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXSystemMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXSystemMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXSystemMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXSystemMetricsList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXSystemMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXSystemMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXSystemMetricsList*pThis,IADLXInterface*pItem); - -//IADLXSystemMetricsList -ADLX_RESULT(ADLX_STD_CALL*At_SystemMetricsList)(IADLXSystemMetricsList*pThis,constadlx_uintlocation,IADLXSystemMetrics**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_SystemMetricsList)(IADLXSystemMetricsList*pThis,IADLXSystemMetrics*pItem); - -}IADLXSystemMetricsListVtbl; - -structIADLXSystemMetricsList{constIADLXSystemMetricsListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSystemMetricsList - -#pragmaregionIADLXFPS -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXFPS:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXFPS") -virtualADLX_RESULTADLX_STD_CALLTimeStamp(adlx_int64*ms)=0; -virtualADLX_RESULTADLX_STD_CALLFPS(adlx_int*data)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXFPS>IADLXFPSPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXFPS,L"IADLXFPS") - -typedefstructIADLXFPSIADLXFPS; - -typedefstructIADLXFPSVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXFPS*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXFPS*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXFPS*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXFPS -ADLX_RESULT(ADLX_STD_CALL*TimeStamp)(IADLXFPS*pThis,adlx_int64*ms); -ADLX_RESULT(ADLX_STD_CALL*FPS)(IADLXFPS*pThis,adlx_int*data); -}IADLXFPSVtbl; - -structIADLXFPS{constIADLXFPSVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXFPS - -#pragmaregionIADLXFPSList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXFPSList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXFPSList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXFPS::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXFPS**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXFPS*pItem)=0; -};//IADLXFPSList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXFPSList>IADLXFPSListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXFPSList,L"IADLXFPSList") -ADLX_DECLARE_ITEM_IID(IADLXFPS,IID_IADLXFPS()) - -typedefstructIADLXFPSListIADLXFPSList; - -typedefstructIADLXFPSListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXFPSList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXFPSList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXFPSList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXFPSList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXFPSList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXFPSList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXFPSList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXFPSList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXFPSList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXFPSList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXFPSList*pThis,IADLXInterface*pItem); - -//IADLXFPSList -ADLX_RESULT(ADLX_STD_CALL*At_FPSList)(IADLXFPSList*pThis,constadlx_uintlocation,IADLXFPS**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_FPSList)(IADLXFPSList*pThis,IADLXFPS*pItem); - -}IADLXFPSListVtbl; - -structIADLXFPSList{constIADLXFPSListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXFPSList - -#pragmaregionIADLXAllMetrics -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU; -classADLX_NO_VTABLEIADLXAllMetrics:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXAllMetrics") -virtualADLX_RESULTADLX_STD_CALLTimeStamp(adlx_int64*ms)=0; -virtualADLX_RESULTADLX_STD_CALLGetSystemMetrics(IADLXSystemMetrics**ppSystemMetrics)=0; -virtualADLX_RESULTADLX_STD_CALLGetFPS(IADLXFPS**ppFPS)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUMetrics(IADLXGPU*pGPU,IADLXGPUMetrics**ppGPUMetrics)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXAllMetrics>IADLXAllMetricsPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXAllMetrics,L"IADLXAllMetrics") - -typedefstructIADLXAllMetricsIADLXAllMetrics; - -typedefstructIADLXAllMetricsVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXAllMetrics*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXAllMetrics*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXAllMetrics*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXAllMetrics -ADLX_RESULT(ADLX_STD_CALL*TimeStamp)(IADLXAllMetrics*pThis,adlx_int64*ms); -ADLX_RESULT(ADLX_STD_CALL*GetSystemMetrics)(IADLXAllMetrics*pThis,IADLXSystemMetrics**metrics); -ADLX_RESULT(ADLX_STD_CALL*GetFPS)(IADLXAllMetrics*pThis,IADLXFPS**metrics); -ADLX_RESULT(ADLX_STD_CALL*GetGPUMetrics)(IADLXAllMetrics*pThis,IADLXGPU*pGPU,IADLXGPUMetrics**metrics); -}IADLXAllMetricsVtbl; - -structIADLXAllMetrics{constIADLXAllMetricsVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXAllMetrics - -#pragmaregionIADLXAllMetricsList -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXAllMetricsList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXAllMetricsList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXAllMetrics::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXAllMetrics**ppItem)=0; - -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXAllMetrics*pItem)=0; -};//IADLXAllMetricsList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXAllMetricsList>IADLXAllMetricsListPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXAllMetricsList,L"IADLXAllMetricsList") -ADLX_DECLARE_ITEM_IID(IADLXAllMetrics,IID_IADLXAllMetrics()) - -typedefstructIADLXAllMetricsListIADLXAllMetricsList; - -typedefstructIADLXAllMetricsListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXAllMetricsList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXAllMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXAllMetricsList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXAllMetricsList*pThis); -adlx_bool(ADLX_STD_CALL*Empty)(IADLXAllMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXAllMetricsList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXAllMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXAllMetricsList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXAllMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXAllMetricsList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXAllMetricsList*pThis,IADLXInterface*pItem); - -//IADLXAllMetricsList -ADLX_RESULT(ADLX_STD_CALL*At_AllMetricsList)(IADLXAllMetricsList*pThis,constadlx_uintlocation,IADLXAllMetrics**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_AllMetricsList)(IADLXAllMetricsList*pThis,IADLXAllMetrics*pItem); - -}IADLXAllMetricsListVtbl; - -structIADLXAllMetricsList{constIADLXAllMetricsListVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXAllMetricsList - -#pragmaregionIADLXPerformanceMonitoringServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPerformanceMonitoringServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXPerformanceMonitoringServices") -virtualADLX_RESULTADLX_STD_CALLGetSamplingIntervalRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLSetSamplingInterval(adlx_intaskedIntervalMs)=0; -virtualADLX_RESULTADLX_STD_CALLGetSamplingInterval(adlx_int*intervalMs)=0; -virtualADLX_RESULTADLX_STD_CALLGetMaxPerformanceMetricsHistorySizeRange(ADLX_IntRange*range)=0; -virtualADLX_RESULTADLX_STD_CALLSetMaxPerformanceMetricsHistorySize(adlx_intsizeSec)=0; -virtualADLX_RESULTADLX_STD_CALLGetMaxPerformanceMetricsHistorySize(adlx_int*sizeSec)=0; -virtualADLX_RESULTADLX_STD_CALLClearPerformanceMetricsHistory()=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentPerformanceMetricsHistorySize(adlx_int*sizeSec)=0; -virtualADLX_RESULTADLX_STD_CALLStartPerformanceMetricsTracking()=0; -virtualADLX_RESULTADLX_STD_CALLStopPerformanceMetricsTracking()=0; -virtualADLX_RESULTADLX_STD_CALLGetAllMetricsHistory(adlx_intstartMs,adlx_intstopMs,IADLXAllMetricsList**ppMetricsList)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUMetricsHistory(IADLXGPU*pGPU,adlx_intstartMs,adlx_intstopMs,IADLXGPUMetricsList**ppMetricsList)=0; -virtualADLX_RESULTADLX_STD_CALLGetSystemMetricsHistory(adlx_intstartMs,adlx_intstopMs,IADLXSystemMetricsList**ppMetricsList)=0; -virtualADLX_RESULTADLX_STD_CALLGetFPSHistory(adlx_intstartMs,adlx_intstopMs,IADLXFPSList**ppMetricsList)=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentAllMetrics(IADLXAllMetrics**ppMetrics)=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentGPUMetrics(IADLXGPU*pGPU,IADLXGPUMetrics**ppMetrics)=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentSystemMetrics(IADLXSystemMetrics**ppMetrics)=0; -virtualADLX_RESULTADLX_STD_CALLGetCurrentFPS(IADLXFPS**ppMetrics)=0; -virtualADLX_RESULTADLX_STD_CALLGetSupportedGPUMetrics(IADLXGPU*pGPU,IADLXGPUMetricsSupport**ppMetricsSupported)=0; -virtualADLX_RESULTADLX_STD_CALLGetSupportedSystemMetrics(IADLXSystemMetricsSupport**ppMetricsSupported)=0; - -};//IADLXPerformanceMonitoringServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXPerformanceMonitoringServices>IADLXPerformanceMonitoringServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXPerformanceMonitoringServices,L"IADLXPerformanceMonitoringServices") -typedefstructIADLXPerformanceMonitoringServicesIADLXPerformanceMonitoringServices; - -typedefstructIADLXPerformanceMonitoringServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXPerformanceMonitoringServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXPerformanceMonitoringServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXPerformanceMonitoringServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXPerformanceMonitoringServices -ADLX_RESULT(ADLX_STD_CALL*GetSamplingIntervalRange)(IADLXPerformanceMonitoringServices*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*SetSamplingInterval)(IADLXPerformanceMonitoringServices*pThis,adlx_intintervalMs); -ADLX_RESULT(ADLX_STD_CALL*GetSamplingInterval)(IADLXPerformanceMonitoringServices*pThis,adlx_int*intervalMs); -ADLX_RESULT(ADLX_STD_CALL*GetMaxPerformanceMetricsHistorySizeRange)(IADLXPerformanceMonitoringServices*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*SetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices*pThis,adlx_intsizeSec); -ADLX_RESULT(ADLX_STD_CALL*GetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices*pThis,adlx_int*sizeSec); -ADLX_RESULT(ADLX_STD_CALL*ClearPerformanceMetricsHistory)(IADLXPerformanceMonitoringServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices*pThis,adlx_int*sizeSec); -ADLX_RESULT(ADLX_STD_CALL*StartPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*StopPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*GetAllMetricsHistory)(IADLXPerformanceMonitoringServices*pThis,adlx_intstartMs,adlx_intstopMs,IADLXAllMetricsList**ppMetricsList); -ADLX_RESULT(ADLX_STD_CALL*GetGPUMetricsHistory)(IADLXPerformanceMonitoringServices*pThis,IADLXGPU*pGPU,adlx_intstartMs,adlx_intstopMs,IADLXGPUMetricsList**ppMetricsList); -ADLX_RESULT(ADLX_STD_CALL*GetSystemMetricsHistory)(IADLXPerformanceMonitoringServices*pThis,adlx_intstartMs,adlx_intstopMs,IADLXSystemMetricsList**ppMetricsList); -ADLX_RESULT(ADLX_STD_CALL*GetFPSHistory)(IADLXPerformanceMonitoringServices*pThis,adlx_intstartMs,adlx_intstopMs,IADLXFPSList**ppMetricsList); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentAllMetrics)(IADLXPerformanceMonitoringServices*pThis,IADLXAllMetrics**ppMetrics); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentGPUMetrics)(IADLXPerformanceMonitoringServices*pThis,IADLXGPU*pGPU,IADLXGPUMetrics**ppMetrics); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentSystemMetrics)(IADLXPerformanceMonitoringServices*pThis,IADLXSystemMetrics**ppMetrics); -ADLX_RESULT(ADLX_STD_CALL*GetCurrentFPS)(IADLXPerformanceMonitoringServices*pThis,IADLXFPS**ppMetrics); -ADLX_RESULT(ADLX_STD_CALL*GetSupportedGPUMetrics)(IADLXPerformanceMonitoringServices*pThis,IADLXGPU*pGPU,IADLXGPUMetricsSupport**ppMetricsSupported); -ADLX_RESULT(ADLX_STD_CALL*GetSupportedSystemMetrics)(IADLXPerformanceMonitoringServices*pThis,IADLXSystemMetricsSupport**ppMetricsSupported); -}IADLXPerformanceMonitoringServicesVtbl; - -structIADLXPerformanceMonitoringServices{constIADLXPerformanceMonitoringServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXPerformanceMonitoringServices - -#endif//ADLX_IPERFORMANCEMONITORING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_power_tuning_8h.xml b/vendor/adlx/SDKDoc/xml/_i_power_tuning_8h.xml deleted file mode 100644 index 7883e75..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_power_tuning_8h.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - IPowerTuning.h - ADLXStructures.h - IChangedEvent.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXSmartShiftMax - adlx::IADLXPowerTuningChangedEvent - adlx::IADLXPowerTuningChangedListener - adlx::IADLXPowerTuningChangedHandling - adlx::IADLXPowerTuningServices - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_POWERTUNING_H -#defineADLX_POWERTUNING_H -#pragmaonce - -#include"ADLXStructures.h" -#include"IChangedEvent.h" - -#pragmaregionIADLXSmartShiftMax -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSmartShiftMax:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSmartShiftMax") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLGetBiasMode(ADLX_SSM_BIAS_MODE*mode)=0; - -virtualADLX_RESULTADLX_STD_CALLSetBiasMode(ADLX_SSM_BIAS_MODEmode)=0; - -virtualADLX_RESULTADLX_STD_CALLGetBiasRange(ADLX_IntRange*range)=0; - -virtualADLX_RESULTADLX_STD_CALLGetBias(adlx_int*bias)=0; - -virtualADLX_RESULTADLX_STD_CALLSetBias(adlx_intbias)=0; -};//IADLXSmartShiftMax -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSmartShiftMax>IADLXSmartShiftMaxPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSmartShiftMax,L"IADLXSmartShiftMax") -typedefstructIADLXSmartShiftMaxIADLXSmartShiftMax; -typedefstructIADLXSmartShiftMaxVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSmartShiftMax*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSmartShiftMax*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSmartShiftMax*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSmartShiftMax -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXSmartShiftMax*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*GetBiasMode)(IADLXSmartShiftMax*pThis,ADLX_SSM_BIAS_MODE*mode); -ADLX_RESULT(ADLX_STD_CALL*SetBiasMode)(IADLXSmartShiftMax*pThis,ADLX_SSM_BIAS_MODEmode); -ADLX_RESULT(ADLX_STD_CALL*GetBiasRange)(IADLXSmartShiftMax*pThis,ADLX_IntRange*range); -ADLX_RESULT(ADLX_STD_CALL*GetBias)(IADLXSmartShiftMax*pThis,adlx_int*bias); -ADLX_RESULT(ADLX_STD_CALL*SetBias)(IADLXSmartShiftMax*pThis,adlx_intbias); -}IADLXSmartShiftMaxVtbl; -structIADLXSmartShiftMax{constIADLXSmartShiftMaxVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXSmartShiftMax - -#pragmaregionIADLXPowerTuningChangedEvent -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPowerTuningChangedEvent:publicIADLXChangedEvent -{ -public: -ADLX_DECLARE_IID(L"IADLXPowerTuningChangedEvent") - - -virtualadlx_boolADLX_STD_CALLIsSmartShiftMaxChanged()=0; -};//IADLXPowerTuningChangedEvent -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXPowerTuningChangedEvent>IADLXPowerTuningChangedEventPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXPowerTuningChangedEvent,L"IADLXPowerTuningChangedEvent") -typedefstructIADLXPowerTuningChangedEventIADLXPowerTuningChangedEvent; -typedefstructIADLXPowerTuningChangedEventVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXPowerTuningChangedEvent*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXPowerTuningChangedEvent*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXPowerTuningChangedEvent*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXChangedEvent -ADLX_SYNC_ORIGIN(ADLX_STD_CALL*GetOrigin)(IADLXPowerTuningChangedEvent*pThis); - -//IADLXPowerTuningChangedEvent -adlx_bool(ADLX_STD_CALL*IsSmartShiftMaxChanged)(IADLXPowerTuningChangedEvent*pThis); -}IADLXPowerTuningChangedEventVtbl; -structIADLXPowerTuningChangedEvent{constIADLXPowerTuningChangedEventVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXPowerTuningChangedEvent - -#pragmaregionIADLXPowerTuningChangedListener -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPowerTuningChangedListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnPowerTuningChanged(IADLXPowerTuningChangedEvent*pPowerTuningChangedEvent)=0; -};//IADLXPowerTuningChangedListener -}//namespaceadlx -#else//__cplusplus -typedefstructIADLXPowerTuningChangedListenerIADLXPowerTuningChangedListener; -typedefstructIADLXPowerTuningChangedListenerVtbl -{ -adlx_bool(ADLX_STD_CALL*OnPowerTuningChanged)(IADLXPowerTuningChangedListener*pThis,IADLXPowerTuningChangedEvent*pPowerTuningChangedEvent); -}IADLXPowerTuningChangedListenerVtbl; -structIADLXPowerTuningChangedListener{constIADLXPowerTuningChangedListenerVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXPowerTuningChangedListener - -#pragmaregionIADLXPowerTuningChangedHandling -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPowerTuningChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXPowerTuningChangedHandling") - - -virtualADLX_RESULTADLX_STD_CALLAddPowerTuningEventListener(IADLXPowerTuningChangedListener*pPowerTuningChangedListener)=0; - -virtualADLX_RESULTADLX_STD_CALLRemovePowerTuningEventListener(IADLXPowerTuningChangedListener*pPowerTuningChangedListener)=0; - -};//IADLXPowerTuningChangedHandling -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXPowerTuningChangedHandling>IADLXPowerTuningChangedHandlingPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXPowerTuningChangedHandling,L"IADLXPowerTuningChangedHandling") -typedefstructIADLXPowerTuningChangedHandlingIADLXPowerTuningChangedHandling; -typedefstructIADLXPowerTuningChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXPowerTuningChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXPowerTuningChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXPowerTuningChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXPowerTuningChangedHandling -ADLX_RESULT(ADLX_STD_CALL*AddPowerTuningEventListener)(IADLXPowerTuningChangedHandling*pThis,IADLXPowerTuningChangedListener*pPowerTuningChangedListener); -ADLX_RESULT(ADLX_STD_CALL*RemovePowerTuningEventListener)(IADLXPowerTuningChangedHandling*pThis,IADLXPowerTuningChangedListener*pPowerTuningChangedListener); -}IADLXPowerTuningChangedHandlingVtbl; -structIADLXPowerTuningChangedHandling{constIADLXPowerTuningChangedHandlingVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXPowerTuningChangedHandling - -#pragmaregionIADLXPowerTuningServices -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPowerTuningServices:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXPowerTuningServices") - - -virtualADLX_RESULTADLX_STD_CALLGetPowerTuningChangedHandling(IADLXPowerTuningChangedHandling**ppPowerTuningChangedHandling)=0; - -virtualADLX_RESULTADLX_STD_CALLGetSmartShiftMax(IADLXSmartShiftMax**ppSmartShiftMax)=0; -};//IADLXPowerTuningServices -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXPowerTuningServices>IADLXPowerTuningServicesPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXPowerTuningServices,L"IADLXPowerTuningServices") -typedefstructIADLXPowerTuningServicesIADLXPowerTuningServices; -typedefstructIADLXPowerTuningServicesVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXPowerTuningServices*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXPowerTuningServices*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXPowerTuningServices*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXPowerTuningServices -ADLX_RESULT(ADLX_STD_CALL*GetPowerTuningChangedHandling)(IADLXPowerTuningServices*pThis,IADLXPowerTuningChangedHandling**ppPowerTuningChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*GetSmartShiftMax)(IADLXPowerTuningServices*pThis,IADLXSmartShiftMax**ppSmartShiftMax); -}IADLXPowerTuningServicesVtbl; -structIADLXPowerTuningServices{constIADLXPowerTuningServicesVtbl*pVtbl;}; -#endif//__cplusplus -#pragmaendregionIADLXPowerTuningServices - -#endif//ADLX_POWERTUNING_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_smart_access_memory_8h.xml b/vendor/adlx/SDKDoc/xml/_i_smart_access_memory_8h.xml deleted file mode 100644 index b188ee8..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_smart_access_memory_8h.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - ISmartAccessMemory.h - ADLXStructures.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXSmartAccessMemory - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_ISMARTACCESSMEMORY_H -#defineADLX_ISMARTACCESSMEMORY_H -#pragmaonce - -#include"ADLXStructures.h" - -//------------------------------------------------------------------------------------------------- -//ISmartAccessMemory.h-InterfacesforADLXAMDSmartAccessMemoryfunctionality - -//AMDSmartAccessMemoryinterface -#pragmaregionIADLXSmartAccessMemory -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXSmartAccessMemory:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSmartAccessMemory") - - -virtualADLX_RESULTADLX_STD_CALLIsSupported(adlx_bool*supported)=0; - -virtualADLX_RESULTADLX_STD_CALLIsEnabled(adlx_bool*enabled)=0; - -virtualADLX_RESULTADLX_STD_CALLSetEnabled(adlx_boolenabled)=0; -}; -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXSmartAccessMemory>IADLXSmartAccessMemoryPtr; -}//namespaceadlx -#else//__cplusplus -ADLX_DECLARE_IID(IADLXSmartAccessMemory,L"IADLXSmartAccessMemory") - -typedefstructIADLXSmartAccessMemoryIADLXSmartAccessMemory; - -typedefstructIADLXSmartAccessMemoryVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSmartAccessMemory*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSmartAccessMemory*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSmartAccessMemory*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSmartAccessMemory -ADLX_RESULT(ADLX_STD_CALL*IsSupported)(IADLXSmartAccessMemory*pThis,adlx_bool*supported); -ADLX_RESULT(ADLX_STD_CALL*IsEnabled)(IADLXSmartAccessMemory*pThis,adlx_bool*enabled); -ADLX_RESULT(ADLX_STD_CALL*SetEnabled)(IADLXSmartAccessMemory*pThis,adlx_boolenabled); -}IADLXSmartAccessMemoryVtbl; - -structIADLXSmartAccessMemory{constIADLXSmartAccessMemoryVtbl*pVtbl;}; -#endif -#pragmaendregionIADLXSmartAccessMemory - -#endif//!ADLX_ISMARTACCESSMEMORY_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_system1_8h.xml b/vendor/adlx/SDKDoc/xml/_i_system1_8h.xml deleted file mode 100644 index 7170246..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_system1_8h.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - ISystem1.h - ISystem.h - adlx::IADLXGPU1 - adlx::IADLXSystem1 - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLX_ISYSTEM1_H -#defineADLX_ISYSTEM1_H -#pragmaonce - -#include"ISystem.h" - -//InterfacesforGPU1Info -#pragmaregionIADLXGPU1interface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU1:publicIADLXGPU -{ -public: -ADLX_DECLARE_IID(L"IADLXGPU1") - - -virtualADLX_RESULTADLX_STD_CALLPCIBusType(ADLX_PCI_BUS_TYPE*busType)const=0; - -virtualADLX_RESULTADLX_STD_CALLPCIBusLaneWidth(adlx_uint*laneWidth)const=0; - -virtualADLX_RESULTADLX_STD_CALLMultiGPUMode(ADLX_MGPU_MODE*mode)=0; - -virtualADLX_RESULTADLX_STD_CALLProductName(constchar**productName)const=0; -};//IADLXGPU1 -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPU1>IADLXGPU1Ptr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXGPU1,L"IADLXGPU1"); -typedefstructIADLXGPU1IADLXGPU1; - -typedefstructIADLXGPU1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPU1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPU1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPU1*pThis,constwchar_t*interfaceId,void**ppInterface); -//IADLXGPU -ADLX_RESULT(ADLX_STD_CALL*VendorId)(IADLXGPU1*pThis,constchar**vendorId); -ADLX_RESULT(ADLX_STD_CALL*ASICFamilyType)(IADLXGPU1*pThis,ADLX_ASIC_FAMILY_TYPE*asicFamilyType); -ADLX_RESULT(ADLX_STD_CALL*Type)(IADLXGPU1*pThis,ADLX_GPU_TYPE*gpuType); -ADLX_RESULT(ADLX_STD_CALL*IsExternal)(IADLXGPU1*pThis,adlx_bool*isExternal); -ADLX_RESULT(ADLX_STD_CALL*Name)(IADLXGPU1*pThis,constchar**gpuName); -ADLX_RESULT(ADLX_STD_CALL*DriverPath)(IADLXGPU1*pThis,constchar**driverPath); -ADLX_RESULT(ADLX_STD_CALL*PNPString)(IADLXGPU1*pThis,constchar**pnpString); -ADLX_RESULT(ADLX_STD_CALL*HasDesktops)(IADLXGPU1*pThis,adlx_bool*hasDesktops); -ADLX_RESULT(ADLX_STD_CALL*TotalVRAM)(IADLXGPU1*pThis,adlx_uint*vramMB); -ADLX_RESULT(ADLX_STD_CALL*VRAMType)(IADLXGPU1*pThis,constchar**type); -ADLX_RESULT(ADLX_STD_CALL*BIOSInfo)(IADLXGPU1*pThis,constchar**partNumber,constchar**version,constchar**date); -ADLX_RESULT(ADLX_STD_CALL*DeviceId)(IADLXGPU1*pThis,constchar**deviceId); -ADLX_RESULT(ADLX_STD_CALL*RevisionId)(IADLXGPU1*pThis,constchar**revisionId); -ADLX_RESULT(ADLX_STD_CALL*SubSystemId)(IADLXGPU1*pThis,constchar**subSystemId); -ADLX_RESULT(ADLX_STD_CALL*SubSystemVendorId)(IADLXGPU1*pThis,constchar**subSystemVendorId); -ADLX_RESULT(ADLX_STD_CALL*UniqueId)(IADLXGPU1*pThis,adlx_int*uniqueId); -//IADLXGPU1 -ADLX_RESULT(ADLX_STD_CALL*PCIBusType)(IADLXGPU1*pThis,ADLX_PCI_BUS_TYPE*busType); -ADLX_RESULT(ADLX_STD_CALL*PCIBusLaneWidth)(IADLXGPU1*pThis,adlx_uint*laneWidth); -ADLX_RESULT(ADLX_STD_CALL*MultiGPUMode)(IADLXGPU1*pThis,ADLX_MGPU_MODE*mode); -ADLX_RESULT(ADLX_STD_CALL*ProductName)(IADLXGPU1*pThis,constchar**productName); -}IADLXGPU1Vtbl; - -structIADLXGPU1 -{ -constIADLXGPU1Vtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXGPU1interface - - -#pragmaregionIADLXSystem1interface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXPowerTuningServices; - -classADLX_NO_VTABLEIADLXSystem1:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXSystem1") - - -virtualADLX_RESULTADLX_STD_CALLGetPowerTuningServices(IADLXPowerTuningServices**ppPowerTuningServices)=0; -};//IADLXSystem1 -typedefIADLXInterfacePtr_T<IADLXSystem1>IADLXSystem1Ptr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXSystem1,L"IADLXSystem1") - -typedefstructIADLXPowerTuningServicesIADLXPowerTuningServices; -typedefstructIADLXSystem1IADLXSystem1; -typedefstructIADLXSystem1Vtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXSystem1*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXSystem1*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystem1*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXSystem1 -ADLX_RESULT(ADLX_STD_CALL*GetPowerTuningServices)(IADLXSystem1*pThis,IADLXPowerTuningServices**ppPowerTuningServices); -}IADLXSystem1Vtbl; - -structIADLXSystem1{constIADLXSystem1Vtbl*pVtbl;}; -#endif -#pragmaendregionIADLXSystem1interface - -#endif//ADLX_ISYSTEM1_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_i_system_8h.xml b/vendor/adlx/SDKDoc/xml/_i_system_8h.xml deleted file mode 100644 index fb541b5..0000000 --- a/vendor/adlx/SDKDoc/xml/_i_system_8h.xml +++ /dev/null @@ -1,379 +0,0 @@ - - - - ISystem.h - ADLXDefines.h - ICollections.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ADLX.h - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include/ISystem1.h - - - - - - - - - - - - - - - - - - - - - - - - - - - - adlx::IADLXGPU - adlx::IADLXGPUList - adlx::IADLXGPUsEventListener - adlx::IADLXGPUsChangedHandling - adlx::IADLXSystem - adlx::IADLMapping - adlx - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -//------------------------------------------------------------------------------------------------- -//ISystem.h-InterfacesforADLXSystem-levelfunctionality - -#ifndefADLX_ISYSTEM_H -#defineADLX_ISYSTEM_H -#pragmaonce - -#include"ADLXDefines.h" -#include"ICollections.h" - -//InterfacesforGPUInfo -#pragmaregionIADLXGPUinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPU:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPU") - - -virtualADLX_RESULTADLX_STD_CALLVendorId(constchar**vendorId)=0; -virtualADLX_RESULTADLX_STD_CALLASICFamilyType(ADLX_ASIC_FAMILY_TYPE*asicFamilyType)const=0; -virtualADLX_RESULTADLX_STD_CALLType(ADLX_GPU_TYPE*gpuType)const=0; -virtualADLX_RESULTADLX_STD_CALLIsExternal(adlx_bool*isExternal)const=0; -virtualADLX_RESULTADLX_STD_CALLName(constchar**name)const=0; -virtualADLX_RESULTADLX_STD_CALLDriverPath(constchar**driverPath)const=0; -virtualADLX_RESULTADLX_STD_CALLPNPString(constchar**pnpString)const=0; -virtualADLX_RESULTADLX_STD_CALLHasDesktops(adlx_bool*hasDesktops)const=0; -virtualADLX_RESULTADLX_STD_CALLTotalVRAM(adlx_uint*vramMB)=0; -virtualADLX_RESULTADLX_STD_CALLVRAMType(constchar**type)=0; -virtualADLX_RESULTADLX_STD_CALLBIOSInfo(constchar**partNumber,constchar**version,constchar**date)=0; -virtualADLX_RESULTADLX_STD_CALLDeviceId(constchar**deviceId)=0; -virtualADLX_RESULTADLX_STD_CALLRevisionId(constchar**revisionId)=0; -virtualADLX_RESULTADLX_STD_CALLSubSystemId(constchar**subSystemId)=0; -virtualADLX_RESULTADLX_STD_CALLSubSystemVendorId(constchar**subSystemVendorId)=0; -virtualADLX_RESULTADLX_STD_CALLUniqueId(adlx_int*uniqueId)=0; -};//IADLXGPU -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPU>IADLXGPUPtr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXGPU,L"IADLXGPU"); -typedefstructIADLXGPUIADLXGPU; - -typedefstructIADLXGPUVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPU*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPU*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPU*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPU -ADLX_RESULT(ADLX_STD_CALL*VendorId)(IADLXGPU*pThis,constchar**vendorId); -ADLX_RESULT(ADLX_STD_CALL*ASICFamilyType)(IADLXGPU*pThis,ADLX_ASIC_FAMILY_TYPE*asicFamilyType); -ADLX_RESULT(ADLX_STD_CALL*Type)(IADLXGPU*pThis,ADLX_GPU_TYPE*gpuType); -ADLX_RESULT(ADLX_STD_CALL*IsExternal)(IADLXGPU*pThis,adlx_bool*isExternal); -ADLX_RESULT(ADLX_STD_CALL*Name)(IADLXGPU*pThis,constchar**gpuName); -ADLX_RESULT(ADLX_STD_CALL*DriverPath)(IADLXGPU*pThis,constchar**driverPath); -ADLX_RESULT(ADLX_STD_CALL*PNPString)(IADLXGPU*pThis,constchar**pnpString); -ADLX_RESULT(ADLX_STD_CALL*HasDesktops)(IADLXGPU*pThis,adlx_bool*hasDesktops); -ADLX_RESULT(ADLX_STD_CALL*TotalVRAM)(IADLXGPU*pThis,adlx_uint*vramMB); -ADLX_RESULT(ADLX_STD_CALL*VRAMType)(IADLXGPU*pThis,constchar**type); -ADLX_RESULT(ADLX_STD_CALL*BIOSInfo)(IADLXGPU*pThis,constchar**partNumber,constchar**version,constchar**date); -ADLX_RESULT(ADLX_STD_CALL*DeviceId)(IADLXGPU*pThis,constchar**deviceId); -ADLX_RESULT(ADLX_STD_CALL*RevisionId)(IADLXGPU*pThis,constchar**revisionId); -ADLX_RESULT(ADLX_STD_CALL*SubSystemId)(IADLXGPU*pThis,constchar**subSystemId); -ADLX_RESULT(ADLX_STD_CALL*SubSystemVendorId)(IADLXGPU*pThis,constchar**subSystemVendorId); -ADLX_RESULT(ADLX_STD_CALL*UniqueId)(IADLXGPU*pThis,adlx_int*uniqueId); -}IADLXGPUVtbl; - -structIADLXGPU -{ -constIADLXGPUVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXGPUinterface - -#pragmaregionIADLXGPUListinterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUList:publicIADLXList -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUList") -//Listsmustdeclarethetypeofitemsitholds-whatwaspassedasADLX_DECLARE_IID()inthatinterface -ADLX_DECLARE_ITEM_IID(IADLXGPU::IID()) - - -virtualADLX_RESULTADLX_STD_CALLAt(constadlx_uintlocation,IADLXGPU**ppItem)=0; -virtualADLX_RESULTADLX_STD_CALLAdd_Back(IADLXGPU*pItem)=0; -};//IADLXGPUList -//---------------------------------------------------------------------------------------------- -typedefIADLXInterfacePtr_T<IADLXGPUList>IADLXGPUListPtr; -}//namespaceadlx -#else -ADLX_DECLARE_IID(IADLXGPUList,L"IADLXGPUList") -ADLX_DECLARE_ITEM_IID(IADLXGPU,IID_IADLXGPU()) - -typedefstructIADLXGPUListIADLXGPUList; - -typedefstructIADLXGPUListVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUList*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUList*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUList*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXList -adlx_uint(ADLX_STD_CALL*Size)(IADLXGPUList*pThis); -adlx_uint8(ADLX_STD_CALL*Empty)(IADLXGPUList*pThis); -adlx_uint(ADLX_STD_CALL*Begin)(IADLXGPUList*pThis); -adlx_uint(ADLX_STD_CALL*End)(IADLXGPUList*pThis); -ADLX_RESULT(ADLX_STD_CALL*At)(IADLXGPUList*pThis,constadlx_uintlocation,IADLXInterface**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Clear)(IADLXGPUList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Remove_Back)(IADLXGPUList*pThis); -ADLX_RESULT(ADLX_STD_CALL*Add_Back)(IADLXGPUList*pThis,IADLXInterface*pItem); - -//IADLXGPUList -ADLX_RESULT(ADLX_STD_CALL*At_GPUList)(IADLXGPUList*pThis,constadlx_uintlocation,IADLXGPU**ppItem); -ADLX_RESULT(ADLX_STD_CALL*Add_Back_GPUList)(IADLXGPUList*pThis,IADLXGPU*pItem); - -}IADLXGPUListVtbl; - -structIADLXGPUList -{ -constIADLXGPUListVtbl*pVtbl; -}; - -#endif -#pragmaendregionIADLXGPUListinterface - -#pragmaregionIADLXGPUsChangedHandlinginterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXGPUsEventListener -{ -public: -virtualadlx_boolADLX_STD_CALLOnGPUListChanged(IADLXGPUList*pNewGPUs)=0; -}; - -classADLX_NO_VTABLEIADLXGPUsChangedHandling:publicIADLXInterface -{ -public: -ADLX_DECLARE_IID(L"IADLXGPUsChangedHandling") -virtualADLX_RESULTADLX_STD_CALLAddGPUsListEventListener(IADLXGPUsEventListener*pListener)=0; -virtualADLX_RESULTADLX_STD_CALLRemoveGPUsListEventListener(IADLXGPUsEventListener*pListener)=0; -}; - -//------------------------------------------------------------------------------------ -typedefIADLXInterfacePtr_T<IADLXGPUsChangedHandling>IADLXGPUsChangedHandlingPtr; -} -#else -ADLX_DECLARE_IID(IADLXGPUsChangedHandling,L"IADLXGPUsChangedHandling") -typedefstructIADLXGPUsEventListenerIADLXGPUsEventListener; - -typedefstructIADLXGPUsEventListenerVtbl -{ -//IADLXGPUsEventListenerinterface -adlx_bool(ADLX_STD_CALL*OnGPUListChanged)(IADLXGPUsEventListener*pThis,IADLXGPUList*pNewGPUs); -}IADLXGPUsEventListenerVtbl; - -structIADLXGPUsEventListener -{ -constIADLXGPUsEventListenerVtbl*pVtbl; -}; - -typedefstructIADLXGPUsChangedHandlingIADLXGPUsChangedHandling; - -typedefstructIADLXGPUsChangedHandlingVtbl -{ -//IADLXInterface -adlx_long(ADLX_STD_CALL*Acquire)(IADLXGPUsChangedHandling*pThis); -adlx_long(ADLX_STD_CALL*Release)(IADLXGPUsChangedHandling*pThis); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXGPUsChangedHandling*pThis,constwchar_t*interfaceId,void**ppInterface); - -//IADLXGPUsChangedHandling -ADLX_RESULT(ADLX_STD_CALL*AddGPUsListEventListener)(IADLXGPUsChangedHandling*pThis,IADLXGPUsEventListener*pListener); -ADLX_RESULT(ADLX_STD_CALL*RemoveGPUsListEventListener)(IADLXGPUsChangedHandling*pThis,IADLXGPUsEventListener*pListener); - -}IADLXGPUsChangedHandlingVtbl; - -structIADLXGPUsChangedHandling -{ -constIADLXGPUsChangedHandlingVtbl*pVtbl; -}; - -#endif -#pragmaendregionIADLXGPUsChangedHandlinginterface - -//IADLXSystemisasingletoninterface,shouldnotbedeleted -#pragmaregionIADLXSysteminterface -#ifdefined(__cplusplus) -namespaceadlx -{ -classADLX_NO_VTABLEIADLXDesktopServices; -classADLX_NO_VTABLEIADLXDisplayServices; -classADLX_NO_VTABLEIADLXLog; -classADLX_NO_VTABLEIADLX3DSettingsServices; -classADLX_NO_VTABLEIADLXGPUTuningServices; -classADLX_NO_VTABLEIADLXPerformanceMonitoringServices; -classADLX_NO_VTABLEIADLXI2C; - -classADLX_NO_VTABLEIADLXSystem -{ -public: -virtualADLX_RESULTADLX_STD_CALLHybridGraphicsType(ADLX_HG_TYPE*hgType)=0; -virtualADLX_RESULTADLX_STD_CALLGetGPUs(IADLXGPUList**ppGPUs)=0; -virtualADLX_RESULTADLX_STD_CALLQueryInterface(constwchar_t*interfaceId,void**ppInterface)=0; -virtualADLX_RESULTADLX_STD_CALLGetDisplaysServices(IADLXDisplayServices**ppDispServices)=0; -virtualADLX_RESULTADLX_STD_CALLGetDesktopsServices(IADLXDesktopServices**ppDeskServices)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUsChangedHandling(IADLXGPUsChangedHandling**ppGPUsChangedHandling)=0; -virtualADLX_RESULTADLX_STD_CALLEnableLog(ADLX_LOG_DESTINATIONmode,ADLX_LOG_SEVERITYseverity,IADLXLog*pLogger,constwchar_t*fileName)=0; - -virtualADLX_RESULTADLX_STD_CALLGet3DSettingsServices(IADLX3DSettingsServices**pp3DSettingsServices)=0; - -virtualADLX_RESULTADLX_STD_CALLGetGPUTuningServices(IADLXGPUTuningServices**ppGPUTuningServices)=0; - -virtualADLX_RESULTADLX_STD_CALLGetPerformanceMonitoringServices(IADLXPerformanceMonitoringServices**ppPerformanceMonitoringServices)=0; - -virtualADLX_RESULTADLX_STD_CALLTotalSystemRAM(adlx_uint*ramMB)=0; - -virtualADLX_RESULTADLX_STD_CALLGetI2C(IADLXGPU*pGPU,IADLXI2C**ppI2C)=0; - -};//IADLXSystem -}//namespaceadlx -#else - -typedefstructIADLXDesktopServicesIADLXDesktopServices; -typedefstructIADLXDisplayServicesIADLXDisplayServices; -typedefstructIADLXLogIADLXLog; -typedefstructIADLX3DSettingsServicesIADLX3DSettingsServices; -typedefstructIADLXSystemIADLXSystem; -typedefstructIADLXGPUTuningServicesIADLXGPUTuningServices; -typedefstructIADLXPerformanceMonitoringServicesIADLXPerformanceMonitoringServices; -typedefstructIADLXI2CIADLXI2C; - -typedefstructIADLXSystemVtbl -{ -//IADLXSysteminterface -ADLX_RESULT(ADLX_STD_CALL*GetHybridGraphicsType)(IADLXSystem*pThis,ADLX_HG_TYPE*hgType); -ADLX_RESULT(ADLX_STD_CALL*GetGPUs)(IADLXSystem*pThis,IADLXGPUList**ppGPUs); -ADLX_RESULT(ADLX_STD_CALL*QueryInterface)(IADLXSystem*pThis,constwchar_t*interfaceId,void**ppInterface); -ADLX_RESULT(ADLX_STD_CALL*GetDisplaysServices)(IADLXSystem*pThis,IADLXDisplayServices**ppDispServices); -ADLX_RESULT(ADLX_STD_CALL*GetDesktopsServices)(IADLXSystem*pThis,IADLXDesktopServices**ppDeskServices); -ADLX_RESULT(ADLX_STD_CALL*GetGPUsChangedHandling)(IADLXSystem*pThis,IADLXGPUsChangedHandling**ppGPUsChangedHandling); -ADLX_RESULT(ADLX_STD_CALL*EnableLog)(IADLXSystem*pThis,ADLX_LOG_DESTINATIONmode,ADLX_LOG_SEVERITYseverity,IADLXLog*pLogger,constwchar_t*fileName); -ADLX_RESULT(ADLX_STD_CALL*Get3DSettingsServices)(IADLXSystem*pThis,IADLX3DSettingsServices**pp3DSettingsServices); -ADLX_RESULT(ADLX_STD_CALL*GetGPUTuningServices)(IADLXSystem*pThis,IADLXGPUTuningServices**ppGPUTuningServices); -ADLX_RESULT(ADLX_STD_CALL*GetPerformanceMonitoringServices)(IADLXSystem*pThis,IADLXPerformanceMonitoringServices**ppPerformanceMonitoringServices); -ADLX_RESULT(ADLX_STD_CALL*TotalSystemRAM)(IADLXSystem*pThis,adlx_uint*ramMB); -ADLX_RESULT(ADLX_STD_CALL*GetI2C)(IADLXSystem*pThis,IADLXGPU*pGPU,IADLXI2C**ppI2C); -}IADLXSystemVtbl; - -structIADLXSystem -{ -constIADLXSystemVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLXSysteminterface - -//IADLMappingisasingletoninterface,shouldnotbedeleted -#pragmaregionIADLMappinginterface -#ifdefined(__cplusplus) -namespaceadlx -{ -//InterfaceusedtointerfacebetweenADLandADLX.ThisisusefulinapplicationsthatusebothADLandADLX, -//whereADLXwasinitializedwiththeinstanceofADLthatisinitializedbytheapplication. -//InsuchcasetheapplicationmightneedtousebothADLandADLXonthesameGPUordisplay. -//ThisinterfaceprovidesconversionbothwaysbetweenADLandADLXGPUanddisplayidentity -classADLX_NO_VTABLEIADLXDisplay; -classADLX_NO_VTABLEIADLXDesktop; - -classADLX_NO_VTABLEIADLMapping -{ -public: -virtualADLX_RESULTADLX_STD_CALLGetADLXGPUFromBdf(adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXGPU**ppGPU)=0; -virtualADLX_RESULTADLX_STD_CALLGetADLXGPUFromAdlAdapterIndex(adlx_intadlAdapterIndex,IADLXGPU**ppGPU)=0; -virtualADLX_RESULTADLX_STD_CALLBdfFromADLXGPU(IADLXGPU*pGPU,adlx_int*bus,adlx_int*device,adlx_int*function)=0; -virtualADLX_RESULTADLX_STD_CALLAdlAdapterIndexFromADLXGPU(IADLXGPU*pGPU,adlx_int*adlAdapterIndex)=0; -virtualADLX_RESULTADLX_STD_CALLGetADLXDisplayFromADLIds(adlx_intadapterIndex,adlx_intdisplayIndex,adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXDisplay**ppDisplay)=0; -virtualADLX_RESULTADLX_STD_CALLADLIdsFromADLXDisplay(IADLXDisplay*pDisplay,adlx_int*adapterIndex,adlx_int*displayIndex,adlx_int*bus,adlx_int*device,adlx_int*function)=0; -virtualADLX_RESULTADLX_STD_CALLGetADLXDesktopFromADLIds(adlx_intadapterIndex,adlx_intVidPnSourceId,adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXDesktop**ppDesktop)=0; -virtualADLX_RESULTADLX_STD_CALLADLIdsFromADLXDesktop(IADLXDesktop*pDesktop,adlx_int*adapterIndex,adlx_int*VidPnSourceId,adlx_int*bus,adlx_int*device,adlx_int*function)=0; -};//IADLMapping -}//namespaceadlx -#else -typedefstructIADLXDisplayIADLXDisplay; -typedefstructIADLXDesktopIADLXDesktop; -typedefstructIADLMappingIADLMapping; - -typedefstructIADLMappingVtbl -{ -//GetstheIADLXGPUobjectcorrespondingtoaGPUwithgivenbus,deviceandfunctionnumber -ADLX_RESULT(ADLX_STD_CALL*GetADLXGPUFromBdf)(IADLMapping*pThis,adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXGPU**ppGPU); -//GetstheIADLXGPUobjectcorrespondingtoaGPUwithgivenADLadapterindex -ADLX_RESULT(ADLX_STD_CALL*GetADLXGPUFromAdlAdapterIndex)(IADLMapping*pThis,adlx_intadlAdapterIndex,IADLXGPU**ppGPU); -//Getsthebus,deviceandfunctionnumbercorrespondingtothegivenIADLXGPU -ADLX_RESULT(ADLX_STD_CALL*BdfFromADLXGPU)(IADLMapping*pThis,IADLXGPU*pGPU,adlx_int*bus,adlx_int*device,adlx_int*function); -//GetstheADLAdapterindexcorrespondingtothegivenIADLXGPU -ADLX_RESULT(ADLX_STD_CALL*AdlAdapterIndexFromADLXGPU)(IADLMapping*pThis,IADLXGPU*pGPU,adlx_int*adlAdapterIndex); -//GetsthedisplayobjectcorrespondingtothegiveADLids -ADLX_RESULT(ADLX_STD_CALL*GetADLXDisplayFromADLIds)(IADLMapping*pThis,adlx_intadapterIndex,adlx_intdisplayIndex,adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXDisplay**ppDisplay); -//GetsADLidscorrespondingtothedisplayobject -ADLX_RESULT(ADLX_STD_CALL*ADLIdsFromADLXDisplay)(IADLMapping*pThis,IADLXDisplay*pDisplay,adlx_int*adapterIndex,adlx_int*displayIndex,adlx_int*bus,adlx_int*device,adlx_int*function); -//GetsthedesktopobjectcorrespondingtothegiveADLids -ADLX_RESULT(ADLX_STD_CALL*GetADLXDesktopFromADLIds)(IADLMapping*pThis,adlx_intadapterIndex,adlx_intVidPnSourceId,adlx_intbus,adlx_intdevice,adlx_intfunction,IADLXDesktop**ppDesktop); -//GetsADLidscorrespondingtothedesktopobject -ADLX_RESULT(ADLX_STD_CALL*ADLIdsFromADLXDesktop)(IADLMapping*pThis,IADLXDesktop*pDesktop,adlx_int*adapterIndex,adlx_int*VidPnSourceId,adlx_int*bus,adlx_int*device,adlx_int*function); - -}IADLMappingVtbl; - -structIADLMapping -{ -constIADLMappingVtbl*pVtbl; -}; -#endif -#pragmaendregionIADLMappinginterface - -#endif//ADLX_ISYSTEM_H - - - - diff --git a/vendor/adlx/SDKDoc/xml/_trademark_8md.xml b/vendor/adlx/SDKDoc/xml/_trademark_8md.xml deleted file mode 100644 index 8339d9f..0000000 --- a/vendor/adlx/SDKDoc/xml/_trademark_8md.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - Trademark.md - - - - - -@pagepage_legal_TrademarkTrademarks - -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -AMD,theAMDArrowlogo,Radeonandcombinationsthereofaretrademarksof -AdvancedMicroDevices,Inc.Otherproductnamesusedinthispublicationare -foridentificationpurposesonlyandmaybetrademarksoftheirrespective -companies.WindowsisaregisteredtrademarkofMicrosoftCorporation.Linuxis -aregisteredtrademarkofLinusTorvalds. - -<h3>Copyright</h3> - -©2023AdvancedMicroDevices,Inc.Allrightsreserved. - - - - diff --git a/vendor/adlx/SDKDoc/xml/adlx_atomic_dec.xml b/vendor/adlx/SDKDoc/xml/adlx_atomic_dec.xml deleted file mode 100644 index c0b66bb..0000000 --- a/vendor/adlx/SDKDoc/xml/adlx_atomic_dec.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - adlx_atomic_dec - adlx_atomic_dec - -An atomic decrement of a variable in multithreading environments. - - -An atomic decrement of a variable in multithreading environments. -Syntax - - - adlx_long adlx_atomic_dec (adlx_long* x) - Parameters - - - - -1. -[in] -x -adlx_long* -The pointer to the variable to be decremented. - -
-
-
-
-
-Return Value - -The decremented value. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/adlx_atomic_inc.xml b/vendor/adlx/SDKDoc/xml/adlx_atomic_inc.xml deleted file mode 100644 index 6c29a58..0000000 --- a/vendor/adlx/SDKDoc/xml/adlx_atomic_inc.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - adlx_atomic_inc - adlx_atomic_inc - -An atomic increment of a variable in multithreading environments. - - -An atomic increment of a variable in multithreading environments. -Syntax - - - adlx_long adlx_atomic_inc (adlx_long* x) - Parameters - - - - -1. -[in] -x -adlx_long* -The pointer to the variable to be incremented. - -
-
-
-
-
-Return Value - -The incremented value. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/adlx_free_library.xml b/vendor/adlx/SDKDoc/xml/adlx_free_library.xml deleted file mode 100644 index 4995ae9..0000000 --- a/vendor/adlx/SDKDoc/xml/adlx_free_library.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - adlx_free_library - adlx_free_library - -Frees a loaded module. - - -Frees a loaded module. -Syntax - - - int adlx_free_library (adlx_handle module) - Parameters - - - - -1. -[in] -module -adlx_handle -The handle to the loaded module. - -
-
-
-
-
-Return Value - -If the module is successfully unloaded, a non-zero value is returned. - If the module is not successfully unloaded, zero is returned. - -Remarks - -When ADLX is successfully freed with this function, ADLX is unloaded from the address space of the calling process and the handle to the module is no longer valid. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/adlx_get_proc_address.xml b/vendor/adlx/SDKDoc/xml/adlx_get_proc_address.xml deleted file mode 100644 index c892247..0000000 --- a/vendor/adlx/SDKDoc/xml/adlx_get_proc_address.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - adlx_get_proc_address - adlx_get_proc_address - -Retrieves the address of a function from a module. - - -Retrieves the address of a function from a module. -Syntax - - - void* adlx_get_proc_address (adlx_handle module, const char* procName) - Parameters - - - - -1. -[in] -module -adlx_handle -The handle to the module. - -
-
-
-
- - - -2. -[in] -procName -const char* -The zero-terminated string that specifies the name of the function. - -
-
-
-
-
-Return Value - -If the function was found, the address of the function is returned. - If the function was not found, nullptr is returned. - -Remarks - -Use this function to load ADLX functions from the ADLX module. The name of the ADLX function can be one of values: ADLX_QUERY_FULL_VERSION_FUNCTION_NAME, ADLX_QUERY_VERSION_FUNCTION_NAME, ADLX_INIT_FUNCTION_NAME, ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME, ADLX_TERMINATE_FUNCTION_NAME. - -Parameter: procName -Description -Return Value - - -ADLX_QUERY_FULL_VERSION_FUNCTION_NAME -The function to query the full version of ADLX. -ADLXQueryFullVersion_Fn - - -ADLX_QUERY_VERSION_FUNCTION_NAME -The function to query the version of ADLX. -ADLXQueryVersion_Fn - - -ADLX_INIT_FUNCTION_NAME -The function to initialize ADLX with default parameters. -ADLXInitialize_Fn - - -ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME -The function to initialize ADLX with a legacy driver. -ADLXInitialize_Fn - - -ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME -The function to initialize ADLX with an ADL context. -ADLXInitializeWithCallerAdl_Fn - - -ADLX_TERMINATE_FUNCTION_NAME -The function to terminate ADLX. -ADLXTerminate_Fn - -
-
-Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/adlx_load_library.xml b/vendor/adlx/SDKDoc/xml/adlx_load_library.xml deleted file mode 100644 index be51861..0000000 --- a/vendor/adlx/SDKDoc/xml/adlx_load_library.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - adlx_load_library - adlx_load_library - -Loads a module into the address space of the calling process. - - -Loads a module into the address space of the calling process. -Syntax - - - adlx_handle adlx_load_library (const TCHAR* filename) - Parameters - - - - -1. -[in] -filename -const TCHAR* -The zero-terminated string that specifies the file name of the module to be loaded. - -
-
-
-
-
-Return Value - -If the module is successfully loaded, a handle to the loaded module is returned. - If the module is not successfully loaded, nullptr is returned. - -Remarks - -Use this function to load ADLX in your application. Specify the filename parameter as ADLX_DLL_NAME. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/benefits_8md.xml b/vendor/adlx/SDKDoc/xml/benefits_8md.xml deleted file mode 100644 index bdea9e3..0000000 --- a/vendor/adlx/SDKDoc/xml/benefits_8md.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - benefits.md - - - - - -@pagepage_guide_befBenefits -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -DevelopapplicationswithgreatereaseandefficiencywithADLX,featuringimprovedstabilityandmaintenance,andmorefunctionalitythanADL. - - --**HighstandardofqualityassurancefromAMD**.AllADLXfunctionsand -methodsareextensivelytestedonawiderangeofhardwaretoassurequality. - --**Acceleratedtime-to-market**.Simplifiedandcost-effectiveinterfacesallowforacceleratedcustomersoftwaredevelopment. - --**ForwardandbackwardcompatibilitywithAMDdrivers**.Significantly -reducedfieldissuesbyimplementingarchitecturebuiltwithcompatibilitychecksandswitches. - --**Extendedfunctionalityandusecasesupport**.Expandedfunctionalityover -ADL,andinclusionofthelatestcontrolandmonitoringfeaturesavailableforAMDhardwareanddrivers. - --**CompatiblewithmodernprogramminglanguagessuchasPython,Java,C#,etc**. -ADLXcanbeintegratedwithalargerselectionofprogramminglanguages. - - -|**Features**|**ADLX**|**ADL**| -|-------------------------------|--------------------------------------------|-------------------------------------------| -|**SimpleInterface**|IntuitiveC++interfaceswithmethods|InconvenientC-stylefunctionpointers| -|**GPU&DisplayEnumeration**|Intuitiverepresentation|Complicatedrepresentation| -|**MemoryManagement**|Virtuallyleak-proofwithreference-countedinterfacesandsmartpointers|Leak-pronewithC-styledynamicmemorymanagement| -|**EventsSynchronization**|ConvenientADLXeventsforallthefeaturesinADLX|Limitedevents.Applicationsmustimplementtheeventsmanager| -|**Support**|ForwardandbackwardcompatibilitywithAMDdrivers|Limited| -|**Versioning**|Moreinterfaces|Alternatefunctionpointers| - - - - diff --git a/vendor/adlx/SDKDoc/xml/c3d_8md.xml b/vendor/adlx/SDKDoc/xml/c3d_8md.xml deleted file mode 100644 index 2ed824d..0000000 --- a/vendor/adlx/SDKDoc/xml/c3d_8md.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - c3d.md - - - - - -#3DGraphics{#domain_c_sample_3DGraphics} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_3DSettingsEvent|Demonstrateshowtoregisterandunregisterfornotificationswhen3DGraphicssettingschange,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_AnisotropicFiltering|Demonstrateshowtoaccessanisotropicfilteringoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_AntiAliasing|Demonstrateshowtoaccessanisotropicfilteringoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_AntiLag|DemonstrateshowtoaccessAMDRadeon™Anti-Lagoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_Boost|DemonstrateshowtoaccessAMDRadeon™Boostoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_Chill|DemonstrateshowtoaccessAMDRadeon™Chilloptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_EnhancedSync|DemonstrateshowtoaccessAMDRadeon™EnhancedSyncoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_FRTC|DemonstrateshowtoaccessAMDFrameRateTargetControl(FRTC)options,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_ImageSharpening|DemonstrateshowtoaccessAMDRadeon™ImageSharpeningoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_MorphologicAntiAliasing|Demonstrateshowtoaccessmorphologicalanti-aliasingoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_ResetShaderCache|Demonstrateshowtoaccessresetshadercacheoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_RSR|DemonstrateshowtoaccessAMDRadeon™SuperResolutionoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_Tessellation|Demonstrateshowtoaccesstessellationoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refc_WaitForVerticalRefresh|DemonstrateshowtoaccessVSyncoptions,andperformrelatedtestingwhenprogrammingwithADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_3_d_settings_event.xml b/vendor/adlx/SDKDoc/xml/c_3_d_settings_event.xml deleted file mode 100644 index 30f06c6..0000000 --- a/vendor/adlx/SDKDoc/xml/c_3_d_settings_event.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - - c_3DSettingsEvent - 3DSettingsEvent - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/3DSettingsEvent</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Blockevent -HANDLEblockEvent=NULL; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName); - -//Call-backtohandlechangedevents -adlx_boolADLX_STD_CALLon3DSettingsChanged(IADLX3DSettingsChangedListener*pThis,IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent) -{ -ADLX_RESULTres; -IADLXGPU*gpu=NULL; -res=p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent,&gpu); -if(ADLX_SUCCEEDED(res)) -{ -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -adlx_boolantiLagChanged=p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent); -printf("\tGPU:%sAntiLagchanged:%d\n",uniqueName,antiLagChanged); -} - -SetEvent(blockEvent); - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostop notification -returntrue; -}; -staticIADLX3DSettingsChangedListenerVtblvtbl={&on3DSettingsChanged}; -staticIADLX3DSettingsChangedListenercall={&vtbl}; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//Getchangehandle -IADLX3DSettingsChangedHandling*changeHandle=NULL; -res=d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv,&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Addcall-back -ADLX_RESULTaddListenerRes=changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle,&call); - -//Changeanti-lagstate -IADLX3DAntiLag*antiLag=NULL; -d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv,gpu,&antiLag); -adlx_boolenable; -antiLag->pVtbl->IsEnabled(antiLag,&enable); - -printf("\nWaitingfor3DSettingschangeevent(5s)...\n"); -antiLag->pVtbl->SetEnabled(antiLag,!enable); -WaitForSingleObject(blockEvent,5000); - -if(ADLX_SUCCEEDED(addListenerRes)) -{ -//Removecall-back -res=changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle,&call); -if(ADLX_FAILED(res)) -printf("\nRemove3DSettingseventlistenerfailed\n"); -} - -//ReleasetheAntiLaginterface -if(antiLag!=NULL) -{ -antiLag->pVtbl->Release(antiLag); -antiLag=NULL; -} - -} - -//ReleasethechangeHandleinterface -if(changeHandle!=NULL) -{ -changeHandle->pVtbl->Release(changeHandle); -changeHandle=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName) -{ -if(NULL!=gpu&&NULL!=uniqueName) -{ -constchar*gpuName=NULL; -ADLX_RESULTres1=gpu->pVtbl->Name(gpu,&gpuName); -adlx_intid; -ADLX_RESULTres2=gpu->pVtbl->UniqueId(gpu,&id); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__anisotropic_filtering.xml b/vendor/adlx/SDKDoc/xml/c__anisotropic_filtering.xml deleted file mode 100644 index cc1ff83..0000000 --- a/vendor/adlx/SDKDoc/xml/c__anisotropic_filtering.xml +++ /dev/null @@ -1,254 +0,0 @@ - - - - c_AnisotropicFiltering - AnisotropicFiltering - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display anisotropic filtering support</td></tr> - <tr><td>2</td><td> Display current anisotropic filtering state and level</td></tr> - <tr><td>3</td><td> Enable and change anisotropic filtering levels</td></tr> - <tr><td>4</td><td> Disable anisotropic filtering</td></tr> - <tr><td>M/m</td><td> Display main menu options</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/AnisotropicFiltering</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Displayanisotropicfilteringsupport -voidShowSupport(IADLX3DAnisotropicFiltering*anisotropicFiltering); - -//Getcurrentanisotropicfilteringstate -voidGetState(IADLX3DAnisotropicFiltering*anisotropicFiltering); - -//Setanisotropicfilteringstate -voidSetState(IADLX3DAnisotropicFiltering*anisotropicFiltering,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DAnisotropicFiltering*anisotropicFiltering); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetAnisotropicFilteringinterface -IADLX3DAnisotropicFiltering*anisotropicFiltering=NULL; -res=d3dSettingSrv->pVtbl->GetAnisotropicFiltering(d3dSettingSrv,gpu,&anisotropicFiltering); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(anisotropicFiltering); -} - -//ReleasetheAnisotropicFilteringinterface -if(anisotropicFiltering!=NULL) -{ -anisotropicFiltering->pVtbl->Release(anisotropicFiltering); -anisotropicFiltering=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticchar*getlevelStr(ADLX_ANISOTROPIC_FILTERING_LEVELlevel) -{ -switch(level) -{ -caseAF_LEVEL_INVALID: -return"Invalid"; -caseAF_LEVEL_X2: -return"2X"; -caseAF_LEVEL_X4: -return"4X"; -caseAF_LEVEL_X8: -return"8X"; -caseAF_LEVEL_X16: -return"16X"; -default: -return"UNKNOWN"; -} -}; - -voidShowSupport(IADLX3DAnisotropicFiltering*anisotropicFiltering) -{ -adlx_boolsupported=false; -ADLX_RESULTres=anisotropicFiltering->pVtbl->IsSupported(anisotropicFiltering,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported:%d\n",supported); -} - -voidGetState(IADLX3DAnisotropicFiltering*anisotropicFiltering) -{ -adlx_boolenabled=false; -ADLX_RESULTres=anisotropicFiltering->pVtbl->IsEnabled(anisotropicFiltering,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("\tIsEnabled:%d\n",enabled); -ADLX_ANISOTROPIC_FILTERING_LEVELlevel; -res=anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering,&level); -if(ADLX_SUCCEEDED(res)) -printf("\tLevel:%s\n",getlevelStr(level)); -} - -voidSetState(IADLX3DAnisotropicFiltering*anisotropicFiltering,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -res=anisotropicFiltering->pVtbl->SetEnabled(anisotropicFiltering,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -ADLX_ANISOTROPIC_FILTERING_LEVELlevel; -res=anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering,&level); -if(ADLX_SUCCEEDED(res)) -{ -level=(level==AF_LEVEL_X2)?AF_LEVEL_X4:AF_LEVEL_X2; -res=anisotropicFiltering->pVtbl->SetLevel(anisotropicFiltering,level); -printf("\tSetlevel:%s,returncodeis:%d(0meanssuccess)\n",getlevelStr(level),res); -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayanisotropicfilteringsupport\n"); -printf("\t->Press2todisplaycurrentanisotropicfilteringstate\n"); -printf("\t->Press3toenableandchangeanisotropicfilteringlevels\n"); -printf("\t->Press4todisableanisotropicfiltering\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLX3DAnisotropicFiltering*anisotropicFiltering) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayanisotropicfilteringsupport -case'1': -ShowSupport(anisotropicFiltering); -break; - -//Displaycurrentanisotropicfilteringstate -case'2': -GetState(anisotropicFiltering); -break; - -//Enableandchangeanisotropicfilteringlevels -case'3': -case'4': -SetState(anisotropicFiltering,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/c__anti_aliasing.xml deleted file mode 100644 index bbc8669..0000000 --- a/vendor/adlx/SDKDoc/xml/c__anti_aliasing.xml +++ /dev/null @@ -1,330 +0,0 @@ - - - - c_AntiAliasing - AntiAliasing - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display anti-aliasing support</td></tr> - <tr><td>2</td><td> Display current anti-aliasing state, mode, method, and level</td></tr> - <tr><td>3</td><td> Set anti-aliasing mode: Use application settings</td></tr> - <tr><td>4</td><td> Set anti-aliasing mode: Enhance application settings</td></tr> - <tr><td>5</td><td> Set anti-aliasing mode: Override application settings</td></tr> - <tr><td>6</td><td> Set anti-aliasing method</td></tr> - <tr><td>7</td><td> Set anti-aliasing level</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/AntiAliasing</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Displayanti-aliasingsupport -voidShowAntiAliasingSupport(IADLX3DAntiAliasing*antiAliasing); - -//Displaycurrentanti-aliasingstate -voidGetAntiAliasingState(IADLX3DAntiAliasing*antiAliasing); - -//Setanti-aliasingmode -voidSetAntiAliasingMode(IADLX3DAntiAliasing*antiAliasing,intindex); - -//Setanti-aliasingmethod -voidSetAntiAliasingMethod(IADLX3DAntiAliasing*antiAliasing); - -//Setanti-aliasinglevel -voidSetAntiAliasingLevel(IADLX3DAntiAliasing*antiAliasing); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DAntiAliasing*antiAliasing); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetAntiAliasinginterface -IADLX3DAntiAliasing*antiAliasing=NULL; -res=d3dSettingSrv->pVtbl->GetAntiAliasing(d3dSettingSrv,gpu,&antiAliasing); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(antiAliasing); -} - -//ReleasetheAntiAliasinginterface -if(antiAliasing!=NULL) -{ -antiAliasing->pVtbl->Release(antiAliasing); -antiAliasing=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticchar*getModeStr(ADLX_ANTI_ALIASING_MODEmode) -{ -switch(mode) -{ -caseAA_MODE_USE_APP_SETTINGS: -return"Useapplicationsettings"; -caseAA_MODE_ENHANCE_APP_SETTINGS: -return"Enhanceapplicationsettings"; -caseAA_MODE_OVERRIDE_APP_SETTINGS: -return"Overrideapplicationsettings"; -default: -return"UNKNOWN"; -} -}; - -staticchar*getMethodStr(ADLX_ANTI_ALIASING_METHODmethod) -{ -switch(method) -{ -caseAA_METHOD_MULTISAMPLING: -return"Muti-Sampling"; -caseAA_METHOD_ADAPTIVE_MULTISAMPLING: -return"AdaptiveMuti-Sampling"; -caseAA_METHOD_SUPERSAMPLING: -return"SuperSampling"; -default: -return"UNKNOWN"; -} -}; - -staticchar*getLevelStr(ADLX_ANTI_ALIASING_LEVELlevel) -{ -switch(level) -{ -caseAA_LEVEL_INVALID: -return"LevelInvalid"; -caseAA_LEVEL_2X: -return"2X"; -caseAA_LEVEL_2XEQ: -return"2XEQ"; -caseAA_LEVEL_4X: -return"4X"; -caseAA_LEVEL_4XEQ: -return"4XEQ"; -caseAA_LEVEL_8X: -return"8X"; -caseAA_LEVEL_8XEQ: -return"8XEQ"; -default: -return"UNKNOWN"; -} -}; - -voidShowAntiAliasingSupport(IADLX3DAntiAliasing*antiAliasing) -{ -adlx_boolsupported=false; -ADLX_RESULTres=antiAliasing->pVtbl->IsSupported(antiAliasing,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported:%d\n",supported); -} - -voidGetAntiAliasingState(IADLX3DAntiAliasing*antiAliasing) -{ -ADLX_ANTI_ALIASING_MODEmode; -ADLX_RESULTres=antiAliasing->pVtbl->GetMode(antiAliasing,&mode); -if(ADLX_SUCCEEDED(res)) -printf("\tMode:%s\n",getModeStr(mode)); -ADLX_ANTI_ALIASING_METHODmethod; -res=antiAliasing->pVtbl->GetMethod(antiAliasing,&method); -if(ADLX_SUCCEEDED(res)) -printf("\tMethod:%s\n",getMethodStr(method)); -ADLX_ANTI_ALIASING_LEVELlevel; -res=antiAliasing->pVtbl->GetLevel(antiAliasing,&level); -if(ADLX_SUCCEEDED(res)) -printf("\tLevel:%s\n",getLevelStr(level)); -} - -voidSetAntiAliasingMode(IADLX3DAntiAliasing*antiAliasing,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -ADLX_ANTI_ALIASING_MODEmode=AA_MODE_USE_APP_SETTINGS; -mode=(ADLX_ANTI_ALIASING_MODE)(mode+index); -res=antiAliasing->pVtbl->SetMode(antiAliasing,mode); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidSetAntiAliasingMethod(IADLX3DAntiAliasing*antiAliasing) -{ -ADLX_ANTI_ALIASING_METHODmethod=AA_METHOD_MULTISAMPLING; -ADLX_RESULTres=antiAliasing->pVtbl->GetMethod(antiAliasing,&method); -if(ADLX_SUCCEEDED(res)) -{ -method=(ADLX_ANTI_ALIASING_METHOD)((method+1)%3); -res=antiAliasing->pVtbl->SetMethod(antiAliasing,method); -printf("\tSetmethod:%s,resis:%d\n",getMethodStr(method),res); -} -} - -voidSetAntiAliasingLevel(IADLX3DAntiAliasing*antiAliasing) -{ -ADLX_ANTI_ALIASING_LEVELlevel; -ADLX_RESULTres=antiAliasing->pVtbl->GetLevel(antiAliasing,&level); -if(ADLX_SUCCEEDED(res)) -{ -level=(level==AA_LEVEL_2X)?AA_LEVEL_4X:AA_LEVEL_2X; -res=antiAliasing->pVtbl->SetLevel(antiAliasing,level); -printf("\tSetlevel:%s,resis:%d\n",getLevelStr(level),res); -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayanti-aliasingsupport\n"); -printf("\t->Press2todisplaycurrentanti-aliasingstate\n"); -printf("\t->Press3tosetanti-aliasingmode:Useapplicationsettings\n"); -printf("\t->Press4tosetanti-aliasingmode:Enhanceapplicationsettings\n"); -printf("\t->Press5tosetanti-aliasingmode:Overrideapplicationsettings\n"); - -printf("\t->Press6tochangeanti-aliasingmethod\n"); -printf("\t->Press7tochangeanti-aliasinglevel\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DAntiAliasing*antiAliasing) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayanti-aliasingsupport -case'1': -ShowAntiAliasingSupport(antiAliasing); -break; - -//Displaycurrentanti-aliasingstatus -case'2': -GetAntiAliasingState(antiAliasing); -break; - -//Setanti-aliasingmode -case'3': -case'4': -case'5': -SetAntiAliasingMode(antiAliasing,num-'3'); -break; - -//Setanti-aliasingmethod -case'6': -SetAntiAliasingMethod(antiAliasing); -break; - -//Setanti-aliasinglevel -case'7': -SetAntiAliasingLevel(antiAliasing); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__anti_lag.xml b/vendor/adlx/SDKDoc/xml/c__anti_lag.xml deleted file mode 100644 index c27a596..0000000 --- a/vendor/adlx/SDKDoc/xml/c__anti_lag.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - c_AntiLag - AntiLag - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Anti-Lag support</td></tr> - <tr><td>2</td><td> Display current Radeon Anti-Lag state</td></tr> - <tr><td>3</td><td> Enable Radeon Anti-Lag</td></tr> - <tr><td>4</td><td> Disable Radeon Anti-Lag</td></tr> - <tr><td>5</td><td> Get Radeon Anti-Lag Level</td></tr> - <tr><td>6</td><td> Set Radeon Anti-Lag Level to Anti-Lag</td></tr> - <tr><td>7</td><td> Set Radeon Anti-Lag Level to Anti-Lag Next</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/AntiLag</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayAnti-Lagsupport -voidShowAntiLagSupport(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1); - -//DisplaycurrentAnti-Lagstate -voidGetAntiLagState(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1); - -//SetAnti-Lagstate -voidSetAntiLagState(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1,intindex); - -//DisplaycurrentAnti-LagLevel -voidGetAntiLagLevel(IADLX3DAntiLag1*d3dAntiLag1); - -//SetAnti-LagLevel -voidSetAntiLagLevel(IADLX3DAntiLag1*d3dAntiLag1,ADLX_ANTILAG_STATElevel); - - -//Menu -voidMainMenu(intalnSupport); - -//Menucontrol -voidMenuControl(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetAntiLaginterface -IADLX3DAntiLag*d3dAntiLag=NULL; -IADLX3DAntiLag1*d3dAntiLag1=NULL; -res=d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv,gpu,&d3dAntiLag); -if(ADLX_SUCCEEDED(res)) -{ -//GetAntiLag1interface -ADLX_RESULTresALN=d3dAntiLag->pVtbl->QueryInterface(d3dAntiLag,IID_IADLX3DAntiLag1,(void**)(&d3dAntiLag1)); - -MainMenu(d3dAntiLag1!=NULL?1:0); -MenuControl(d3dAntiLag,d3dAntiLag1); -} - -//Releasethed3dAntiLaginterface -if(d3dAntiLag!=NULL) -{ -d3dAntiLag->pVtbl->Release(d3dAntiLag); -d3dAntiLag=NULL; -} -if(d3dAntiLag1!=NULL) -{ -d3dAntiLag1->pVtbl->Release(d3dAntiLag1); -d3dAntiLag1=NULL; -} -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowAntiLagSupport(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1) -{ -adlx_boolsupported=false; -if(d3dAntiLag1!=NULL) -d3dAntiLag1->pVtbl->IsSupported(d3dAntiLag1,&supported); -else -d3dAntiLag->pVtbl->IsSupported(d3dAntiLag,&supported); -printf("\tIsSupported:%d\n",supported); -} - -voidGetAntiLagState(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1) -{ -adlx_boolenabled=false; -if(d3dAntiLag1!=NULL) -d3dAntiLag1->pVtbl->IsEnabled(d3dAntiLag1,&enabled); -else -d3dAntiLag->pVtbl->IsEnabled(d3dAntiLag,&enabled); -printf("\tIsEnabled:%d\n",enabled); -} - -voidSetAntiLagState(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1,intindex) -{ -ADLX_RESULTres; -if(d3dAntiLag1!=NULL) -res=d3dAntiLag1->pVtbl->SetEnabled(d3dAntiLag1,index==0); -else -res=d3dAntiLag->pVtbl->SetEnabled(d3dAntiLag,index==0); -printf("\tReturncodeis:%d(0meansSuccess)\n",res); -} - -voidGetAntiLagLevel(IADLX3DAntiLag1*d3dAntiLag1) -{ -ADLX_ANTILAG_STATElevel=ANTILAG; -ADLX_RESULTres=d3dAntiLag1->pVtbl->GetLevel(d3dAntiLag1,&level); -if(ADLX_SUCCEEDED(res)) -printf("\tLevel:%s\n",(level==ANTILAG?"Anti-Lag":"Anti-LagNext")); -} - -voidSetAntiLagLevel(IADLX3DAntiLag1*d3dAntiLag1,ADLX_ANTILAG_STATElevel) -{ -ADLX_RESULTres=d3dAntiLag1->pVtbl->SetLevel(d3dAntiLag1,level==ANTILAGNEXT); -printf("\tReturncodeis:%d(0meansSuccess)\n",res); -} - -voidMainMenu(intalnSupport) -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayAnti-Lagsupport\n"); -printf("\t->Press2todisplaycurrentAnti-Lagstate\n"); -printf("\t->Press3toenableAnti-Lag\n"); -printf("\t->Press4todisableAnti-Lag\n"); -if(alnSupport==1) -{ -printf("\t->Press5toGetAnti-LagLevel\n"); -printf("\t->Press6toSetAnti-LagleveltoAnti-Lag\n"); -printf("\t->Press7toSetAnti-LagleveltoAnti-LagNext\n"); -} -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DAntiLag*d3dAntiLag,IADLX3DAntiLag1*d3dAntiLag1) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAnti-Lagsupport -case'1': -ShowAntiLagSupport(d3dAntiLag,d3dAntiLag1); -break; - -//DisplaycurrentAnti-Lagstate -case'2': -GetAntiLagState(d3dAntiLag,d3dAntiLag1); -break; - -//SetAnti-Lagstate -case'3': -case'4': -SetAntiLagState(d3dAntiLag,d3dAntiLag1,num-'3'); -break; -case'5': -GetAntiLagLevel(d3dAntiLag1); -break; -case'6': -SetAntiLagLevel(d3dAntiLag1,ANTILAG); -break; -case'7': -SetAntiLagLevel(d3dAntiLag1,ANTILAGNEXT); -break; -//Displaymenuoptions -case'm': -case'M': -MainMenu(d3dAntiLag1!=NULL?1:0); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__boost.xml b/vendor/adlx/SDKDoc/xml/c__boost.xml deleted file mode 100644 index 86b0f4e..0000000 --- a/vendor/adlx/SDKDoc/xml/c__boost.xml +++ /dev/null @@ -1,247 +0,0 @@ - - - - c_Boost - Boost - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Boost support</td></tr> - <tr><td>2</td><td> Display current Radeon Boost state, current resolution, and resolution range</td></tr> - <tr><td>3</td><td> Enable Radeon Boost and change minimum resolution</td></tr> - <tr><td>4</td><td> Disable Radeon Boost</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/Boost</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayBoostsupport -voidShowBoostSupport(IADLX3DBoost*d3dBoost); - -//DisplaycurrentBooststate -voidGetBoostState(IADLX3DBoost*d3dBoost); - -//SetBooststate -voidSetBoostState(IADLX3DBoost*d3dBoost,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DBoost*d3dBoost); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetBoostinterface -IADLX3DBoost*d3dBoost=NULL; -res=d3dSettingSrv->pVtbl->GetBoost(d3dSettingSrv,gpu,&d3dBoost); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dBoost); -} - -//ReleaseBoostinterface -if(d3dBoost!=NULL) -{ -d3dBoost->pVtbl->Release(d3dBoost); -d3dBoost=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowBoostSupport(IADLX3DBoost*d3dBoost) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dBoost->pVtbl->IsSupported(d3dBoost,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported:%d\n",supported); -} - -voidGetBoostState(IADLX3DBoost*d3dBoost) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dBoost->pVtbl->IsEnabled(d3dBoost,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("\tIsEnabled:%d\n",enabled); -adlx_intminRes; -ADLX_IntRangeresolutionRange; -res=d3dBoost->pVtbl->GetResolution(d3dBoost,&minRes); -if(ADLX_SUCCEEDED(res)) -printf("\tCurrentResolution:%d\n",minRes); -res=d3dBoost->pVtbl->GetResolutionRange(d3dBoost,&resolutionRange); -if(ADLX_SUCCEEDED(res)) -printf("\tResolutionlimit[%d,%d],step:%d\n",resolutionRange.minValue,resolutionRange.maxValue,resolutionRange.step); -} - -voidSetBoostState(IADLX3DBoost*d3dBoost,intindex) -{ -ADLX_RESULTres=d3dBoost->pVtbl->SetEnabled(d3dBoost,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intminRes; -ADLX_IntRangeresolutionRange; -ADLX_RESULTres1=d3dBoost->pVtbl->GetResolution(d3dBoost,&minRes); -ADLX_RESULTres2=d3dBoost->pVtbl->GetResolutionRange(d3dBoost,&resolutionRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -if(minRes!=resolutionRange.minValue) -{ -res=d3dBoost->pVtbl->SetResolution(d3dBoost,resolutionRange.minValue); -printf("\tUseminimumresolutionlimit,returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -res=d3dBoost->pVtbl->SetResolution(d3dBoost,resolutionRange.maxValue); -printf("\tUsemaximumresolutionlimit,returncodeis:%d(0meanssuccess)\n",res); -} -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayBoostsupport\n"); -printf("\t->Press2todisplaycurrentBooststate\n"); -printf("\t->Press3toenableBoost\n"); -printf("\t->Press4todisableBoost\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DBoost*d3dBoost) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayBoostsupport -case'1': -ShowBoostSupport(d3dBoost); -break; - -//DisplaycurrentBooststate -case'2': -GetBoostState(d3dBoost); -break; - -//SetBoost -case'3': -case'4': -SetBoostState(d3dBoost,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__chill.xml b/vendor/adlx/SDKDoc/xml/c__chill.xml deleted file mode 100644 index 0b15915..0000000 --- a/vendor/adlx/SDKDoc/xml/c__chill.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - - c_Chill - Chill - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Chill support</td></tr> - <tr><td>2</td><td> Display current Radeon Chill state, current FPS, and FPS range</td></tr> - <tr><td>3</td><td> Enable Radeon Chill</td></tr> - <tr><td>4</td><td> Disable Radeon Chill</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/Chill</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayChillsupport -voidShowChillSupport(IADLX3DChill*d3dChill); - -//DisplaycurrentChillstate -voidGetChillState(IADLX3DChill*d3dChill); - -//SetChillstate -voidSetChillState(IADLX3DChill*d3dChill,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DChill*d3dChill); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetChillinterface -IADLX3DChill*d3dChill=NULL; -res=d3dSettingSrv->pVtbl->GetChill(d3dSettingSrv,gpu,&d3dChill); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dChill); -} - -//ReleaseChillinterface -if(d3dChill!=NULL) -{ -d3dChill->pVtbl->Release(d3dChill); -d3dChill=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Release3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowChillSupport(IADLX3DChill*d3dChill) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dChill->pVtbl->IsSupported(d3dChill,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported:%d\n",supported); -} - -voidGetChillState(IADLX3DChill*d3dChill) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dChill->pVtbl->IsEnabled(d3dChill,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("\tIsEnabled:%d\n",enabled); -adlx_intminFPS,maxFPS; -ADLX_IntRangefpsRange; -res=d3dChill->pVtbl->GetMinFPS(d3dChill,&minFPS); -if(ADLX_SUCCEEDED(res)) -printf("\tCurrentMinFPS:%d\n",minFPS); -res=d3dChill->pVtbl->GetMaxFPS(d3dChill,&maxFPS); -if(ADLX_SUCCEEDED(res)) -printf("\tCurrentMaxFPS:%d\n",maxFPS); -res=d3dChill->pVtbl->GetFPSRange(d3dChill,&fpsRange); -if(ADLX_SUCCEEDED(res)) -printf("\tFPSSetlimit[%d,%d],step:%d\n",fpsRange.minValue,fpsRange.maxValue,fpsRange.step); -} - -voidSetChillState(IADLX3DChill*d3dChill,intindex) -{ -ADLX_RESULTres=d3dChill->pVtbl->SetEnabled(d3dChill,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intminFPS,maxFPS; -ADLX_IntRangefpsRange; -d3dChill->pVtbl->GetMinFPS(d3dChill,&minFPS); -d3dChill->pVtbl->GetMaxFPS(d3dChill,&maxFPS); -d3dChill->pVtbl->GetFPSRange(d3dChill,&fpsRange); -printf("\t\tEntertwospacedelimitedintegers:[minFPS,maxFPS]\n"); - -intcoeffs[2]={fpsRange.minValue,fpsRange.maxValue}; - -for(inti=0;i<2;i++) -{ -scanf_s("%d",&coeffs[i]); -} - -res=d3dChill->pVtbl->SetMinFPS(d3dChill,coeffs[0]); -printf("\tSetminimumFPSreturncodeis:%d(0meanssuccess)\n",res); -res=d3dChill->pVtbl->SetMaxFPS(d3dChill,coeffs[1]); -printf("\tSetmaximumFPSreturncodeis:%d(0meanssuccess)\n",res); -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayChillsupport\n"); -printf("\t->Press2todisplaycurrentChillstate\n"); -printf("\t->Press3toenableChill\n"); -printf("\t->Press4todisableChill\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DChill*d3dChill) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayChillsupport -case'1': -ShowChillSupport(d3dChill); -break; - -//DisplaycurrentChillstate -case'2': -GetChillState(d3dChill); -break; - -//SetChillstate -case'3': -case'4': -SetChillState(d3dChill,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__enhanced_sync.xml b/vendor/adlx/SDKDoc/xml/c__enhanced_sync.xml deleted file mode 100644 index 2079c40..0000000 --- a/vendor/adlx/SDKDoc/xml/c__enhanced_sync.xml +++ /dev/null @@ -1,219 +0,0 @@ - - - - c_EnhancedSync - EnhancedSync - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Enhanced Sync support</td></tr> - <tr><td>2</td><td> Get and display current Radeon Enhanced Sync state</td></tr> - <tr><td>3</td><td> Enable Radeon Enhanced Sync</td></tr> - <tr><td>4</td><td> Disable Radeon Enhanced Sync</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/EnhancedSync</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayEnhancedSyncsupport -voidShowEnhancedSyncSupport(IADLX3DEnhancedSync*d3dEnhancedSync); - -//GetcurrentEnhancedSyncstate -voidGetEnhancedSyncState(IADLX3DEnhancedSync*d3dEnhancedSync); - -//SetEnhancedSyncstate -voidSetEnhancedSyncState(IADLX3DEnhancedSync*d3dEnhancedSync,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DEnhancedSync*d3dEnhancedSync); - -//Waitforexitwitherrormessage -intWaitAndExit(char*msg,intretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetEnhancedSyncinterface -IADLX3DEnhancedSync*d3dEnhancedSync; -res=d3dSettingSrv->pVtbl->GetEnhancedSync(d3dSettingSrv,gpu,&d3dEnhancedSync); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dEnhancedSync); -} - -//ReleasetheEnhancedSyncinterface -if(d3dEnhancedSync!=NULL) -{ -d3dEnhancedSync->pVtbl->Release(d3dEnhancedSync); -d3dEnhancedSync=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowEnhancedSyncSupport(IADLX3DEnhancedSync*d3dEnhancedSync) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dEnhancedSync->pVtbl->IsSupported(d3dEnhancedSync,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetEnhancedSyncState(IADLX3DEnhancedSync*d3dEnhancedSync) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dEnhancedSync->pVtbl->IsEnabled(d3dEnhancedSync,&enabled); -printf("\tIsEnabled:%d,returncodeis:%d(0meanssuccess)\n",enabled,res); -} - -voidSetEnhancedSyncState(IADLX3DEnhancedSync*d3dEnhancedSync,intindex) -{ -ADLX_RESULTres=d3dEnhancedSync->pVtbl->SetEnabled(d3dEnhancedSync,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayEnhancedSyncsupport\n"); -printf("\t->Press2togetEnhancedSyncstate\n"); -printf("\t->Press3toenableEnhancedSync\n"); -printf("\t->Press4todisableEnhancedSync\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DEnhancedSync*d3dEnhancedSync) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayEnhancedSyncsupport -case'1': -ShowEnhancedSyncSupport(d3dEnhancedSync); -break; - -//GetanddisplaycurrentEnhancedSyncstate -case'2': -GetEnhancedSyncState(d3dEnhancedSync); -break; - -//SetEnhancedSyncstate -case'3': -case'4': -SetEnhancedSyncState(d3dEnhancedSync,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__f_r_t_c.xml b/vendor/adlx/SDKDoc/xml/c__f_r_t_c.xml deleted file mode 100644 index 4d9e008..0000000 --- a/vendor/adlx/SDKDoc/xml/c__f_r_t_c.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - c_FRTC - FRTC - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD FRTC support</td></tr> - <tr><td>2</td><td> Get and display current AMD FRTC state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure AMD FRTC</td></tr> - <tr><td>4</td><td> Disable AMD FRTC</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/FRTC</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayFRTCsupport -voidShowFRTCSupport(IADLX3DFrameRateTargetControl*frtc); - -//GetanddisplaycurrentFRTCstate -voidGetFRTCState(IADLX3DFrameRateTargetControl*frtc); - -//SetFRTCstate -voidSetFRTCState(IADLX3DFrameRateTargetControl*frtc,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DFrameRateTargetControl*frtc); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetFRTCinterface -IADLX3DFrameRateTargetControl*frtc=NULL; -res=d3dSettingSrv->pVtbl->GetFrameRateTargetControl(d3dSettingSrv,gpu,&frtc); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(frtc); -} - -//ReleasetheFRTCinterface -if(frtc!=NULL) -{ -frtc->pVtbl->Release(frtc); -frtc=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowFRTCSupport(IADLX3DFrameRateTargetControl*frtc) -{ -adlx_boolsupported=false; -ADLX_RESULTres=frtc->pVtbl->IsSupported(frtc,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetFRTCState(IADLX3DFrameRateTargetControl*frtc) -{ -adlx_boolenabled=false; -ADLX_RESULTres=frtc->pVtbl->IsEnabled(frtc,&enabled); -printf("\tIsEnabled:%d,returncodeis:%d(0meanssuccess)\n",enabled,res); -adlx_intfps; -ADLX_IntRangerange={0}; -res=frtc->pVtbl->GetFPS(frtc,&fps); -printf("\tCurrentFPS:%d,returncodeis:%d(0meanssuccess)\n",fps,res); -res=frtc->pVtbl->GetFPSRange(frtc,&range); -printf("\tFPSlimit[%d,%d],step:%d,returncodeis:%d(0meanssuccess)\n",range.minValue,range.maxValue,range.step,res); -} - -voidSetFRTCState(IADLX3DFrameRateTargetControl*frtc,intindex) -{ -ADLX_RESULTres=frtc->pVtbl->SetEnabled(frtc,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intfps; -ADLX_IntRangerange={0}; -frtc->pVtbl->GetFPS(frtc,&fps); -frtc->pVtbl->GetFPSRange(frtc,&range); -if(fps!=range.minValue) -{ -res=frtc->pVtbl->SetFPS(frtc,range.minValue); -printf("\tUseminimumFPSlimit:returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -res=frtc->pVtbl->SetFPS(frtc,range.maxValue); -printf("\tUsemaximumFPSlimit:returncodeis:%d(0meanssuccess)\n",res); -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayFRTCsupport\n"); -printf("\t->Press2togetanddisplaycurrentFRTCstate\n"); -printf("\t->Press3toenableandconfigureFRTC\n"); -printf("\t->Press4todisableFRTC\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DFrameRateTargetControl*frtc) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayFRTCsupport -case'1': -ShowFRTCSupport(frtc); -break; - -//GetanddisplaycurrentFRTCstate -case'2': -GetFRTCState(frtc); -break; - -//SetFRTCstate -case'3': -case'4': -SetFRTCState(frtc,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__g_p_u_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/c__g_p_u_auto_tuning.xml deleted file mode 100644 index 53c984e..0000000 --- a/vendor/adlx/SDKDoc/xml/c__g_p_u_auto_tuning.xml +++ /dev/null @@ -1,563 +0,0 @@ - - - - c_GPUAutoTuning - GPUAutoTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> This document describes how to control GPU Auto Tuning.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Check GPU Tuning is at factory status.</td></tr> - <tr><td>2</td><td> Restore the given GPU Tuning to factory status.</td></tr> - <tr><td>3</td><td> Show GPU auto tuning support.</td></tr> - <tr><td>4</td><td> Show current GPU status.</td></tr> - <tr><td>5</td><td> Start Undervolt GPU tuning.</td></tr> - <tr><td>6</td><td> Start Overclock GPU tuning.</td></tr> - <tr><td>7</td><td> Start Overclock VRAM tuning</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/GPUAutoTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUAutoTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//ADLXEventListener -staticHANDLEg_ADLXEvent=NULL; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode,IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//CheckGPUTuningisatfactorystatus -voidCheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//RestorethegivenGPUTuningtofactorystatus. -voidRestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//ShowGPUautotuningsupport -voidShowGPUAutoTuningSupport(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//ShowcurrentGPUstatus -voidShowCurrentGPUStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus); - -//DerivefromIADLXGPUAutoTuningCompleteListener -adlx_boolADLX_STD_CALLonGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener*pGPUAutoTuningCompleteListener, -IADLXGPUAutoTuningCompleteEvent*pGPUAutoTuningCompleteEvents); -//StartGPUautotuning -voidStartGPUAutoTuning(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus,intnum); - -staticIADLXGPUAutoTuningCompleteListenerVtblvtable={&onGPUAutoTuningCompleteEvents}; -staticIADLXGPUAutoTuningCompleteListenercompleteListener={&vtable}; - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//Createevent -g_ADLXEvent=CreateEvent(NULL,TRUE,FALSE,TEXT("ADLXEvent")); - -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUList*gpus=NULL; - -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUtuningservicesfailed",0,gpuTuningService,gpus); - -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUlistfailed",0,gpuTuningService,gpus); - -//Showamenuwithoptionstochosefrom -MainMenu(); - -//Getthechoiceandinterpetit -MenuControl(gpuTuningService,gpus); - -//Free -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -{ -printf("\tg_ADLXHelpinitializefailed\n"); -system("pause"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(g_ADLXEvent) -CloseHandle(g_ADLXEvent); - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - -//mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1tocheckGPUTuningisatfactorystatus\n"); -printf("\t->Press2torestorethegivenGPUTuningtofactorystatus\n"); -printf("\t->Press3toshowGPUautotuningsupport\n"); -printf("\t->Press4toshowcurrentGPUstatus\n"); -printf("\t->Press5tostartUndervoltGPUtuning\n"); -printf("\t->Press6tostartOverclockGPUtuning\n"); -printf("\t->Press7tostartOverclockVRAMtuning\n"); - -printf("\t->PressQ/qtoquit\n"); -printf("\t->PressM/mtoshowtheoptionsagain\n"); -} - -//menuactioncontrol -voidMenuControl(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//CheckGPUTuningisatfactorystatus -case'1': -CheckGPUTuningIsAtFactoryStatus(gpuTuningService,gpus); -break; - -//RestorethegivenGPUTuningtofactorystatus. -case'2': -RestoreGPUTuningToFactoryStatus(gpuTuningService,gpus); -break; - -//ShowGPUautotuningsupport -case'3': -ShowGPUAutoTuningSupport(gpuTuningService,gpus); -break; - -//ShowcurrentGPUstatus -case'4': -ShowCurrentGPUStatus(gpuTuningService,gpus); -break; - -//StartUndervoltGPUtuning -case'5': -//StartOverclockGPUtuning -case'6': -//StartOverclockVRAMtuning -case'7': -StartGPUAutoTuning(gpuTuningService,gpus,num-5); -break; - -//Showoptionsagain -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode,IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -//Printoutthemessageandpauseforusertoseeitthenreturnthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} - -//DestroyADLX -ADLX_RESULTres=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -system("pause"); -returnretCode; -} - -//CheckGPUTuningisatfactorystatus -voidCheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -IADLXGPU*oneGPU=NULL; -for(adlx_uintcrt=gpus->pVtbl->Begin(gpus);crt!=gpus->pVtbl->End(gpus);++crt) -{ -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,crt,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolisFactory=false; -res=gpuTuningService->pVtbl->IsAtFactory(gpuTuningService,oneGPU,&isFactory); -if(ADLX_SUCCEEDED(res)) -{ -printf("\tThe%dthGPUisatfactorystatus:%d\n",crt,isFactory); -} -else -{ -printf("\tCheckthe%dthGPUTuningisatfactorystatusfailed\n",crt); -} -} -else -{ -printf("\tGet%dthGPUfailed\n",crt); -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - -//RestorethegivenGPUTuningtofactorystatus. -voidRestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -IADLXGPU*oneGPU=NULL; -for(adlx_uintcrt=gpus->pVtbl->Begin(gpus);crt!=gpus->pVtbl->End(gpus);++crt) -{ -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,crt,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolisFactory=false; -res=gpuTuningService->pVtbl->ResetToFactory(gpuTuningService,oneGPU); -if(ADLX_FAILED(res)) -printf("\tResetthe%dthGPUTuningtofactorystatusfailed\n",crt); -else -printf("\tResetthe%dthGPUTuningtofactorystatussuccessfully\n",crt); -} -else -{ -printf("\tGet%dthGPUfailed\n",crt); -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - -//ShowGPUautotuningsupport -voidShowGPUAutoTuningSupport(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -IADLXGPU*oneGPU=NULL; -IADLXInterface*autoTuningIfc=NULL; -IADLXGPUAutoTuning*autoTuning=NULL; -for(adlx_uintcrt=gpus->pVtbl->Begin(gpus);crt!=gpus->pVtbl->End(gpus);++crt) -{ -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,crt,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -printf("\tThe%dthGPUdoesn'tsupportedautotuning\n",crt); -} -else -{ -res=gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService,oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==NULL) -{ -printf("\tGetautotuningof%dthGPUfailed\n",crt); -} -else -{ -res=autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc,IID_IADLXGPUAutoTuning(),(void**)(&autoTuning)); -if(ADLX_SUCCEEDED(res)&&autoTuning) -{ -supported=false; -res=autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning,&supported); -printf("\tIsthe%dthGPUsupportedundervolt:%d\n",crt,supported); -supported=false; -res=autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning,&supported); -printf("\tIsthe%dthGPUsupportedoverclock:%d\n",crt,supported); -supported=false; -res=autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning,&supported); -printf("\tIsthe%dthGPUsupportedoverclockVRAM:%d\n",crt,supported); -} - -if(autoTuning!=NULL) -{ -autoTuning->pVtbl->Release(autoTuning); -autoTuning=NULL; -} -} - -if(autoTuningIfc!=NULL) -{ -autoTuningIfc->pVtbl->Release(autoTuningIfc); -autoTuningIfc=NULL; -} -} -} -else -{ -printf("\tGet%dthGPUfailed\n",crt); -} - -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - -//ShowcurrentGPUstatus -voidShowCurrentGPUStatus(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus) -{ -IADLXGPU*oneGPU; -IADLXInterface*autoTuningIfc=NULL; -IADLXGPUAutoTuning*autoTuning=NULL; -for(adlx_uintcrt=gpus->pVtbl->Begin(gpus);crt!=gpus->pVtbl->End(gpus);++crt) -{ -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,crt,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -printf("\tThe%dthGPUdoesn'tsupportedautotuning\n",crt); -} -else -{ -res=gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService,oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==NULL) -{ -printf("\tGetautotuningof%dthGPUfailed\n",crt); -} -else -{ -res=autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc,IID_IADLXGPUAutoTuning(),(void**)(&autoTuning)); -adlx_boolapplied=false; -if(ADLX_SUCCEEDED(res)&&autoTuning) -{ -applied=false; -res=autoTuning->pVtbl->IsCurrentUndervoltGPU(autoTuning,&applied); -printf("\tIsthe%dthGPUundervoltapplied:%d\n",crt,applied); -applied=false; -res=autoTuning->pVtbl->IsCurrentOverclockGPU(autoTuning,&applied); -printf("\tIsthe%dthGPUoverclockapplied:%d\n",crt,applied); -applied=false; -res=autoTuning->pVtbl->IsCurrentOverclockVRAM(autoTuning,&applied); -printf("\tIsthe%dthGPUoverclockVRAMapplied:%d\n",crt,applied); -} - -if(autoTuning!=NULL) -{ -autoTuning->pVtbl->Release(autoTuning); -autoTuning=NULL; -} -} - -if(autoTuningIfc!=NULL) -{ -autoTuningIfc->pVtbl->Release(autoTuningIfc); -autoTuningIfc=NULL; -} -} -} -else -{ -printf("\tGet%dthGPUfailed\n",crt); -} - -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - -adlx_boolADLX_STD_CALLonGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener*pGPUAutoTuningCompleteListener, -IADLXGPUAutoTuningCompleteEvent*pGPUAutoTuningCompleteEvent) -{ -adlx_boolchange=false; -change=pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockGPUCompleted(pGPUAutoTuningCompleteEvent); -printf("\tIsoverclockGPUCompleted:%d\n",change); -change=pGPUAutoTuningCompleteEvent->pVtbl->IsUndervoltGPUCompleted(pGPUAutoTuningCompleteEvent); -printf("\tIsundervoltGPUCompleted:%d\n",change); -change=pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockVRAMCompleted(pGPUAutoTuningCompleteEvent); -printf("\tIsoverclockVRAMCompleted:%d\n",change); -SetEvent(g_ADLXEvent); -returntrue; -}; - -voidStartGPUAutoTuning(IADLXGPUTuningServices*gpuTuningService,IADLXGPUList*gpus,intnum) -{ -IADLXGPU*oneGPU=NULL; -//SetthefirstGPUautotuning -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,0,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -printf("\tTheGPUdoesn'tsupportedautotuning\n"); -} -else -{ -IADLXInterface*autoTuningIfc=NULL; -res=gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService,oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==NULL) -{ -printf("\tGetautotuningofGPUfailed\n"); -} -else -{ -IADLXGPUAutoTuning*autoTuning=NULL; -res=autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc,IID_IADLXGPUAutoTuning(),(void**)(&autoTuning)); -if(ADLX_SUCCEEDED(res)&&autoTuning) -{ -switch(num) -{ -case'0': - -res=autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning,&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -res=autoTuning->pVtbl->StartUndervoltGPU(autoTuning,&completeListener); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -printf("\tStartundervoltGPUsuccessfully\n"); -else -printf("\tStartundervoltGPUfailed\n"); -} -else -{ -printf("\tUndervoltGPUisnotsupported\n"); -} -break; -case'1': -res=autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning,&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -res=autoTuning->pVtbl->StartOverclockGPU(autoTuning,&completeListener); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -printf("\tStartoverclockGPUsuccessfully\n"); -else -printf("\tStartoverclockGPUfailed\n"); -} -else -{ -printf("\tOverclockGPUisnotsupported\n"); -} -break; -case'2': -res=autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning,&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -res=autoTuning->pVtbl->StartOverclockVRAM(autoTuning,&completeListener); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -printf("\tStartoverclockVRAMsuccessfully\n"); -else -printf("\tStartoverclockVRAMfailed\n"); -} -else -{ -printf("\tOverclockVRAMisnotsupported\n"); -} -break; -default: -break; -} -} - -if(autoTuning!=NULL) -{ -autoTuning->pVtbl->Release(autoTuning); -autoTuning=NULL; -} -} - -if(autoTuningIfc!=NULL) -{ -autoTuningIfc->pVtbl->Release(autoTuningIfc); -autoTuningIfc=NULL; -} -} -} -else -{ -printf("\tGetGPUfailed\n"); -} - -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__g_p_u_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/c__g_p_u_preset_tuning.xml deleted file mode 100644 index aea0958..0000000 --- a/vendor/adlx/SDKDoc/xml/c__g_p_u_preset_tuning.xml +++ /dev/null @@ -1,324 +0,0 @@ - - - - c_GPUPresetTuning - GPUPresetTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU preset tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get GPU tuning support states.</td></tr> - <tr><td>2</td><td> Get current GPU tuning states.</td></tr> - <tr><td>3</td><td> Set GPU states.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/GPUPresetTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUPresetTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUPresetTuning*gpuPresetTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*gpuPresetTuningIfc, -IADLXGPUPresetTuning*gpuPresetTuning); - -//DisplayGPUtuningsupportstates -voidShowIsSupported(IADLXGPUPresetTuning*gpuPresetTuning); - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXGPUPresetTuning*gpuPresetTuning); - -//SetGPUstates -voidSetGPUStates(IADLXGPUPresetTuning*gpuPresetTuning); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUList*gpus=NULL; -IADLXGPU*oneGPU=NULL; -IADLXInterface*gpuPresetTuningIfc=NULL; -IADLXGPUPresetTuning*gpuPresetTuning=NULL; - -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUtuningservicesfailed",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); - -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUlistfailed",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); - -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==NULL) -returnWaitAndExit("\tGetGPUfailed",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); - -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedPresetTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -returnWaitAndExit("\tGPUpresettuningisnotsupportedbythisGPU",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); - -res=gpuTuningService->pVtbl->GetPresetTuning(gpuTuningService,oneGPU,&gpuPresetTuningIfc); -if(ADLX_FAILED(res)||gpuPresetTuningIfc==NULL) -returnWaitAndExit("\tGetGPUpresettuninginterfacefailed",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); - -gpuPresetTuningIfc->pVtbl->QueryInterface(gpuPresetTuningIfc,IID_IADLXGPUPresetTuning(),(void**)&gpuPresetTuning); -if(gpuPresetTuning==NULL) -returnWaitAndExit("\tGetGPUpresettuningfailed",0,gpuTuningService,gpus,oneGPU, -gpuPresetTuningIfc,gpuPresetTuning); -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(gpuPresetTuning); - -//ReleasethegpuPresetTuninginterface -if(gpuPresetTuning!=NULL) -{ -gpuPresetTuning->pVtbl->Release(gpuPresetTuning); -gpuPresetTuning=NULL; -} -if(gpuPresetTuningIfc!=NULL) -{ -gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc); -gpuPresetTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -{ -printf("\tg_ADLXHelpinitializefailed\n"); -system("pause"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayGPUtuningsupportstates\n"); -printf("\t->Press2todisplaycurrentGPUtuningstates\n"); -printf("\t->Press3tosetGPUstates\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLXGPUPresetTuning*gpuPresetTuning) -{ -charnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayGPUtuningsupportstates -case'1': -ShowIsSupported(gpuPresetTuning); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates(gpuPresetTuning); -break; - -//SetGPUstates -case'3': -SetGPUStates(gpuPresetTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*gpuPresetTuningIfc, -IADLXGPUPresetTuning*gpuPresetTuning) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -if(gpuPresetTuning!=NULL) -{ -gpuPresetTuning->pVtbl->Release(gpuPresetTuning); -gpuPresetTuning=NULL; -} -if(gpuPresetTuningIfc!=NULL) -{ -gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc); -gpuPresetTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -//DestroyADLX -ADLX_RESULTres=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -system("pause"); -returnretCode; -} - -//DisplayGPUtuningsupportstates -voidShowIsSupported(IADLXGPUPresetTuning*gpuPresetTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=gpuPresetTuning->pVtbl->IsSupportedPowerSaver(gpuPresetTuning,&supported); -printf("\tIsPowerSavesupportedbytheGPU:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -supported=false; -res=gpuPresetTuning->pVtbl->IsSupportedQuiet(gpuPresetTuning,&supported); -printf("\tIsQuietsupportedbytheGPU:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -supported=false; -res=gpuPresetTuning->pVtbl->IsSupportedBalanced(gpuPresetTuning,&supported); -printf("\tIsBalancedsupportedbytheGPU:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -supported=false; -res=gpuPresetTuning->pVtbl->IsSupportedTurbo(gpuPresetTuning,&supported); -printf("\tIsTurbosupportedbytheGPU:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -supported=false; -res=gpuPresetTuning->pVtbl->IsSupportedRage(gpuPresetTuning,&supported); -printf("\tIsRagesupportedbytheGPU:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXGPUPresetTuning*gpuPresetTuning) -{ -adlx_boolapplied=false; -ADLX_RESULTres=gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning,&applied); -printf("\tIsPowerSaverapplied:%d,returncodeis:%d(0meanssuccess)\n",applied,res); -applied=false; -res=gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning,&applied); -printf("\tIsQuietapplied:%d,returncodeis:%d(0meanssuccess)\n",applied,res); -applied=false; -res=gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning,&applied); -printf("\tIsBalancedapplied:%d,returncodeis:%d(0meanssuccess)\n",applied,res); -applied=false; -res=gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning,&applied); -printf("\tIsTurboapplied:%d,returncodeis:%d(0meanssuccess)\n",applied,res); -applied=false; -res=gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning,&applied); -printf("\tIsRageapplied:%d,returncodeis:%d(0meanssuccess)\n",applied,res); -} - -//SetGPUstates -voidSetGPUStates(IADLXGPUPresetTuning*gpuPresetTuning) -{ -adlx_boolapplied=false; -ADLX_RESULTres=gpuPresetTuning->pVtbl->SetPowerSaver(gpuPresetTuning); -res=gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning,&applied); -printf("\tSetPowerSaverpresettuning%s,returncodeis:%d(0meanssuccess)\n",(applied?"Successful":"failed"),res); -applied=false; -res=gpuPresetTuning->pVtbl->SetQuiet(gpuPresetTuning); -res=gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning,&applied); -printf("\tSetQuietpresettuning%s,returncodeis:%d(0meanssuccess)\n",(applied?"Successful":"failed"),res); -applied=false; -res=gpuPresetTuning->pVtbl->SetBalanced(gpuPresetTuning); -res=gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning,&applied); -printf("\tSetBalancedpresettuning%s,returncodeis:%d(0meanssuccess)\n",(applied?"Successful":"failed"),res); -applied=false; -res=gpuPresetTuning->pVtbl->SetTurbo(gpuPresetTuning); -res=gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning,&applied); -printf("\tSetTurbopresettuning%s,returncodeis:%d(0meanssuccess)\n",(applied?"Successful":"failed"),res); -applied=false; -res=gpuPresetTuning->pVtbl->SetRage(gpuPresetTuning); -res=gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning,&applied); -printf("\tSetRagepresettuning%s,returncodeis:%d(0meanssuccess)\n",(applied?"Successful":"failed"),res); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__i2_c.xml b/vendor/adlx/SDKDoc/xml/c__i2_c.xml deleted file mode 100644 index b59eba0..0000000 --- a/vendor/adlx/SDKDoc/xml/c__i2_c.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - c_I2C - I2C - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to read and write data with I2C when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display version.</td></tr> - <tr><td>2</td><td> Read.</td></tr> - <tr><td>3</td><td> Repeated read.</td></tr> - <tr><td>4</td><td> Write.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/I2C/I2C</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/II2C.h" -#defineDATA_SIZE2 - -//Displayversion -voidShowVersion(IADLXI2C*i2c); - -//Read -voidRead(IADLXI2C*i2c); - -//Repeatedread -voidRepeatedRead(IADLXI2C*i2c); - -//Write -voidWrite(IADLXI2C*i2c); - -//Capability -voidCapability(IADLXI2C*i2c); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLXI2C*i2c); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUlist -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetI2Cinterface -IADLXI2C*i2c=NULL; -res=sys->pVtbl->GetI2C(sys,gpu,&i2c); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(i2c); -} - -//ReleasetheI2Cinterface -if(i2c!=NULL) -{ -i2c->pVtbl->Release(i2c); -i2c=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} - -//ReleasetheGPUlistinterface -if(NULL!=gpus) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowVersion(IADLXI2C*i2c) -{ -adlx_intmajor; -adlx_intminor; -ADLX_RESULTres=i2c->pVtbl->Version(i2c,&major,&minor); -printf("\tI2Cversion,major:%d,minor:%d\n",major,minor); -printf("\tresis:%d\n",res); -} - -voidRead(IADLXI2C*i2c) -{ -//Specifichardwarerequirements -adlx_bytedata[DATA_SIZE]={0}; -ADLX_RESULTres=i2c->pVtbl->Read(i2c,I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -printf("\tI2Creadinfo:\n\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30"); -printf("\n\t\tdataSize:%d\n\t\tdata:%d\n\tresis:%d\n",DATA_SIZE,(int)data[0],res); -} - -voidRepeatedRead(IADLXI2C*i2c) -{ -//Specifichardwarerequirements -adlx_bytedata[DATA_SIZE]={0}; -ADLX_RESULTres=i2c->pVtbl->RepeatedStartRead(i2c,I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -printf("\tI2Creadinfo:\n\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30"); -printf("\n\t\tdataSize:%d\n\t\tdata:%d\n\tresis:%d\n",DATA_SIZE,(int)data[0],res); -} - -voidWrite(IADLXI2C*i2c) -{ -//Specifichardwarerequirements -adlx_bytedata[DATA_SIZE]={0}; -data[0]=176; -ADLX_RESULTres=i2c->pVtbl->Write(i2c,I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -printf("\tI2Cwriteinfo:\n\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30"); -printf("\n\t\tdataSize:%d\n\t\tdata:%d\n\tresis:%d\n",DATA_SIZE,(int)data[0],res); -} - -voidCapability(IADLXI2C*i2c) -{ -adlx_boolisSupported=false; -ADLX_RESULTres=i2c->pVtbl->IsSupported(i2c,I2C_LINE_OEM2,0x93,&isSupported); -printf("\tI2Csupportinfo:\n\t\tline:I2C_LINE_OEM2\n\t\taddress:0x93\n\t\tisSupported:%d\n",isSupported); -printf("\tresis:%d\n",res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayversion\n"); -printf("\t->Press2toread\n"); -printf("\t->Press3torepeatedread\n"); -printf("\t->Press4towrite\n"); -printf("\t->Press5todisplaycapability\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLXI2C*i2c) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayversion -case'1': -ShowVersion(i2c); -break; - -//Read -case'2': -Read(i2c); -break; - -//Repeatedread -case'3': -RepeatedRead(i2c); -break; - -//Write -case'4': -Write(i2c); -break; - -//Capability -case'5': -Capability(i2c); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__image_sharpening.xml b/vendor/adlx/SDKDoc/xml/c__image_sharpening.xml deleted file mode 100644 index 7d92887..0000000 --- a/vendor/adlx/SDKDoc/xml/c__image_sharpening.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - c_ImageSharpening - ImageSharpening - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Image Sharpening support</td></tr> - <tr><td>2</td><td> Get current Radeon Image Sharpening state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure Radeon Image Sharpening</td></tr> - <tr><td>4</td><td> Disable Radeon Image Sharpening</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/ImageSharpening</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayImageSharpeningsupport -voidShowImageSharpenSupport(IADLX3DImageSharpening*d3dImageSharpen); - -//GetcurrentImageSharpeningstateandadditionalinformation -voidGetImageSharpenState(IADLX3DImageSharpening*d3dImageSharpen); - -//SetImageSharpeningstate -voidSetImageSharpenState(IADLX3DImageSharpening*d3dImageSharpen,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DImageSharpening*d3dImageSharpen); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetImageSharpeninginterface -IADLX3DImageSharpening*d3dImageSharpen=NULL; -res=d3dSettingSrv->pVtbl->GetImageSharpening(d3dSettingSrv,gpu,&d3dImageSharpen); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dImageSharpen); -} - -//ReleasetheImageSharpeninginterface -if(d3dImageSharpen!=NULL) -{ -d3dImageSharpen->pVtbl->Release(d3dImageSharpen); -d3dImageSharpen=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowImageSharpenSupport(IADLX3DImageSharpening*d3dImageSharpen) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dImageSharpen->pVtbl->IsSupported(d3dImageSharpen,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetImageSharpenState(IADLX3DImageSharpening*d3dImageSharpen) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dImageSharpen->pVtbl->IsEnabled(d3dImageSharpen,&enabled); -printf("\tIsEnabled:%d,returncodeis:%d(0meanssuccess)\n",enabled,res); -adlx_intmin; -ADLX_IntRangerange={0}; -res=d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen,&min); -printf("\tCurrentSharpness:%d,returncodeis:%d(0meanssuccess)\n",min,res); -res=d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen,&range); -printf("\tSharpnesslimit[%d,%d],step:%d,returncodeis:%d(0meanssuccess)\n",range.minValue,range.maxValue,range.step,res); -} - -voidSetImageSharpenState(IADLX3DImageSharpening*d3dImageSharpen,intindex) -{ -ADLX_RESULTres=d3dImageSharpen->pVtbl->SetEnabled(d3dImageSharpen,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intmin; -ADLX_IntRangerange={0}; -d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen,&min); -d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen,&range); -if(min!=range.minValue) -{ -res=d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen,range.minValue); -printf("\tUseMinimumSharpnesslimit:returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -res=d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen,range.maxValue); -printf("\tUseMaximumSharpnesslimit:returncodeis:%d(0meanssuccess)\n",res); -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayImageSharpeningsupport\n"); -printf("\t->Press2togetcurrentImageSharpeningstateandadditionalinformation\n"); -printf("\t->Press3toenableandconfigureImageSharpening\n"); -printf("\t->Press4todisableImageSharpening\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DImageSharpening*d3dImageSharpen) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayImageSharpeningsupport -case'1': -ShowImageSharpenSupport(d3dImageSharpen); -break; - -//GetcurrentImageSharpeningstateandadditionalinformation -case'2': -GetImageSharpenState(d3dImageSharpen); -break; - -//SetImageSharpeningstate -case'3': -case'4': -SetImageSharpenState(d3dImageSharpen,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/c__manual_fan_tuning.xml deleted file mode 100644 index 7185cbd..0000000 --- a/vendor/adlx/SDKDoc/xml/c__manual_fan_tuning.xml +++ /dev/null @@ -1,456 +0,0 @@ - - - - c_ManualFanTuning - ManualFanTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual fan tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get and set fan setting.</td></tr> - <tr><td>2</td><td> Get and set ZeroRPM setting.</td></tr> - <tr><td>3</td><td> Get and set MinAcoustic setting.</td></tr> - <tr><td>4</td><td> Get and set MinFanSpeed setting.</td></tr> - <tr><td>5</td><td> Get and set TargetFanSpeed setting.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/ManualFanTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUManualFanTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXManualFanTuning*manualFanTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualFanTuningIfc, -IADLXManualFanTuning*manualFanTuning); - -//Displayandsetfansettings -voidShowGetAndSetFan(IADLXManualFanTuning*manualFanTuning); - -//DisplayandsetZeroRPMsettings -voidShowGetAndSetZeroRPM(IADLXManualFanTuning*manualFanTuning); - -//DisplayandsetMinAcousticsettings -voidShowGetAndSetMinAcoustic(IADLXManualFanTuning*manualFanTuning); - -//DisplayandsetMinFanSpeedsettings -voidShowGetAndSetMinFanSpeed(IADLXManualFanTuning*manualFanTuning); - -//DisplayandsetTargetFanSpeedsettings -voidShowGetAndSetTargetFanSpeed(IADLXManualFanTuning*manualFanTuning); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUList*gpus=NULL; -IADLXGPU*oneGPU=NULL; -IADLXInterface*manualFanTuningIfc=NULL; -IADLXManualFanTuning*manualFanTuning=NULL; - -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUtuningservicesfailed",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUlistfailed",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -res=gpus->pVtbl->At_GPUList(gpus,0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==NULL) -returnWaitAndExit("\tGetGPUfailed",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedManualFanTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -returnWaitAndExit("\tThisGPUdoesnotsupportmanualfantuning",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -res=gpuTuningService->pVtbl->GetManualFanTuning(gpuTuningService,oneGPU,&manualFanTuningIfc); -if(ADLX_FAILED(res)||manualFanTuningIfc==NULL) -returnWaitAndExit("\tGetmanualfantuninginterfacefailed",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -manualFanTuningIfc->pVtbl->QueryInterface(manualFanTuningIfc,IID_IADLXManualFanTuning(),(void**)&manualFanTuning); -if(manualFanTuning==NULL) -returnWaitAndExit("\tGetmanualfantuningfailed",0,gpuTuningService,gpus,oneGPU,manualFanTuningIfc,manualFanTuning); - -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(manualFanTuning); - -//ReleasethemanualFanTuninginterface -if(manualFanTuning!=NULL) -{ -manualFanTuning->pVtbl->Release(manualFanTuning); -manualFanTuning=NULL; -} -if(manualFanTuningIfc!=NULL) -{ -manualFanTuningIfc->pVtbl->Release(manualFanTuningIfc); -manualFanTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -{ -printf("\tg_ADLXHelpinitializefailed\n"); -system("pause"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayandsetfansetting\n"); -printf("\t->Press2todisplayandsetZeroRPMsetting\n"); -printf("\t->Press3todisplayandsetMinAcousticsetting\n"); -printf("\t->Press4todisplayandsetMinFanSpeedsetting\n"); -printf("\t->Press5todisplayandsetTargetFanSpeedsetting\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXManualFanTuning*manualFanTuning) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayandsetfansettings -case'1': -ShowGetAndSetFan(manualFanTuning); -break; - -//DisplayandsetZeroRPMsettings -case'2': -ShowGetAndSetZeroRPM(manualFanTuning); -break; - -//DisplayandsetMinAcousticsettings -case'3': -ShowGetAndSetMinAcoustic(manualFanTuning); -break; - -//DisplayandsetMinFanSpeedsettings -case'4': -ShowGetAndSetMinFanSpeed(manualFanTuning); -break; - -//DisplayandsetTargetFanSpeedsettings -case'5': -ShowGetAndSetTargetFanSpeed(manualFanTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualFanTuningIfc, -IADLXManualFanTuning*manualFanTuning) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -//ReleasethemanualFanTuninginterface -if(manualFanTuning!=NULL) -{ -manualFanTuning->pVtbl->Release(manualFanTuning); -manualFanTuning=NULL; -} -if(manualFanTuningIfc!=NULL) -{ -manualFanTuningIfc->pVtbl->Release(manualFanTuningIfc); -manualFanTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -//DestroyADLX -ADLX_RESULTres=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -system("pause"); -returnretCode; -} - -//Displayandsetfansettings -voidShowGetAndSetFan(IADLXManualFanTuning*manualFanTuning) -{ -//Displaymanualfantuningranges(speed,temperature) -ADLX_IntRangefanSpeedRange,fanTemperatureRange; -ADLX_RESULTres=manualFanTuning->pVtbl->GetFanTuningRanges(manualFanTuning,&fanSpeedRange,&fanTemperatureRange); -printf("\tFanspeedrange:(%d,%d)\n",fanSpeedRange.minValue,fanSpeedRange.maxValue); -printf("\tFantemperaturerange:(%d,%d)\n",fanTemperatureRange.minValue,fanTemperatureRange.maxValue); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -//Displaycurrentfantuningstates -IADLXManualFanTuningStateList*states; -IADLXManualFanTuningState*oneState; -res=manualFanTuning->pVtbl->GetFanTuningStates(manualFanTuning,&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -res=states->pVtbl->At_ManualFanTuningStateList(states,crt,&oneState); -adlx_intspeed=0,temperature=0; -oneState->pVtbl->GetFanSpeed(oneState,&speed); -oneState->pVtbl->GetTemperature(oneState,&temperature); -printf("\tThecurrent%dstate:speedis%dtemperatureis%d\n",crt,speed,temperature); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} -} - - -//Setemptyfantuningstates -res=manualFanTuning->pVtbl->GetEmptyFanTuningStates(manualFanTuning,&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -res=states->pVtbl->At_ManualFanTuningStateList(states,crt,&oneState); -adlx_intspeed=0,temperature=0; -intfanSpeedStep=(fanSpeedRange.maxValue-fanSpeedRange.minValue)/states->pVtbl->Size(states); -intfanTemperatureStep=(fanTemperatureRange.maxValue-fanTemperatureRange.minValue)/states->pVtbl->Size(states); -oneState->pVtbl->SetFanSpeed(oneState,fanSpeedRange.minValue+fanSpeedStep*crt); -oneState->pVtbl->GetFanSpeed(oneState,&speed); -oneState->pVtbl->SetTemperature(oneState,fanTemperatureRange.minValue+fanTemperatureStep*crt); -oneState->pVtbl->GetTemperature(oneState,&temperature); -printf("\tSetempty%dstate:speedis%dtemperatureis%d\n",crt,speed,temperature); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -} - -//Setemptyfantuningstatestocurrentfantuningstates -adlx_interrorIndex; -res=manualFanTuning->pVtbl->IsValidFanTuningStates(manualFanTuning,states,&errorIndex); -printf("\tIsValidGPUTuningStates,errorIndexis:%d\n",errorIndex); -if(ADLX_SUCCEEDED(res)) -{ -manualFanTuning->pVtbl->SetFanTuningStates(manualFanTuning,states); -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} -res=manualFanTuning->pVtbl->GetFanTuningStates(manualFanTuning,&states); -if(ADLX_SUCCEEDED(res)) -{ -printf("\tAftersetting:\n"); -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -res=states->pVtbl->At_ManualFanTuningStateList(states,crt,&oneState); -adlx_intspeed=0,temperature=0; -oneState->pVtbl->GetFanSpeed(oneState,&speed); -oneState->pVtbl->GetTemperature(oneState,&temperature); -printf("\tThecurrent%dstate:speedis%dtemperatureis%d\n",crt,speed,temperature); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} -} -} - -//DisplayandsetZeroRPMsettings -voidShowGetAndSetZeroRPM(IADLXManualFanTuning*manualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->pVtbl->IsSupportedZeroRPM(manualFanTuning,&supported); -printf("\tIssupportZeroRPM:%d\n",supported); -if(ADLX_FAILED(res)||!supported) -return; -adlx_boolisZeroRPMStateSet=false; -res=manualFanTuning->pVtbl->SetZeroRPMState(manualFanTuning,true); -printf("\tSetZeroRPMstate,returncodeis:%d(0meanssuccess)\n",res); -res=manualFanTuning->pVtbl->GetZeroRPMState(manualFanTuning,&isZeroRPMStateSet); -printf("\tIsZeroRPMstateset:%d,returncodeis:%d(0meanssuccess)\n",isZeroRPMStateSet,res); -res=manualFanTuning->pVtbl->SetZeroRPMState(manualFanTuning,false); -printf("\tResetZeroRPMstate,returncodeis:%d(0meanssuccess)\n",res); -res=manualFanTuning->pVtbl->GetZeroRPMState(manualFanTuning,&isZeroRPMStateSet); -printf("\tIsZeroRPMstateset:%d,returncodeis:%d(0meanssuccess)\n",isZeroRPMStateSet,res); -} - -//DisplayandsetMinAcousticsettings -voidShowGetAndSetMinAcoustic(IADLXManualFanTuning*manualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->pVtbl->IsSupportedMinAcousticLimit(manualFanTuning,&supported); -printf("\tIsMinAcousticLimitsupported:%d\n",supported); -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->pVtbl->GetMinAcousticLimitRange(manualFanTuning,&tuningRange); -printf("\tMinAcousticlimitrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",tuningRange.minValue,tuningRange.maxValue,res); - -adlx_intminAcousticLimit; -res=manualFanTuning->pVtbl->GetMinAcousticLimit(manualFanTuning,&minAcousticLimit); -printf("\tCurrentminacousticlimit:%d,returncodeis:%d(0meanssuccess)\n",minAcousticLimit,res); -res=manualFanTuning->pVtbl->SetMinAcousticLimit(manualFanTuning,tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->pVtbl->GetMinAcousticLimit(manualFanTuning,&minAcousticLimit); -printf("\tSetcurrentminacousticlimitto:%d,returncodeis:%d(0meanssuccess)\n",minAcousticLimit,res); -} - -//DisplayandsetMinFanSpeedsettings -voidShowGetAndSetMinFanSpeed(IADLXManualFanTuning*manualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->pVtbl->IsSupportedMinFanSpeed(manualFanTuning,&supported); -printf("\tIsMinFanSpeedsupported:%d\n",supported); -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->pVtbl->GetMinFanSpeedRange(manualFanTuning,&tuningRange); -printf("\tMinFanSpeedrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",tuningRange.minValue,tuningRange.maxValue,res); - -adlx_intminFanSpeed=0; -res=manualFanTuning->pVtbl->GetMinFanSpeed(manualFanTuning,&minFanSpeed); -printf("\tCurrentMinFanSpeed:%d,returncodeis:%d(0meanssuccess)\n",minFanSpeed,res); -res=manualFanTuning->pVtbl->SetMinFanSpeed(manualFanTuning,tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->pVtbl->GetMinFanSpeed(manualFanTuning,&minFanSpeed); -printf("\tSetcurrentMinFanSpeedto:%d,returncodeis:%d(0meanssuccess)\n",minFanSpeed,res); -} - -//DisplayandsetTargetFanSpeedsettings -voidShowGetAndSetTargetFanSpeed(IADLXManualFanTuning*manualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->pVtbl->IsSupportedTargetFanSpeed(manualFanTuning,&supported); -printf("\tIsTargetFanSpeedsupported:%d\n",supported); -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->pVtbl->GetTargetFanSpeedRange(manualFanTuning,&tuningRange); -printf("\tTargetFanSpeedrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",tuningRange.minValue,tuningRange.maxValue,res); - -adlx_intminAcousticLimit; -res=manualFanTuning->pVtbl->GetTargetFanSpeed(manualFanTuning,&minAcousticLimit); -printf("\tCurrentTargetFanSpeed:%d,returncodeis:%d(0meanssuccess)\n",minAcousticLimit,res); -res=manualFanTuning->pVtbl->SetTargetFanSpeed(manualFanTuning,tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->pVtbl->GetTargetFanSpeed(manualFanTuning,&minAcousticLimit); -printf("\tSetcurrentTargetFanSpeedto:%d,returncodeis:%d(0meanssuccess)\n",minAcousticLimit,res); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__manual_graphics_tuning.xml b/vendor/adlx/SDKDoc/xml/c__manual_graphics_tuning.xml deleted file mode 100644 index 835a4c4..0000000 --- a/vendor/adlx/SDKDoc/xml/c__manual_graphics_tuning.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - c_ManualGraphicsTuning - ManualGraphicsTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual graphics tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get GPU frequency and voltage.</td></tr> - <tr><td>2</td><td> Get current GPU states.</td></tr> - <tr><td>3</td><td> Set GPU states.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/ManualGraphicsTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUManualGFXTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//Mainmenu -voidMainMenu(IADLXManualGraphicsTuning1*manualGFXTuning1,IADLXManualGraphicsTuning2*manualGFXTuning2); - -//Menuactioncontrol -voidMenuControl(IADLXManualGraphicsTuning1*manualGFXTuning1,IADLXManualGraphicsTuning2*manualGFXTuning2); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualGFXTuningIfc, -IADLXManualGraphicsTuning1*manualGFXTuning1, -IADLXManualGraphicsTuning2*manualGFXTuning2); - -/*****Thefirstispre-Navi,thesecondispost-Navi*****/ -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1*manualGFXTuning1); -voidShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2*manualGFXTuning2); -//DisplaycurrentGPUtuningstates -voidGetCurrentStates1(IADLXManualGraphicsTuning1*manualGFXTuning1); -voidGetCurrentStates2(IADLXManualGraphicsTuning2*manualGFXTuning2); -//SetGPUstates -voidSetGPUStates1(IADLXManualGraphicsTuning1*manualGFXTuning1); -voidSetGPUStates2(IADLXManualGraphicsTuning2*manualGFXTuning2); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUList*gpus=NULL; -IADLXGPU*oneGPU=NULL; -IADLXInterface*manualGFXTuningIfc=NULL; -IADLXManualGraphicsTuning1*manualGFXTuning1=NULL; -IADLXManualGraphicsTuning2*manualGFXTuning2=NULL; - -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUtuningservicesfailed",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); - -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUlistfailed",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); - -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==NULL) -returnWaitAndExit("\tGetGPUfailed",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); - -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedManualGFXTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -returnWaitAndExit("\tThisGPUdoesnotsupportmanualgraphicstuning",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); - -res=gpuTuningService->pVtbl->GetManualGFXTuning(gpuTuningService,oneGPU,&manualGFXTuningIfc); -if(ADLX_FAILED(res)||manualGFXTuningIfc==NULL) -returnWaitAndExit("\tGetmanualgraphicstuninginterfacefailed",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); - -//Pre-NaviASIC -manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc,IID_IADLXManualGraphicsTuning1(),(void**)&manualGFXTuning1); -//Post-NaviASIC -manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc,IID_IADLXManualGraphicsTuning2(),(void**)&manualGFXTuning2); - -if(manualGFXTuning1==NULL&&manualGFXTuning2==NULL) -returnWaitAndExit("\tGetmanualgraphicstuningfailed",0,gpuTuningService,gpus,oneGPU, -manualGFXTuningIfc,manualGFXTuning1,manualGFXTuning2); -//Displaymainmenuoptions -MainMenu(manualGFXTuning1,manualGFXTuning2); - -//Getandexecutethechoice -MenuControl(manualGFXTuning1,manualGFXTuning2); - -//ReleasethemanualGFXTuning1interface -if(manualGFXTuning1!=NULL) -{ -manualGFXTuning1->pVtbl->Release(manualGFXTuning1); -manualGFXTuning1=NULL; -} -if(manualGFXTuning2!=NULL) -{ -manualGFXTuning2->pVtbl->Release(manualGFXTuning2); -manualGFXTuning2=NULL; -} -if(manualGFXTuningIfc!=NULL) -{ -manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc); -manualGFXTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -{ -printf("\tg_ADLXHelpinitializefailed\n"); -system("pause"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu(IADLXManualGraphicsTuning1*manualGFXTuning1,IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -if(manualGFXTuning1) -printf("\tThecurrentGPUispre-Navi.Choosefromthefollowingoptions:\n"); -elseif(manualGFXTuning2) -printf("\tThecurrentGPUispost-Navi.Choosefromthefollowingoptions:\n"); -printf("\t->Press1todisplayGPUfrequencyandvoltage\n"); -printf("\t->Press2todisplaycurrentGPUstates\n"); -printf("\t->Press3tosetGPUstates\n"); -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLXManualGraphicsTuning1*manualGFXTuning1,IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -charnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -//Pre-NaviMenuactioncontrol -if(manualGFXTuning1) -{ -switch(num) -{ -//DisplayGPUfrequencyandvoltagerange -case'1': -ShowFrequencyAndVoltageRange1(manualGFXTuning1); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates1(manualGFXTuning1); -break; - -//SetGPUstates -case'3': -SetGPUStates1(manualGFXTuning1); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(manualGFXTuning1,manualGFXTuning2); -break; -default: -break; -} -} -//Post-NaviMenuactioncontrol -else -{ -switch(num) -{ -//DisplayGPUfrequencyandvoltagerange -case'1': -ShowFrequencyAndVoltageRange2(manualGFXTuning2); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates2(manualGFXTuning2); -break; - -//SetGPUstates -case'3': -SetGPUStates2(manualGFXTuning2); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(manualGFXTuning1,manualGFXTuning2); -break; -default: -break; -} -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualGFXTuningIfc, -IADLXManualGraphicsTuning1*manualGFXTuning1, -IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -//ReleasethemanualGFXTuninginterface -if(manualGFXTuning1!=NULL) -{ -manualGFXTuning1->pVtbl->Release(manualGFXTuning1); -manualGFXTuning1=NULL; -} -if(manualGFXTuning2!=NULL) -{ -manualGFXTuning2->pVtbl->Release(manualGFXTuning2); -manualGFXTuning2=NULL; -} -if(manualGFXTuningIfc!=NULL) -{ -manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc); -manualGFXTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -//DestroyADLX -ADLX_RESULTres=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -system("pause"); -returnretCode; -} - -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1*manualGFXTuning1) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1,&freqRange,&voltRange); -printf("\tFrequencyrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",freqRange.minValue,freqRange.maxValue,res); -printf("\tVoltagerange:(%d,%d),returncodeis:%d(0meanssuccess)\n",voltRange.minValue,voltRange.maxValue,res); -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates1(IADLXManualGraphicsTuning1*manualGFXTuning1) -{ -IADLXManualTuningStateList*states; -IADLXManualTuningState*oneState; -ADLX_RESULTres=manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1,&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -states->pVtbl->At_ManualTuningStateList(states,crt,&oneState); -adlx_intfreq=0,volt=0; -res=oneState->pVtbl->GetFrequency(oneState,&freq); -printf("\tThecurrentstate%d:frequencyis%d,returncodeis:%d(0meanssuccess)\n",crt,freq,res); -res=oneState->pVtbl->GetVoltage(oneState,&volt); -printf("\tThecurrentstate%d:voltageis%d,returncodeis:%d(0meanssuccess)\n",crt,volt,res); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} -} - -//SetGPUstates -voidSetGPUStates1(IADLXManualGraphicsTuning1*manualGFXTuning1) -{ -IADLXManualTuningStateList*states; -IADLXManualTuningState*oneState; -ADLX_RESULTres1=manualGFXTuning1->pVtbl->GetEmptyGPUTuningStates(manualGFXTuning1,&states); -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres2=manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1,&freqRange,&voltRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -states->pVtbl->At_ManualTuningStateList(states,crt,&oneState); -adlx_intfreq=0,volt=0; -intfreqStep=(freqRange.maxValue-freqRange.minValue)/(states->pVtbl->Size(states)); -//TheStepshouldnotbetoolarge -if(freqStep>=60) -freqStep=60; -intvoltStep=(voltRange.maxValue-voltRange.minValue)/(states->pVtbl->Size(states)); -//TheStepshouldnotbetoolarge -if(voltStep>=20) -voltStep=20; -ADLX_RESULTres=oneState->pVtbl->SetFrequency(oneState,freqRange.minValue+freqStep*crt); -res=oneState->pVtbl->GetFrequency(oneState,&freq); -res=oneState->pVtbl->SetVoltage(oneState,voltRange.minValue+voltStep*crt); -res=oneState->pVtbl->GetVoltage(oneState,&volt); -printf("\tSetemptystate%d:frequencyis%d,voltageis%d,returncodeis:%d(0meanssuccess)\n",crt,freq,volt,res); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -} -adlx_interrorIndex; -ADLX_RESULTres=manualGFXTuning1->pVtbl->IsValidGPUTuningStates(manualGFXTuning1,states,&errorIndex); -printf("\tIsValidGPUTuningStates,errorIndexis:%d,returncodeis:%d(0meanssuccess)\n",errorIndex,res); -if(ADLX_SUCCEEDED(res)) -{ -res=manualGFXTuning1->pVtbl->SetGPUTuningStates(manualGFXTuning1,states); -printf("\tSetGPUtuningstates%s\n",(ADLX_SUCCEEDED(res)?"succeeded":"failed")); -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} - -res=manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1,&states); -printf("\tAftersetting:\n"); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->pVtbl->Begin(states);crt!=states->pVtbl->End(states);++crt) -{ -states->pVtbl->At_ManualTuningStateList(states,crt,&oneState); -adlx_intfreq=0,volt=0; -res=oneState->pVtbl->GetFrequency(oneState,&freq); -res=oneState->pVtbl->GetVoltage(oneState,&volt); -printf("\tThecurrentstate%d:frequencyis%d,voltageis%d,returncodeis:%d(0meanssuccess)\n",crt,freq,volt,res); -if(oneState!=NULL) -{ -oneState->pVtbl->Release(oneState); -oneState=NULL; -} -} -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} -} - -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2,&freqRange); -printf("\tGPUminimumfrequencyrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",freqRange.minValue,freqRange.maxValue,res); -res=manualGFXTuning2->pVtbl->GetGPUMaxFrequencyRange(manualGFXTuning2,&freqRange); -printf("\tGPUmaximumfrequencyrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",freqRange.minValue,freqRange.maxValue,res); -res=manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2,&voltRange); -printf("\tVoltagerange:(%d,%d),returncodeis:%d(0meanssuccess)\n",voltRange.minValue,voltRange.maxValue,res); -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates2(IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -adlx_intminFreq=0,maxFreq=0,volt=0; -ADLX_RESULTres=manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2,&minFreq); -printf("\tCurrentGPUminimumfrequency:%d,returncodeis:%d(0meanssuccess)\n",minFreq,res); -res=manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2,&maxFreq); -printf("\tCurrentGPUmaximumfrequency:%d,returncodeis:%d(0meanssuccess)\n",maxFreq,res); -res=manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2,&volt); -printf("\tCurrentGPUclockvoltage:%d,returncodeis:%d(0meanssuccess)\n",volt,res); -} - -//SetGPUstates -voidSetGPUStates2(IADLXManualGraphicsTuning2*manualGFXTuning2) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2,&freqRange); -res=manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2,&voltRange); -res=manualGFXTuning2->pVtbl->SetGPUMinFrequency(manualGFXTuning2,freqRange.minValue); -printf("\tSetGPUminfrequency%s\n",(ADLX_SUCCEEDED(res)?"succeeded":"failed")); -res=manualGFXTuning2->pVtbl->SetGPUMaxFrequency(manualGFXTuning2,freqRange.minValue+100); -printf("\tSetGPUmaxfrequency%s\n",(ADLX_SUCCEEDED(res)?"succeeded":"failed")); -res=manualGFXTuning2->pVtbl->SetGPUVoltage(manualGFXTuning2,voltRange.minValue+(voltRange.maxValue-voltRange.minValue)/2); -printf("\tSetGPUvoltage%s\n",(ADLX_SUCCEEDED(res)?"succeeded":"failed")); -printf("\tAftersetting:\n"); -adlx_intminFreq=0,maxFreq=0,volt=0; -res=manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2,&minFreq); -printf("\tCurrentGPUminfrequency:%d,returncodeis:%d(0meanssuccess)\n",minFreq,res); -res=manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2,&maxFreq); -printf("\tCurrentGPUmaxfrequency:%d,returncodeis:%d(0meanssuccess)\n",maxFreq,res); -res=manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2,&volt); -printf("\tCurrentGPUclockvoltage:%d,returncodeis:%d(0meanssuccess)\n",volt,res); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/c__manual_power_tuning.xml deleted file mode 100644 index ec02922..0000000 --- a/vendor/adlx/SDKDoc/xml/c__manual_power_tuning.xml +++ /dev/null @@ -1,356 +0,0 @@ - - - - c_ManualPowerTuning - ManualPowerTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual power tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get power limit range.</td></tr> - <tr><td>2</td><td> Get current power limit.</td></tr> - <tr><td>3</td><td> Set power limit.</td></tr> - <tr><td>4</td><td> Check TDC limit supported.</td></tr> - <tr><td>5</td><td> Get TDC limit range.</td></tr> - <tr><td>6</td><td> Get current TDC limit.</td></tr> - <tr><td>7</td><td> Set TDC limit.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/ManualPowerTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUManualPowerTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXManualPowerTuning*manualPowerTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualPowerTuningIfc, -IADLXManualPowerTuning*manualPowerTuning); - -//Displaypowerlimitrange -voidShowGetPowerLimitRange(IADLXManualPowerTuning*manualPowerTuning); - -//Displaycurrentpowerlimit -voidShowGetPowerLimit(IADLXManualPowerTuning*manualPowerTuning); - -//Setpowerlimit -voidShowSetPowerLimit(IADLXManualPowerTuning*manualPowerTuning); - -//ShowtocheckTDClimitissupported -voidShowTDCLimitSupported(IADLXManualPowerTuning*manualPowerTuning); - -//ShowhowtogetTDClimitrange. -voidShowGetTDCLimitRange(IADLXManualPowerTuning*manualPowerTuning); - -//ShowhowtogetcurrentTDClimit. -voidShowGetTDCLimit(IADLXManualPowerTuning*manualPowerTuning); - -//ShowhowtosetTDClimit. -voidShowSetTDCLimit(IADLXManualPowerTuning*manualPowerTuning); - - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUList*gpus=NULL; -IADLXGPU*oneGPU=NULL; -IADLXInterface*manualPowerTuningIfc=NULL; -IADLXManualPowerTuning*manualPowerTuning=NULL; - -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUtuningservicesfailed",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_FAILED(res)) -returnWaitAndExit("\tGetGPUlistfailed",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -res=gpus->pVtbl->At_GPUList(gpus,0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==NULL) -returnWaitAndExit("\tGetGPUfailed",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -adlx_boolsupported=false; -res=gpuTuningService->pVtbl->IsSupportedManualPowerTuning(gpuTuningService,oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -returnWaitAndExit("\tThisGPUdoesn'tsupportedmanualpowertuning",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -res=gpuTuningService->pVtbl->GetManualPowerTuning(gpuTuningService,oneGPU,&manualPowerTuningIfc); -if(ADLX_FAILED(res)||manualPowerTuningIfc==NULL) -returnWaitAndExit("\tGetmanualpowertuninginterfacefailed",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -res=manualPowerTuningIfc->pVtbl->QueryInterface(manualPowerTuningIfc,IID_IADLXManualPowerTuning(),(void**)&manualPowerTuning); -if(manualPowerTuning==NULL) -returnWaitAndExit("\tGetmanualpowertuningfailed",0,gpuTuningService,gpus,oneGPU,manualPowerTuningIfc,manualPowerTuning); - -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(manualPowerTuning); - -//ReleasethemanualPowerTuninginterface -if(manualPowerTuning!=NULL) -{ -manualPowerTuning->pVtbl->Release(manualPowerTuning); -manualPowerTuning=NULL; -} -if(manualPowerTuningIfc!=NULL) -{ -manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc); -manualPowerTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -{ -printf("\tg_ADLXHelpinitializefailed\n"); -system("pause"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); -printf("\t->Press1todisplaypowerlimitrange\n"); -printf("\t->Press2todisplaycurrentpowerlimit\n"); -printf("\t->Press3tosetpowerlimit\n"); -printf("\t->Press4tocheckifTDCLimitissupported\n"); -printf("\t->Press5todisplayTDClimitrange\n"); -printf("\t->Press6todisplaycurrentTDClimit\n"); -printf("\t->Press7tosetTDClimit\n"); -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXManualPowerTuning*manualPowerTuning) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaypowerlimitrange -case'1': -ShowGetPowerLimitRange(manualPowerTuning); -break; - -//Displaycurrentpowerlimit -case'2': -ShowGetPowerLimit(manualPowerTuning); -break; - -//Setpowerlimit -case'3': -ShowSetPowerLimit(manualPowerTuning); -break; -//ShowhowtocheckTDClimitissupported. -case'4': -ShowTDCLimitSupported(manualPowerTuning); -break; -//ShowhowtogetTDClimitrange. -case'5': -ShowGetTDCLimitRange(manualPowerTuning); -break; -//ShowhowtogetcurrentTDClimit. -case'6': -ShowGetTDCLimit(manualPowerTuning); -break; -//ShowhowtosetTDClimit. -case'7': -ShowSetTDCLimit(manualPowerTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode, -IADLXGPUTuningServices*gpuTuningService, -IADLXGPUList*gpus, -IADLXGPU*oneGPU, -IADLXInterface*manualPowerTuningIfc, -IADLXManualPowerTuning*manualPowerTuning) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -//ReleasethemanualPowerTuninginterface -if(manualPowerTuning!=NULL) -{ -manualPowerTuning->pVtbl->Release(manualPowerTuning); -manualPowerTuning=NULL; -} -if(manualPowerTuningIfc!=NULL) -{ -manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc); -manualPowerTuningIfc=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} - -//DestroyADLX -ADLX_RESULTres=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -system("pause"); -returnretCode; -} - -//Displaypowerlimitrange -voidShowGetPowerLimitRange(IADLXManualPowerTuning*manualPowerTuning) -{ -ADLX_IntRangepowerRange; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning,&powerRange); -printf("\tPowerlimitrange:(%d,%d),returncodeis:%d(0meanssuccess)\n",powerRange.minValue,powerRange.maxValue,res); -} - -//Displaycurrentpowerlimit -voidShowGetPowerLimit(IADLXManualPowerTuning*manualPowerTuning) -{ -adlx_intpowerLimit; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning,&powerLimit); -printf("\tCurrentpowerlimit:%d,returncodeis:%d(0meanssuccess)\n",powerLimit,res); -} - -//Setpowerlimit -voidShowSetPowerLimit(IADLXManualPowerTuning*manualPowerTuning) -{ -ADLX_IntRangepowerRange; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning,&powerRange); -res=manualPowerTuning->pVtbl->SetPowerLimit(manualPowerTuning,powerRange.minValue+(powerRange.maxValue-powerRange.minValue)/2); -printf("\tSetpowerlimit%s\n",(ADLX_SUCCEEDED(res)?"succeeded":"failed")); -adlx_intpowerLimit; -res=manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning,&powerLimit); -printf("\tSetcurrentpowerlimitto:%d,returncodeis:%d(0meanssuccess)\n",powerLimit,res); -} - - -//ShowhowtocheckTDCLimitissupported. -voidShowTDCLimitSupported(IADLXManualPowerTuning*manualPowerTuning) -{ -adlx_booltdcSupported; -ADLX_RESULTres=manualPowerTuning->pVtbl->IsSupportedTDCLimit(manualPowerTuning,&tdcSupported); -printf("\tIsTDCLimitsupported:%d,returncodeis:%d(0meanssuccess)\n",tdcSupported,res); -} - -//ShowhowtogetTDClimitrange. -voidShowGetTDCLimitRange(IADLXManualPowerTuning*manualPowerTuning) -{ -ADLX_IntRangetdcRange; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning,&tdcRange); -printf("\tGetTDClimitrangeis:(%d,%d),returncodeis:%d(0meanssuccess)\n",tdcRange.minValue,tdcRange.maxValue,res); -} - -//ShowhowtogetcurrentTDClimit. -voidShowGetTDCLimit(IADLXManualPowerTuning*manualPowerTuning) -{ -adlx_inttdcLimit; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning,&tdcLimit); -printf("\tThecurrentTDClimitis:%d,returncodeis:%d(0meanssuccess)\n",tdcLimit,res); -} - -//ShowhowtosetTDClimit. -voidShowSetTDCLimit(IADLXManualPowerTuning*manualPowerTuning) -{ -ADLX_IntRangetdcRange; -ADLX_RESULTres=manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning,&tdcRange); -res=manualPowerTuning->pVtbl->SetTDCLimit(manualPowerTuning,tdcRange.minValue+(tdcRange.maxValue-tdcRange.minValue)/2); -adlx_inttdcLimit; -res=manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning,&tdcLimit); -printf("\tSetcurrentTDClimitto:%d,returncodeis:%d(0meanssuccess)\n",tdcLimit,res); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__manual_v_r_a_m_tuning.xml b/vendor/adlx/SDKDoc/xml/c__manual_v_r_a_m_tuning.xml deleted file mode 100644 index 1b057f5..0000000 --- a/vendor/adlx/SDKDoc/xml/c__manual_v_r_a_m_tuning.xml +++ /dev/null @@ -1,585 +0,0 @@ - - - - c_ManualVRAMTuning - ManualVRAMTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get Memory Timing support.</td></tr> - <tr><td>2</td><td> Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable</td></tr> - <tr><td>3</td><td> Set Memory Timing level.</td></tr> - <tr><td>4</td><td> Set VRAMTuning state.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/ManualVRAMTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUManualVRAMTuning.h" -#include"SDK/Include/IGPUTuning.h" - -//DisplayMemoryTimingsupport -voidShowSupport(IADLXInterface*vramTuningIfc); - -//GetVRAMstate -voidGetState(IADLXInterface*vramTuningIfc); - -//SetMemoryTimingLevel -voidSetTimingLevel(IADLXInterface*vramTuningIfc); - -//SetVRAMstate -voidSetState(IADLXInterface*vramTuningIfc); - -//Mainmenu -voidMainMenu(IADLXInterface*vramTuningIfc); - -//Menuactioncontrol -voidMenuControl(IADLXInterface*vramTuningIfc); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetSystemServices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//GetGPUtuningservice -IADLXGPUTuningServices*gpuTuningService=NULL; -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetManualVRAMTuningsupport -adlx_boolsupported; -gpuTuningService->pVtbl->IsSupportedManualVRAMTuning(gpuTuningService,gpu,&supported); -printf("\tTheGPUsupportformanualVRAMtuningis:%d\n",supported); - -if(supported) -{ -//GetManualVRAMTuninginterface -IADLXInterface*vramTuningIfc=NULL; -res=gpuTuningService->pVtbl->GetManualVRAMTuning(gpuTuningService,gpu,&vramTuningIfc); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(vramTuningIfc); -MenuControl(vramTuningIfc); -} -//ReleasethevramTuningIfcinterface -if(vramTuningIfc!=NULL) -{ -vramTuningIfc->pVtbl->Release(vramTuningIfc); -vramTuningIfc=NULL; -} -} -else -{ -printf("\tThisGPUDoesn'tsupportManualVRAMTuning\n"); -} - - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("FailedtogetGPUtuningservice\n"); -} - -//ReleasethegpuTuningServiceinterface -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticconstchar*getDescStr(ADLX_MEMORYTIMING_DESCRIPTIONdesc) -{ -switch(desc) -{ -caseMEMORYTIMING_DEFAULT: -return"Default"; -caseMEMORYTIMING_FAST_TIMING: -return"FastTiming"; -caseMEMORYTIMING_FAST_TIMING_LEVEL_2: -return"FastTimingLevel2"; -caseMEMORYTIMING_AUTOMATIC: -return"Automatic"; -caseMEMORYTIMING_MEMORYTIMING_LEVEL_1: -return"MemoryTimingLevel1"; -caseMEMORYTIMING_MEMORYTIMING_LEVEL_2: -return"MemoryTimingLevel2"; -} -return"Default"; -}; - -voidShowSupport(IADLXInterface*vramTuningIfc) -{ -adlx_boolsupported=false; -IADLXManualVRAMTuning2*vramTuning2=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning2(),&vramTuning2); -IADLXManualVRAMTuning1*vramTuning1=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning1(),&vramTuning1); -ADLX_RESULTres=ADLX_FAIL; -if(vramTuning2) -{ -res=vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2,&supported); -} -elseif(vramTuning1) -{ -res=vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1,&supported); -} - -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); - -//ReleasetheManualVRAMTuning2interface -if(vramTuning2!=NULL) -{ -vramTuning2->pVtbl->Release(vramTuning2); -vramTuning2=NULL; -} - -//ReleasetheManualVRAMTuning1interface -if(vramTuning1!=NULL) -{ -vramTuning1->pVtbl->Release(vramTuning1); -vramTuning1=NULL; -} -} - -voidGetState(IADLXInterface*vramTuningIfc) -{ -IADLXManualVRAMTuning2*vramTuning2=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning2(),&vramTuning2); -IADLXManualVRAMTuning1*vramTuning1=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning1(),&vramTuning1); -ADLX_MEMORYTIMING_DESCRIPTIONdesc; -IADLXMemoryTimingDescriptionList*descList=NULL; -if(vramTuning2) -{ -vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2,&descList); -vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2,&desc); - -adlx_intfreq; -ADLX_IntRangerang; -ADLX_RESULTres=vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2,&freq); -printf("\tMaxVRAMFrequencyis:%d,returncodeis:%d(0meanssuccess)\n",freq,res); -res=vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2,&rang); -printf("\tMaxVRAMFrequencyRange:[%d,%d],step:%d,returncodeis:%d(0meanssuccess)\n",rang.minValue,rang.maxValue,rang.step,res); -} -elseif(vramTuning1) -{ -vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1,&descList); -vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1,&desc); - -IADLXManualTuningStateList*states=NULL; -vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1,&states); -adlx_uints=states->pVtbl->Begin(states); -printf("\tStateis:\n"); -for(;s!=states->pVtbl->End(states);s++) -{ -IADLXManualTuningState*state=NULL; -adlx_intfrequency; -adlx_intvoltage; -states->pVtbl->At_ManualTuningStateList(states,s,&state); -state->pVtbl->GetFrequency(state,&frequency); -state->pVtbl->GetVoltage(state,&voltage); -printf("\t\tfrequency:%d,voltage:%d\n",frequency,voltage); -if(state!=NULL) -{ -state->pVtbl->Release(state); -state=NULL; -} -} -if(states!=NULL) -{ -states->pVtbl->Release(states); -states=NULL; -} - -ADLX_IntRangefrequencyRange; -ADLX_IntRangevoltageRange; -ADLX_RESULTres=vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1,&frequencyRange,&voltageRange); -printf("\tFrequencyRange:[%d,%d],step:%d,returncodeis:%d(0meanssuccess)\n",frequencyRange.minValue,frequencyRange.maxValue,frequencyRange.step,res); -printf("\tVoltageRange:[%d,%d],step:%d,returncodeis:%d(0meanssuccess)\n",voltageRange.minValue,voltageRange.maxValue,voltageRange.step,res); -} - -if(descList) -{ -printf("\tCurrentTimingdescis:%s\n",getDescStr(desc)); -printf("\tSupportedmemorytimingdesclist:\n"); -for(adlx_uints=0;s!=descList->pVtbl->End(descList);s++) -{ -IADLXMemoryTimingDescription*item=NULL; -descList->pVtbl->At_MemoryTimingDescriptionList(descList,s,&item); -item->pVtbl->GetDescription(item,&desc); -printf("\t%s\n",getDescStr(desc)); - -//ReleasetheIADLXMemoryTimingDescriptioninterface -if(item) -{ -item->pVtbl->Release(item); -item=NULL; -} -} -} -printf("\n"); - -//ReleasetheIADLXMemoryTimingDescriptionListinterface -if(descList!=NULL) -{ -descList->pVtbl->Release(descList); -descList=NULL; -} - -//ReleasetheManualVRAMTuning2interface -if(vramTuning2!=NULL) -{ -vramTuning2->pVtbl->Release(vramTuning2); -vramTuning2=NULL; -} - -//ReleasetheManualVRAMTuning1interface -if(vramTuning1!=NULL) -{ -vramTuning1->pVtbl->Release(vramTuning1); -vramTuning1=NULL; -} -} - -voidSetTimingLevel(IADLXInterface*vramTuningIfc) -{ -ADLX_RESULTres; -IADLXManualVRAMTuning2*vramTuning2=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning2(),&vramTuning2); -IADLXManualVRAMTuning1*vramTuning1=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning1(),&vramTuning1); -ADLX_MEMORYTIMING_DESCRIPTIONdesc,currentDesc; -IADLXMemoryTimingDescriptionList*descList=NULL; -IADLXMemoryTimingDescription*item=NULL; -adlx_boolsupported=false; -if(vramTuning2) -{ -//IfMemoryTimingissupported,thenonlywillsettheMemoryTiming -res=vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2,&supported); -if(supported) -{ -res=vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2,&descList); -if(descList) -{ -vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2,&currentDesc); -for(adlx_uints=0;s!=descList->pVtbl->End(descList);s++) -{ -descList->pVtbl->At_MemoryTimingDescriptionList(descList,s,&item); -item->pVtbl->GetDescription(item,&desc); -if(desc!=currentDesc) -{ -res=vramTuning2->pVtbl->SetMemoryTimingDescription(vramTuning2,desc); -printf("\tSetMemoryTimingdescriptionto%s:returncodeis:%d(0meanssuccess)\n",getDescStr(desc),res); -break; -} -} -} -else -{ -printf("\tFailedtogettheSupportedMemoryTimingDescriptionList.\n"); -} -} -else -{ - -printf("\tMemoryTiminglevelnotsupported,socannotsetMemoryTimingDescriptionList\n"); -} -} -elseif(vramTuning1) -{ -//IfMemoryTimingissupported,thenonlywillsettheMemoryTiming -res=vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1,&supported); -if(supported) -{ -res=vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1,&descList); -if(descList) -{ -vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1,&currentDesc); -for(adlx_uints=0;s!=descList->pVtbl->End(descList);s++) -{ -descList->pVtbl->At_MemoryTimingDescriptionList(descList,s,&item); -item->pVtbl->GetDescription(item,&desc); -if(desc!=currentDesc) -{ -res=vramTuning1->pVtbl->SetMemoryTimingDescription(vramTuning1,desc); -printf("\tSetMemoryTimingdescriptionto%s:returncodeis:%d(0meanssuccess)\n",getDescStr(desc),res); -break; -} -} -} -else -{ -printf("\tFailedtogettheSupportedMemoryTimingDescriptionList.\n"); -} -} -else -{ -printf("\tMemoryTiminglevelnotsupported,socannotsetMemoryTimingDescriptionList\n"); -} -} - -//ReleasetheIADLXMemoryTimingDescriptioninterface -if(item!=NULL) -{ -item->pVtbl->Release(item); -item=NULL; -} - -//ReleasetheIADLXMemoryTimingDescriptionListinterface -if(descList!=NULL) -{ -descList->pVtbl->Release(descList); -descList=NULL; -} - -//ReleasetheManualVRAMTuning2interface -if(vramTuning2!=NULL) -{ -vramTuning2->pVtbl->Release(vramTuning2); -vramTuning2=NULL; -} - -//ReleasetheManualVRAMTuning1interface -if(vramTuning1!=NULL) -{ -vramTuning1->pVtbl->Release(vramTuning1); -vramTuning1=NULL; -} -} - -voidSetState(IADLXInterface*vramTuningIfc) -{ -ADLX_RESULTres; -IADLXManualVRAMTuning2*vramTuning2=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning2(),&vramTuning2); -IADLXManualVRAMTuning1*vramTuning1=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning1(),&vramTuning1); -adlx_boolsupported=false; -if(vramTuning2) -{ -//IfMemoryTimingissupported,thenonlywillsetthestate -res=vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2,&supported); -if(supported) -{ -adlx_intfreq; -ADLX_IntRangerang; -vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2,&freq); -vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2,&rang); -if(freq!=rang.minValue) -{ -res=vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2,rang.minValue); -printf("\tSetminimumfrequency:returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -res=vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2,rang.minValue+rang.step*2); -printf("\tSetmaximumfrequency:returncodeis:%d(0meanssuccess)\n",res); -} -} -else -{ -printf("\tTuningnotsupported,cannotsetthestate\n"); -} -} -elseif(vramTuning1) -{ -//IfMemoryTimingissupported,thenonlywillsetthestate -res=vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1,&supported); -if(supported) -{ -ADLX_IntRangefrequencyRange; -ADLX_IntRangevoltageRange; -vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1,&frequencyRange,&voltageRange); -IADLXManualTuningStateList*states=NULL; -vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1,&states); -adlx_uints=states->pVtbl->Begin(states); -for(;s!=states->pVtbl->End(states);s++) -{ -IADLXManualTuningState*state=NULL; -adlx_intfrequency; -adlx_intvoltage; -states->pVtbl->At_ManualTuningStateList(states,s,&state); -state->pVtbl->GetFrequency(state,&frequency); -state->pVtbl->GetVoltage(state,&voltage); -//Onlychangethefirst -res=state->pVtbl->SetFrequency(state,frequency!=frequencyRange.minValue?frequencyRange.minValue:frequencyRange.maxValue); -res=state->pVtbl->SetVoltage(state,voltage!=voltageRange.minValue?voltageRange.minValue:voltageRange.maxValue); -break; -} -res=vramTuning1->pVtbl->SetVRAMTuningStates(vramTuning1,states); -printf("\tChangeVRAMtuningstates:returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -printf("\tTuningnotsupported,cannotsetthestate\n"); -} -} - -//ReleasetheManualVRAMTuning2interface -if(vramTuning2!=NULL) -{ -vramTuning2->pVtbl->Release(vramTuning2); -vramTuning2=NULL; -} - -//ReleasetheManualVRAMTuning1interface -if(vramTuning1!=NULL) -{ -vramTuning1->pVtbl->Release(vramTuning1); -vramTuning1=NULL; -} -} - -voidMainMenu(IADLXInterface*vramTuningIfc) -{ -IADLXManualVRAMTuning2*vramTuning2=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning2(),&vramTuning2); -IADLXManualVRAMTuning1*vramTuning1=NULL; -vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc,IID_IADLXManualVRAMTuning1(),&vramTuning1); -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayMemoryTimingsupport\n"); -if(vramTuning2) -printf("\t->Press2todisplayMemoryTiminglevelandfrequencyrange\n"); -elseif(vramTuning1) -printf("\t->Press2todisplayMemoryTiminglevel,VRAMfrequency,andthevoltageglobalrangeforallstates\n"); - -printf("\t->Press3tochangecurrentMemoryTimingLevel\n"); -if(vramTuning2) -printf("\t->Press4tochangecurrentVRAMmaximumfrequencyvalue\n"); -elseif(vramTuning1) -printf("\t->Press4tochangeVRAMstates\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); - -//ReleasetheManualVRAMTuning2interface -if(vramTuning2!=NULL) -{ -vramTuning2->pVtbl->Release(vramTuning2); -vramTuning2=NULL; -} - -//ReleasetheManualVRAMTuning1interface -if(vramTuning1!=NULL) -{ -vramTuning1->pVtbl->Release(vramTuning1); -vramTuning1=NULL; -} -} - -voidMenuControl(IADLXInterface*vramTuningIfc) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//GetMemoryTimingsupport -case'1': -ShowSupport(vramTuningIfc); -break; - -//GetVRAMstate -case'2': -GetState(vramTuningIfc); -break; - -//Settiminglevel -case'3': -SetTimingLevel(vramTuningIfc); -break; - -//SetVRAMstate -case'4': -SetState(vramTuningIfc); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(vramTuningIfc); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__morphologic_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/c__morphologic_anti_aliasing.xml deleted file mode 100644 index 4fb1145..0000000 --- a/vendor/adlx/SDKDoc/xml/c__morphologic_anti_aliasing.xml +++ /dev/null @@ -1,216 +0,0 @@ - - - - c_MorphologicAntiAliasing - MorphologicAntiAliasing - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display morphological anti-aliasing support</td></tr> - <tr><td>2</td><td> Get current morphological anti-aliasing state of the GPU</td></tr> - <tr><td>3</td><td> Enable morphological anti-aliasing</td></tr> - <tr><td>4</td><td> Disable morphological anti-aliasing</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/MorphologicAntiAliasing</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Displaymorphologicalanti-aliasingsupport -voidShowSupport(IADLX3DMorphologicalAntiAliasing*mAntiAliasing); - -//Getcurrentmorphologicalanti-aliasingstateoftheGPU -voidGetState(IADLX3DMorphologicalAntiAliasing*mAntiAliasing); - -//Setmorphologicalanti-aliasingstate -voidSetState(IADLX3DMorphologicalAntiAliasing*mAntiAliasing,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DMorphologicalAntiAliasing*mAntiAliasing); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetMorphologicAntiAliasinginterface -IADLX3DMorphologicalAntiAliasing*mAntiAliasing=NULL; -res=d3dSettingSrv->pVtbl->GetMorphologicalAntiAliasing(d3dSettingSrv,gpu,&mAntiAliasing); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(mAntiAliasing); -} - -//Releasethed3dAntiLaginterface -if(mAntiAliasing!=NULL) -{ -mAntiAliasing->pVtbl->Release(mAntiAliasing); -mAntiAliasing=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsServices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSupport(IADLX3DMorphologicalAntiAliasing*mAntiAliasing) -{ -adlx_boolsupported=false; -ADLX_RESULTres=mAntiAliasing->pVtbl->IsSupported(mAntiAliasing,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetState(IADLX3DMorphologicalAntiAliasing*mAntiAliasing) -{ -adlx_boolenabled=false; -ADLX_RESULTres=mAntiAliasing->pVtbl->IsEnabled(mAntiAliasing,&enabled); -printf("\tIsEnabled:%d,returncodeis:%d(0meanssuccess)\n",enabled,res); -} - -voidSetState(IADLX3DMorphologicalAntiAliasing*mAntiAliasing,intindex) -{ -ADLX_RESULTres=mAntiAliasing->pVtbl->SetEnabled(mAntiAliasing,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplaymorphologicalanti-aliasingsupport\n"); -printf("\t->Press2togetcurrentmorphologicalanti-aliasingstateoftheGPU\n"); -printf("\t->Press3toenablemorphologicalanti-aliasing\n"); -printf("\t->Press4todisablemorphologicalanti-aliasing\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DMorphologicalAntiAliasing*mAntiAliasing) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaymorphologicalanti-aliasingsupport -case'1': -ShowSupport(mAntiAliasing); -break; - -//Getanddisplaycurrentmorphologicalanti-aliasingstateoftheGPU -case'2': -GetState(mAntiAliasing); -break; - -//Setmorphologicalanti-aliasingstate -case'3': -case'4': -SetState(mAntiAliasing,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__perf_all_metrics.xml b/vendor/adlx/SDKDoc/xml/c__perf_all_metrics.xml deleted file mode 100644 index 79a443a..0000000 --- a/vendor/adlx/SDKDoc/xml/c__perf_all_metrics.xml +++ /dev/null @@ -1,682 +0,0 @@ - - - - c_PerfAllMetrics - PerfAllMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control all metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current all metrics.</td></tr> - <tr><td>2</td><td> Show historical all metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/PerformanceMonitoring/PerfAllMetrics</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" - - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//Displayallcurrentmetrics -voidShowCurrentAllMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//Displayallhistoricalmetrics -voidShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//ASCII° -staticconstsignedcharg_degree=248; - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXPerformanceMonitoringServices*perfMonitoringService=NULL; -res=sys->pVtbl->GetPerformanceMonitoringServices(sys,&perfMonitoringService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUList*gpus=NULL; -//GetGPUlist -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//UseinitialGPU -IADLXGPU*oneGPU=NULL; -res=gpus->pVtbl->At_GPUList(gpus,gpus->pVtbl->Begin(gpus),&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringService,oneGPU); -} -else -printf("\tGetparticularGPUfailed\n"); -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -else -printf("\tGetGPUlistfailed\n"); -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -printf("\tGetperformancemonitoringservicesfailed\n"); -if(perfMonitoringService!=NULL) -{ -perfMonitoringService->pVtbl->Release(perfMonitoringService); -perfMonitoringService=NULL; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChooseoneofthefollowingoptions\n"); - -printf("\t->Press1todisplayallcurrentmetrics\n"); -printf("\t->Press2todisplayallhistoricalmetrics\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayallcurrentmetrics -case'1': -ShowCurrentAllMetrics(perfMonitoringServices,oneGPU); -break; - -//Displayallhistoricalmetrics -case'2': -ShowHistoricalAllMetrics(perfMonitoringServices,oneGPU); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStampBySystem(IADLXSystemMetrics*systemMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=systemMetrics->pVtbl->TimeStamp(systemMetrics,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("Thesystemtimpstampis:%lldms\n",timeStamp); -} - -//DisplayCPUusage(in%) -voidShowCPUUsage(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplayCPUusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("CPUusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublecpuUsage=0; -res=systemMetrics->pVtbl->CPUUsage(systemMetrics,&cpuUsage); -if(ADLX_SUCCEEDED(res)) -printf("TheCPUusageis:%f%%\n",cpuUsage); -} -} -} - -//DisplaysystemRAM(inMB) -voidShowSystemRAM(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplaysystemRAMusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("SystemRAMusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsystemRAM=0; -res=systemMetrics->pVtbl->SystemRAM(systemMetrics,&systemRAM); -if(ADLX_SUCCEEDED(res)) -printf("ThesystemRAMis:%dMB\n",systemRAM); -} -} -} - -//DisplaySmartShift -voidShowSmartShift(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplaySmartShiftsupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("SmartShiftsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsmartShift; -res=systemMetrics->pVtbl->SmartShift(systemMetrics,&smartShift); -if(ADLX_SUCCEEDED(res)) -printf("Thesmartshiftis:%d\n",smartShift); -} -} -} - -//DisplaytheGPUmetricstimestamp(inms) -voidGetTimeStampByGPU(IADLXGPUMetrics*gpuMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=gpuMetrics->pVtbl->TimeStamp(gpuMetrics,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtimpstampis:%lldms\n",timeStamp); -} - -//DisplayGPUusage(in%) -voidShowGPUUsage(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUusagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doubleusage=0; -res=gpuMetrics->pVtbl->GPUUsage(gpuMetrics,&usage); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUusageis:%f%%\n",usage); -} -} -} - -//DisplayGPUclockspeed(inMHz) -voidShowGPUClockSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUsystemclocksupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsystemClock=0; -res=gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics,&systemClock); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUsystemclockis:%dMHz\n",systemClock); -} -} -} - -//DisplayGPUVRAMclockspeed(inMHz) -voidShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUVRAMclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUmemoryclocksupportstatus:%d\n",supported); -if(supported) -{ -adlx_intmemoryClock=0; -res=gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics,&memoryClock); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUmemoryclockis:%dMHz\n",memoryClock); -} -} -} - -//DisplayGPUtemperature(in°C) -voidShowGPUTemperature(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUtemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUtemperturesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->pVtbl->GPUTemperature(gpuMetrics,&temperature); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtemperatureis:%f%cC\n",temperature,g_degree); -} -} -} - -//DisplayGPUhotspottemperature(in°C) -voidShowGPUHotspotTemperature(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUhotspottemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUhotspottemperaturesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublehotspotTemperature=0; -res=gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics,&hotspotTemperature); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUhotspottemperatureis:%f%cC\n",hotspotTemperature,g_degree); -} -} -} - -//DisplayGPUpower(inW) -voidShowGPUPower(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUpowersupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUpowersupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->pVtbl->GPUPower(gpuMetrics,&power); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUpoweris:%fW\n",power); -} -} -} - -//DisplayGPUfanspeed(inRPM) -voidShowGPUFanSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUfanspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUfanspeedsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intfanSpeed=0; -res=gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics,&fanSpeed); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUfanspeedis:%dRPM\n",fanSpeed); -} -} -} - -//DisplayGPUVRAM(inMB) -voidShowGPUVRAM(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUVRAMsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUVRAMsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intVRAM=0; -res=gpuMetrics->pVtbl->GPUVRAM(gpuMetrics,&VRAM); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVRAMis:%dMB\n",VRAM); -} -} -} - -//DisplayGPUVoltage(inmV) -voidShowGPUVoltage(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUvoltagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUvoltagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_intVoltage=0; -res=gpuMetrics->pVtbl->GPUVoltage(gpuMetrics,&Voltage); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVoltageis:%dmV\n",Voltage); -} -} -} - -//Displayallcurrentmetrics -voidShowCurrentAllMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupport*systemMetricsSupport=NULL; -ADLX_RESULTres2=perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices,&systemMetricsSupport); -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -res2=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachof10loops -IADLXAllMetrics*allMetrics=NULL; -IADLXSystemMetrics*systemMetrics=NULL; -IADLXGPUMetrics*gpuMetrics=NULL; -IADLXFPS*oneFPS=NULL; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//Getallcurrentmetrics -ADLX_RESULTres1=perfMonitoringServices->pVtbl->GetCurrentAllMetrics(perfMonitoringServices,&allMetrics); -if(ADLX_SUCCEEDED(res1)) -{ -printf("Thecurrentallmetrics:\n"); -//Getcurrentsystemmetrics -res1=allMetrics->pVtbl->GetSystemMetrics(allMetrics,&systemMetrics); -//Displaytimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -GetTimeStampBySystem(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -} -//Free -if(systemMetrics!=NULL) -{ -systemMetrics->pVtbl->Release(systemMetrics); -systemMetrics=NULL; -} -//GetcurrentGPUmetrics -res1=allMetrics->pVtbl->GetGPUMetrics(allMetrics,oneGPU,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -GetTimeStampByGPU(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -} -//Free -if(gpuMetrics!=NULL) -{ -gpuMetrics->pVtbl->Release(gpuMetrics); -gpuMetrics=NULL; -} -//GetcurrentFPSmetrics -res1=allMetrics->pVtbl->GetFPS(allMetrics,&oneFPS); -if(ADLX_SUCCEEDED(res1)) -{ -adlx_int64timeStamp=0; -res1=oneFPS->pVtbl->TimeStamp(oneFPS,&timeStamp); -if(ADLX_SUCCEEDED(res1)) -printf("Thecurrentmetrictimestampis:%lldms\n",timeStamp); -adlx_intfpsData=0; -res1=oneFPS->pVtbl->FPS(oneFPS,&fpsData); -if(ADLX_SUCCEEDED(res1)) -printf("ThecurrentmetricFPSis:%d\n",fpsData); -elseif(res1==ADLX_NOT_SUPPORTED) -printf("FPSnotsupported\n"); -} -//Free -if(oneFPS!=NULL) -{ -oneFPS->pVtbl->Release(oneFPS); -oneFPS=NULL; -} -} -Sleep(1000); -//Free -if(allMetrics!=NULL) -{ -allMetrics->pVtbl->Release(allMetrics); -allMetrics=NULL; -} -} -//Free -if(systemMetricsSupport!=NULL) -{ -systemMetricsSupport->pVtbl->Release(systemMetricsSupport); -systemMetricsSupport=NULL; -} -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} - -MainMenu(); -} - -//Showallhistoricalmetrics -voidShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Clearhistoricaldatafailed\n"); -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Starttrackingperformancemetricsfailed\n"); -return; -} - -//Waitfor10secondstoaccumulatemetrics -printf("Waitfor10secondstoaccumulatemetrics...\n"); -Sleep(10000); - -//Getallmetricshistoryfrom10secondsago(10000ms:thesecondparameter)tothepresenttime(0ms:thethirdparameter) -IADLXAllMetricsList*allMetricsList=NULL; -res=perfMonitoringServices->pVtbl->GetAllMetricsHistory(perfMonitoringServices,10000,0,&allMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupport*systemMetricsSupport=NULL; -ADLX_RESULTsystemRes=perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices,&systemMetricsSupport); - -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -ADLX_RESULTgpuRes=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); - -//Displayallthemetricsinthelist -IADLXAllMetrics*allMetrics=NULL; -IADLXSystemMetrics*systemMetrics=NULL; -IADLXGPUMetrics*gpuMetrics=NULL; -IADLXFPS*oneFPS=NULL; -for(inti=allMetricsList->pVtbl->Begin(allMetricsList);i!=allMetricsList->pVtbl->End(allMetricsList);++i) -{ -printf("**********historicalsystemmetrics%d:**********\n",i+1); -res=allMetricsList->pVtbl->At_AllMetricsList(allMetricsList,i,&allMetrics); -if(ADLX_SUCCEEDED(res)) -{ -res=allMetrics->pVtbl->GetSystemMetrics(allMetrics,&systemMetrics); -//Displayfirstsystemmetricstimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(systemRes)&&ADLX_SUCCEEDED(res)) -{ -GetTimeStampBySystem(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -} -//Free -if(systemMetrics!=NULL) -{ -systemMetrics->pVtbl->Release(systemMetrics); -systemMetrics=NULL; -} -res=allMetrics->pVtbl->GetGPUMetrics(allMetrics,oneGPU,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(gpuRes)&&ADLX_SUCCEEDED(res)) -{ -GetTimeStampByGPU(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -} -//Free -if(gpuMetrics!=NULL) -{ -gpuMetrics->pVtbl->Release(gpuMetrics); -gpuMetrics=NULL; -} -res=allMetrics->pVtbl->GetFPS(allMetrics,&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->pVtbl->TimeStamp(oneFPS,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("Thetimestampis:%lldms\n",timeStamp); -adlx_intfpsData=0; -res=oneFPS->pVtbl->FPS(oneFPS,&fpsData); -if(ADLX_SUCCEEDED(res)) -printf("TheFPSis:%d\n",fpsData); -elseif(res==ADLX_NOT_SUPPORTED) -printf("Don'tsupportFPS\n"); -} -//Free -if(oneFPS!=NULL) -{ -oneFPS->pVtbl->Release(oneFPS); -oneFPS=NULL; -} -printf("\n"); -} -//Free -if(allMetrics!=NULL) -{ -allMetrics->pVtbl->Release(allMetrics); -allMetrics=NULL; -} -} -//Free -if(systemMetricsSupport!=NULL) -{ -systemMetricsSupport->pVtbl->Release(systemMetricsSupport); -systemMetricsSupport=NULL; -} -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} -} -//Free -if(allMetricsList!=NULL) -{ -allMetricsList->pVtbl->Release(allMetricsList); -allMetricsList=NULL; -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Stoptrackingperformancemetricsfailed\n"); -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__perf_f_p_s_metrics.xml b/vendor/adlx/SDKDoc/xml/c__perf_f_p_s_metrics.xml deleted file mode 100644 index ec4a071..0000000 --- a/vendor/adlx/SDKDoc/xml/c__perf_f_p_s_metrics.xml +++ /dev/null @@ -1,269 +0,0 @@ - - - - c_PerfFPSMetrics - PerfFPSMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control FPS metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current FPS metrics.</td></tr> - <tr><td>2</td><td> Show historical FPS metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/PerformanceMonitoring/PerfFPSMetrics</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" - - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//DisplaycurrentFPSmetrics -voidShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -//DisplayhistoricalFPSmetrics -voidShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXPerformanceMonitoringServices*perfMonitoringServices=NULL; -res=sys->pVtbl->GetPerformanceMonitoringServices(sys,&perfMonitoringServices); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringServices); -} -else -printf("\tGetPerformanceMonitoringservicesfailed\n"); -if(perfMonitoringServices!=NULL) -{ -perfMonitoringServices->pVtbl->Release(perfMonitoringServices); -perfMonitoringServices=NULL; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplaycurrentFPSmetrics\n"); -printf("\t->Press2todisplayhistoricalFPSmetrics\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaycurrentmetrics -case'1': -ShowCurrentFPSMetrics(perfMonitoringServices); -break; - -//Displayhistoricalmetrics -case'2': -ShowHistoricalFPSMetrics(perfMonitoringServices); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -//DisplaycurrentFPSmetrics -voidShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -//Accumulateanddisplaycurrentmetricsforeachofthe10loops -IADLXFPS*oneFPS=NULL; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//GetcurrentFPSmetrics -ADLX_RESULTres=perfMonitoringServices->pVtbl->GetCurrentFPS(perfMonitoringServices,&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->pVtbl->TimeStamp(oneFPS,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("Thecurrentmetrictimestampis:%lldms\n",timeStamp); -adlx_intfpsData=0; -res=oneFPS->pVtbl->FPS(oneFPS,&fpsData); -if(ADLX_SUCCEEDED(res)) -printf("ThecurrentmetricFPSis:%d\n",fpsData); -elseif(res==ADLX_NOT_SUPPORTED) -printf("FPSnotsupported\n"); -} -Sleep(1000); -if(oneFPS!=NULL) -{ -oneFPS->pVtbl->Release(oneFPS); -oneFPS=NULL; -} -} - -MainMenu(); -} - -//DisplayhistoricalFPSmetrics -voidShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Clearhistoricaldatafailed\n"); -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostarttrackingperformancemetrics\n"); -return; -} - -//Wait10secondstoaccumulatemetrics -printf("Waitfor10secondstoaccumulateFPS...\n"); -Sleep(10000); - -//GetFPSmetricshistoryfrom10secondsago(10000ms:thesecondparameter)tothepresenttime(0ms:thethirdparameter) -IADLXFPSList*fpsList=NULL; -res=perfMonitoringServices->pVtbl->GetFPSHistory(perfMonitoringServices,10000,0,&fpsList); -if(ADLX_SUCCEEDED(res)) -{ -//DisplayallthelistedFPSmetrics -IADLXFPS*oneFPS=NULL; -for(inti=fpsList->pVtbl->Begin(fpsList);i!=fpsList->pVtbl->End(fpsList);++i) -{ -printf("**********historicalFPSmetrics%d:**********\n",i+1); -res=fpsList->pVtbl->At_FPSList(fpsList,i,&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->pVtbl->TimeStamp(oneFPS,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("Thetimestampis:%lldms\n",timeStamp); -adlx_intfpsData=0; -res=oneFPS->pVtbl->FPS(oneFPS,&fpsData); -if(ADLX_SUCCEEDED(res)) -printf("TheFPSis:%d\n",fpsData); -elseif(res==ADLX_NOT_SUPPORTED) -printf("FPSnotsupported\n"); -} -printf("\n"); - -//Free -if(oneFPS!=NULL) -{ -oneFPS->pVtbl->Release(oneFPS); -oneFPS=NULL; -} -} -} - -//Free -if(fpsList!=NULL) -{ -fpsList->pVtbl->Release(fpsList); -fpsList=NULL; -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostoptrackingperformancemetrics\n"); -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__perf_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/c__perf_g_p_u_metrics.xml deleted file mode 100644 index c508d2f..0000000 --- a/vendor/adlx/SDKDoc/xml/c__perf_g_p_u_metrics.xml +++ /dev/null @@ -1,746 +0,0 @@ - - - - c_PerfGPUMetrics - PerfGPUMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show GPU metrics range.</td></tr> - <tr><td>2</td><td> Show current GPU metrics.</td></tr> - <tr><td>3</td><td> Show current GPU metrics from historical data.</td></tr> - <tr><td>4</td><td> Show historical GPU metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/PerformanceMonitoring/PerfGPUMetrics</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//ShowGPUmetricsrange -voidShowGPUMetricsRange(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//ShowcurrentGPUmetrics -voidShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); -voidShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//ShowhistoricalGPUmetrics -voidShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU); - -//ASCII° -staticconstsignedcharg_degree=248; - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXPerformanceMonitoringServices*perfMonitoringService=NULL; -res=sys->pVtbl->GetPerformanceMonitoringServices(sys,&perfMonitoringService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUList*gpus=NULL; -//GetGPUlist -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//UseinitialGPU -IADLXGPU*oneGPU=NULL; -res=gpus->pVtbl->At_GPUList(gpus,gpus->pVtbl->Begin(gpus),&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringService,oneGPU); -} -else -printf("\tGetparticularGPUfailed\n"); -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -else -printf("\tGetGPUlistfailed\n"); -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -printf("\tGetPerformanceMonitoringservicesfailed\n"); -if(perfMonitoringService!=NULL) -{ -perfMonitoringService->pVtbl->Release(perfMonitoringService); -perfMonitoringService=NULL; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializationfailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplaytheGPUmetricsrange\n"); -printf("\t->Press2todisplaythecurrentGPUmetrics\n"); -printf("\t->Press3todisplaythecurrentGPUmetricsfromhistoricaldata\n"); -printf("\t->Press4todisplaythehistoricalGPUmetrics\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//ShowGPUmetricsrange -case'1': -ShowGPUMetricsRange(perfMonitoringServices,oneGPU); -break; - -//DisplaycurrentGPUmetrics -case'2': -ShowCurrentGPUMetrics(perfMonitoringServices,oneGPU); -break; - -//DisplaycurrentGPUmetricsfromhistoricaldata -case'3': -ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices,oneGPU); -break; - -//DisplayhistoricalGPUmetrics -case'4': -ShowHistoricalGPUMetrics(perfMonitoringServices,oneGPU); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -//DisplayGPUmetricsrange -voidShowGPUMetricsRange(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -ADLX_RESULTres=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); -if(ADLX_SUCCEEDED(res)) -{ -adlx_intminValue=0,maxValue=0; - -//GetGPUusagerange -res=gpuMetricsSupport->pVtbl->GetGPUUsageRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUusagerangebetween%d%%and%d%%\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUusagerangenotsupported\n"); - -//GetGPUclockspeedrange -res=gpuMetricsSupport->pVtbl->GetGPUClockSpeedRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUclockspeedrangebetween%dMHzand%dMHz\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUclockspeedrangenotsupported\n"); - -//GetGPUVRAMclockspeedrange -res=gpuMetricsSupport->pVtbl->GetGPUVRAMClockSpeedRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVRAMclockspeedrangebetween%dMHzand%dMHz\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUVRAMclockspeedrangenotsupported\n"); - -//GetGPUtemperaturerange -res=gpuMetricsSupport->pVtbl->GetGPUTemperatureRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtemperaturerangebetween%d%cCand%d%cC\n",minValue,g_degree,maxValue,g_degree); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUtemperaturerangenotsupported\n"); - -//GetGPUhotspottemperaturerange -res=gpuMetricsSupport->pVtbl->GetGPUHotspotTemperatureRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUhotspottemperaturerangebetween%d%cCand%d%cC\n",minValue,g_degree,maxValue,g_degree); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUhotspottemperaturerangenotsupported\n"); - -//GetGPUpowerrange -res=gpuMetricsSupport->pVtbl->GetGPUPowerRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUpowerrangebetween%dWand%dW\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUpowerrangenotsupported\n"); - -//GetGPUfanspeedrange -res=gpuMetricsSupport->pVtbl->GetGPUFanSpeedRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUfanspeedrangebetween%dRPMand%dRPM\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUfanspeedrangenotsupported\n"); - -//GetGPUVRAMrange -res=gpuMetricsSupport->pVtbl->GetGPUVRAMRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVRAMrangebetween%dMBand%dMB\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUVRAMrangenotsupported\n"); - -//GetGPUvoltagerange -res=gpuMetricsSupport->pVtbl->GetGPUVoltageRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUvoltagerangebetween%dmVand%dmV\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUvoltagerangenotsupported\n"); - -//GetGPUtotalboardpowerrange -res=gpuMetricsSupport->pVtbl->GetGPUTotalBoardPowerRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtotalboardpowerrangebetween%dWand%dW\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUtotalboardpowerrangenotsupported\n"); - -//GetGPUintaketemperaturerange -res=gpuMetricsSupport->pVtbl->GetGPUIntakeTemperatureRange(gpuMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUintaketemperaturerangebetween%dWand%dW\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("GPUintaketemperaturerangenotsupported\n"); -} -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStamp(IADLXGPUMetrics*gpuMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=gpuMetrics->pVtbl->TimeStamp(gpuMetrics,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtimpstampis:%lldms\n",timeStamp); -} - -//DisplayGPUusage(in%) -voidShowGPUUsage(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUusagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doubleusage=0; -res=gpuMetrics->pVtbl->GPUUsage(gpuMetrics,&usage); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUusageis:%f%%\n",usage); -} -} -} - -//DisplayGPUclockspeed(inMHz) -voidShowGPUClockSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUclockspeedsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsystemClock=0; -res=gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics,&systemClock); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUsystemclockis:%dMHz\n",systemClock); -} -} -} - -//DisplayGPUVRAMclockspeed(inMHz) -voidShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplaytheGPUVRAMclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUVRAMclockspeedsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intmemoryClock=0; -res=gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics,&memoryClock); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUmemoryclockis:%dMHz\n",memoryClock); -} -} -} - -//DisplayGPUtemperature(in°C) -voidShowGPUTemperature(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplaytheGPUtemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUtemperaturesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->pVtbl->GPUTemperature(gpuMetrics,&temperature); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtemperatureis:%f%cC\n",temperature,g_degree); -} -} -} - -//DisplayGPUhotspottemperature(in°C) -voidShowGPUHotspotTemperature(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUhotspottemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUhotspottemperaturesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublehotspotTemperature=0; -res=gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics,&hotspotTemperature); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUhotspottemperatureis:%f%cC\n",hotspotTemperature,g_degree); -} -} -} - -//DisplayGPUpower(inW) -voidShowGPUPower(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUpowersupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUpowersupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->pVtbl->GPUPower(gpuMetrics,&power); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUpoweris:%fW\n",power); -} -} -} - -//DisplayGPUtotalboardpower(inW) -voidShowGPUTotalBoardPower(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUtotalboardpowersupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUTotalBoardPower(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUtotalboardpowersupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->pVtbl->GPUTotalBoardPower(gpuMetrics,&power); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUtotalboardpoweris:%fW\n",power); -} -} -} - -//DisplayGPUtemperature(in°C) -voidShowGPUIntakeTemperature(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplaytheGPUtemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUIntakeTemperature(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUintaketemperaturesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->pVtbl->GPUIntakeTemperature(gpuMetrics,&temperature); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUintaketemperatureis:%f%cC\n",temperature,g_degree); -} -} -} - -//DisplayGPUfanspeed(inRPM) -voidShowGPUFanSpeed(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUfanspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUfanspeedsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intfanSpeed=0; -res=gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics,&fanSpeed); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUfanspeedis:%dRPM\n",fanSpeed); -} -} -} - -//DisplayGPUVRAM(inMB) -voidShowGPUVRAM(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUVRAMsupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUVRAMsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intVRAM=0; -res=gpuMetrics->pVtbl->GPUVRAM(gpuMetrics,&VRAM); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVRAMis:%dMB\n",VRAM); -} -} -} - -//DisplayGPUVoltage(inmV) -voidShowGPUVoltage(IADLXGPUMetricsSupport*gpuMetricsSupport,IADLXGPUMetrics*gpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUvoltagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("GPUvoltagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_intVoltage=0; -res=gpuMetrics->pVtbl->GPUVoltage(gpuMetrics,&Voltage); -if(ADLX_SUCCEEDED(res)) -printf("TheGPUVoltageis:%dmV\n",Voltage); -} -} -} - -//DisplaycurrentGPUmetrics -voidShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -ADLX_RESULTres1=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachof10loops -IADLXGPUMetrics*gpuMetrics=NULL; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//GetcurrentGPUmetrics -ADLX_RESULTres2=perfMonitoringServices->pVtbl->GetCurrentGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetrics); - -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -printf("ThecurrentGPUmetrics:\n"); -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -} -Sleep(1000); - -//Free -if(gpuMetrics!=NULL) -{ -gpuMetrics->pVtbl->Release(gpuMetrics); -gpuMetrics=NULL; -} -} - -//Free -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} - -MainMenu(); -} - -voidShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtoclearhistoricaldata\n"); -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostarttrackingperformancemetrics\n"); -return; -} - -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -ADLX_RESULTmetricsSupportRet=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachof10loops -adlx_intstartMs=0; -adlx_intstopMs=0; -for(intit=0;it<10;++it) -{ -//Clearscreen -system("cls"); - -IADLXGPUMetricsList*gpuMetricsList=NULL; -res=perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices,oneGPU,startMs,stopMs,&gpuMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//DisplayalltheGPUmetricsinthelist -IADLXGPUMetrics*gpuMetrics=NULL; -for(inti=gpuMetricsList->pVtbl->Begin(gpuMetricsList);i!=gpuMetricsList->pVtbl->End(gpuMetricsList);++i) -{ -res=gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList,i,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(metricsSupportRet)&&ADLX_SUCCEEDED(res)) -{ -printf("ThecurrentGPUmetrics:\n"); -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -} - -//ReleaseIADLXGPUMetricsinterface -if(gpuMetrics!=NULL) -{ -gpuMetrics->pVtbl->Release(gpuMetrics); -gpuMetrics=NULL; -} -} -} - -//ReleaseIADLXGPUMetricsListinterface -if(gpuMetricsList!=NULL) -{ -gpuMetricsList->pVtbl->Release(gpuMetricsList); -gpuMetricsList=NULL; -} - -Sleep(1000); -} - -//ReleaseIADLXGPUMetricsSupportinterface -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostoptrackingperformancemetrics\n"); -} - -MainMenu(); -} - -//DisplayhistoricalGPUMetrics -voidShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices,IADLXGPU*oneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtoclearhistoricaldata\n"); -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostarttrackingperformancemetrics\n"); -return; -} - -//Waitfor10secondstoaccumulatemetrics -printf("Waitfor10secondstoaccumulatemetrics...\n"); -Sleep(10000); - -//GetGPUmetricshistoryfrom10secondsago(10000ms:thethirdparameter)tothepresenttime(0ms:thefourthparameter) -IADLXGPUMetricsList*gpuMetricsList=NULL; -res=perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices,oneGPU,10000,0,&gpuMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupport*gpuMetricsSupport=NULL; -ADLX_RESULTres1=perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices,oneGPU,&gpuMetricsSupport); - -//DisplayalltheGPUmetricsinthelist -IADLXGPUMetrics*gpuMetrics=NULL; -for(inti=gpuMetricsList->pVtbl->Begin(gpuMetricsList);i!=gpuMetricsList->pVtbl->End(gpuMetricsList);++i) -{ -printf("**********historicalGPUmetrics%d:**********\n",i+1); -ADLX_RESULTres2=gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList,i,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -} -printf("\n"); -if(gpuMetrics!=NULL) -{ -gpuMetrics->pVtbl->Release(gpuMetrics); -gpuMetrics=NULL; -} -} -if(gpuMetricsSupport!=NULL) -{ -gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); -gpuMetricsSupport=NULL; -} -} -if(gpuMetricsList!=NULL) -{ -gpuMetricsList->pVtbl->Release(gpuMetricsList); -gpuMetricsList=NULL; -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostoptrackingperformancemetrics\n"); -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__perf_system_metrics.xml b/vendor/adlx/SDKDoc/xml/c__perf_system_metrics.xml deleted file mode 100644 index 2566028..0000000 --- a/vendor/adlx/SDKDoc/xml/c__perf_system_metrics.xml +++ /dev/null @@ -1,478 +0,0 @@ - - - - c_PerfSystemMetrics - PerfSystemMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control system metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current system metrics.</td></tr> - <tr><td>2</td><td> Show historical system metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/PerformanceMonitoring/PerfSystemMetrics</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring1.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Displaysystemmetricsrange -voidShowSystemMetricsRange(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//Displaycurrentsystemmetrics -voidShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -//Displayhistoricalsystemmetrics -voidShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXPerformanceMonitoringServices*perfMonitoringServices=NULL; -ADLX_RESULTres=sys->pVtbl->GetPerformanceMonitoringServices(sys,&perfMonitoringServices); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringServices); -} -else -printf("\tGetperformancemonitoringservicesfailed\n"); -if(perfMonitoringServices!=NULL) -{ -perfMonitoringServices->pVtbl->Release(perfMonitoringServices); -perfMonitoringServices=NULL; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplaythesystemmetricsrange\n"); -printf("\t->Press2todisplaythecurrentsystemmetrics\n"); -printf("\t->Press3todisplaythehistoricalsystemmetrics\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaysystemmetricsrange -case'1': -ShowSystemMetricsRange(perfMonitoringServices); -break; - -//Displaycurrentmetrics -case'2': -ShowCurrentSystemMetrics(perfMonitoringServices); -break; - -//Displayhistoricalmetrics -case'3': -ShowHistoricalSystemMetrics(perfMonitoringServices); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -//Displaysystemmetricsrange -voidShowSystemMetricsRange(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupport*systemMetricsSupport=NULL; -ADLX_RESULTres=perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices,&systemMetricsSupport); -if(ADLX_SUCCEEDED(res)) -{ -adlx_intminValue=0,maxValue=0; - -//GetCPUusagerange -res=systemMetricsSupport->pVtbl->GetCPUUsageRange(systemMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("TheCPUusagerangebetween%d%%and%d%%\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("CPUusagerangenotsupported\n"); - -//GetsystemRAMrange -res=systemMetricsSupport->pVtbl->GetSystemRAMRange(systemMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("ThesystemRAMrangebetween%dMBand%dMB\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("SystemRAMrangenotsupported\n"); - -//GetSmartShiftrange -res=systemMetricsSupport->pVtbl->GetSmartShiftRange(systemMetricsSupport,&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -printf("Thesmartshiftrangebetween%dand%d\n",minValue,maxValue); -elseif(res==ADLX_NOT_SUPPORTED) -printf("SmartShiftrangenotsupported\n"); -} -if(systemMetricsSupport!=NULL) -{ -systemMetricsSupport->pVtbl->Release(systemMetricsSupport); -systemMetricsSupport=NULL; -} -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStamp(IADLXSystemMetrics*systemMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=systemMetrics->pVtbl->TimeStamp(systemMetrics,&timeStamp); -if(ADLX_SUCCEEDED(res)) -printf("Thesystemtimpstampis:%lldms\n",timeStamp); -} - -//DisplayCPUusage(in%) -voidShowCPUUsage(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplayCPUusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("CPUusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_doublecpuUsage=0; -res=systemMetrics->pVtbl->CPUUsage(systemMetrics,&cpuUsage); -if(ADLX_SUCCEEDED(res)) -printf("TheCPUusageis:%f%%\n",cpuUsage); -} -} -} - -//DisplaysystemRAM(inMB) -voidShowSystemRAM(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplaysystemRAMusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("SystemRAMusagesupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsystemRAM=0; -res=systemMetrics->pVtbl->SystemRAM(systemMetrics,&systemRAM); -if(ADLX_SUCCEEDED(res)) -printf("ThesystemRAMis:%dMB\n",systemRAM); -} -} -} - -//ShowSmartShift -voidShowSmartShift(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -adlx_boolsupported=false; -//DisplaySmartShiftsupportstatus -ADLX_RESULTres=systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("SmartShiftsupportstatus:%d\n",supported); -if(supported) -{ -adlx_intsmartShift; -res=systemMetrics->pVtbl->SmartShift(systemMetrics,&smartShift); -if(ADLX_SUCCEEDED(res)) -printf("Thesmartshiftis:%d\n",smartShift); -} -} -} - -//ShowSmartShiftMax -voidShowSmartShiftMax(IADLXSystemMetricsSupport*systemMetricsSupport,IADLXSystemMetrics*systemMetrics) -{ -IADLXSystemMetricsSupport1*sysMetricsSupport1=NULL; -ADLX_RESULTres=systemMetricsSupport->pVtbl->QueryInterface(systemMetricsSupport,IID_IADLXSystemMetricsSupport1(),(void**)&sysMetricsSupport1); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -//Displaypowerdistributionsupportstatus -res=sysMetricsSupport1->pVtbl->IsSupportedPowerDistribution(sysMetricsSupport1,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("PowerDistributionsupportstatus:%d\n",supported); -if(supported) -{ -IADLXSystemMetrics1*sysMetrics1=NULL; -res=systemMetrics->pVtbl->QueryInterface(systemMetrics,IID_IADLXSystemMetrics1(),(void*)&sysMetrics1); -if(ADLX_SUCCEEDED(res)) -{ -intapuShiftValue,gpuShiftValue,apuShiftLimit,gpuShiftLimit,totalShiftLimit; -res=sysMetrics1->pVtbl->PowerDistribution(sysMetrics1,&apuShiftValue,&gpuShiftValue,&apuShiftLimit,&gpuShiftLimit,&totalShiftLimit); -if(ADLX_SUCCEEDED(res)) -printf("ThePowerDistributionis:\napuShiftValue:%d,gpuShiftValue:%d,apuShiftLimit:%d,gpuShiftLimit:%d,totalShiftLimit:%d\n" -,apuShiftValue,gpuShiftValue,apuShiftLimit,gpuShiftLimit,totalShiftLimit); - -//ReleaseIADLXSystemMetrics1interface -sysMetrics1->pVtbl->Release(sysMetrics1); -} -else -{ -printf("\tGetIADLXSystemMetrics1Ptrfailed\n"); -} -} -} - -//ReleaseIADLXSystemMetricsSupport1interface -sysMetricsSupport1->pVtbl->Release(sysMetricsSupport1); -} -else -{ -printf("\tGetIADLXSystemMetricsSupport1Ptrfailed\n"); -} -} - -//Displaycurrentsystemmetrics -voidShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupport*systemMetricsSupport=NULL; -ADLX_RESULTres1=perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices,&systemMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachofthe10loops -IADLXSystemMetrics*systemMetrics=NULL; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//Getcurrentsystemmetrics -ADLX_RESULTres2=perfMonitoringServices->pVtbl->GetCurrentSystemMetrics(perfMonitoringServices,&systemMetrics); - -//Displaytimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -printf("Thecurrentsystemmetrics:\n"); -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -ShowSmartShiftMax(systemMetricsSupport,systemMetrics); -} -Sleep(1000); - -//Free -if(systemMetrics!=NULL) -{ -systemMetrics->pVtbl->Release(systemMetrics); -systemMetrics=NULL; -} -} - -//Free -if(systemMetricsSupport!=NULL) -{ -systemMetricsSupport->pVtbl->Release(systemMetricsSupport); -systemMetricsSupport=NULL; -} - -MainMenu(); -} - -//Displayhistoricalsystemmetrics -voidShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices*perfMonitoringServices) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtoclearhistoricaldata\n"); -return; -} - -//Getcurrentmaxhistoricalsize(ins) -adlx_intmaxHistorySize=0; -res=perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices,&maxHistorySize); -if(ADLX_SUCCEEDED(res)) -printf("Thecurrentmaxhistoricalsizeis:%ds\n",maxHistorySize); -//Getthemaxhistoricalsizerange.Themaxhistoricalsizemustbesetwithinthisrange. -ADLX_IntRangerange; -res=perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySizeRange(perfMonitoringServices,&range); -if(ADLX_SUCCEEDED(res)) -printf("Therangeofmaxhistoricalsizeis:(%d,%d)s\n",range.minValue,range.maxValue); -//Changemaxhistoricalsizetominimumvalue -res=perfMonitoringServices->pVtbl->SetMaxPerformanceMetricsHistorySize(perfMonitoringServices,range.minValue); -if(ADLX_SUCCEEDED(res)) -{ -perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices,&maxHistorySize); -printf("Setmaxhistoricalsizetominimumvaluesucceeded,thecurrentmaxhistoricalis:%ds\n",maxHistorySize); -} - -//Getcurrentsamplinginterval(inms) -adlx_intsamplingInterval=0; -res=perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices,&samplingInterval); -if(ADLX_SUCCEEDED(res)) -printf("Thecurrentsamplingintervalis:%dms\n",samplingInterval); -//Getthesamplingintervalrange.Thesamplingintervalmustbesetwithinthisrange. -res=perfMonitoringServices->pVtbl->GetSamplingIntervalRange(perfMonitoringServices,&range); -if(ADLX_SUCCEEDED(res)) -printf("Therangeofsamplingintervalis:(%d,%d)ms\n",range.minValue,range.maxValue); -//Changesamplingintervaltominimumvalue -res=perfMonitoringServices->pVtbl->SetSamplingInterval(perfMonitoringServices,range.minValue); -if(ADLX_SUCCEEDED(res)) -{ -perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices,&samplingInterval); -printf("Setsamplingintervaltominimumvaluesucceeded,thecurrentsamplingintervalis:%dms\n",samplingInterval); -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostarttrackingperformancemetrics\n"); -return; -} - -//Waitfor10secondstoaccumulatemetrics -printf("Waitfor10secondstoaccumulatemetrics...\n"); -Sleep(10000); - -//Checkthecurrentperformancemetricshistoricalsize(ins)uponaccumulation -adlx_intcurrentHistorySize=0; -res=perfMonitoringServices->pVtbl->GetCurrentPerformanceMetricsHistorySize(perfMonitoringServices,&currentHistorySize); -if(ADLX_SUCCEEDED(res)) -printf("Thecurrenthistoricalsizeis:%ds\n",currentHistorySize); - -//Getsystemmetricshistoryfrom10secondsago(10000ms:thesecondparameter)tothepresenttime(0ms:thethirdparameter) -IADLXSystemMetricsList*systemMetricsList=NULL; -res=perfMonitoringServices->pVtbl->GetSystemMetricsHistory(perfMonitoringServices,10000,0,&systemMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//Getthesystemmetricssupport -IADLXSystemMetricsSupport*systemMetricsSupport=NULL; -ADLX_RESULTres1=perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices,&systemMetricsSupport); - -//Displayallthesystemmetricsinthelist -IADLXSystemMetrics*systemMetrics=NULL; -for(inti=systemMetricsList->pVtbl->Begin(systemMetricsList);i!=systemMetricsList->pVtbl->End(systemMetricsList);++i) -{ -printf("**********historicalsystemmetrics%d:**********\n",i+1); -ADLX_RESULTres2=systemMetricsList->pVtbl->At_SystemMetricsList(systemMetricsList,i,&systemMetrics); -//Displayfirstsystemmetricstimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -ShowSmartShiftMax(systemMetricsSupport,systemMetrics); -} -printf("\n"); -if(systemMetrics!=NULL) -{ -systemMetrics->pVtbl->Release(systemMetrics); -systemMetrics=NULL; -} -} -if(systemMetricsSupport!=NULL) -{ -systemMetricsSupport->pVtbl->Release(systemMetricsSupport); -systemMetricsSupport=NULL; -} -} -if(systemMetricsList!=NULL) -{ -systemMetricsList->pVtbl->Release(systemMetricsList); -systemMetricsList=NULL; -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); -if(ADLX_FAILED(res)) -{ -printf("Failedtostoptrackingperformancemetrics\n"); -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__r_s_r.xml b/vendor/adlx/SDKDoc/xml/c__r_s_r.xml deleted file mode 100644 index 6482519..0000000 --- a/vendor/adlx/SDKDoc/xml/c__r_s_r.xml +++ /dev/null @@ -1,228 +0,0 @@ - - - - c_RSR - RSR - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Super Resolution support</td></tr> - <tr><td>2</td><td> Get current Radeon Super Resolution state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure sharpness</td></tr> - <tr><td>4</td><td> Disable Radeon Super Resolution</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/RSR</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayRadeonSuperResolutionsupport -voidShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution*rsr); - -//DisplaycurrentRadeonSuperResolutionstate -voidGetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution*rsr); - -//SetRadeonSuperResolutionstate -voidSetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution*rsr,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DRadeonSuperResolution*rsr); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetRadeonSuperResolutioninterface -IADLX3DRadeonSuperResolution*rsr=NULL; -res=d3dSettingSrv->pVtbl->GetRadeonSuperResolution(d3dSettingSrv,&rsr); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(rsr); -} -else -{ -printf("GetRadeonSuperResolutionres:%d\n",res); -} - -//ReleasetheRadeonSuperResolutioninterface -if(rsr!=NULL) -{ -rsr->pVtbl->Release(rsr); -rsr=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution*rsr) -{ -adlx_boolsupported=false; -ADLX_RESULTres=rsr->pVtbl->IsSupported(rsr,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported:%d\n",supported); -} - -voidGetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution*rsr) -{ -adlx_boolenabled=false; -ADLX_RESULTres=rsr->pVtbl->IsEnabled(rsr,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("\tIsEnabled:%d\n",enabled); -adlx_intsharpness; -ADLX_IntRangesharpnessRange; -res=rsr->pVtbl->GetSharpness(rsr,&sharpness); -if(ADLX_SUCCEEDED(res)) -printf("\tCurrentsharpness:%d\n",sharpness); -res=rsr->pVtbl->GetSharpnessRange(rsr,&sharpnessRange); -if(ADLX_SUCCEEDED(res)) -printf("\tSharpnesslimit[%d,%d],step:%d\n",sharpnessRange.minValue,sharpnessRange.maxValue,sharpnessRange.step); -} - -voidSetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution*rsr,intindex) -{ -ADLX_RESULTres=rsr->pVtbl->SetEnabled(rsr,index==0); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intsharpness; -ADLX_IntRangesharpnessRange; -ADLX_RESULTres1=rsr->pVtbl->GetSharpness(rsr,&sharpness); -ADLX_RESULTres2=rsr->pVtbl->GetSharpnessRange(rsr,&sharpnessRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -if(sharpness!=sharpnessRange.minValue) -{ -res=rsr->pVtbl->SetSharpness(rsr,sharpnessRange.minValue); -printf("\tUseminimumsharpnesslimit,returncodeis:%d(0meanssuccess)\n",res); -} -else -{ -res=rsr->pVtbl->SetSharpness(rsr,sharpnessRange.maxValue); -printf("\tUsemaximumsharpnesslimit,returncodeis:%d(0meanssuccess)\n",res); -} -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayRadeonSuperResolutionsupport\n"); -printf("\t->Press2todisplaycurrentRadeonSuperResolutionstate\n"); -printf("\t->Press3toenableRadeonSuperResolution\n"); -printf("\t->Press4todisableRadeonSuperResolution\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DRadeonSuperResolution*rsr) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayRadeonSuperResolutionsupport -case'1': -ShowRadeonSuperResolutionSupport(rsr); -break; - -//DisplaycurrentRadeonSuperResolutionstate -case'2': -GetRadeonSuperResolutionState(rsr); -break; - -//SetRadeonSuperResolution -case'3': -case'4': -SetRadeonSuperResolutionState(rsr,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/c__reset_shader_cache.xml deleted file mode 100644 index 63d4c30..0000000 --- a/vendor/adlx/SDKDoc/xml/c__reset_shader_cache.xml +++ /dev/null @@ -1,195 +0,0 @@ - - - - c_ResetShaderCache - ResetShaderCache - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display reset shader cache support</td></tr> - <tr><td>2</td><td> Reset GPU shader cache</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/ResetShaderCache</p> -</body> -</html> Code - -C -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Displayresetshadercachesupport -voidShowSupport(IADLX3DResetShaderCache*resetShaderCache); - -//ResetGPUshadercache -voidResetShaderCache(IADLX3DResetShaderCache*resetShaderCache); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DResetShaderCache*resetShaderCache); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetResetShaderCacheinterface -IADLX3DResetShaderCache*resetShaderCache=NULL; -res=d3dSettingSrv->pVtbl->GetResetShaderCache(d3dSettingSrv,gpu,&resetShaderCache); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(resetShaderCache); -} - -//ReleasetheResetShaderCacheinterface -if(resetShaderCache!=NULL) -{ -resetShaderCache->pVtbl->Release(resetShaderCache); -resetShaderCache=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSupport(IADLX3DResetShaderCache*resetShaderCache) -{ -adlx_boolsupported=false; -ADLX_RESULTres=resetShaderCache->pVtbl->IsSupported(resetShaderCache,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidResetShaderCache(IADLX3DResetShaderCache*resetShaderCache) -{ -ADLX_RESULTres=resetShaderCache->pVtbl->ResetShaderCache(resetShaderCache); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); -printf("\t->Press1todisplayresetshadercachesupport\n"); -printf("\t->Press2toresetGPUshadercache\n"); -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DResetShaderCache*resetShaderCache) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayresetshadercachesupport -case'1': -ShowSupport(resetShaderCache); -break; - -//ResetGPUshadercache -case'2': -ResetShaderCache(resetShaderCache); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__sync3_d_receive.xml b/vendor/adlx/SDKDoc/xml/c__sync3_d_receive.xml deleted file mode 100644 index ded6ece..0000000 --- a/vendor/adlx/SDKDoc/xml/c__sync3_d_receive.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - c_Sync3DReceive - Sync3DReceive - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in 3D settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as <a class="el" href="c__anti_lag.html">AntiLag.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/C/ReceivingEventsNotifications/Sync3DReceive</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include"conio.h" - -//Blockeventtoverifycallback -HANDLEblockEvent=NULL; -HANDLEquitEvent=NULL; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName); - -//Callbacktohandlechangedevents -adlx_boolADLX_STD_CALLOn3DSettingsChanged(IADLX3DSettingsChangedListener*pThis,IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent) -{ -//GettheGPUinterface -IADLXGPU*gpu=NULL; -p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent,&gpu); - -//RadeonSuperResolutionisaglobalfeature(theGPUinterfaceisNULL);skipprintingitsname -if(!p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent)) -{ -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -printf("GPU:%sgetsyncevent\n",uniqueName); -} -ADLX_SYNC_ORIGINorigin=p3DSettingsChangedEvent->pVtbl->GetOrigin(p3DSettingsChangedEvent); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -if(p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent)) -{ -printf("\tAnti-Lagischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsChillChanged(p3DSettingsChangedEvent)) -{ -printf("\tChillischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsBoostChanged(p3DSettingsChangedEvent)) -{ -printf("\tBoostischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsImageSharpeningChanged(p3DSettingsChangedEvent)) -{ -printf("\tImageSharpeningischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsEnhancedSyncChanged(p3DSettingsChangedEvent)) -{ -printf("\tEnhancedSyncischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsWaitForVerticalRefreshChanged(p3DSettingsChangedEvent)) -{ -printf("\tWaitForVerticalRefreshischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsFrameRateTargetControlChanged(p3DSettingsChangedEvent)) -{ -printf("\tFRTCischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsAntiAliasingChanged(p3DSettingsChangedEvent)) -{ -printf("\tAnti-Aliasingischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsMorphologicalAntiAliasingChanged(p3DSettingsChangedEvent)) -{ -printf("\tMorphologicalAnti-Aliasingischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsAnisotropicFilteringChanged(p3DSettingsChangedEvent)) -{ -printf("\tAnisotropicFilteringischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsTessellationModeChanged(p3DSettingsChangedEvent)) -{ -printf("\tTessellationModeischanged\n"); -} -elseif(p3DSettingsChangedEvent->pVtbl->IsResetShaderCache(p3DSettingsChangedEvent)) -{ -printf("\tResetShaderCache\n"); -} -} - -if(origin==SYNC_ORIGIN_UNKNOWN) -{ -if(p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent)) -{ -printf("\tgetsyncevent,RSRchanged\n"); -} -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} - -SetEvent(blockEvent); - -//ReturntrueforADLXtocontinuenotifyingthenextlistener,orfalsetostopnotification -returntrue; -} - -//Waitforquitsignal -DWORDWINAPIQuitWait(LPVOIDlpParam) -{ -adlx_bool*loopFlag=(adlx_bool*)lpParam; -while(true) -{ -//Non-blockingcheckingiftheI/Ocachehascharacters -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(quitEvent); -break; -} -} -Sleep(100); -} -return0; -} - -staticIADLX3DSettingsChangedListenerVtblvtbl={&On3DSettingsChanged}; -staticIADLX3DSettingsChangedListenereventListener={&vtbl}; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createquitevent -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createeventarray -HANDLEeventArray[]={blockEvent,quitEvent}; - -//GettheSystemServicesinterface -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getthe3DSettingsServiceinterface -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GettheChangeHandleinterface -IADLX3DSettingsChangedHandling*changeHandle=NULL;; -res=d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv,&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Addcallback -changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle,&eventListener); - -//Createathreadtodetectquitinput -adlx_boolloopFlag=true; -DWORDthreadId=0; -HANDLEhThread=CreateThread(NULL,0,QuitWait,&loopFlag,0,&threadId); - -printf("\nWaitingfor3DSettingchangeevent...PressQ/qtoquit\n"); -while(true) -{ -//Waitforchangeeventorrequesttoquit -DWORDwaitRet=WaitForMultipleObjects(2,eventArray,FALSE,INFINITE); -if(!loopFlag) -{ -CloseHandle(hThread); -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle,&eventListener); -} -//ReleasetheChangeHandleinterface -if(changeHandle!=NULL) -{ -changeHandle->pVtbl->Release(changeHandle); -changeHandle=NULL; -} -//Releasethe3DSettingsServicesinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsServices\n"); -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); -if(quitEvent) -CloseHandle(quitEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName) -{ -if(NULL!=gpu&&NULL!=uniqueName) -{ -constchar*gpuName=NULL; -gpu->pVtbl->Name(gpu,&gpuName); -adlx_intid; -gpu->pVtbl->UniqueId(gpu,&id); -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__sync_display_receive.xml b/vendor/adlx/SDKDoc/xml/c__sync_display_receive.xml deleted file mode 100644 index ef79256..0000000 --- a/vendor/adlx/SDKDoc/xml/c__sync_display_receive.xml +++ /dev/null @@ -1,344 +0,0 @@ - - - - c_SyncDisplayReceive - SyncDisplayReceive - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in display settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="c_display__free_sync.html">DisplayFreeSync.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" -#include"SDK/Include/IDisplays1.h" -#include"SDK/Include/IDisplays2.h" -#include"SDK/Include/IDisplaySettings.h" -#include"conio.h" - -//Blockeventtoverifycallback -HANDLEdisplaySettingsEvent=NULL; -HANDLEdisplay3DLUTEvent=NULL; -//Quiteventtoexit -HANDLEquitEvent=NULL; - -//Getthedisplayuniquename -voidDisplayUniqueName(IADLXDisplay*display,char*uniqueName); - -//Callbacktohandlechangedevents -adlx_boolADLX_STD_CALLOnDisplaySettingsChanged(IADLXDisplaySettingsChangedListener*pThis,IADLXDisplaySettingsChangedEvent*pDisplaySettingsChangedEvent) -{ -ADLX_SYNC_ORIGINorigin=pDisplaySettingsChangedEvent->pVtbl->GetOrigin(pDisplaySettingsChangedEvent); - -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -IADLXDisplay*display=NULL; -pDisplaySettingsChangedEvent->pVtbl->GetDisplay(pDisplaySettingsChangedEvent,&display); -chardisplayName[128]="Unknown"; -DisplayUniqueName(display,displayName); -if(pDisplaySettingsChangedEvent->pVtbl->IsColorDepthChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,ColorDepthischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomColorBrightnessChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomColorBrightnessischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomColorContrastChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomColorContrastischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomColorHueChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomColorHueischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomColorSaturationChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomColorSaturationischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomColorTemperatureChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomColorTemperatureischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsCustomResolutionChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,CustomResolutionischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsFreeSyncChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,FreeSyncischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsGPUScalingChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,GPUScalingischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsHDCPChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,HDCPischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsIntegerScalingChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,IntegerScalingischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsPixelFormatChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,PixelFormatischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsScalingModeChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,ScalingModeischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsVariBrightChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,VariBrightischanged\n",displayName); -} -elseif(pDisplaySettingsChangedEvent->pVtbl->IsVSRChanged(pDisplaySettingsChangedEvent)) -{ -printf("Display%sgetsyncevent,VSRischanged\n",displayName); -} - -//GetIADLXDisplaySettingsChangedEvent1interface -IADLXDisplaySettingsChangedEvent1*pDisplaySettingChangedEvent1=NULL; -ADLX_RESULTres=pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent,IID_IADLXDisplaySettingsChangedEvent1(),&pDisplaySettingChangedEvent1); -if(!ADLX_SUCCEEDED(res)||NULL==pDisplaySettingChangedEvent1) -{ -printf("IID_IADLXDisplaySettingsChangedEvent1notsupported"); -} -else -{ -if(pDisplaySettingChangedEvent1->pVtbl->IsDisplayBlankingChanged(pDisplaySettingChangedEvent1)) -{ -printf("Display%sgetsyncevent,Displayblankingischanged\n",displayName); -} -} - -//ReleasetheIADLXDisplaySettingsChangedEvent1interface -if(pDisplaySettingChangedEvent1!=NULL) -{ -pDisplaySettingChangedEvent1->pVtbl->Release(pDisplaySettingChangedEvent1); -pDisplaySettingChangedEvent1=NULL; -} - -//GetIADLXDisplaySettingsChangedEvent2interface -IADLXDisplaySettingsChangedEvent2*pDisplaySettingChangedEvent2=NULL; -res=pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent,IID_IADLXDisplaySettingsChangedEvent2(),&pDisplaySettingChangedEvent2); -if(!ADLX_SUCCEEDED(res)||NULL==pDisplaySettingChangedEvent2) -{ -printf("IID_IADLXDisplaySettingsChangedEvent2notsupported"); -} -else -{ -if(pDisplaySettingChangedEvent2->pVtbl->IsDisplayConnectivityExperienceChanged(pDisplaySettingChangedEvent2)) -{ -printf("Display%sgetsyncevent,Displayconnectivityexperienceischanged\n",displayName); -} -} - -//ReleasetheIADLXDisplaySettingsChangedEvent2interface -if(pDisplaySettingChangedEvent2!=NULL) -{ -pDisplaySettingChangedEvent2->pVtbl->Release(pDisplaySettingChangedEvent2); -pDisplaySettingChangedEvent2=NULL; -} - -//ReleasetheDisplayinterface -if(display!=NULL) -{ -display->pVtbl->Release(display); -display=NULL; -} -} -SetEvent(displaySettingsEvent); - -//ReturntrueforADLXtocontinuenotifyingthenextlistener,orfalsetostopnotification -returntrue; -} - -adlx_boolADLX_STD_CALLOnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener*pThis,IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent) -{ -ADLX_SYNC_ORIGINorigin=pDisplay3DLUTChangedEvent->pVtbl->GetOrigin(pDisplay3DLUTChangedEvent); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -IADLXDisplay*display=NULL; -pDisplay3DLUTChangedEvent->pVtbl->GetDisplay(pDisplay3DLUTChangedEvent,&display); -constchar*displayName=NULL; -display->pVtbl->Name(display,&displayName); -if(pDisplay3DLUTChangedEvent->pVtbl->IsSCEChanged(pDisplay3DLUTChangedEvent)) -{ -printf("Display%sgetsyncevent,SCEischanged\n",displayName); -} -elseif(pDisplay3DLUTChangedEvent->pVtbl->IsCustom3DLUTChanged(pDisplay3DLUTChangedEvent)) -{ -printf("Display%sgetsyncevent,Custom3DLUTischanged\n",displayName); -} - -//ReleasetheDisplayinterface -if(display!=NULL) -{ -display->pVtbl->Release(display); -display=NULL; -} -} -SetEvent(display3DLUTEvent); - -//ReturntrueforADLXtocontinuenotifyingthenextlistener,orfalsetostopnotification -returntrue; -} - -staticIADLXDisplaySettingsChangedListenerVtbldisplaySettingsVtbl={&OnDisplaySettingsChanged}; -staticIADLXDisplaySettingsChangedListenerdisplaySettingsEventListener={&displaySettingsVtbl}; -staticIADLXDisplay3DLUTChangedListenerVtbldisplay3DLUTVtbl={&OnDisplay3DLUTChanged}; -staticIADLXDisplay3DLUTChangedListenerdisplay3DLUTEventListener={&display3DLUTVtbl}; - -DWORDWINAPIQuitWait(LPVOIDlpParam) -{ -adlx_bool*loopFlag=(adlx_bool*)lpParam; -while(true) -{ -//Non-blockingcheckingiftheI/Ocachehascharacters -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(quitEvent); -break; -} -} -Sleep(100); -} -return0; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -displaySettingsEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -display3DLUTEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -//Createquitevent -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createeventarray -HANDLEeventArray[]={displaySettingsEvent,display3DLUTEvent,quitEvent}; - -//GetDisplayServices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXDisplayServices*displayServices=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayServices); - -if(ADLX_SUCCEEDED(res)) -{ -//GettheChangeHandleinterface -IADLXDisplayChangedHandling*changeHandle=NULL; -res=displayServices->pVtbl->GetDisplayChangedHandling(displayServices,&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Addcallback -changeHandle->pVtbl->AddDisplaySettingsEventListener(changeHandle,&displaySettingsEventListener); -changeHandle->pVtbl->AddDisplay3DLUTEventListener(changeHandle,&display3DLUTEventListener); - -//Createathreadtodetectquitinput -adlx_boolloopFlag=true; -DWORDthreadId=0; -HANDLEhThread=CreateThread(NULL,0,QuitWait,&loopFlag,0,&threadId); - -printf("\nWaitingfordisplaychangeevent...PressQ/qtoquit\n"); -while(true) -{ -//Waitforchangeeventorrequesttoquit -DWORDwaitRet=WaitForMultipleObjects(3,eventArray,FALSE,INFINITE); -if(!loopFlag) -{ -CloseHandle(hThread); -break; -} -} - -//Removecallback -changeHandle->pVtbl->RemoveDisplaySettingsEventListener(changeHandle,&displaySettingsEventListener); -changeHandle->pVtbl->RemoveDisplay3DLUTEventListener(changeHandle,&display3DLUTEventListener); -} -//ReleasetheChangeHandleinterface -if(changeHandle!=NULL) -{ -changeHandle->pVtbl->Release(changeHandle); -changeHandle=NULL; -} -//ReleasetheDisplayServicesinterface -if(displayServices!=NULL) -{ -displayServices->pVtbl->Release(displayServices); -displayServices=NULL; -} -} -else -{ -printf("FailedtogetDisplayServices\n"); -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(displaySettingsEvent) -CloseHandle(displaySettingsEvent); -if(display3DLUTEvent) -CloseHandle(display3DLUTEvent); -if(quitEvent) -CloseHandle(quitEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidDisplayUniqueName(IADLXDisplay*display,char*uniqueName) -{ -if(NULL!=display&&NULL!=uniqueName) -{ -constchar*gpuName=NULL; -display->pVtbl->Name(display,&gpuName); -adlx_sizeid; -display->pVtbl->UniqueId(display,&id); -sprintf_s(uniqueName,128,"name:%s,id:%zu",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__sync_g_p_u_tuning.xml b/vendor/adlx/SDKDoc/xml/c__sync_g_p_u_tuning.xml deleted file mode 100644 index 2a5da5a..0000000 --- a/vendor/adlx/SDKDoc/xml/c__sync_g_p_u_tuning.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - c_SyncGPUTuning - SyncGPUTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in GPU tuning settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="c__g_p_u_auto_tuning.html">GPUAutoTuning.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/C/ReceivingEventsNotifications/SyncGPUTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IGPUTuning1.h" - -//Blockeventtoverifycallback -HANDLEblockEvent=NULL; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName); - -//Callbacktohandlechangedevents -adlx_boolADLX_STD_CALLOnGPUTuningChanged(IADLXGPUTuningChangedListener*pthis,IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent) -{ -ADLX_SYNC_ORIGINorigin=pGPUTuningChangedEvent->pVtbl->GetOrigin(pGPUTuningChangedEvent); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -IADLXGPUTuningChangedEvent1*pGPUTuningChangedEvent1=NULL; -pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent,IID_IADLXGPUTuningChangedEvent1(),(void**)(&pGPUTuningChangedEvent1)); -//GettheGPUinterface -IADLXGPU*gpu=NULL; -pGPUTuningChangedEvent->pVtbl->GetGPU(pGPUTuningChangedEvent,&gpu); -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -printf("GPU:%sgetsyncevent\n",uniqueName); - -if(pGPUTuningChangedEvent->pVtbl->IsAutomaticTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tAutomaticTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent->pVtbl->IsPresetTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tPresetTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent->pVtbl->IsManualGPUCLKTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tManualGPUCLKTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent->pVtbl->IsManualVRAMTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tManualVRAMTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent->pVtbl->IsManualFanTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tManualFanTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent->pVtbl->IsManualPowerTuningChanged(pGPUTuningChangedEvent)) -{ -printf("\tManualPowerTuningChanged\n"); -} -elseif(pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1)) -{ -printf("\tSmartAccessMemoryChanged\n"); -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -SetEvent(blockEvent); - -//ReturntrueforADLXtocontinuenotifyingthenextlistener,orfalsetostopnotification -returntrue; -} -typedefstructGPUTuningChangedCall -{ -adlx_bool(ADLX_STD_CALL*OnGPUTuningChanged)(IADLXGPUTuningChangedListener*,IADLXGPUTuningChangedEvent*); -}GPUTuningChangedCall; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//GettheSystemServicesinterface -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GettheGPUTuningServiceinterface -IADLXGPUTuningServices*gpuTuningSrv=NULL; -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GettheChangeHandleinterface -IADLXGPUTuningChangedHandling*changeHandle=NULL; -res=gpuTuningSrv->pVtbl->GetGPUTuningChangedHandling(gpuTuningSrv,&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -GPUTuningChangedCall*call=(GPUTuningChangedCall*)malloc(sizeof(GPUTuningChangedCall)); -call->OnGPUTuningChanged=&OnGPUTuningChanged; - -//Addcallback -changeHandle->pVtbl->AddGPUTuningEventListener(changeHandle,(IADLXGPUTuningChangedListener*)&call); - -//WaitsforGPUTuningsyncwithatimeoutof60s -while(true) -{ -printf("\nWaitingforGPUTuningchangeevent(60s)...\n"); -DWORDwaitRet=WaitForSingleObject(blockEvent,60000); -if(waitRet==WAIT_TIMEOUT) -{ -printf("===Waittimeout(60s),readytoquit===\n"); -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->pVtbl->RemoveGPUTuningEventListener(changeHandle,(IADLXGPUTuningChangedListener*)&call); - -//Releasecallback -free(call); -call=NULL; -} - -//ReleasetheChangeHandleinterface -if(changeHandle!=NULL) -{ -changeHandle->pVtbl->Release(changeHandle); -changeHandle=NULL; -} -} -else -{ -printf("FailedtogetGPUTuningServices\n"); -} - -//ReleasetheGPUTuningServiceinterface -if(gpuTuningSrv!=NULL) -{ -gpuTuningSrv->pVtbl->Release(gpuTuningSrv); -gpuTuningSrv=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPU*gpu,char*uniqueName) -{ -if(NULL!=gpu&&NULL!=uniqueName) -{ -constchar*gpuName=NULL; -gpu->pVtbl->Name(gpu,&gpuName); -adlx_intid; -gpu->pVtbl->UniqueId(gpu,&id); -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__sync_power_tuning.xml b/vendor/adlx/SDKDoc/xml/c__sync_power_tuning.xml deleted file mode 100644 index e136f93..0000000 --- a/vendor/adlx/SDKDoc/xml/c__sync_power_tuning.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - c_SyncPowerTuning - SyncPowerTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in power tuning settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="c_ssm.html">SmartShiftMax.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/C/ReceivingEventsNotifications/SyncPowerTuning</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPowerTuning.h" -#include"SDK/Include/ISystem1.h" - -//Blockeventtoverifycallback -HANDLEblockEvent=NULL; - -//Callbacktohandlechangedevents -adlx_boolADLX_STD_CALLOnPowerTuningChanged(IADLXPowerTuningChangedListener*pthis,IADLXPowerTuningChangedEvent*pPoweruningChangedEvent) -{ -ADLX_SYNC_ORIGINorigin=pPoweruningChangedEvent->pVtbl->GetOrigin(pPoweruningChangedEvent); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -if(pPoweruningChangedEvent->pVtbl->IsSmartShiftMaxChanged(pPoweruningChangedEvent)) -{ -printf("\tSmartShiftMaxChanged\n"); -} -} -SetEvent(blockEvent); - -//ReturntrueforADLXtocontinuenotifyingthenextlistener,orfalsetostopnotification -returntrue; -} -typedefstructPowerTuningChangedCall -{ -adlx_bool(ADLX_STD_CALL*OnPowerTuningChanged)(IADLXPowerTuningChangedListener*,IADLXPowerTuningChangedEvent*); -}PowerTuningChangedCall; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetIADLXSystem1interface -IADLXSystem1*system1=NULL; -res=sys->pVtbl->QueryInterface(sys,IID_IADLXSystem1(),(void**)(&system1)); -if(ADLX_SUCCEEDED(res)) -{ -//Getpowertuningservices -IADLXPowerTuningServices*powerTuningServices=NULL; -res=system1->pVtbl->GetPowerTuningServices(system1,&powerTuningServices); - -if(ADLX_SUCCEEDED(res)) -{ -//GettheChangeHandleinterface -IADLXPowerTuningChangedHandling*changeHandle=NULL; -res=powerTuningServices->pVtbl->GetPowerTuningChangedHandling(powerTuningServices,&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -PowerTuningChangedCall*call=(PowerTuningChangedCall*)malloc(sizeof(PowerTuningChangedCall)); -call->OnPowerTuningChanged=&OnPowerTuningChanged; - -//Addcallback -changeHandle->pVtbl->AddPowerTuningEventListener(changeHandle,(IADLXPowerTuningChangedListener*)&call); - -//Waitsforpowertuningsyncwithatimeoutof60s -while(true) -{ -printf("\nWaitingforpowertuningchangeevent(60s)...\n"); -DWORDwaitRet=WaitForSingleObject(blockEvent,60000); -if(waitRet==WAIT_TIMEOUT) -{ -printf("===Waittimeout(60s),readytoquit===\n"); -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->pVtbl->RemovePowerTuningEventListener(changeHandle,(IADLXPowerTuningChangedListener*)&call); - -//Releasecallback -free(call); -call=NULL; -} -else -printf("Failedtogetpowertuningchangedhandlinginterface\n"); - -//ReleasetheChangeHandleinterface -if(changeHandle!=NULL) -{ -changeHandle->pVtbl->Release(changeHandle); -changeHandle=NULL; -} -} -else -printf("Failedtogetpowertuningservice\n"); - -//Releasepowertuningservicesinterface -if(powerTuningServices!=NULL) -{ -powerTuningServices->pVtbl->Release(powerTuningServices); -powerTuningServices=NULL; -} -} -else -printf("FailedtogetIADLXSystem1\n"); - -//ReleaseIADLXSystem1interface -if(system1!=NULL) -{ -system1->pVtbl->Release(system1); -system1=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__tessellation.xml b/vendor/adlx/SDKDoc/xml/c__tessellation.xml deleted file mode 100644 index 95ff64d..0000000 --- a/vendor/adlx/SDKDoc/xml/c__tessellation.xml +++ /dev/null @@ -1,286 +0,0 @@ - - - - c_Tessellation - Tessellation - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display tessellation support</td></tr> - <tr><td>2</td><td> Get GPU tessellation state, mode, and level</td></tr> - <tr><td>3</td><td> Set tesellation mode: AMD optimized</td></tr> - <tr><td>4</td><td> Set tesellation mode: Use application settings</td></tr> - <tr><td>5</td><td> Set tesellation mode: Override application settings</td></tr> - <tr><td>6</td><td> Set tesellation level</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/Tessellation</p> -</body> -</html> - Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//Displaytessellationsupport -voidShowSupport(IADLX3DTessellation*tessellation); - -//Getcurrenttessellationstate -voidGetState(IADLX3DTessellation*tessellation); - -//Settessellationmode -voidSetMode(IADLX3DTessellation*tessellation,intindex); - -//Settessellationlevel -voidSetLevel(IADLX3DTessellation*tessellation); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DTessellation*tessellation); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GettheIADLX3DTessellationinterface -IADLX3DTessellation*tessellation=NULL; -res=d3dSettingSrv->pVtbl->GetTessellation(d3dSettingSrv,gpu,&tessellation); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(tessellation); -} - -//ReleasetheIADLX3DTessellationinterface -if(tessellation!=NULL) -{ -tessellation->pVtbl->Release(tessellation); -tessellation=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticchar*getModeStr(ADLX_TESSELLATION_MODEmode) -{ -switch(mode) -{ -caseT_MODE_AMD_OPTIMIZED: -return"AMDoptimized"; -caseT_MODE_USE_APP_SETTINGS: -return"Useapplicationsettings"; -caseT_MODE_OVERRIDE_APP_SETTINGS: -return"Overrideapplicationsettings"; -default: -return"UNKNOWN"; -} -}; - -staticchar*getLevelStr(ADLX_TESSELLATION_LEVELlevel) -{ -switch(level) -{ -caseT_LEVEL_OFF: -return"Off"; -caseT_LEVEL_2X: -return"2X"; -caseT_LEVEL_4X: -return"4X"; -caseT_LEVEL_6X: -return"6X"; -caseT_LEVEL_8X: -return"8X"; -caseT_LEVEL_16X: -return"16X"; -caseT_LEVEL_32X: -return"32X"; -caseT_LEVEL_64X: -return"64X"; -default: -return"UNKNOWN"; -} -}; - -voidShowSupport(IADLX3DTessellation*tessellation) -{ -adlx_boolsupported=false; -ADLX_RESULTres=tessellation->pVtbl->IsSupported(tessellation,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetState(IADLX3DTessellation*tessellation) -{ -ADLX_TESSELLATION_MODEmode; -ADLX_RESULTres=tessellation->pVtbl->GetMode(tessellation,&mode); -printf("\tMode:%s,returncodeis:%d(0meanssuccess)\n",getModeStr(mode),res); -ADLX_TESSELLATION_LEVELlevel; -res=tessellation->pVtbl->GetLevel(tessellation,&level); -printf("\tLevel:%s,returncodeis:%d(0meanssuccess)\n",getLevelStr(level),res); -} - -voidSetMode(IADLX3DTessellation*tessellation,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -ADLX_TESSELLATION_MODEmode=T_MODE_AMD_OPTIMIZED; -mode=(ADLX_TESSELLATION_MODE)(mode+index); -res=tessellation->pVtbl->SetMode(tessellation,mode); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidSetLevel(IADLX3DTessellation*tessellation) -{ -ADLX_TESSELLATION_LEVELlevel; -tessellation->pVtbl->GetLevel(tessellation,&level); -level=(level==T_LEVEL_2X)?T_LEVEL_4X:T_LEVEL_2X; -ADLX_RESULTres=tessellation->pVtbl->SetLevel(tessellation,level); -printf("\tSetlevel:%s,resis:%d\n",getLevelStr(level),res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplaytessellationsupport\n"); -printf("\t->Press2togettessellationstate\n"); -printf("\t->Press3tosettessellationmode:AMDoptimized\n"); -printf("\t->Press4tosettessellationmode:Useapplicationsettings\n"); -printf("\t->Press5tosettessellationmode:Overrideapplicationsettings\n"); - -printf("\t->Press6tosettessellationlevel\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DTessellation*tessellation) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaytessellationsupport -case'1': -ShowSupport(tessellation); -break; - -//Getanddisplaycurrenttessellationstate -case'2': -GetState(tessellation); -break; - -//Settessellationmode -case'3': -case'4': -case'5': -SetMode(tessellation,num-'3'); -break; - -//Setanti-aliasinglevel -case'6': -SetLevel(tessellation); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c__wait_for_vertical_refresh.xml b/vendor/adlx/SDKDoc/xml/c__wait_for_vertical_refresh.xml deleted file mode 100644 index 8577504..0000000 --- a/vendor/adlx/SDKDoc/xml/c__wait_for_vertical_refresh.xml +++ /dev/null @@ -1,244 +0,0 @@ - - - - c_WaitForVerticalRefresh - WaitForVerticalRefresh - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access VSync options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get VSync capability</td></tr> - <tr><td>2</td><td> Get the current VSync state and mode</td></tr> - <tr><td>3</td><td> Set VSync to Always Off</td></tr> - <tr><td>4</td><td> Set VSync to Off (unless specified by the application)</td></tr> - <tr><td>5</td><td> Set VSync to On (unless specified by the application)</td></tr> - <tr><td>6</td><td> Set VSync to Always On</td></tr> - <tr><td>M/m</td><td> Display menu options</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/3DGraphics/WaitForVerticalRefresh</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" - -//DisplayVSyncsupport -voidShowvsyncSupport(IADLX3DWaitForVerticalRefresh*vsync); - -//GetcurrentVSyncstate -voidGetvsyncState(IADLX3DWaitForVerticalRefresh*vsync); - -//SetVSyncmode -voidSetvsyncMode(IADLX3DWaitForVerticalRefresh*vsync,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(IADLX3DWaitForVerticalRefresh*vsync); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUs -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServices*d3dSettingSrv=NULL; -res=sys->pVtbl->Get3DSettingsServices(sys,&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPU*gpu=NULL; -adlx_uintindex=0; -res=gpus->pVtbl->At_GPUList(gpus,index,&gpu); - -//GetVSyncinterface -IADLX3DWaitForVerticalRefresh*vsync=NULL; -res=d3dSettingSrv->pVtbl->GetWaitForVerticalRefresh(d3dSettingSrv,gpu,&vsync); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(vsync); -} - -//ReleaseVSyncinterface -if(vsync!=NULL) -{ -vsync->pVtbl->Release(vsync); -vsync=NULL; -} - -//ReleasetheGPUinterface -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -else -{ -printf("Failedtoget3DSettingsservices\n"); -} - -//Releasethe3DSettingsServiceinterface -if(d3dSettingSrv!=NULL) -{ -d3dSettingSrv->pVtbl->Release(d3dSettingSrv); -d3dSettingSrv=NULL; -} - -//ReleasetheGPUslistinterface -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticchar*getModeStr(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode) -{ -switch(mode) -{ -caseWFVR_ALWAYS_OFF: -return"AlwaysOff"; -caseWFVR_OFF_UNLESS_APP_SPECIFIES: -return"Off(unlessspecifiedbytheapplication)"; -caseWFVR_ON_UNLESS_APP_SPECIFIES: -return"On(unlessspecifiedbytheapplication)"; -caseWFVR_ALWAYS_ON: -return"AlwaysOn"; -default: -return"UNKNOWN"; -} -}; - -voidShowvsyncSupport(IADLX3DWaitForVerticalRefresh*vsync) -{ -adlx_boolsupported=false; -ADLX_RESULTres=vsync->pVtbl->IsSupported(vsync,&supported); -printf("\tIsSupported:%d,returncodeis:%d(0meanssuccess)\n",supported,res); -} - -voidGetvsyncState(IADLX3DWaitForVerticalRefresh*vsync) -{ -adlx_boolenabled=false; -ADLX_RESULTres=vsync->pVtbl->IsEnabled(vsync,&enabled); -printf("\tIsEnabled:%d,returncodeis:%d(0meanssuccess)\n",enabled,res); -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode=WFVR_ALWAYS_OFF; -res=vsync->pVtbl->GetMode(vsync,&mode); -printf("\tMode:%s,returncodeis:%d(0meanssuccess)\n",getModeStr(mode),res); -} - -voidSetvsyncMode(IADLX3DWaitForVerticalRefresh*vsync,intindex) -{ -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode=WFVR_ALWAYS_OFF; -mode=(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode+index); -ADLX_RESULTres=vsync->pVtbl->SetMode(vsync,mode); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayVSyncsupport\n"); -printf("\t->Press2togetcurrentVSyncstate\n"); -printf("\t->Press3tosetVSynctoAlwaysOff\n"); -printf("\t->Press4tosetVSynctoOff(unlessspecifiedbytheapplication)\n"); -printf("\t->Press5tosetVSynctoOn(unlessspecifiedbytheapplication)\n"); -printf("\t->Press6tosetVSynctoAlwaysOn\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaymenuoptions\n"); -} - -voidMenuControl(IADLX3DWaitForVerticalRefresh*vsync) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayVSyncsupport -case'1': -ShowvsyncSupport(vsync); -break; - -//GetanddisplaycurrentVSyncstate -case'2': -GetvsyncState(vsync); -break; - -//SetVSyncmodel -case'3': -case'4': -case'5': -case'6': -SetvsyncMode(vsync,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__color_depth.xml b/vendor/adlx/SDKDoc/xml/c_display__color_depth.xml deleted file mode 100644 index 59d9059..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__color_depth.xml +++ /dev/null @@ -1,363 +0,0 @@ - - - - c_display_ColorDepth - DisplayColorDepth - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display color depth support.</td></tr> - <tr><td>2</td><td> Get color depth state.</td></tr> - <tr><td>3</td><td> Set current color depth to BPC_6.</td></tr> - <tr><td>4</td><td> Set current color depth to BPC_8.</td></tr> - <tr><td>5</td><td> Set current color depth to BPC_10.</td></tr> - <tr><td>6</td><td> Get support state for each color depth.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayColorDepth</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayColorDepthSupport -voidShowDisplayColorDepthSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayColorDepthstate -voidGetColorDepthState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayColorDepth -voidSetColorDepthState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservices -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayColorDepthSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayColorDepth*pDisplayColorDepth=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetColorDepth(pDisplayService,pDisplay,&pDisplayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetColorDepthSupported===\n"); -adlx_boolsupported=false; -res=pDisplayColorDepth->pVtbl->IsSupported(pDisplayColorDepth,&supported); -printf("\tIsSupported,res%d,supported:%s\n",res,supported?"true":"false"); -} - -if(pDisplayColorDepth!=NULL) -{ -pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); -pDisplayColorDepth=NULL; -} -} - -voidGetSupportStateForEachColorDepth(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayColorDepth*pDisplayColorDepth=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetColorDepth(pDisplayService,pDisplay,&pDisplayColorDepth); -if(ADLX_SUCCEEDED(res)&&pDisplayColorDepth) -{ -printf("===GetColorDepthSupportList===\n"); - -adlx_boolisSupported=false; -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_6(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_6,result%d,BPC_6support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_8(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_8,result%d,BPC_8support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_10(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_10,result%d,BPC_10support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_12(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_12,result%d,BPC_12support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_14(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_14,result%d,BPC_14support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedBPC_16(pDisplayColorDepth,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_16,result%d,BPC_16support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_6,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_6,result%d,BPC_6support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_8,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_8,result%d,BPC_8support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_10,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_10,result%d,BPC_10support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_12,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_12,result%d,BPC_12support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_14,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_14,result%d,BPC_14support:%d\n",res,isSupported); - -res=pDisplayColorDepth->pVtbl->IsSupportedColorDepth(pDisplayColorDepth,BPC_16,&isSupported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedBPC_16,result%d,BPC_16support:%d\n",res,isSupported); - -//ReleasetheDisplayColorDepthinterface -pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); -pDisplayColorDepth=NULL; -} -} - -voidGetColorDepthState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayColorDepth*pDisplayColorDepth=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetColorDepth(pDisplayService,pDisplay,&pDisplayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetColorDepthEnabled===\n"); -ADLX_COLOR_DEPTHcd=BPC_UNKNOWN; -res=pDisplayColorDepth->pVtbl->GetValue(pDisplayColorDepth,&cd); -char*cdStr="BPC_Unknown"; -switch(cd) -{ -caseBPC_6: -cdStr="BPC_6"; -break; -caseBPC_8: -cdStr="BPC_8"; -break; -caseBPC_10: -cdStr="BPC_10"; -break; -} - -printf("\tGetValue,result%d,colordepth:%s\n",res,cdStr); -} - -if(pDisplayColorDepth!=NULL) -{ -pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); -pDisplayColorDepth=NULL; -} -} - -voidSetColorDepthState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayColorDepth*pDisplayColorDepth=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetColorDepth(pDisplayService,pDisplay,&pDisplayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetColorDepthBPC_6 -case0: -printf("===Setcolordepth:BPC_6\n"); -res=pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth,BPC_6); -break; -//SetColorDepthBPC_8 -case1: -printf("===Setcolordepth:BPC_8\n"); -res=pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth,BPC_8); -break; -//setColorDepthBPC_10 -case2: -printf("===Setcolordepth:BPC_10\n"); -res=pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth,BPC_10); -break; -default: -break; -} -printf("\treturncodeis:%d(0meansSuccess)\n",res); -} - -if(pDisplayColorDepth!=NULL) -{ -pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); -pDisplayColorDepth=NULL; -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions\n"); - -printf("\t->Press1todisplaycolordepthsupport\n"); - -printf("\t->Press2togetcolordepthstate\n"); - -printf("\t->Press3tosetcurrentcolordepthtoBPC_6\n"); -printf("\t->Press4tosetcurrentcolordepthtoBPC_8\n"); -printf("\t->Press5tosetcurrentcolordepthtoBPC_10\n"); - -printf("\t->Press6togetsupportstateforeachcolordepth\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayColorDepthSupport -case'1': -ShowDisplayColorDepthSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayColorDepthstate -case'2': -GetColorDepthState(pDisplayService,pDisplay); -break; - -//SetdisplayColorDepth -case'3': -case'4': -case'5': -SetColorDepthState(pDisplayService,pDisplay,num-'3'); -break; - -case'6': -GetSupportStateForEachColorDepth(pDisplayService,pDisplay); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__custom_color.xml b/vendor/adlx/SDKDoc/xml/c_display__custom_color.xml deleted file mode 100644 index 6cd0bc2..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__custom_color.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - c_display_CustomColor - DisplayCustomColor - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to use custom color for display when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Enter Hue settings.</td></tr> - <tr><td>2</td><td> Enter Saturation settings.</td></tr> - <tr><td>3</td><td> Enter Brightness settings.</td></tr> - <tr><td>4</td><td> Enter Contrast settings.</td></tr> - <tr><td>5</td><td> Enter Temperature settings.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayCustomColor</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//Customcolortypes -enum -{ -CUSTOM_COLOR_HUE=1, -CUSTOM_COLOR_SATURATION, -CUSTOM_COLOR_BRIGHTNESS, -CUSTOM_COLOR_CONTRAST, -CUSTOM_COLOR_TEMPERATURE -}; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Handlerforuserinput -voidExecuteCommand(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,constchar*colorTypeString); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -ADLX_RESULTGetSupport(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,adlx_bool*supported) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->pVtbl->IsHueSupported(pDisplayColor_,supported); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->pVtbl->IsSaturationSupported(pDisplayColor_,supported); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->pVtbl->IsBrightnessSupported(pDisplayColor_,supported); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->pVtbl->IsContrastSupported(pDisplayColor_,supported); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->pVtbl->IsTemperatureSupported(pDisplayColor_,supported); -} -returnADLX_FAIL; -} - -ADLX_RESULTGetRange(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,ADLX_IntRange*range) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->pVtbl->GetHueRange(pDisplayColor_,range); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->pVtbl->GetSaturationRange(pDisplayColor_,range); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->pVtbl->GetBrightnessRange(pDisplayColor_,range); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->pVtbl->GetContrastRange(pDisplayColor_,range); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->pVtbl->GetTemperatureRange(pDisplayColor_,range); -} -returnADLX_FAIL; -} - -ADLX_RESULTGetValue(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,adlx_int*value) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->pVtbl->GetHue(pDisplayColor_,value); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->pVtbl->GetSaturation(pDisplayColor_,value); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->pVtbl->GetBrightness(pDisplayColor_,value); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->pVtbl->GetContrast(pDisplayColor_,value); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->pVtbl->GetTemperature(pDisplayColor_,value); -} -returnADLX_FAIL; -} - -ADLX_RESULTSetValue(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,adlx_intvalue) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->pVtbl->SetHue(pDisplayColor_,value); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->pVtbl->SetSaturation(pDisplayColor_,value); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->pVtbl->SetBrightness(pDisplayColor_,value); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->pVtbl->SetContrast(pDisplayColor_,value); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->pVtbl->SetTemperature(pDisplayColor_,value); -} -returnADLX_FAIL; -} - -voidExecuteCommand(IADLXDisplayCustomColor*pDisplayColor_,intcolorType_,constchar*colorTypeString) -{ -printf("\tChoosefromfollowingoptionsfor%ssettings\n",colorTypeString); -printf("\t->Press1todisplaysupport\n"); -printf("\t->Press2togetrangedata\n"); -printf("\t->Press3todisplaycurrentvalue\n"); -printf("\t->Press4tosetcurrentvalue\n"); -printf("\t->PressX/xtogetbacktomainmenu\n"); - -intnum=0; -while((num=getchar())!='x'&&num!='X') -{ -switch(num) -{ -case'1': -{ -adlx_boolsupported=false; -printf("===Get%ssupported===\n",colorTypeString); -GetSupport(pDisplayColor_,colorType_,&supported); -printf("\tIs%ssupported:%s\n",colorTypeString,supported?"true":"false"); -break; -} -case'2': -{ -ADLX_IntRangerange={0}; -printf("===Get%sRangedata===\n",colorTypeString); -GetRange(pDisplayColor_,colorType_,&range); -printf("\tGet%sRange,minimum:%d,maximum:%d,step:%d\n",colorTypeString,range.minValue,range.maxValue,range.step); -break; -} -case'3': -{ -adlx_intvalue=0; -printf("===Getcurrent%svalue===\n",colorTypeString); -GetValue(pDisplayColor_,colorType_,&value); -printf("\tGet%s,value:%d\n",colorTypeString,value); -break; -} -case'4': -{ -ADLX_IntRangerange={0}; -GetRange(pDisplayColor_,colorType_,&range); -adlx_intcurrentValue=0; -GetValue(pDisplayColor_,colorType_,&currentValue); -adlx_intbaseValue=(range.minValue+range.maxValue)/2; -adlx_intvalue=(currentValue==baseValue)?baseValue+range.step:baseValue; -printf("\tSet%s,value:%d\n",colorTypeString,value); -autores=SetValue(pDisplayColor_,colorType_,value); -printf("\treturncodeis:%d(0meansSuccess)\n",res); -break; -} -default: -break; -} -} - -MainMenu(); -} - -voidShowCustomColorSettings(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintcolorType) -{ -IADLXDisplayCustomColor*pDisplayCustomColor=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetCustomColor(pDisplayService,pDisplay,&pDisplayCustomColor); -if(ADLX_SUCCEEDED(res)) -{ -switch(colorType) -{ -caseCUSTOM_COLOR_HUE: -ExecuteCommand(pDisplayCustomColor,colorType,"Hue"); -break; -caseCUSTOM_COLOR_SATURATION: -ExecuteCommand(pDisplayCustomColor,colorType,"Saturation"); -break; -caseCUSTOM_COLOR_BRIGHTNESS: -ExecuteCommand(pDisplayCustomColor,colorType,"Brightness"); -break; -caseCUSTOM_COLOR_CONTRAST: -ExecuteCommand(pDisplayCustomColor,colorType,"Contrast"); -break; -caseCUSTOM_COLOR_TEMPERATURE: -ExecuteCommand(pDisplayCustomColor,colorType,"Temperature"); -break; -} - -pDisplayCustomColor->pVtbl->Release(pDisplayCustomColor); -} -else -{ -printf("Getcustomcolorfailed.\n"); -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1toenterHuesettings\n"); -printf("\t->Press2toenterSaturationsettings\n"); -printf("\t->Press3toenterBrightnesssettings\n"); -printf("\t->Press4toenterContrastsettings\n"); -printf("\t->Press5toenterTemperaturesettings\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -case'1': -ShowCustomColorSettings(pDisplayService,pDisplay,CUSTOM_COLOR_HUE); -break; -//DisplaySaturationsettings -case'2': -ShowCustomColorSettings(pDisplayService,pDisplay,CUSTOM_COLOR_SATURATION); -break; -//DisplayBrightnesssettings -case'3': -ShowCustomColorSettings(pDisplayService,pDisplay,CUSTOM_COLOR_BRIGHTNESS); -break; -//DisplayContrastsettings -case'4': -ShowCustomColorSettings(pDisplayService,pDisplay,CUSTOM_COLOR_CONTRAST); -break; -//DisplayTemperaturesettings -case'5': -ShowCustomColorSettings(pDisplayService,pDisplay,CUSTOM_COLOR_TEMPERATURE); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__custom_resolution.xml b/vendor/adlx/SDKDoc/xml/c_display__custom_resolution.xml deleted file mode 100644 index f922c03..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__custom_resolution.xml +++ /dev/null @@ -1,396 +0,0 @@ - - - - c_display_CustomResolution - DisplayCustomResolution - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display custom resolution support.</td></tr> - <tr><td>2</td><td> Get custom resolution list.</td></tr> - <tr><td>3</td><td> Get current applied resolution.</td></tr> - <tr><td>4</td><td> Create new customized resolution.</td></tr> - <tr><td>5</td><td> Delete avaible resolution.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayCustomResolution</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//Displaycustomresolutionsupport -voidShowCustomResolutionSupport(IADLXDisplayCustomResolution*pCustomResolution); - -//Displayavailabedisplayresolutions -voidGetResolutionList(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolutionList**ppResolutionList); - -//Displaycurrentdisplayresolution -voidGetCurrentResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution**ppResolution); - -//Createnewcustomizeddisplayresolution -voidCreateNewResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution*pResolution); - -//Deletedisplayresolution -voidDeleteResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution*pResolution); - -//Printoutgivenresolution -voidPrintResolution(IADLXDisplayResolution*pResolution); - -//Printoutgivenresolutionlist -voidPrintResolutions(IADLXDisplayResolutionList*pResolutionList); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Showamenuwithoptionstochosefrom -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowCustomResolutionSupport(IADLXDisplayCustomResolution*pCustomResolution) -{ -printf("===Getcustomresolutionsupported===\n"); -adlx_boolsupported=false; -ADLX_RESULTres=pCustomResolution->pVtbl->IsSupported(pCustomResolution,&supported); -printf("\tIsSupported,result%d,supported:%s\n",res,supported?"true":"false"); -} - -voidGetResolutionList(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolutionList**ppResolutionList) -{ -ADLX_RESULTres=pCustomResolution->pVtbl->GetResolutionList(pCustomResolution,ppResolutionList); -if(ADLX_FAILED(res)) -printf("GetResolutionList,failed.\n"); -} - -voidGetCurrentResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution**ppResolution) -{ -ADLX_RESULTres=pCustomResolution->pVtbl->GetCurrentAppliedResolution(pCustomResolution,ppResolution); -if(ADLX_FAILED(res)) -printf("GetCurrentResolution,failed.\n"); -} - -voidCreateNewResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution*pResolution) -{ -ADLX_RESULTres=pCustomResolution->pVtbl->CreateNewResolution(pCustomResolution,pResolution); -if(ADLX_FAILED(res)) -printf("CreateNewResolution,failed.\n"); -} - -voidDeleteResolution(IADLXDisplayCustomResolution*pCustomResolution,IADLXDisplayResolution*pResolution) -{ -PrintResolution(pResolution); -ADLX_RESULTres=pCustomResolution->pVtbl->DeleteResolution(pCustomResolution,pResolution); -if(ADLX_FAILED(res)) -printf("DeleteResolution,failed.\n"); -} - -voidPrintResolution(IADLXDisplayResolution*pResolution) -{ -ADLX_CustomResolutioncr; -pResolution->pVtbl->GetValue(pResolution,&cr); - -char*sPresention=(cr.presentation==INTERLACED)?"Interlaced":"Progressive"; -char*sTimingStandard="Manual"; -char*sHPolarity=(cr.detailedTiming.hPolarity==POSITIVE)?"Positive":"Negative"; -char*sVPolarity=(cr.detailedTiming.vPolarity==POSITIVE)?"Positive":"Negative"; - -switch(cr.timingStandard) -{ -caseMANUAL: -sTimingStandard="Manual"; -break; -caseDMT: -sTimingStandard="DMT"; -break; -caseGTF: -sTimingStandard="GTF"; -break; -caseCVT_RB: -sTimingStandard="CVT-ReducedBlanking"; -break; -caseCVT: -sTimingStandard="CVT"; -break; -default: -break; -} - -charbuff[1024]={0}; -intoffset=snprintf(buff,sizeof(buff),"\nResolution(Px)\t\t%dx%d\n",cr.resWidth,cr.resHeight); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"RefreshRate(Hz)\t\t%d\n",cr.refreshRate); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"Presentation\t\t\t%s\n",sPresention); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingStandard\t\t%s\n",sTimingStandard); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"G.PixelClock(kHz)\t\t%d\n",cr.GPixelClock); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingInformation\t\t\tHorizontal\tVertical\n"); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingTotal\t\t\t%d\t%d\n",cr.detailedTiming.hTotal,cr.detailedTiming.vTotal); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingDisplay\t\t%d\t%d\n",cr.detailedTiming.hDisplay,cr.detailedTiming.vDisplay); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingFrontPorch\t\t%d\t%d\n",cr.detailedTiming.hFrontPorch,cr.detailedTiming.vFrontPorch); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingSyncWidth\t\t%d\t%d\n",cr.detailedTiming.hSyncWidth,cr.detailedTiming.vSyncWidth); -offset+=snprintf(buff+offset,sizeof(buff)-offset,"TimingPolarity\t\t%s%s\n",sHPolarity,sVPolarity); - -printf("%s\n",buff); -} - -voidPrintResolutions(IADLXDisplayResolutionList*pResolutionList) -{ -printf("Printoutresolutionlist==\n"); -if(pResolutionList==NULL) -{ -printf("ResolutionlistisNULL\n"); -return; -} - -if(pResolutionList->pVtbl->Size(pResolutionList)==0) -{ -printf("Resolutionlistisempty!\n"); -return; -} - -ADLX_RESULTres=ADLX_FAIL; -for(adlx_uintcrt=0;crt<pResolutionList->pVtbl->Size(pResolutionList);crt++) -{ -IADLXDisplayResolution*pDispResolution=NULL; -res=pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList,crt,&pDispResolution); -if(ADLX_SUCCEEDED(res)) -{ -printf("Resolutionindex:%d\n",crt); -PrintResolution(pDispResolution); -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1todisplaycustomresolutionsupport\n"); - -printf("\t->Press2togetcustomresolutionlist\n"); - -printf("\t->Press3togetcurrentappliedresolution\n"); -printf("\t->Press4tocreatenewcustomizedresolution\n"); -printf("\t->Press5todeleteavaibleresolution\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayCustomResolution*pCustomResolution=NULL; -pDisplayService->pVtbl->GetCustomResolution(pDisplayService,pDisplay,&pCustomResolution); - -if(!pCustomResolution) -{ -printf("Menucontrol:cannotretrivecustomresolutioninstance!\n"); -return; -} - -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaycustomresolutionsupport -case'1': -ShowCustomResolutionSupport(pCustomResolution); -break; - -//Displaycurrentavailableresolutions -case'2': -{ -printf("===GetResolutionList:===\n"); -IADLXDisplayResolutionList*pResolutionList=NULL; -GetResolutionList(pCustomResolution,&pResolutionList); -if(pResolutionList!=NULL) -{ -PrintResolutions(pResolutionList); -pResolutionList->pVtbl->Release(pResolutionList); -} -break; -} - -//Getcurrentappliedresolution -case'3': -{ -printf("===Getcurrentresolution:===\n"); -IADLXDisplayResolution*pDisplayResolution=NULL; -GetCurrentResolution(pCustomResolution,&pDisplayResolution); -if(pDisplayResolution!=NULL) -{ -PrintResolution(pDisplayResolution); -pDisplayResolution->pVtbl->Release(pDisplayResolution); -} -break; -} -//Createcustomizedresolution -case'4': -{ -printf("===Createnewresolution:===\n"); -IADLXDisplayResolution*pDisplayResolution=NULL; -GetCurrentResolution(pCustomResolution,&pDisplayResolution); -if(pDisplayResolution) -{ -ADLX_CustomResolutioncustomRes; -pDisplayResolution->pVtbl->GetValue(pDisplayResolution,&customRes); - -customRes.resWidth=1920; -customRes.resHeight=1080; -customRes.detailedTiming.hDisplay=1920; -customRes.detailedTiming.vDisplay=1080; -pDisplayResolution->pVtbl->SetValue(pDisplayResolution,customRes); - -PrintResolution(pDisplayResolution); -CreateNewResolution(pCustomResolution,pDisplayResolution); -pDisplayResolution->pVtbl->Release(pDisplayResolution); -} -break; -} -//Deleteavailableresolution -case'5': -{ -printf("===Deleteresolution:===\n"); -IADLXDisplayResolutionList*pResolutionList=NULL; -GetResolutionList(pCustomResolution,&pResolutionList); -if(pResolutionList!=NULL&&pResolutionList->pVtbl->Size(pResolutionList)>0) -{ -IADLXDisplayResolution*pDisplayResolution=NULL; -ADLX_RESULTres=pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList,0,&pDisplayResolution); -if(ADLX_SUCCEEDED(res)) -{ -DeleteResolution(pCustomResolution,pDisplayResolution); -pDisplayResolution->pVtbl->Release(pDisplayResolution); -} -pResolutionList->pVtbl->Release(pResolutionList); -} -break; -} -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} - -pCustomResolution->pVtbl->Release(pCustomResolution); -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__display_connectivity_experience.xml b/vendor/adlx/SDKDoc/xml/c_display__display_connectivity_experience.xml deleted file mode 100644 index ad66be0..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__display_connectivity_experience.xml +++ /dev/null @@ -1,535 +0,0 @@ - - - - c_display_DisplayConnectivityExperience - DisplayConnectivityExperience - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable"> - <tr tyle=height=40px><th>Command Prompt</th><th>Description</th></tr> - <tr><td>1</td><td> Display HDMI quality detection support.</td></tr> - <tr><td>2</td><td> Display DP link support.</td></tr> - <tr><td>3</td><td> Get HDMI quality detection status.</td></tr> - <tr><td>4</td><td> Set HDMI quality detection status to "Enable".</td></tr> - <tr><td>5</td><td> Set HDMI quality detection status to "Disable".</td></tr> - <tr><td>6</td><td> Display DP link rate.</td></tr> - <tr><td>7</td><td> Display number of active lanes.</td></tr> - <tr><td>8</td><td> Display number of total lanes.</td></tr> - <tr><td>9</td><td> Display relative pre-emphasis.</td></tr> - <tr><td>a</td><td> Enter Relative Pre-emphasis setting menu.</td></tr> - <tr><td>b</td><td> Display relative voltage swing.</td></tr> - <tr><td>c</td><td> Enter the Relative Voltage Swing settings menu.</td></tr> - <tr><td>d</td><td> Display if link protection is enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </table> - <p> - <h2>Sample Path</h2> /Samples/C/Display/DisplayConnectivityExperience - </p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays2.h" - -//DisplaysupportedHDMIqualitydetection -voidShowSupportedHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//DisplaysupportedDPlink -voidShowSupportedDPLink(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//DisplaycurrentHDMIqualitydetectionstate -voidGetEnabledHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//SetdisplayVariBrightstatustoenable/disable -voidSetEnabledHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,adlx_boolenableDisable); - -//DisplayDPlinkratevalue -voidGetDPLinkRate(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Displaynumberofactivelanes -voidGetNumberOfActiveLanes(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Displaynumberoftotallanes -voidGetNumberOfTotalLanes(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Displayrelativepre-emphasis -voidGetRelativePreEmphasis(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Relativepre-emphasissettingmenucontrol -voidRelativePreEmphasisSettingMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Setrelativepre-emphasis -voidSetRelativePreEmphasis(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,intrelativePreEmphasis); - -//Displayrelativepre-emphasis -voidGetRelativeVoltageSwing(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Relativevoltageswingsettingmenucontrol -voidRelativeVoltageSwingSettingMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Setrelativepre-emphasis -voidSetRelativeVoltageSwing(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,intrelativeVoltageSwing); - -//Displaycurrentlinkprotectionstatue -voidGetEnabledLinkProtection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservice -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXDisplayServices2*displayServices2=NULL; -ADLX_RESULTres2=displayService->pVtbl->QueryInterface(displayService,IID_IADLXDisplayServices2(),(void**)&displayServices2); - -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)&&ADLX_SUCCEEDED(res2)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayServices2,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} - -if(NULL!=displayServices2) -{ -displayServices2->pVtbl->Release(displayServices2); -displayServices2=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSupportedHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetHDMIqualitydetectionSupported===\n"); -adlx_boolsupported=false; -res=displayConnectivityExperience->pVtbl->IsSupportedHDMIQualityDetection(displayConnectivityExperience,&supported); -printf("\tHDMIqualitydetectionissupportedonthedisplay:%s,returncode:%d(0meanssuccess)\n",supported?"true":"false",res); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidShowSupportedDPLink(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetDPLinkSupported===\n"); -adlx_boolsupported=false; -res=displayConnectivityExperience->pVtbl->IsSupportedDPLink(displayConnectivityExperience,&supported); -printf("\tDPLinkissupportedonthedisplay:%s,returncode:%d(0meanssuccess)\n",supported?"true":"false",res); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetEnabledHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetHDMIqualitydetectionenabled===\n"); -adlx_boolenabled=false; -res=displayConnectivityExperience->pVtbl->IsEnabledHDMIQualityDetection(displayConnectivityExperience,&enabled); -printf("\tGetEnabled,result:%denabled:%s\n",res,enabled?"true":"false"); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidSetEnabledHDMIQualityDetection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,adlx_boolenableDisable) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -if(!enableDisable) -{ -res=displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection(displayConnectivityExperience,false); -printf("\tSetenabledtofalse,result:%d(0meanssuccess)\n",res); -} -else -{ -res=displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection(displayConnectivityExperience,true); -printf("\tSetenabledtotrue,result:%d(0meanssuccess)\n",res); -} -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetDPLinkRate(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetDPlinkrate===\n"); -ADLX_DP_LINK_RATEDPLinkRate=DP_LINK_RATE_UNKNOWN; -res=displayConnectivityExperience->pVtbl->GetDPLinkRate(displayConnectivityExperience,&DPLinkRate); -char*DPLinkRateStr="DP_LINK_RATE_UNKNOWN"; -switch(DPLinkRate) -{ -caseDP_LINK_RATE_RBR: -DPLinkRateStr="DP_LINK_RATE_RBR"; -break; -caseDP_LINK_RATE_2_16GBPS: -DPLinkRateStr="DP_LINK_RATE_2_16GBPS"; -break; -caseDP_LINK_RATE_2_43GBPS: -DPLinkRateStr="DP_LINK_RATE_2_16GBPS"; -break; -caseDP_LINK_RATE_HBR: -DPLinkRateStr="DP_LINK_RATE_HBR"; -break; -caseDP_LINK_RATE_4_32GBPS: -DPLinkRateStr="DP_LINK_RATE_4_32GBPS"; -break; -caseDP_LINK_RATE_HBR2: -DPLinkRateStr="DP_LINK_RATE_HBR2"; -break; -caseDP_LINK_RATE_HBR3: -DPLinkRateStr="DP_LINK_RATE_HBR3"; -break; -caseDP_LINK_RATE_UHBR10: -DPLinkRateStr="DP_LINK_RATE_UHBR10"; -break; -caseDP_LINK_RATE_UHBR13D5: -DPLinkRateStr="DP_LINK_RATE_UHBR13D5"; -break; -caseDP_LINK_RATE_UHBR20: -DPLinkRateStr="DP_LINK_RATE_UHBR20"; -break; -default: -break; -} -printf("\tTheDPlinkrateonthedisplayis%s,returncode:%d(0meanssuccess)\n",DPLinkRateStr,res); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetNumberOfActiveLanes(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getnumberofactivelanes===\n"); -adlx_uintnumberOfActiveLanes; -res=displayConnectivityExperience->pVtbl->GetNumberOfActiveLanes(displayConnectivityExperience,&numberOfActiveLanes); -printf("\tGetValue,result:%dvalue:%d\n",res,numberOfActiveLanes); -} -} - -voidGetNumberOfTotalLanes(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getnumberoftotallanes===\n"); -adlx_uintnumberOfTotalLanes; -res=displayConnectivityExperience->pVtbl->GetNumberOfTotalLanes(displayConnectivityExperience,&numberOfTotalLanes); -printf("\tGetValue,result:%dvalue%d\n",res,numberOfTotalLanes); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetRelativePreEmphasis(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getrelativepre-emphasis===\n"); -adlx_intrelativePreEmphasis; -res=displayConnectivityExperience->pVtbl->GetRelativePreEmphasis(displayConnectivityExperience,&relativePreEmphasis); -printf("\tGetValue,result:%dvalue:%d\n",res,relativePreEmphasis); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidRelativePreEmphasisSettingMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -printf("===relativepre-emphasissetting===\n"); -printf("\t->Pressintegerin[-2:2]tosetrelativepre-emphasisorreturnmainmenu\n"); -intnum=0; -if(scanf_s("%d",&num)&&(-2<=num&&num<=2)) -{ -SetRelativePreEmphasis(displayService2,display,num); -} -} - -voidSetRelativePreEmphasis(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,intrelativePreEmphasis) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Setrelativepre-emphasis===\n"); -res=displayConnectivityExperience->pVtbl->SetRelativePreEmphasis(displayConnectivityExperience,relativePreEmphasis); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetRelativeVoltageSwing(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getrelativevoltageswing===\n"); -adlx_intrelativeVoltageSwing; -res=displayConnectivityExperience->pVtbl->GetRelativeVoltageSwing(displayConnectivityExperience,&relativeVoltageSwing); -printf("\tGetValue,result:%dvalue:%d\n",res,relativeVoltageSwing); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidRelativeVoltageSwingSettingMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -printf("===relativevoltageswingsetting===\n"); -printf("\t->Pressintegerin[-2:2]tosetrelativevoltageswingorreturnmainmenu\n"); -intnum=0; -if(scanf_s("%d",&num)&&(-2<=num&&num<=2)) -{ -SetRelativeVoltageSwing(displayService2,display,num); -} -} - -voidSetRelativeVoltageSwing(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display,intrelativeVoltageSwing) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Setrelativevoltageswing===\n"); -res=displayConnectivityExperience->pVtbl->SetRelativeVoltageSwing(displayConnectivityExperience,relativeVoltageSwing); -printf("\tReturncodeis:%d(0meanssuccess)\n",res); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - -voidGetEnabledLinkProtection(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -IADLXDisplayConnectivityExperience*displayConnectivityExperience; -ADLX_RESULTres=displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2,display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getlinkprotectionenabled===\n"); -adlx_boolenabled=false; -res=displayConnectivityExperience->pVtbl->IsEnabledLinkProtection(displayConnectivityExperience,&enabled); -printf("\tGetEnabled,result:%denabled:%s\n",res,enabled?"true":"false"); -displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); -} -} - - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1todisplayHDMIqualitydetectionsupport\n"); -printf("\t->Press2todisplayDPlinksupport\n"); -printf("\t->Press3togetHDMIqualitydetectionstatus\n"); -printf("\t->Press4tosetHDMIqualitydetectionstatustoEnable\n"); -printf("\t->Press5tosetHDMIqualitydetectionstatustoDisable\n"); -printf("\t->Press6todisplayDPlinkrate\n"); -printf("\t->Press7todisplaynumberofactivelanes\n"); -printf("\t->Press8todisplaynumberoftotallanes\n"); -printf("\t->Press9todisplayrelativepre-emphasis\n"); -printf("\t->PressatoentertheRelativePre-emphasissettingsmenu\n"); -printf("\t->Pressbtodisplayrelativevoltageswing\n"); -printf("\t->PressctoentertheRelativeVoltageSwingsettingsmenu\n"); -printf("\t->Pressdtodisplayislinkprotectionisenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServices2*displayService2,constIADLXDisplay*display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaysupportedHDMIqualitydetection -case'1': -ShowSupportedHDMIQualityDetection(displayService2,display); -break; - -//DisplayssupportedDPlink -case'2': -ShowSupportedDPLink(displayService2,display); -break; - -//GetHDMIqualitydetectionenable -case'3': -GetEnabledHDMIQualityDetection(displayService2,display); -break; - -//SetHDMIqualitydetectionenable -case'4': -SetEnabledHDMIQualityDetection(displayService2,display,true); -break; - -//SetHDMIqualitydetectiondisable -case'5': -SetEnabledHDMIQualityDetection(displayService2,display,false); -break; - -//DisplayDPlinkrate -case'6': -GetDPLinkRate(displayService2,display); -break; - -//Displaynumberofactivelanes -case'7': -GetNumberOfActiveLanes(displayService2,display); -break; - -//Displaynumberoftotlalanes -case'8': -GetNumberOfTotalLanes(displayService2,display); -break; - -//Displayrelativepre-emphasis -case'9': -GetRelativePreEmphasis(displayService2,display); -break; - -//Enterrelativepre-emphasissettingcontrol -case'a': -RelativePreEmphasisSettingMenuControl(displayService2,display); -break; - -//Displayrelativevoltageswing -case'b': -GetRelativeVoltageSwing(displayService2,display); -break; - -//Enterrelativevoltageswingsettingcontrol -case'c': -RelativeVoltageSwingSettingMenuControl(displayService2,display); -break; - -//Displaylinkprotectionstatus -case'd': -GetEnabledLinkProtection(displayService2,display); -break; - -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__display_vari_bright.xml b/vendor/adlx/SDKDoc/xml/c_display__display_vari_bright.xml deleted file mode 100644 index 02fce42..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__display_vari_bright.xml +++ /dev/null @@ -1,368 +0,0 @@ - - - - c_display_DisplayVariBright - DisplayVariBright - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display Vari-Bright when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Check if Vari-Bright is supported on a display.</td></tr> - <tr><td>2</td><td> Get Vari-Bright Enable state.</td></tr> - <tr><td>3</td><td> Enable Vari-Bright.</td></tr> - <tr><td>4</td><td> Disable Vari-Bright.</td></tr> - <tr><td>5</td><td> Check if Vari-Bright mode is Maximized Brightness preset on the display.</td></tr> - <tr><td>6</td><td> Check if Vari-Bright mode is Optimized Brightness preset on the display.</td></tr> - <tr><td>7</td><td> Check if Vari-Bright mode is Balanced preset on the display.</td></tr> - <tr><td>8</td><td> Check if Vari-Bright mode is Optimized Battery preset on the display.</td></tr> - <tr><td>9</td><td> Check if Vari-Bright mode is Maximized Battery preset on the display.</td></tr> - <tr><td>a</td><td> Set the Vari-Bright mode to Maximized Brightness preset on the display.</td></tr> - <tr><td>b</td><td> Set the Vari-Bright mode to Optimized Brightness preset on the display.</td></tr> - <tr><td>c</td><td> Set the Vari-Bright mode to Balanced preset on the display.</td></tr> - <tr><td>d</td><td> Set the Vari-Bright mode to Optimized Battery preset on the display.</td></tr> - <tr><td>e</td><td> Set the Vari-Bright mode to Maximized Battery preset on the display.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayVariBright</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayVari-Brightsupport -voidShowDisplayVariBrightSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayVari-Brightstate -voidGetVariBrightEnabled(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayVari-Brightstatetoenableordisable -voidSetVariBrightEnabled(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,adlx_boolenableDisable); - -//GetdisplayVari-Brightcurrentstate -voidGetCurrentVariBright(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,intuserChoice); - -//GetdisplayVari-Brightcurrentstate -voidSetCurrentVariBright(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,intuserChoice); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(char*msg,intretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservice -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayVariBrightSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayVariBright*displayVariBright; -ADLX_RESULTres=pDisplayService->pVtbl->GetVariBright(pDisplayService,pDisplay,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetVari-Brightsupported===\n"); -adlx_boolsupported=false; -res=displayVariBright->pVtbl->IsSupported(displayVariBright,&supported); -printf("\tVari-Brightissupportedonthedisplay:%s,returncode:%d(0meanssuccess)\n",supported?"true":"false",res); -displayVariBright->pVtbl->Release(displayVariBright); -} -} - -voidGetVariBrightEnabled(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayVariBright*displayVariBright; -ADLX_RESULTres=pDisplayService->pVtbl->GetVariBright(pDisplayService,pDisplay,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetVariBrightenabled===\n"); -adlx_boolenabled=false; -res=displayVariBright->pVtbl->IsEnabled(displayVariBright,&enabled); -printf("\tVari-Brightisenabledonthedisplay:%s,returncode:%d(0meanssuccess)\n",enabled?"true":"false",res); -displayVariBright->pVtbl->Release(displayVariBright); -} -} - -voidSetVariBrightEnabled(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,adlx_boolenableDisable) -{ -IADLXDisplayVariBright*displayVariBright; -ADLX_RESULTres=pDisplayService->pVtbl->GetVariBright(pDisplayService,pDisplay,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -if(!enableDisable) -{ -res=displayVariBright->pVtbl->SetEnabled(displayVariBright,false); -printf("\tSetenabledtofalse,result:%d\n",res); -} -else -{ -res=displayVariBright->pVtbl->SetEnabled(displayVariBright,true); -printf("\tSetenabledtotrue,result:%d\n",res); -} -displayVariBright->pVtbl->Release(displayVariBright); -} -} - -voidGetCurrentVariBright(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,intuserChoice) -{ -IADLXDisplayVariBright*displayVariBright; -ADLX_RESULTres=pDisplayService->pVtbl->GetVariBright(pDisplayService,pDisplay,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolapplied=false; -switch(userChoice) -{ -case0: -res=displayVariBright->pVtbl->IsCurrentMaximizeBrightness(displayVariBright,&applied); -printf("\tMaximizeBrightnesspresetisusedonthedisplay:%s,returncode:%d(0meanssuccess)\n",(applied?"Yes":"No"),res); -break; - -case1: -res=displayVariBright->pVtbl->IsCurrentOptimizeBrightness(displayVariBright,&applied); -printf("\tOptimizeBrightnesspresetisusedonthedisplay:%s,returncode:%d(0meanssuccess)\n",(applied?"Yes":"No"),res); -break; - -case2: -res=displayVariBright->pVtbl->IsCurrentBalanced(displayVariBright,&applied); -printf("\tBalancedpresetisusedonthedisplay:%s,returncode:%d(0meanssuccess)\n",(applied?"Yes":"No"),res); -break; - -case3: -res=displayVariBright->pVtbl->IsCurrentOptimizeBattery(displayVariBright,&applied); -printf("\tOptimizeBatterypresetisusedonthedisplay:%s,returncode:%d(0meanssuccess)\n",(applied?"Yes":"No"),res); -break; - -case4: -res=displayVariBright->pVtbl->IsCurrentMaximizeBattery(displayVariBright,&applied); -printf("\tMaximizeBatterypresetisusedonthedisplay:%s,returncode:%d(0meanssuccess)\n",(applied?"Yes":"No"),res); -break; -} -displayVariBright->pVtbl->Release(displayVariBright); -} -} - -voidSetCurrentVariBright(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,intuserChoice) -{ -IADLXDisplayVariBright*displayVariBright; -ADLX_RESULTres=pDisplayService->pVtbl->GetVariBright(pDisplayService,pDisplay,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -switch(userChoice) -{ -case0: -res=displayVariBright->pVtbl->SetMaximizeBrightness(displayVariBright); -printf("\tSetMaximizeBrightnesspreset,result:%d\n",res); -break; - -case1: -res=displayVariBright->pVtbl->SetOptimizeBrightness(displayVariBright); -printf("\tSetOptimizeBrightnesspreset,result:%d\n",res); -break; - -case2: -res=displayVariBright->pVtbl->SetBalanced(displayVariBright); -printf("\tSetBalancedpreset,result:%d\n",res); -break; -case3: -res=displayVariBright->pVtbl->SetOptimizeBattery(displayVariBright); -printf("\tSetOptimizeBatterypreset,result:%d\n",res); -break; - -case4: -res=displayVariBright->pVtbl->SetMaximizeBattery(displayVariBright); -printf("\tSetMaximizeBatterypreset,result:%d\n",res); -break; -} -displayVariBright->pVtbl->Release(displayVariBright); -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayVari-Brightsupport\n"); -printf("\t->Press2togetVari-BrightEnablestate\n"); -printf("\t->Press3toenableVari-Bright\n"); -printf("\t->Press4toDisbaleVari-Bright\n"); -printf("\t->Press5tocheckifVari-Brightmodeismaximizedbrightnesspresetonthedisplay\n"); -printf("\t->Press6tocheckifVari-Brightmodeisoptimizedbrightnesspresetonthedisplay\n"); -printf("\t->Press7tocheckifVari-Brightmodeisbalancedpresetonthedisplay\n"); -printf("\t->Press8tocheckifVari-Brightmodeisoptimizedbatterypresetonthedisplay\n"); -printf("\t->Press9tocheckifVari-Brightmodeismaximizedbatterypresetonthedisplay\n"); -printf("\t->PressatosettheVari-Brightmodetomaximizedbrightnesspresetonthedisplay\n"); -printf("\t->PressbtosettheVari-Brightmodetooptimizedbrightnesspresetonthedisplay\n"); -printf("\t->PressctosettheVari-Brightmodetobalancedpresetonthedisplay\n"); -printf("\t->PressdtosettheVari-Brightmodetooptimizedbatterypresetonthedisplay\n"); -printf("\t->PressetosetstheVari-Brightmodetomaximizedbatterypresetonthedisplay\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayVariBrightsupport -case'1': -ShowDisplayVariBrightSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayVariBrightstate -case'2': -GetVariBrightEnabled(pDisplayService,pDisplay); -break; - -//SetdisplayVariBrightenable -case'3': -SetVariBrightEnabled(pDisplayService,pDisplay,true); -break; - -//SetdisplayVariBrightdisable -case'4': -SetVariBrightEnabled(pDisplayService,pDisplay,false); -break; - -case'5': -case'6': -case'7': -case'8': -case'9': -GetCurrentVariBright(pDisplayService,pDisplay,num-'5'); -break; - -case'a': -case'b': -case'c': -case'd': -case'e': -SetCurrentVariBright(pDisplayService,pDisplay,num-'a'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(char*msg,intretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__free_sync.xml b/vendor/adlx/SDKDoc/xml/c_display__free_sync.xml deleted file mode 100644 index c72ad2b..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__free_sync.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - c_display_FreeSync - DisplayFreeSync - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display FreeSync support.</td></tr> - <tr><td>2</td><td> Get FreeSync state.</td></tr> - <tr><td>3</td><td> Set current FreeSync to disabled.</td></tr> - <tr><td>4</td><td> Set current FreeSync to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayFreeSync</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayFreeSyncSupport -voidShowDisplayFreeSyncSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayFreeSyncstate -voidGetFreeSyncState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayFreeSync -voidSetFreeSyncState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuselection -MainMenu(); -//Getandexecutetheselection -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayFreeSyncSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayFreeSync*pDisplayFreeSync=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetFreeSync(pDisplayService,pDisplay,&pDisplayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetFreeSyncsupported===\n"); -adlx_boolsupported=false; -res=pDisplayFreeSync->pVtbl->IsSupported(pDisplayFreeSync,&supported); -printf("\tIsSupported,res:%d,supported:%s\n",res,supported?"true":"false"); -pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); -} -} - -voidGetFreeSyncState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayFreeSync*pDisplayFreeSync=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetFreeSync(pDisplayService,pDisplay,&pDisplayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetFreeSyncenabled===\n"); -adlx_boolenabled=false; -res=pDisplayFreeSync->pVtbl->IsEnabled(pDisplayFreeSync,&enabled); -printf("\tIsEnabled,res:%d,enabled:%d\n",res,enabled); -pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); -} -} - -voidSetFreeSyncState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayFreeSync*pDisplayFreeSync=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetFreeSync(pDisplayService,pDisplay,&pDisplayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetFreeSyncdisabled -case0: -printf("===SetFreeSynctofalse\n"); -res=pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync,false); -break; -//SetFreeSyncenabled -case1: -printf("===SetFreeSynctotrue\n"); -res=pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync,true); -break; -default: -break; -} -printf("\treturncodeis:%d(0meansSuccess)\n",res); -pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions:\n"); - -printf("\t->Press1toDisplayFreeSyncsupport\n"); - -printf("\t->Press2togetFreeSyncstate\n"); - -printf("\t->Press3tosetcurrentFreeSynctodisabled\n"); -printf("\t->Press4tosetcurrentFreeSynctoenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayFreeSyncsupport -case'1': -ShowDisplayFreeSyncSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayFreeSyncstate -case'2': -GetFreeSyncState(pDisplayService,pDisplay); -break; - -//SetdisplayFreeSync -case'3': -case'4': -SetFreeSyncState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__g_p_u_scaling.xml b/vendor/adlx/SDKDoc/xml/c_display__g_p_u_scaling.xml deleted file mode 100644 index 1a443d2..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__g_p_u_scaling.xml +++ /dev/null @@ -1,255 +0,0 @@ - - - - c_display_GPUScaling - DisplayGPUScaling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display GPU scaling when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display GPU scaling support.</td></tr> - <tr><td>2</td><td> Get GPU scaling state.</td></tr> - <tr><td>3</td><td> Set current GPU scaling to disabled.</td></tr> - <tr><td>4</td><td> Set current GPU scaling to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayGPUScaling</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayGPUScalingsupport -voidShowDisplayGPUScalingSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayGPUScalingstate -voidGetGPUScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayGPUScaling -voidSetGPUScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutetheselection -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayGPUScalingSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayGPUScaling*pDisplayGPUScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetGPUScaling(pDisplayService,pDisplay,&pDisplayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetGPUScalingsupported===\n"); -adlx_boolsupported=false; -res=pDisplayGPUScaling->pVtbl->IsSupported(pDisplayGPUScaling,&supported); -printf("\tIsSupported,res%d,supported:%s\n",res,supported?"true":"false"); -pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); -} -} - -voidGetGPUScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayGPUScaling*pDisplayGPUScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetGPUScaling(pDisplayService,pDisplay,&pDisplayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetGPUScalingenabled===\n"); -adlx_boolenabled=false; -res=pDisplayGPUScaling->pVtbl->IsEnabled(pDisplayGPUScaling,&enabled); -printf("\tIsEnabled,res:%d,enabled:%s\n",res,enabled?"true":"false"); -pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); -} -} - -voidSetGPUScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayGPUScaling*pDisplayGPUScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetGPUScaling(pDisplayService,pDisplay,&pDisplayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -printf("===SetGPUscaling===\n"); -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetGPUscalingdisabled -case0: -res=pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling,false); -break; -//SetGPUscalingenabled -case1: -res=pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling,true); -break; -default: -break; -} -printf("\treturncodeis:%d(0meansSuccess)\n",res); -pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions:\n"); - -printf("\t->Press1todisplayGPUscalingsupport\n"); - -printf("\t->Press2togetGPUscalingstate\n"); - -printf("\t->Press3tosetcurrentGPUscalingtodisabled\n"); -printf("\t->Press4tosetcurrentGPUscalingtoenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayGPUScalingsupport -case'1': -ShowDisplayGPUScalingSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayGPUScalingstate -case'2': -GetGPUScalingState(pDisplayService,pDisplay); -break; - -//SetdisplayGPUScaling -case'3': -case'4': -SetGPUScalingState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__h_d_c_p.xml b/vendor/adlx/SDKDoc/xml/c_display__h_d_c_p.xml deleted file mode 100644 index f715474..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__h_d_c_p.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - c_display_HDCP - DisplayHDCP - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display HDCP support.</td></tr> - <tr><td>2</td><td> Get HDCP state.</td></tr> - <tr><td>3</td><td> Set current HDCP to disabled.</td></tr> - <tr><td>4</td><td> Set current HDCP to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayHDCP</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayHDCPsupport -voidShowDisplayHDCPSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayHDCPstate -voidGetHDCPState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayHDCP -voidSetHDCPState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutetheselection -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayHDCPSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayHDCP*pDisplayHDCP=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetHDCP(pDisplayService,pDisplay,&pDisplayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetHDCPsupported===\n"); -adlx_boolsupported=false; -res=pDisplayHDCP->pVtbl->IsSupported(pDisplayHDCP,&supported); -printf("\tIsSupported,res%d,supported:%s\n",res,supported?"true":"false"); -pDisplayHDCP->pVtbl->Release(pDisplayHDCP); -} -} - -voidGetHDCPState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayHDCP*pDisplayHDCP=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetHDCP(pDisplayService,pDisplay,&pDisplayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetHDCPenabled===\n"); -adlx_boolenabled=false; -res=pDisplayHDCP->pVtbl->IsEnabled(pDisplayHDCP,&enabled); -printf("\tIsEnabled,res:%d,enabled:%s\n",res,enabled?"true":"false"); -pDisplayHDCP->pVtbl->Release(pDisplayHDCP); -} -} - -voidSetHDCPState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayHDCP*pDisplayHDCP=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetHDCP(pDisplayService,pDisplay,&pDisplayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetHDCPdisabled -case0: -printf("===SetHDCPenabledtofalse\n"); -res=pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP,false); -break; -//SetHDCPenabled -case1: -printf("===SetHDCPenabledtotrue\n"); -res=pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP,true); -break; -default: -break; -} -printf("\tReturncodeis:%d(0meansSuccess)\n",res); -pDisplayHDCP->pVtbl->Release(pDisplayHDCP); -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions:\n"); - -printf("\t->Press1todisplayHDCPsupport\n"); - -printf("\t->Press2togetHDCPstate\n"); - -printf("\t->Press3tosetcurrentHDCPtodisabled\n"); -printf("\t->Press4tosetcurrentHDCPtoenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayHDCPsupport -case'1': -ShowDisplayHDCPSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayHDCPstate -case'2': -GetHDCPState(pDisplayService,pDisplay); -break; - -//SetdisplayHDCP -case'3': -case'4': -SetHDCPState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__integer_scaling.xml b/vendor/adlx/SDKDoc/xml/c_display__integer_scaling.xml deleted file mode 100644 index a3bc79d..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__integer_scaling.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - c_display_IntegerScaling - DisplayIntegerScaling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display integer scaling when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display integer scaling support.</td></tr> - <tr><td>2</td><td> Get integer scaling state.</td></tr> - <tr><td>3</td><td> Set current Integer scaling to disabled.</td></tr> - <tr><td>4</td><td> Set current Integer scaling to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayIntegerScaling</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayIntegerScalingsupport -voidShowDisplayIntegerScalingSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayIntegerScalingstate -voidGetIntegerScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayIntegerScaling -voidSetIntegerScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Showamenuwithoptionstochosefrom -MainMenu(); -//Getandexcutetheselection -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayIntegerScalingSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayIntegerScaling*pDisplayIntegerScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetIntegerScaling(pDisplayService,pDisplay,&pDisplayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetIntegerScalingsupported===\n"); -adlx_boolsupported=false; -res=pDisplayIntegerScaling->pVtbl->IsSupported(pDisplayIntegerScaling,&supported); -printf("\tIsSupported,res%d,supported:%s\n",res,supported?"true":"false"); -pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); -} -} - -voidGetIntegerScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayIntegerScaling*pDisplayIntegerScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetIntegerScaling(pDisplayService,pDisplay,&pDisplayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetIntegerScalingenabled===\n"); -adlx_boolenabled=false; -res=pDisplayIntegerScaling->pVtbl->IsEnabled(pDisplayIntegerScaling,&enabled); -printf("\tIsEnabled,res:%d,enabled:%s\n",res,enabled?"true":"false"); -pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); -} -} - -voidSetIntegerScalingState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayIntegerScaling*pDisplayIntegerScaling=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetIntegerScaling(pDisplayService,pDisplay,&pDisplayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetIntegerScalingdisabled -case0: -printf("===SetIntegerScalingenabledtofalse;\n"); -res=pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling,false); -break; -//SetIntegerScalingenabled -case1: -printf("===SetIntegerScalingenabledtotrue;\n"); -res=pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling,true); -break; -default: -break; -} -printf("\treturncodeis:%d(0meansSuccess)\n",res); -pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); -} -} - -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1todisplayintegerscalingsupport\n"); - -printf("\t->Press2togetintegerscalingstate\n"); - -printf("\t->Press3tosetcurrentIntegerScalingtodisabled\n"); -printf("\t->Press4tosetcurrentIntegerScalingtoenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayIntegerScalingsupport -case'1': -ShowDisplayIntegerScalingSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayIntegerScalingstate -case'2': -GetIntegerScalingState(pDisplayService,pDisplay); -break; - -//SetdisplayIntegerScaling -case'3': -case'4': -SetIntegerScalingState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__pixel_format.xml b/vendor/adlx/SDKDoc/xml/c_display__pixel_format.xml deleted file mode 100644 index c9f5784..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__pixel_format.xml +++ /dev/null @@ -1,351 +0,0 @@ - - - - c_display_PixelFormat - DisplayPixelFormat - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display pixel format support.</td></tr> - <tr><td>2</td><td> Get pixel format state.</td></tr> - <tr><td>3</td><td> Set current pixel format to RGB_444_FULL.</td></tr> - <tr><td>4</td><td> Set current pixel format to YCBCR_444.</td></tr> - <tr><td>5</td><td> Set current pixel format to YCBCR_422.</td></tr> - <tr><td>6</td><td> Set current pixel format to RGB_444_LIMITED.</td></tr> - <tr><td>7</td><td> Get support state for each pixel format.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayPixelFormat</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayPixelFormatsupport -voidShowDisplayPixelFormatSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayPixelFormatstate -voidGetPixelFormatState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayPixelFormat -voidSetPixelFormatState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Getsupportstateforeachpixelformat -voidGetSupportStateForEachPixelFormat(IADLXDisplayServices*displayService,IADLXDisplay*display); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservice -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayPixelFormatSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayPixelFormat*pDisplayPixelFormat=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetPixelFormat(pDisplayService,pDisplay,&pDisplayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetPixelFormatsupported===\n"); -adlx_boolsupported=false; -res=pDisplayPixelFormat->pVtbl->IsSupported(pDisplayPixelFormat,&supported); -printf("\tPixelformatissupportedonthedisplay:%s,returncode:%d(0meanssuccess)\n",supported?"true":"false",res); -pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); -} -} - -voidGetPixelFormatState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayPixelFormat*pDisplayPixelFormat=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetPixelFormat(pDisplayService,pDisplay,&pDisplayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetPixelFormatenabled===\n"); -ADLX_PIXEL_FORMATpf=FORMAT_UNKNOWN; -res=pDisplayPixelFormat->pVtbl->GetValue(pDisplayPixelFormat,&pf); -char*pfStr="FORMAT_UNKNOWN"; -switch(pf) -{ -caseRGB_444_FULL: -pfStr="RGB_444_FULL"; -break; -caseYCBCR_444: -pfStr="YCBCR_444"; -break; -caseYCBCR_422: -pfStr="YCBCR_422"; -break; -caseRGB_444_LIMITED: -pfStr="RGB_444_LIMITED"; -break; -caseYCBCR_420: -pfStr="YCBCR_420"; -break; -default: -break; -} -printf("\tThepixelformatonthedisplayis%s,returncode:%d(0meanssuccess)\n",pfStr,res); -pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); -} -} - -voidSetPixelFormatState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayPixelFormat*pDisplayPixelFormat=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetPixelFormat(pDisplayService,pDisplay,&pDisplayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetPixelFormatRGB_444_FULL -case0: -printf("===SetpixelformattoRGB_444_FULL\n"); -res=pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat,RGB_444_FULL); -break; -//SetPixelFormatYCBCR_444 -case1: -printf("===SetpixelformattoYCBCR_444\n"); -res=pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat,YCBCR_444); -break; -//SetpixelformatYCBCR_422 -case2: -printf("===SetpixelformattoYCBCR_422\n"); -res=pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat,YCBCR_422); -break; -//SetpixelformatRGB_444_LIMITED -case3: -printf("===SetpixelformattoRGB_444_LIMITED\n"); -res=pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat,RGB_444_LIMITED); -break; -default: -break; -} -printf("\treturncodeis:%d(0meanssuccess)\n",res); -pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); -} -} - -//Getsupportstateforeachpixelformat -voidGetSupportStateForEachPixelFormat(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -IADLXDisplayPixelFormat*displayPixelFormat=NULL; -ADLX_RESULTres=displayService->pVtbl->GetPixelFormat(displayService,display,&displayPixelFormat); -if(ADLX_SUCCEEDED(res)&&displayPixelFormat) -{ -printf("===Getpixelformatlist===\n"); -adlx_boolsupport=false; - -res=displayPixelFormat->pVtbl->IsSupportedRGB444Full(displayPixelFormat,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportRGB4:4:4PCStandard(FullRGB):%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedYCbCr444(displayPixelFormat,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:4:4:%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedYCbCr422(displayPixelFormat,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:2:2:%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedRGB444Limited(displayPixelFormat,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportRGB4:4:4Studio(LimitedRGB):%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedYCbCr420(displayPixelFormat,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:2:0:%d\n",support); - -res=displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat,RGB_444_FULL,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportRGB4:4:4PCStandard(FullRGB):%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat,YCBCR_444,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:4:4:%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat,YCBCR_422,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:2:2:%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat,RGB_444_LIMITED,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportRGB4:4:4Studio(LimitedRGB):%d\n",support); -res=displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat,YCBCR_420,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssupportYCbCr4:2:0:%d\n",support); - -displayPixelFormat->pVtbl->Release(displayPixelFormat); -displayPixelFormat=NULL; -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplaypixelformatsupport\n"); - -printf("\t->Press2togetpixelformatstate\n"); - -printf("\t->Press3tosetcurrentpixelformattoRGB_444_FULL\n"); -printf("\t->Press4tosetcurrentpixelformattoYCBCR_444\n"); -printf("\t->Press5tosetcurrentpixelformattoYCBCR_422\n"); -printf("\t->Press6tosetcurrentpixelformattoRGB_444_LIMITED\n"); - -printf("\t->Press7togetsupportstateforeachpixelformat\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayPixelFormatsupport -case'1': -ShowDisplayPixelFormatSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayPixelFormatstate -case'2': -GetPixelFormatState(pDisplayService,pDisplay); -break; - -//SetdisplayPixelFormat -case'3': -case'4': -case'5': -case'6': -SetPixelFormatState(pDisplayService,pDisplay,num-'3'); -break; - -//Getsupportstateforeachpixelformat -case'7': -GetSupportStateForEachPixelFormat(pDisplayService,pDisplay); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__scaling_mode.xml b/vendor/adlx/SDKDoc/xml/c_display__scaling_mode.xml deleted file mode 100644 index daf0855..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__scaling_mode.xml +++ /dev/null @@ -1,277 +0,0 @@ - - - - c_display_ScalingMode - DisplayScalingMode - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display scaling mode when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display scaling mode support.</td></tr> - <tr><td>2</td><td> Get scaling mode state.</td></tr> - <tr><td>3</td><td> Set current scaling mode to PRESERVE_ASPECT_RATIO.</td></tr> - <tr><td>4</td><td> Set current scaling mode to FULL_PANEL.</td></tr> - <tr><td>5</td><td> Set current scaling mode to CENTERED.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayScalingMode</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayScalingModesupport -voidShowDisplayScalingModeSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayScalingModestate -voidGetScalingModeState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayScalingMode -voidSetScalingModeState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservice -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayScalingModeSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayScalingMode*pDisplayScalingMode=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetScalingMode(pDisplayService,pDisplay,&pDisplayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getscalingmodesupported===\n"); -adlx_boolsupported=false; -res=pDisplayScalingMode->pVtbl->IsSupported(pDisplayScalingMode,&supported); -printf("\tScalingmodeissupportedonthedisplay:%s,returncode:%d(0meanssuccess)\n",supported?"true":"false",res); -pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); -} -} - -voidGetScalingModeState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayScalingMode*pDisplayScalingMode=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetScalingMode(pDisplayService,pDisplay,&pDisplayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getscaling-modemode===\n"); -ADLX_SCALE_MODEsm=PRESERVE_ASPECT_RATIO; -res=pDisplayScalingMode->pVtbl->GetMode(pDisplayScalingMode,&sm); -char*smStr="Unknown"; -switch(sm) -{ -casePRESERVE_ASPECT_RATIO: -smStr="PRESERVE_ASPECT_RATIO"; -break; -caseFULL_PANEL: -smStr="FULL_PANEL"; -break; -caseCENTERED: -smStr="CENTERED"; -break; -} -printf("\tThescalingmodeonthedisplayis%s,returncode:%d(0meanssuccess)\n",smStr,res); -pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); -} -} - -voidSetScalingModeState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayScalingMode*pDisplayScalingMode=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetScalingMode(pDisplayService,pDisplay,&pDisplayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetscalingmodetoPRESERVE_ASPECT_RATIO -case0: -printf("===SetscalingmodetoPRESERVE_ASPECT_RATIO===\n"); -res=pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode,PRESERVE_ASPECT_RATIO); -break; -//SetscalingmodetoFULL_PANEL -case1: -printf("===SetscalingmodetoFULL_PANEL===\n"); -res=pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode,FULL_PANEL); -break; -//setScalingModeCENTERED -case2: -printf("===SetscalingmodetoCENTERED===\n"); -res=pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode,CENTERED); -break; -default: -break; -} -printf("\treturncodeis:%d(0meanssuccess)\n",res); -pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1toDisplayscalingmodesupport\n"); - -printf("\t->Press2togetscalingmodestate\n"); - -printf("\t->Press3tosetcurrentscalingmodetoPRESERVE_ASPECT_RATIO\n"); -printf("\t->Press4tosetcurrentscalingmodetoFULL_PANEL\n"); -printf("\t->Press5tosetcurrentscalingmodetoCENTERED\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayScalingModesupport -case'1': -ShowDisplayScalingModeSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayScalingModestate -case'2': -GetScalingModeState(pDisplayService,pDisplay); -break; - -//SetdisplayScalingMode -case'3': -case'4': -case'5': -SetScalingModeState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_display__v_s_r.xml b/vendor/adlx/SDKDoc/xml/c_display__v_s_r.xml deleted file mode 100644 index 14afd0f..0000000 --- a/vendor/adlx/SDKDoc/xml/c_display__v_s_r.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - c_display_VSR - DisplayVSR - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display VSR when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display VSR support.</td></tr> - <tr><td>2</td><td> Get VSR state.</td></tr> - <tr><td>3</td><td> Disable VSR. </td></tr> - <tr><td>4</td><td> Enabled VSR.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayVSR</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayVSRsupport -voidShowDisplayVSRSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//DisplaycurrentdisplayVSRstate -voidGetVirtualSuperResolutionState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//SetdisplayVSR -voidSetVSRState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservice -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayVSRSupport(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayVSR*pDisplayVSR=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService,pDisplay,&pDisplayVSR); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetVSRsupported===\n"); -adlx_boolsupported=false; -res=pDisplayVSR->pVtbl->IsSupported(pDisplayVSR,&supported); -printf("\tIsSupported,res%d,supported:%s\n",res,supported?"true":"false"); -pDisplayVSR->pVtbl->Release(pDisplayVSR); -} -} - -voidGetVirtualSuperResolutionState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -IADLXDisplayVSR*pDisplayVSR=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService,pDisplay,&pDisplayVSR); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetVSRenabled===\n"); -adlx_boolenabled=false; -res=pDisplayVSR->pVtbl->IsEnabled(pDisplayVSR,&enabled); -printf("\tIsEnabled,res:%d,enabled:%s\n",res,enabled?"true":"false"); -pDisplayVSR->pVtbl->Release(pDisplayVSR); -} -} - -voidSetVSRState(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay,constintkey) -{ -IADLXDisplayVSR*pDisplayVSR=NULL; -ADLX_RESULTres=pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService,pDisplay,&pDisplayVSR); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetVSRdisabled -case0: -printf("===SetVSRenabledtofalse\n"); -res=pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR,false); -break; -//SetVSRenabled -case1: -printf("===SetVSRenabledtotrue\n"); -res=pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR,true); -break; -default: -break; -} -printf("\treturncodeis:%d(0meanssuccess)\n",res); -pDisplayVSR->pVtbl->Release(pDisplayVSR); -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayVSRsupport\n"); - -printf("\t->Press2togetVSRstate\n"); - -printf("\t->Press3tosetcurrentVSRtodisabled\n"); -printf("\t->Press4tosetcurrentVSRtoenabled\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*pDisplayService,IADLXDisplay*pDisplay) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayVSRsupport -case'1': -ShowDisplayVSRSupport(pDisplayService,pDisplay); -break; - -//DisplaycurrentdisplayVSRstate -case'2': -GetVirtualSuperResolutionState(pDisplayService,pDisplay); -break; - -//SetdisplayVSR -case'3': -case'4': -SetVSRState(pDisplayService,pDisplay,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sam.xml b/vendor/adlx/SDKDoc/xml/c_sam.xml deleted file mode 100644 index d1181e6..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sam.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - c_sam - SmartAccessMemory - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD SmartAccess Memory support status on a GPU.</td></tr> - <tr><td>2</td><td> Display AMD SmartAccess Memory enabled status.</td></tr> - <tr><td>3</td><td> Set AMD SmartAccess Memory state.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/GPUTuning/SmartAccessMemory</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/ISmartAccessMemory.h" -#include"SDK/Include/IGPUTuning1.h" - -staticHANDLESAMEvent=NULL; - -staticadlx_boolADLX_STD_CALLOnGPUTuningChanged(IADLXGPUTuningChangedListener*pGPUTuningChangedListener,IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent) -{ -IADLXGPUTuningChangedEvent1*pGPUTuningChangedEvent1=NULL; -pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent,IID_IADLXGPUTuningChangedEvent1(),&pGPUTuningChangedEvent1); -adlx_boolSAMChange=pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1); -if(SAMChange) -{ -adlx_boolenabled=false,completed=false; -pGPUTuningChangedEvent1->pVtbl->GetSmartAccessMemoryStatus(pGPUTuningChangedEvent1,&enabled,&completed); -pGPUTuningChangedEvent1->pVtbl->Release(pGPUTuningChangedEvent1); -pGPUTuningChangedEvent1=NULL; -} - -SetEvent(SAMEvent); -returntrue; -} -staticIADLXGPUTuningChangedListenerVtblgpuTuningChangedVtable={&OnGPUTuningChanged}; -staticIADLXGPUTuningChangedListenergpuTuningChangedListener={&gpuTuningChangedVtable}; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//FindthefirstGPUindexthatsupportsAMDSmartAccessMemory.Return-1ifallGPUsarenotsupported -adlx_uintGetGPUIndexSupportSAM(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus); - -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -voidShowSmartAccessMemorySupport(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus); - -//DisplayAMDSmartAccessMemoryenabledstatus -voidShowSmartAccessMemoryState(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus); - -//SetAMDSmartAccessMemorystate -voidSetSmartAccessMemoryState(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUTuningServices*gpuTuningService=NULL; -IADLXGPUTuningServices1*gpuTuningService1=NULL; -IADLXGPUTuningChangedHandling*gpuTuningHandling=NULL; -IADLXGPUList*gpus=NULL; -if(sys!=NULL) -{ -res=sys->pVtbl->GetGPUTuningServices(sys,&gpuTuningService); -if(ADLX_SUCCEEDED(res)) -{ -//GetgpuTuningService1viagpuTuningService::QueryInterface() -res=gpuTuningService->pVtbl->QueryInterface(gpuTuningService,IID_IADLXGPUTuningServices1(),&gpuTuningService1); -if(ADLX_SUCCEEDED(res)) -{ - -res=gpuTuningService1->pVtbl->GetGPUTuningChangedHandling(gpuTuningService1,&gpuTuningHandling); -if(ADLX_SUCCEEDED(res)) -{ -//Addlistener -SAMEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -ADLX_RESULTeventRes=gpuTuningHandling->pVtbl->AddGPUTuningEventListener(gpuTuningHandling,&gpuTuningChangedListener); - -//Menu -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(gpuTuningService1,gpus); -} -else -printf("FailedtogetGPUlist\n"); - -//Removelistener -if(ADLX_SUCCEEDED(eventRes)) -eventRes=gpuTuningHandling->pVtbl->RemoveGPUTuningEventListener(gpuTuningHandling,&gpuTuningChangedListener); -} -else -printf("FailedtogetGPUTuningChangedHandling\n"); -} -else -printf("FailedtogetgpuTuningService1\n"); -} -else -printf("FailedtogetgpuTuningService\n"); -} -else -printf("FailedtogetsystemService\n"); -//Free -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} -if(gpuTuningHandling!=NULL) -{ -gpuTuningHandling->pVtbl->Release(gpuTuningHandling); -gpuTuningHandling=NULL; -} -if(gpuTuningService1!=NULL) -{ -gpuTuningService1->pVtbl->Release(gpuTuningService1); -gpuTuningService1=NULL; -} -if(gpuTuningService!=NULL) -{ -gpuTuningService->pVtbl->Release(gpuTuningService); -gpuTuningService=NULL; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); - -printf("\t->Press1todisplayAMDSmartAccessMemorysupportedGPUs\n"); -printf("\t->Press2todisplayAMDSmartAccessMemoryenabledstatus\n"); -printf("\t->Press3tosettheAMDSmartAccessMemorystate\n"); -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -case'1': -ShowSmartAccessMemorySupport(gpuTuningService1,gpus); -break; - -//DisplayAMDSmartAccessMemoryenabledstatus -case'2': -ShowSmartAccessMemoryState(gpuTuningService1,gpus); -break; - -//SetAMDSmartAccessMemorystate -case'3': -SetSmartAccessMemoryState(gpuTuningService1,gpus); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -//FindthefirstGPUindexthatsupportsAMDSmartAccessMemory.Return-1ifallGPUsarenotsupported -adlx_uintGetGPUIndexSupportSAM(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus) -{ -adlx_uintsupportedIndex=-1; -IADLXGPU*oneGPU=NULL; -IADLXSmartAccessMemory*smartAccessMemory=NULL; -for(autoindex=gpus->pVtbl->Begin(gpus);index!=gpus->pVtbl->End(gpus);++index) -{ -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//GettheAMDSmartAccessMemoryinterface -res=gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1,oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -ADLX_RESULTres=smartAccessMemory->pVtbl->IsSupported(smartAccessMemory,&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -supportedIndex=index; -smartAccessMemory->pVtbl->Release(smartAccessMemory); -oneGPU->pVtbl->Release(oneGPU); -break; -} -} -} -if(smartAccessMemory!=NULL) -{ -smartAccessMemory->pVtbl->Release(smartAccessMemory); -smartAccessMemory=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -returnsupportedIndex; -} - -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -voidShowSmartAccessMemorySupport(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -printf("AllGPUsdoesn'tsupportAMDSmartAccessMemory\n"); -else -printf("The%dthGPUsupportAMDSmartAccessMemory\n",(index+1)); -} - -//DisplayAMDSmartAccessMemoryenabledstatus -voidShowSmartAccessMemoryState(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -printf("AllGPUsdoesn'tsupportAMDSmartAccessMemory\n"); -else -{ -IADLXGPU*oneGPU=NULL; -IADLXSmartAccessMemory*smartAccessMemory=NULL; -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -res=gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1,oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolenabled=false; -res=smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("TheAMDSmartAccessMemoryis%sonthe%dthGPU\n",(enabled?"enabled":"disabled"),(index+1)); -else -printf("CallIsEnabled()failed\n"); -} -else -printf("FailedtogetsmartAccessMemory\n"); -} -else -printf("FailedtogettheGPU\n"); - -if(smartAccessMemory!=NULL) -{ -smartAccessMemory->pVtbl->Release(smartAccessMemory); -smartAccessMemory=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - -//SetAMDSmartAccessMemorystate -voidSetSmartAccessMemoryState(IADLXGPUTuningServices1*gpuTuningService1,IADLXGPUList*gpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -printf("AllGPUsdoesn'tsupportAMDSmartAccessMemory\n"); -else -{ -IADLXGPU*oneGPU=NULL; -IADLXSmartAccessMemory*smartAccessMemory=NULL; -ADLX_RESULTres=gpus->pVtbl->At_GPUList(gpus,index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -res=gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1,oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolenabled=false; -res=smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("CurrentlyAMDSmartAccessMemoryis%son%dthGPU\n",(enabled?"enabled":"disabled"),(index+1)); -else -printf("CallIsEnabled()failed\n"); -res=smartAccessMemory->pVtbl->SetEnabled(smartAccessMemory,!enabled); -if(ADLX_SUCCEEDED(res)) -printf("SetAMDSmartAccessMemoryto%sfor%dthGPU\n",(!enabled?"enabled":"disabled"),(index+1)); -else -printf("CallSetEnabled()failed\n"); - -//FirsteventreceivedquicklybeforeSAMstart -WaitForSingleObject(SAMEvent,2000); - -//Whenreceivethefirstevent,avoidcallinganyotherADLXmethod,andifanyUIapplicationisrunning,wemustcloseittoavoidcrashing -//Close(application)...... - -//SecondeventreceivedafterSAMcompleted,themaximumconsumingtimelessthan20seconds. -WaitForSingleObject(SAMEvent,20000); - -//NowSAMcompleted,wecanrestarttheUIapplication,andcontinuetocallADLXfunction -//Start(application)...... - -res=smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory,&enabled); -if(ADLX_SUCCEEDED(res)) -printf("Aftersetting,AMDSmartAccessMemoryis%son%dthGPU\n",(enabled?"enabled":"disabled"),(index+1)); -else -printf("CallIsEnabled()failed\n"); -} -else -printf("FailedtogetsmartAccessMemory\n"); -} -else -printf("FailedtogettheGPU\n"); - -if(smartAccessMemory!=NULL) -{ -smartAccessMemory->pVtbl->Release(smartAccessMemory); -smartAccessMemory=NULL; -} -if(oneGPU!=NULL) -{ -oneGPU->pVtbl->Release(oneGPU); -oneGPU=NULL; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__async_event_handling.xml b/vendor/adlx/SDKDoc/xml/c_sample__async_event_handling.xml deleted file mode 100644 index 572279c..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__async_event_handling.xml +++ /dev/null @@ -1,208 +0,0 @@ - - - - c_sample_AsyncEventHandling - AsyncEventHandling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/C/ReceivingEventsNotifications/AsyncEventHandling</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplay3DLUT.h" -#include"SDK/Include/IDisplayGamma.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" -#include<windows.h> - -//Handlethread -HANDLEthread=NULL; - -//Gamutchangedevent -HANDLEgamutChangedEvent=NULL; - -//Workthread -DWORDWINAPIWorkThread(LPVOIDlpParam) -{ -//Sometime-consumingoperations -Sleep(5000); -IADLXDisplayGamutChangedEvent*gamutChanged=(IADLXDisplayGamutChangedEvent*)(lpParam); -printf("Ontheasynchronousthread:ThreadId:%d:Afterthetime-consumingoperations,getthedisplaygamutchangedevent:\n",GetCurrentThreadId()); -printf("\tColorspacechange:%d\n\tWhitepointchange:%d\n", -gamutChanged->pVtbl->IsColorSpaceChanged(gamutChanged), -gamutChanged->pVtbl->IsWhitePointChanged(gamutChanged)); - -//Releasetheinterfacewhenthetaskiscompleted. -gamutChanged->pVtbl->Release(gamutChanged); - -SetEvent(gamutChangedEvent); - -return0; -} - -//CallBackfordisplayGamut -adlx_boolADLX_STD_CALLOnDisplayGamutChanged(IADLXDisplayGamutChangedListener*pThis,IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent) -{ -//Acquiretheinterfacebeforepassingtotheasynchronousthread -pDisplayGamutChangedEvent->pVtbl->Acquire(pDisplayGamutChangedEvent); -thread=CreateThread(NULL,0,WorkThread,pDisplayGamutChangedEvent,0,NULL); - -//ReturnstruewillmakeADLXcontinuetonotifynextlistenerorfalsetostoptonotify -returntrue; -} - -//CallBackstructfordisplayGamut -typedefstructDisplayGamutCallBack -{ -adlx_bool(ADLX_STD_CALL*OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*,IADLXDisplayGamutChangedEvent*); -}DisplayGamutCallBack; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createevent -gamutChangedEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaychangehandling -IADLXDisplayChangedHandling*displayChangeHandl=NULL; -res=displayService->pVtbl->GetDisplayChangedHandling(displayService,&displayChangeHandl); -if(ADLX_SUCCEEDED(res)) -{ -DisplayGamutCallBack*displayGamutCallBack=(DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack)); -displayGamutCallBack->OnDisplayGamutChanged=&OnDisplayGamutChanged; - -//ADDcallbacktothehandl -ADLX_RESULTaddListenerRes=ADLX_FAIL; -{ -addListenerRes=displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl,(IADLXDisplayGamutChangedListener*)&displayGamutCallBack); -} - -//Setgamutforthefirstdisplay -IADLXDisplayList*displays=NULL; -displayService->pVtbl->GetDisplays(displayService,&displays); -adlx_uintit=0; -IADLXDisplay*display=NULL; -displays->pVtbl->At_DisplayList(displays,it,&display); -IADLXDisplayGamut*dispGamut=NULL; -res=displayService->pVtbl->GetGamut(displayService,display,&dispGamut); -res=dispGamut->pVtbl->SetGamut_PW_PG(dispGamut,WHITE_POINT_5000K,GAMUT_SPACE_CIE_RGB); -printf("setgamutret:%d\n",res); -if(ADLX_SUCCEEDED(res)) -{ -printf("Thiswilltriggergamutchangeandsendgamutchangeinthread:%d\n",GetCurrentThreadId()); -} -if(NULL!=dispGamut) -{ -dispGamut->pVtbl->Release(dispGamut); -} -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -if(NULL!=displays) -{ -displays->pVtbl->Release(displays); -displays=NULL; -} - -if(ADLX_SUCCEEDED(addListenerRes)) -{ -//Waitforgamutchange -WaitForSingleObject(gamutChangedEvent,INFINITE); -CloseHandle(thread); - -//Removeanddestroycallback -res=displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl,(IADLXDisplayGamutChangedListener*)&displayGamutCallBack); -if(ADLX_FAILED(res)) -printf("Removedisplaygamuteventlistenerfailed\n"); -} - -if(NULL!=displayGamutCallBack) -{ -free(displayGamutCallBack); -displayGamutCallBack=NULL; -} -} - -//ReleasethedisplayChangeHandlinterface -if(NULL!=displayChangeHandl) -{ -displayChangeHandl->pVtbl->Release(displayChangeHandl); -displayChangeHandl=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Closeevent -if(gamutChangedEvent) -CloseHandle(gamutChangedEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__g_p_u_service_call.xml b/vendor/adlx/SDKDoc/xml/c_sample__g_p_u_service_call.xml deleted file mode 100644 index 4080215..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__g_p_u_service_call.xml +++ /dev/null @@ -1,508 +0,0 @@ - - - - c_sample_GPUServiceCall - GPUServiceCall - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <h1 id="background">Background</h1> - <p>User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.</p> - <p>This documentation demonstrates how to call ADLX functionalities in windows service call.</p> - <p>We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.</p> - <h1 id="usage">Usage</h1> - <p>This executable is run as service (if you run it as a normal application it will abort with errors)</p> - <h2 id="install-this-service">Install this service</h2> - <ol type="1"> - <li><p>Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:</p></li> - </ol> - <blockquote> - <p>“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/C/build/bin/Debug/”</p> - </blockquote> - <ol start="2" type="1"> - <li><p>Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:</p></li> - </ol> - <blockquote> - <p><img src="media/image1.png" style="width:5.76806in;height:3.15in" alt="Text Description automatically generated" /></p> - </blockquote> - <ol start="3" type="1"> - <li><p>Check if the service is installed:</p></li> - </ol> - <blockquote> - <p>Open windows’ service settings by win+R with services.msc:</p> - <p><img src="media/image2.png" style="width:3.07557in;height:1.78705in" alt="Graphical user interface, text, application Description automatically generated" /></p> - <p>Check service with name “ADLX GPU Service”</p> - <p><img src="media/image3.png" style="width:5.15972in;height:3.05105in" /></p> - </blockquote> - <h2 id="uninstall-adlx-gpu-service">Uninstall “ADLX GPU Service”</h2> - <p>Open windows command line utility with administrator permission, enter “GPUService.exe -remove”</p> - <p><img src="media/image4.png" style="width:5.76389in;height:0.65278in" /></p> - <p>The service is removed in OS.</p> - <h2 id="debug-this-service">Debug this service</h2> - <ol type="1"> - <li><p>Start the service:</p></li> - </ol> - <p><img src="media/image5.png" style="width:5.76806in;height:2.38264in" alt="Graphical user interface, application Description automatically generated" /></p> - <ol start="2" type="1"> - <li><p>Run the debugging executable (compiled with debug configuration)</p></li> - </ol> - <p>Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.</p> - <ol start="3" type="1"> - <li><p>Set Dbgview.exe (admin mode) with below options:</p></li> - </ol> - <p><img src="media/image6.png" style="width:5.76806in;height:2.96111in" alt="Graphical user interface, text, application, email Description automatically generated" /></p> - <ol start="4" type="1"> - <li><p>Check the service outputs (with “ADLX Call Service:”prefix):</p></li> - </ol> - <p><img src="media/image7.png" style="width:5.76597in;height:1.89583in" /></p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#pragmawarning(suppress:6248) - -#include<Windows.h> -#include<TlHelp32.h> -#include<wchar.h> -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/ISystem.h" -#include"GlobalDefs.h" -#include<stdio.h> - -voidXTrace(wchar_t*lpszFormat,...) -{ -va_listargs; -va_start(args,lpszFormat); -intnBuf; -WCHARszBuffer[MAX_DEBUG_STR_LEN]; -nBuf=_vsnwprintf_s(szBuffer,MAX_DEBUG_STR_LEN,_TRUNCATE,lpszFormat,args); -OutputDebugStringW(szBuffer); -va_end(args); -} - -//Servicename -#defineADLX_SERVICE_NAMEL"ADLXGPUService" - -//Globalvariablesforserviceroutine -SERVICE_STATUS_HANDLEg_StatusHandle=NULL; -SERVICE_STATUSg_ServiceStatus={0}; -HANDLEg_ServiceStopEvent=INVALID_HANDLE_VALUE; - -//Serviceroutine -VOIDWINAPIServiceMain(DWORDargc,LPTSTR*argv); -VOIDWINAPIServiceCtrlHandler(DWORD); -DWORDWINAPIServiceWorkerThread(LPVOIDlpParam); - -//Install/unistallthisservice -//N.B:Needadminpermission -//Usercanalsoinstall/unistallthisservicebywindowscommandline -//Usage:SCCREATE"ADLXGPUService""GPUService.exe" -//SCDELETE"ADLXGPUService" -voidInstallService(); -voidRemoveService(); - -//InvokerGPUinformationwithADLXinuserprocessbysharememorycommunication -externBOOLGetUserProcessData(Messager*messager,ResponseData*responseData); - -//ADLXexecutortoberuninuserprocess -//RetrievethefirstavailableGPUvenderidandname -BOOLGetAdlxGpuInfo(WCHAR*resultBuffer) -{ -if(resultBuffer==NULL) -{ -XTrace(L"ADLXCallService:GetAdlxGpuInfo:invalidargument"); -returnFALSE; -} - -if(ADLX_FAILED(ADLXHelper_Initialize())) -{ -XTrace(L"ADLXCallService:GetAdlxGpuInfo:ADLXhelperinitalizefailed."); -returnFALSE; -} - -BOOLret=FALSE; - -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXGPUList*gpus=NULL; -ADLX_RESULTres=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->pVtbl->Empty(gpus)) -{ -IADLXGPU*gpu=NULL; -res=gpus->pVtbl->At_GPUList(gpus,0,&gpu); -if(ADLX_SUCCEEDED(res)&&gpu) -{ -constchar*vendorId=NULL; -res=gpu->pVtbl->VendorId(gpu,&vendorId); -if(ADLX_SUCCEEDED(res)) -{ -swprintf_s(resultBuffer,MAX_RESULT_LEN,L"VenderId=%hs",vendorId); -} - -constchar*gpuName=NULL; -res=gpu->pVtbl->Name(gpu,&gpuName); -if(ADLX_SUCCEEDED(res)) -{ -swprintf_s(resultBuffer+wcslen(resultBuffer),MAX_RESULT_LEN-wcslen(resultBuffer),L"GpuName=%hs",gpuName); -} - -gpu->pVtbl->Release(gpu); -ret=TRUE; -} - -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -} -} - -returnret; -} - -//GetanddumpGPUvenderidandname -voidShowGPUInfo() -{ -ResponseDataresult; -MessageroneMessager; -oneMessager.adlxEntityName=ADLX_FUNCTION_NAME; -oneMessager.exector=GetAdlxGpuInfo; - -if(GetUserProcessData(&oneMessager,&result)) -{ -//Dumpresults -XTrace(L"ADLXCallService:ShowGPUInfo:%s",result.executedResults); -} -} - -//Usage -voidUsage() -{ -printf("\n"); -printf("\tThisexeisaserviceexecutable,youcaninstall/unistallitwith:\n"); -printf("\tSCCREATE'ADLXGPUService''GPUService.exe'\n"); -printf("\tSCDELETE'ADLXGPUService'\n"); -printf("\n"); -printf("\tOrusetheexecutableitselftoinstall/uninstall:\n"); -printf("\tGPUService.exe-installorGPUService.exe/install\n"); -printf("\tGPUService.exe-removeorGPUService.exe/remove\n"); -printf("\n"); -printf("\tUseGPUService.exe-help,GPUService.exe/helptoshowthisusage,orGPUService.exe?\n"); -printf("\n"); -} - -intwmain(intargc,wchar_t*argv[]) -{ -XTrace(L"ADLXCallService:Main:Entry"); -XTrace(L"ADLXCallService:Main:Args:%s",GetCommandLineW()); - -if((argc>1)) -{ -if(((*argv[1]=='-')||(*argv[1]=='/'))) -{ -if(_wcsicmp(L"install",argv[1]+1)==0) -{ -InstallService(); -return0; -} -elseif(_wcsicmp(L"remove",argv[1]+1)==0) -{ -RemoveService(); -return0; -} -elseif(_wcsicmp(L"help",argv[1]+1)==0) -{ -Usage(); -return0; -} -} -elseif(_wcsicmp(L"?",argv[1])==0) -{ -Usage(); -return0; -} -} -elseif(_wcsicmp(L"GPUInfo",GetCommandLineW())==0) -{ -WCHAReventPath[MAX_PATH]={0}; -WCHARshmPath[MAX_PATH]={0}; - -swprintf_s(eventPath,MAX_PATH,ADXL_EVENT_NAME,ADLX_FUNCTION_NAME); -swprintf_s(shmPath,MAX_PATH,ADXL_SHAREMENORY_NAME,ADLX_FUNCTION_NAME); - -XTrace(L"ADLXCallService:Main:GPUInfoevt:%s,shmpath:%s\n",eventPath,shmPath); - -if(ShmCreate(shmPath,SHARE_MEMORY_MAX_SIZE)) -{ -Messagermessager; -if(ShmReadBuffer(shmPath,(PVOID)&messager,sizeof(Messager))) -{ -ResponseDataresult; -if(messager.exector(result.executedResults)) -{ -result.size=(int)wcslen(result.executedResults); -ShmWriteBuffer(shmPath,(PVOID*)&result,(ULONG)sizeof(result)); - -HANDLEhEvent=OpenEventW(EVENT_ALL_ACCESS,FALSE,eventPath); -if(hEvent) -{ -SetEvent(hEvent); -CloseHandle(hEvent); -XTrace(L"ADLXCallService:Main:GPUInfo,userappfinished."); -} -} -} -} - -return0; -} - -SERVICE_TABLE_ENTRYWServiceTable[]= -{ -{ADLX_SERVICE_NAME,(LPSERVICE_MAIN_FUNCTIONW)ServiceMain}, -{NULL,NULL} -}; - -if(StartServiceCtrlDispatcherW(ServiceTable)==FALSE) -{ -XTrace(L"ADLXCallService:Main:StartServiceCtrlDispatcherreturnederror."); -returnGetLastError(); -} - -XTrace(L"ADLXCallService:Main:Exit"); - -return0; -} - -VOIDWINAPIServiceMain(DWORDargc,LPTSTR*argv) -{ -DWORDStatus=E_FAIL; - -XTrace(L"ADLXCallService:ServiceMain:Entry"); - -g_StatusHandle=RegisterServiceCtrlHandlerW(ADLX_SERVICE_NAME,ServiceCtrlHandler); -if(g_StatusHandle==NULL) -{ -XTrace(L"ADLXCallService:ServiceMain:RegisterServiceCtrlHandlerreturnederror"); -gotoEXIT; -} - -//Telltheservicecontrollerwearestarting -ZeroMemory(&g_ServiceStatus,sizeof(g_ServiceStatus)); -g_ServiceStatus.dwServiceType=SERVICE_WIN32_OWN_PROCESS; -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_START_PENDING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwServiceSpecificExitCode=0; -g_ServiceStatus.dwCheckPoint=0; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -/* -*Performtasksneccesarytostarttheservicehere -*/ -XTrace(L"ADLXCallService:ServiceMain:PerformingServiceStartOperations"); - -//Createstopeventtowaitonlater. -g_ServiceStopEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -if(g_ServiceStopEvent==NULL) -{ -XTrace(L"ADLXCallService:ServiceMain:CreateEvent(g_ServiceStopEvent)returnederror"); - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOPPED; -g_ServiceStatus.dwWin32ExitCode=GetLastError(); -g_ServiceStatus.dwCheckPoint=1; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} -gotoEXIT; -} - -//Telltheservicecontrollerwearestarted -g_ServiceStatus.dwControlsAccepted=SERVICE_ACCEPT_STOP; -g_ServiceStatus.dwCurrentState=SERVICE_RUNNING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=0; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -//Startthethreadthatwillperformthemaintaskoftheservice -HANDLEhThread=CreateThread(NULL,0,ServiceWorkerThread,NULL,0,NULL); - -XTrace(L"ADLXCallService:ServiceMain:WaitingforWorkerThreadtocomplete"); - -//Waituntilourworkerthreadexitseffectivelysignalingthattheserviceneedstostop -WaitForSingleObject(hThread,INFINITE); - -XTrace(L"ADLXCallService:ServiceMain:WorkerThreadStopEventsignaled"); - -/* -*Performanycleanuptasks -*/ -XTrace(L"ADLXCallService:ServiceMain:PerformingCleanupOperations"); - -CloseHandle(g_ServiceStopEvent); - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOPPED; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=3; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -EXIT: -XTrace(L"ADLXCallService:ServiceMain:Exit"); - -return; -} - -VOIDWINAPIServiceCtrlHandler(DWORDCtrlCode) -{ -XTrace(L"ADLXCallService:ServiceCtrlHandler:Entry"); - -switch(CtrlCode) -{ -caseSERVICE_CONTROL_STOP: - -XTrace(L"ADLXCallService:ServiceCtrlHandler:SERVICE_CONTROL_STOPRequest"); - -if(g_ServiceStatus.dwCurrentState!=SERVICE_RUNNING) -break; - -/* -*Performtasksneccesarytostoptheservicehere -*/ - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOP_PENDING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=4; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceCtrlHandler:SetServiceStatusreturnederror"); -} - -//Thiswillsignaltheworkerthreadtoshutdown -SetEvent(g_ServiceStopEvent); -break; - -default: -break; -} - -XTrace(L"ADLXCallService:ServiceCtrlHandler:Exit"); -} - -DWORDWINAPIServiceWorkerThread(LPVOIDlpParam) -{ -XTrace(L"ADLXCallService:ServiceWorkerThread:Entry"); - -//Periodicallycheckiftheservicehasbeenrequestedtostop -while(WaitForSingleObject(g_ServiceStopEvent,0)!=WAIT_OBJECT_0) -{ -ShowGPUInfo(); -Sleep(3*1000); -} - -XTrace(L"ADLXCallService:ServiceWorkerThread:Exit"); - -returnERROR_SUCCESS; -} - -voidInstallService() -{ -WCHARpath[512]={0}; -if(GetModuleFileNameW(NULL,path,512)==0) -{ -XTrace(L"ADLXCallService:InstallService:Cannotgetg_SharedFilepath."); -return; -} - -SC_HANDLEserviceManager=OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT|SC_MANAGER_CREATE_SERVICE); -if(serviceManager) -{ -SC_HANDLEserviceHandle=CreateServiceW( -serviceManager,ADLX_SERVICE_NAME,ADLX_SERVICE_NAME,SERVICE_QUERY_STATUS, -SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS, -SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,path, -NULL,NULL,L"",NULL,NULL); - -if(serviceHandle) -{ -CloseServiceHandle(serviceHandle); -} -else -{ -XTrace(L"ADLXCallService:InstallService:Cannotcreateservice."); -} - -CloseServiceHandle(serviceManager); -} -else -{ -XTrace(L"ADLXCallService:InstallService:Cannotopenservice."); -} -} - -voidRemoveService() -{ -SC_HANDLEserviceManager=OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT); -if(!serviceManager) -{ -XTrace(L"ADLXCallService:RemoveService:Cannotopenservicemanager."); -return; -} - -SC_HANDLEserviceHandle=OpenServiceW(serviceManager,ADLX_SERVICE_NAME,DELETE|SERVICE_STOP); -if(!serviceHandle) -{ -CloseServiceHandle(serviceManager); -XTrace(L"ADLXCallService:RemoveService:Cannotopenservice."); -return; -} - -if(!DeleteService(serviceHandle)) -{ -CloseServiceHandle(serviceHandle); -CloseServiceHandle(serviceManager); -XTrace(L"ADLXCallService:RemoveService:Deleteservicefailed."); -return; -} - -XTrace(L"ADLXCallService:RemoveService:Deletedservice."); - -SERVICE_STATUSserviceStatus={0}; -ControlService(serviceHandle,SERVICE_CONTROL_STOP,(LPSERVICE_STATUS)&serviceStatus); - -CloseServiceHandle(serviceHandle); -CloseServiceHandle(serviceManager); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__invalid_object.xml b/vendor/adlx/SDKDoc/xml/c_sample__invalid_object.xml deleted file mode 100644 index 15627d9..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__invalid_object.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - c_sample_InvalidObject - InvalidObject - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to handle invalid objects when programming with ADLX. </p> - <h2>Sample Path</h2> - <p>/Samples/C/Generic/InvalidObject</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getthedisplaylistanditeratethroughthelist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -adlx_uintit=displayList->pVtbl->Begin(displayList); -IADLXDisplay*display=NULL; -for(;it!=displayList->pVtbl->End(displayList);it++) -{ -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Savethefirstdisplay -break; -} -} - -//Getthedisplaynameandprompttounplugthedisplay -constchar*dispName; -res=display->pVtbl->Name(display,&dispName); -printf("Within15seconds,unplugthedisplay%s.\n",dispName); - -//Blockfor15s -Sleep(15*1000); - -//After15seconds,readingthedisplaynameagain.Ifthedisplaywasunplugged,themethodwillfailandreturnADLX_INVALID_OBJECT. -res=display->pVtbl->Name(display,&dispName); -printf("Getdisplaynamereturncodeis:%d(%dmeansthatthemethodwascalledintoaninvalidobject)\n",res,ADLX_INVALID_OBJECT); -if(ADLX_INVALID_OBJECT==res) -{ -//Todo:Handletheinvaliddisplay -printf("Thedisplayisinvalid.\n"); -} -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__primary_adapter.xml b/vendor/adlx/SDKDoc/xml/c_sample__primary_adapter.xml deleted file mode 100644 index 81b5d90..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__primary_adapter.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - c_sample_PrimaryAdapter - PrimaryAdapter - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to get the primary adapter when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display the Primary Adapter.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Desktop/PrimaryAdapter</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(); - -//Displayhowtogetprimaryadapter -voidShowPrimaryAdapter(); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplaythePrimaryAdapter\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl() -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaythePrimaryAdapter -case'1': -ShowPrimaryAdapter(); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Displayhowtogetprimaryadapter -voidShowPrimaryAdapter() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXDesktopServices*desktopsInfo=NULL; -ADLX_RESULTres=sys->pVtbl->GetDesktopsServices(sys,&desktopsInfo); -if(ADLX_SUCCEEDED(res)) -{ -IADLXDesktopList*desktops=NULL; -res=desktopsInfo->pVtbl->GetDesktops(desktopsInfo,&desktops); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=desktops->pVtbl->Begin(desktops);crt!=desktops->pVtbl->End(desktops);++crt) -{ -IADLXDesktop*desktop=NULL; -res=desktops->pVtbl->At_DesktopList(desktops,crt,&desktop); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_Pointpoint={0}; -res=desktop->pVtbl->TopLeft(desktop,&point); -if(ADLX_SUCCEEDED(res)&&0==point.x&&0==point.y) -{ -IADLXDisplayList*displays=NULL; -res=desktop->pVtbl->GetDisplays(desktop,&displays); -if(ADLX_SUCCEEDED(res)) -{ -//Getthefirstdisplay -IADLXDisplay*display=NULL; -res=displays->pVtbl->At_DisplayList(displays,0,&display); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPU*gpu=NULL; -res=display->pVtbl->GetGPU(display,&gpu); -if(ADLX_SUCCEEDED(res)) -{ -constchar*gpuName; -gpu->pVtbl->Name(gpu,&gpuName); -printf("PrimaryAdapter:%s\n",gpuName); -} -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} -if(display!=NULL) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -if(displays!=NULL) -{ -displays->pVtbl->Release(displays); -displays=NULL; -} -} -} -else -printf("\tDesktopisNULL\n"); - -if(desktop!=NULL) -{ -desktop->pVtbl->Release(desktop); -desktop=NULL; -} -} -} -else -printf("\tFailedtogettheDesktopinterface\n"); - -if(desktops!=NULL) -{ -desktops->pVtbl->Release(desktops); -desktops=NULL; -} -} -else -printf("\tFailedtogettheDesktopServicesinterface\n"); - -if(desktopsInfo!=NULL) -{ -desktopsInfo->pVtbl->Release(desktopsInfo); -desktopsInfo=NULL; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__share_memory.xml b/vendor/adlx/SDKDoc/xml/c_sample__share_memory.xml deleted file mode 100644 index 048f671..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__share_memory.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - c_sample_ShareMemory - ShareMemory - - - -Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include<Windows.h> -#include"GlobalDefs.h" - -staticHANDLEg_SharedFile=NULL; -staticPVOIDg_SharedBuffer=NULL; - -//Createsharedmemory -BOOLShmCreate(WCHAR*shmFileName,ULONGsharedFilesize) -{ -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; - -//N.B:Aftersettingthispermission,thegeneralapplicationdoesnothaveadministratorprivileges -//Inordertostarttoopenmappingg_SharedFileOtherwiseAccessDenny -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -HANDLEg_SharedFile=CreateFileMappingW(INVALID_HANDLE_VALUE,&sa,PAGE_READWRITE,0,sharedFilesize,shmFileName); -if(g_SharedFile==NULL) -{ -XTrace(L"ADLXCallService:ShareMem::Create:CreateFileMappingW,error:%d\n",GetLastError()); -returnFALSE; -} - -LPVOIDg_SharedBuffer=MapViewOfFile(g_SharedFile,FILE_MAP_ALL_ACCESS,0,0,sharedFilesize); -if(g_SharedBuffer==NULL) -{ -XTrace(L"ADLXCallService:ShareMem::Create:MapViewOfFile,error:%d\n",GetLastError()); -returnFALSE; -} - -XTrace(L"ADLXCallService:ShareMem::Create:OK\n"); - -returnTRUE; -} - -//Destorysharedmemory -VOIDShmDestory() -{ -if(g_SharedBuffer) -{ -UnmapViewOfFile(g_SharedBuffer); -g_SharedBuffer=NULL; -} - -if(g_SharedFile) -{ -CloseHandle(g_SharedFile); -g_SharedFile=NULL; -} -} - -//Writedatatosharedmemory -BOOLShmWriteBuffer(WCHAR*shmFileName,PVOIDbuffer,ULONGsize) -{ -HANDLEshmFile=OpenFileMappingW(FILE_MAP_ALL_ACCESS,FALSE,shmFileName); -if(shmFile) -{ -LPVOIDg_SharedBuffer=MapViewOfFile(shmFile,FILE_MAP_ALL_ACCESS,0,0,size); -if(g_SharedBuffer) -{ -memcpy_s(g_SharedBuffer,size,buffer,size); -returnTRUE; -} -} -returnFALSE; -} - -//Readdatafromsharedmemory -BOOLShmReadBuffer(WCHAR*shmFileName,PVOIDbuffer,ULONGsize) -{ -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; - -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -BOOLresult=FALSE; -HANDLEg_SharedFile=OpenFileMappingW(FILE_MAP_ALL_ACCESS,FALSE,shmFileName); -if(g_SharedFile) -{ -g_SharedBuffer=MapViewOfFile(g_SharedFile,FILE_MAP_ALL_ACCESS,0,0,size); -if(g_SharedBuffer) -{ -memcpy_s(buffer,size,g_SharedBuffer,size); -result=TRUE; -} -} - -returnresult; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample__work_with_a_d_l.xml b/vendor/adlx/SDKDoc/xml/c_sample__work_with_a_d_l.xml deleted file mode 100644 index b4447db..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample__work_with_a_d_l.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - c_sample_WorkWithADL - WorkWithADL - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstartes how to work with ADLX along ADL when programming with ADLX.</p> - - <h2>Sample Path</h2> - <p>/Samples/C/Generic/WorkWithADL</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" - -//ADLdllname -#ifndef_WIN64 -#defineADL_DLL_NameL"atiadlxy.dll" -#else//WIN32 -#defineADL_DLL_NameL"atiadlxx.dll" -#endif - -typedefvoid*(__stdcall*ADL_MALLOC_CALL)(int); -typedefint(*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL,intiEnumConnectedAdapter,void**context,int); -typedefint(*ADL_MAIN_CONTROL_DESTROY)(void*); - -//MemoryallocationcallbackforADL -//iSize_-numberofbytestobeallocated -staticvoid*__stdcallADL_Client_Main_Memory_Alloc(intiSize_) -{ -void*lpBuffer=malloc(iSize_); -returnlpBuffer; -} - -//CallbackADLformemoryrelease -//lpBuffer_-thememorybuffertodealocateandmakeNULL -staticvoid__stdcallADL_Main_Memory_Free_Client(void**lpBuffer_) -{ -if(NULL!=lpBuffer_&&NULL!=*lpBuffer_) -{ -free(*lpBuffer_); -*lpBuffer_=NULL; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("Pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//DefineADLcontextandADLdllhandle -void*adlContext=NULL; -HINSTANCEadlDll=NULL; - -//InitializeADL -adlDll=LoadLibraryW(ADL_DLL_Name); -if(NULL==adlDll) -returnWaitAndExit("ADLinitializationfailed",0); -ADL_MAIN_CONTROL_CREATEadlCreate=(ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll,"ADL2_Main_ControlX2_Create"); -if(adlCreate) -adlCreate(ADL_Client_Main_Memory_Alloc,1,&adlContext,1); -printf("ADLinitializedsuccessfully\n"); - -//InitializeADLX -res=ADLXHelper_InitializeWithCallerAdl(adlContext,ADL_Main_Memory_Free_Client); -if(ADLX_SUCCEEDED(res)) -{ -printf("ADLXinitializedsuccessfully\n"); -} -else -{ -printf("ADLXinitializationfailed\n"); -} - -constchar*adlxVersion=ADLXHelper_QueryVersion(); -printf("ADLXversion:%s\n",adlxVersion); -adlx_uint64adlxFullVersion=ADLXHelper_QueryFullVersion(); -printf("ADLXfullversion:%lld\n",adlxFullVersion); - -//DemonstratesmappingbetweenADLandADLXdata -IADLXSystem*systemService=ADLXHelper_GetSystemServices(); -IADLMapping*adlMapping=ADLXHelper_GetAdlMapping(); - -if(systemService&&adlMapping) -{ -adlx_uinttotalRAM=0; -systemService->pVtbl->TotalSystemRAM(systemService,&totalRAM); -printf("TotalSystemRAM:%dMB\n",totalRAM); -//MapADLXtoADL -IADLXGPUList*gpus=NULL; -systemService->pVtbl->GetGPUs(systemService,&gpus); -IADLXGPU*gpu=NULL; -adlx_uintit=0; -gpus->pVtbl->At_GPUList(gpus,it,&gpu); -constchar*name=NULL; -gpu->pVtbl->Name(gpu,&name); -adlx_intadapterIndex; -adlMapping->pVtbl->AdlAdapterIndexFromADLXGPU(adlMapping,gpu,&adapterIndex); -printf("ADLAdapterIndexfromADLXGPU:%s,adapterIndexis:%d\n",name,adapterIndex); -adlx_intbus=0; -adlx_intdevice=0; -adlx_intfunction=0; -res=adlMapping->pVtbl->BdfFromADLXGPU(adlMapping,gpu,&bus,&device,&function); -printf("GetBDFfromADLXGPUbus:%d,device:%d,function:%d\n",bus,device,function); - -if(gpu!=NULL) -{ -gpu->pVtbl->Release(gpu); -gpu=NULL; -} - -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -gpus=NULL; -} - -//MapADLtoADLX,getadapterIndexviaADL -IADLXGPU*gpuInfo=NULL; -adlMapping->pVtbl->GetADLXGPUFromAdlAdapterIndex(adlMapping,adapterIndex,&gpuInfo); -gpuInfo->pVtbl->Name(gpuInfo,&name); -printf("ADLXGPUfromadapterIndex:%d,theGPUnameis:%s\n",adapterIndex,name); - -if(gpuInfo!=NULL) -{ -gpuInfo->pVtbl->Release(gpuInfo); -gpuInfo=NULL; -} -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//DestroyADL -ADL_MAIN_CONTROL_DESTROYadlDestroy=(ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll,"ADL2_Main_Control_Destroy"); -if(NULL!=adlDestroy) -adlDestroy(adlContext); -FreeLibrary(adlDll); -adlDll=NULL; -adlContext=NULL; -printf("DestroyADL\n"); - -//Pausetoseetheprintout -system("Pause"); -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_desktopevent.xml b/vendor/adlx/SDKDoc/xml/c_sample_desktopevent.xml deleted file mode 100644 index 10917ac..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_desktopevent.xml +++ /dev/null @@ -1,234 +0,0 @@ - - - - c_sample_desktopevent - DesktopsEvent - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access desktop changed handle options, add/remove call back for changed events, and perform related testing when programming with ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="c_sample_eyefinity.html">Eyefinity.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/C/Desktop/DesktopsEvent</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" -#include"conio.h" - -//Eventtoverifycallback -HANDLEhDesktopChangedEvent=NULL; -HANDLEhQuitSignal=NULL; - -//Callbacktohandlechangedevents -adlx_boolADLX_STD_CALLOnDesktopListChanged(IADLXDesktopListChangedListener*pThis,IADLXDesktopList*pDesktopList) -{ -printf("Desktoplistischanged\n"); -ADLX_RESULTres=ADLX_FAIL; -adlx_boolslsActive=false; -IADLXDesktop*desktop=NULL; -for(adlx_uintcrt=pDesktopList->pVtbl->Begin(pDesktopList);crt!=pDesktopList->pVtbl->End(pDesktopList);crt++) -{ -res=pDesktopList->pVtbl->At_DesktopList(pDesktopList,crt,&desktop); -if(NULL!=desktop) -{ -ADLX_DESKTOP_TYPEadlxType; -desktop->pVtbl->Type(desktop,&adlxType); -if(adlxType==DESKTOP_EYEFINITY) -{ -printf("EyefinityCreationEventisreceived\n"); -slsActive=true; -if(desktop!=NULL) -{ -desktop->pVtbl->Release(desktop); -desktop=NULL; -} -break; -} -if(desktop!=NULL) -{ -desktop->pVtbl->Release(desktop); -desktop=NULL; -} -} -} - -if(false==slsActive) -{ -printf("EyefinityDestructionEventisreceived\n"); -} -SetEvent(hDesktopChangedEvent); - -returntrue; -} - -//Threadtodetectquitinput -DWORDWINAPIQuitWait(LPVOIDlpParam); - -staticIADLXDesktopListChangedListenerVtblvtbl={&OnDesktopListChanged}; -staticIADLXDesktopListChangedListenereventListener={&vtbl}; - -intmain() -{ -//Addthefollowingcodetosetenvironmentvariable -LPCSTREnvironmentVariable="ADL_4KWORKAROUND_CANCEL"; -SetEnvironmentVariableA(EnvironmentVariable,"TRUE"); - -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -IADLXDesktopServices*desktopServices=NULL; -IADLXSimpleEyefinity*eyefinity=NULL; -IADLXDesktopChangedHandling*eventHandling=NULL; -IADLXEyefinityDesktop*eyefinityDesktop=NULL; -if(ADLX_SUCCEEDED(res)) -{ -//Createdesktopchangedeventanduserinputevent -hDesktopChangedEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -hQuitSignal=CreateEvent(NULL,TRUE,FALSE,NULL); -HANDLEhSignalArray[2]={hDesktopChangedEvent,hQuitSignal}; - -//Getdesktopservices -res=sys->pVtbl->GetDesktopsServices(sys,&desktopServices); - -if(desktopServices!=NULL&&ADLX_SUCCEEDED(res)) -{ -adlx_uintnumDesktop; -res=desktopServices->pVtbl->GetNumberOfDesktops(desktopServices,&numDesktop); -printf("Thenumberofdesktopis:%d\n",numDesktop); - -desktopServices->pVtbl->GetSimpleEyefinity(desktopServices,&eyefinity); -if(eyefinity!=NULL&&ADLX_SUCCEEDED(res)) -{ -//VerifyifEyefinityissupported -adlx_boolsupported=false; -eyefinity->pVtbl->IsSupported(eyefinity,&supported); -if(supported) -{ -desktopServices->pVtbl->GetDesktopChangedHandling(desktopServices,&eventHandling); -eventHandling->pVtbl->AddDesktopListEventListener(eventHandling,&eventListener); - -printf("Waitingfordesktopevent...PressQ/qtoquit\n"); -//createathreadtodetectuser'sinputforquit -adlx_boolloopFlag=true; -DWORDthreadId=0; -HANDLEhThread=CreateThread(NULL,0,QuitWait,&loopFlag,0,&threadId); - -res=eyefinity->pVtbl->Create(eyefinity,&eyefinityDesktop); - -while(true) -{ -//Waitingforreceivingdesktopeventoruserexitevent -WaitForMultipleObjects(2,hSignalArray,FALSE,INFINITE); -if(!loopFlag) -{ -CloseHandle(hThread); -break; -} -ResetEvent(hDesktopChangedEvent); -} - -res=eyefinity->pVtbl->DestroyAll(eyefinity); -eventHandling->pVtbl->RemoveDesktopListEventListener(eventHandling,&eventListener); -} -else -{ -printf("Donotsupporteyefinity\n"); -} -} -else -{ -printf("Getsimpleeyefinityfailed\n"); -} -} -else -{ -printf("FailedtogetthedesktopServices\n"); -} -} -else -{ -printf("ADLXinitializefailed\n"); -return0; -} - -if(eyefinityDesktop!=NULL) -{ -eyefinityDesktop->pVtbl->Release(eyefinityDesktop); -eyefinityDesktop=NULL; -} -if(eventHandling!=NULL) -{ -eventHandling->pVtbl->Release(eventHandling); -eventHandling=NULL; -} -if(eyefinity!=NULL) -{ -eyefinity->pVtbl->Release(eyefinity); -eyefinity=NULL; -} -if(desktopServices!=NULL) -{ -desktopServices->pVtbl->Release(desktopServices); -desktopServices=NULL; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Closeevent -if(hDesktopChangedEvent) -CloseHandle(hDesktopChangedEvent); -if(hQuitSignal) -CloseHandle(hQuitSignal); - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - -DWORDWINAPIQuitWait(LPVOIDlpParam) -{ -adlx_bool*loopFlag=(adlx_bool*)lpParam; -while(true) -{ -//Non-blockI/O,checkI/Ocachewhetherhavecharacters. -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(hQuitSignal); -} -} -Sleep(100); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_display3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/c_sample_display3_d_l_u_t.xml deleted file mode 100644 index 3173d7a..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_display3_d_l_u_t.xml +++ /dev/null @@ -1,653 +0,0 @@ - - - - c_sample_display3DLUT - Display3DLUT - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display 3DLUT support.</td></tr> - <tr><td>2</td><td> Get 3DLUT state.</td></tr> - <tr><td>3</td><td> Set current SCE to disabled.</td></tr> - <tr><td>4</td><td> Set current SCE feature to Vivid Gaming profile.</td></tr> - <tr><td>5</td><td> Set current SCE feature to Dynamic Contrast profile.</td></tr> - <tr><td>6</td><td> Show user 3DLUT support.</td></tr> - <tr><td>7</td><td> Clear user 3DLUT.</td></tr> - <tr><td>8</td><td> Demonstrate SDR user 3DLUT. </td></tr> - <tr><td>9</td><td> Demonstrate HDR user 3DLUT. </td></tr> - <tr><td>a</td><td> Demonstrate all user 3DLUT. </td></tr> - <tr><td>b</td><td> Get user 3DLUT index. </td></tr> - <tr><td>M/m</td><td> Display the command prompt menu. </td></tr> - <tr><td>Q/q</td><td> Terminate the application. </td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/Display3DLUT</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplay3DLUT.h" -#include"SDK/Include/IDisplays.h" -#include<math.h> - -constadlx_intDefaultNumOfPoints=MAX_USER_3DLUT_NUM_POINTS; - -//Displaydisplay3DLUTsupport -voidShowDisplay3DLUTSupport(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===3DLUTsupportedstatus===\n"); -adlx_boolsupported; -ADLX_RESULTres=display3DLUT->pVtbl->IsSupportedSCE(display3DLUT,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEsupportedonthisdisplay:%d\n",supported); -res=display3DLUT->pVtbl->IsSupportedSCEVividGaming(display3DLUT,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEVividGamingpresetsupportedonthisdisplay:%d\n",supported); -res=display3DLUT->pVtbl->IsSupportedSCEDynamicContrast(display3DLUT,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEDynamicContrastsupportedonthisdisplay:%d\n",supported); -res=display3DLUT->pVtbl->IsSupportedUser3DLUT(display3DLUT,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIs3DLUTsupportedonthisdisplay:%d\n",supported); -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Displaycurrentdisplay3DLUTstate -voidGet3DLUTState(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Get3DLUT===\n"); -adlx_boolapplied=false; -res=display3DLUT->pVtbl->IsCurrentSCEDisabled(display3DLUT,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEusedonthisdisplay:%d\n",applied); -res=display3DLUT->pVtbl->IsCurrentSCEVividGaming(display3DLUT,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEVividGamingpresetusedonthisdisplay:%d\n",applied); -res=display3DLUT->pVtbl->IsCurrentSCEDynamicContrast(display3DLUT,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSCEVividDynamicContrastpresetusedonthisdisplay:%d\n",applied); -if(applied) -{ -ADLX_IntRangerange; -display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT,&range); -printf("\t\tDynamicContrastrangeis:[%d,%d]\n",range.minValue,range.maxValue); -adlx_intcontrast; -display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT,&contrast); -printf("\t\tDynamicContrastis:%d\n",contrast); -} -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Setdisplay3DLUT -voidSet3DLUTState(IADLXDisplayServices*displayService,IADLXDisplay*display,intkey) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Set3DLUT===\n"); -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetSCEdisabled -case0: -res=display3DLUT->pVtbl->SetSCEDisabled(display3DLUT); -break; -//SetSCEVividGamingpreset -case1: -res=display3DLUT->pVtbl->SetSCEVividGaming(display3DLUT); -break; -//SetSCEDynamicContrast -case2: -{ -ADLX_IntRangerange; -display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT,&range); -adlx_intcurContrast; -display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT,&curContrast); -adlx_intcontrast; -if(curContrast!=range.minValue) -{ -contrast=range.minValue; -res=display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT,contrast); -printf("\tUseminimumDynamicContrast\n"); -} -else -{ -contrast=range.maxValue; -res=display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT,contrast); -printf("\tUsemaximumDynamicContrast\n"); -} -} -break; -default: -break; -} -printf("\treturncode(0meansSuccess)is:%d\n",res); -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Getuser3DLUTsupport -voidIsSupportedUser3DLUT(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===IsSupportedUser3DLUT===\n"); -adlx_boolsupported=false; -res=display3DLUT->pVtbl->IsSupportedUser3DLUT(display3DLUT,&supported); -if(ADLX_SUCCEEDED(res)) -{ -printf("===IsSupportedUser3DLUT:%s\n",(supported?"True":"False")); -} -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Clearuser3DLUT -voidClearUser3DLUT(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===ClearUser3DLUT===\n"); -res=display3DLUT->pVtbl->ClearUser3DLUT(display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===ClearUser3DLUTsuccessful===\n"); -} -else -printf("===ClearUser3DLUTfailed===\n"); -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Helperfunctions -inlinedoubleInputvalue(intindex,intbitDepth,intnumOfPoints) -{ -returnfmin((float)(index*pow(2,bitDepth)/(float)(numOfPoints-1)),pow(2,bitDepth)-1); -} - -//Generate3DLUTdata -adlx_boolGenerateUser3DLUT_BW(IADLXDisplayServices*displayService,IADLXDisplay*display,adlx_intnumOfPoints,ADLX_3DLUT_Data*user3DLUT) -{ -adlx_boolret=true; -constintbitDepth=16; - -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_UINT16_RGBrgbCordinate={0,0,0}; -adlx_intindex=0; - -for(intr=0;r<numOfPoints;r++) -{ -for(intg=0;g<numOfPoints;g++) -{ -for(intb=0;b<numOfPoints;b++) -{ -rgbCordinate.red=r; -rgbCordinate.green=g; -rgbCordinate.blue=b; - -doubletemp=0.25*Inputvalue(r,bitDepth,numOfPoints)+0.625*Inputvalue(g,bitDepth,numOfPoints)+0.125*Inputvalue(b,bitDepth,numOfPoints); -res=display3DLUT->pVtbl->GetUser3DLUTIndex(display3DLUT,numOfPoints,&rgbCordinate,&index); - -if(ADLX_SUCCEEDED(res)) -{ -adlx_uint16tValue=(adlx_uint16)(temp); -user3DLUT->data[index].red=tValue; -user3DLUT->data[index].green=tValue; -user3DLUT->data[index].blue=tValue; -} -else -{ -ret=false; -gotoEXIT; -} -} -} -} -} - -//Releasethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} - -EXIT: -returnret; -} - -//GetorSetSDRuser3DLUT -voidDemoSDRUser3DLUT(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -//Generatedata -if(GenerateUser3DLUT_BW(displayService,display,DefaultNumOfPoints,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -printf("===SetSDRUser3DLUT===\n"); -res=display3DLUT->pVtbl->SetSDRUser3DLUT(display3DLUT,tf,cs,DefaultNumOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===SetSDRUser3DLUTsuccessful===\n"); -} -else -printf("===SetSDRUser3DLUTfailed===\n"); - -printf("===GetSDRUser3DLUT===\n"); -res=display3DLUT->pVtbl->GetSDRUser3DLUT(display3DLUT,&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetSDRUser3DLUTsuccessful===\n"); -} -else -printf("===GetSDRUser3DLUTfailed===\n"); - -//Clear -res=display3DLUT->pVtbl->ClearUser3DLUT(display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Clearsuccessful===\n"); -} -else -printf("===Clearfailed===\n"); -} -} - -//Releaethedisplay3DLUTinterface -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//GetorSetHDRuser3DLUT -voidDemoHDRUser3DLUT(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -//Generatedata -if(GenerateUser3DLUT_BW(displayService,display,DefaultNumOfPoints,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -printf("===SetHDRUser3DLUT===\n"); - -res=display3DLUT->pVtbl->SetHDRUser3DLUT(display3DLUT,tf,cs,DefaultNumOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===SetHDRUser3DLUTsuccessful===\n"); -} -else -printf("===SetHDRUser3DLUTfailed===\n"); - -printf("===GetHDRUser3DLUT===\n"); -res=display3DLUT->pVtbl->GetHDRUser3DLUT(display3DLUT,&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetHDRUser3DLUTsuccessful===\n"); -} -else -printf("===GetHDRUser3DLUTfailed===\n"); - -//Clear -res=display3DLUT->pVtbl->ClearUser3DLUT(display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Restoresuccessful===\n"); -} -else -printf("===Restorefailed===\n"); -} -} - -//Freedisplay3DLUT -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Get/Setalluser3DLUT -voidDemoAllUser3DLUT(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -//Generatedata -if(GenerateUser3DLUT_BW(displayService,display,DefaultNumOfPoints,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -printf("===SetAllUser3DLUT===\n"); - -res=display3DLUT->pVtbl->SetAllUser3DLUT(display3DLUT,tf,cs,DefaultNumOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===SetAllUser3DLUTsuccessful===\n"); -} -else -printf("===SetAllUser3DLUTfailed===\n"); - -printf("===GetAllUser3DLUT===\n"); -res=display3DLUT->pVtbl->GetAllUser3DLUT(display3DLUT,&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -printf("===GetAllUser3DLUTsuccesful===\n"); -} -else -printf("===GetAllUser3DLUTfailed===\n"); - -//Clear -display3DLUT->pVtbl->ClearUser3DLUT(display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Clearsuccessful===\n"); -} -else -printf("===Clearfailed===\n"); -} -} - -//Freedisplay3DLUT -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Get3DLUTindex -voidGetUser3DLUTIndex(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUT*display3DLUT=NULL; -ADLX_RESULTres=displayService->pVtbl->Get3DLUT(displayService,display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getuser3DLUTindex===\n");; - -adlx_intindex=0; -adlx_intlutSize=6;//5<=lutSize<=17 -ADLX_UINT16_RGBrgb={0,0,0}; - -res=display3DLUT->pVtbl->GetUser3DLUTIndex(display3DLUT,lutSize,&rgb,&index); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getuser3DLUTindexsuccessful,index:%d===\n",index); -} -else -printf("===Getuser3DLUTindexfailed===\n");; -} - -//Freedisplay3DLUT -if(NULL!=display3DLUT) -{ -display3DLUT->pVtbl->Release(display3DLUT); -display3DLUT=NULL; -} -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1todisplay3DLUTsupport\n"); - -printf("\t->Press2toget3DLUTstate\n"); - -printf("\t->Press3tosetcurrentSCEtodisabled\n"); -printf("\t->Press4tosetcurrentSCEfeaturetoVividGamingpreset\n"); -printf("\t->Press5tosetcurrentSCEfeaturetoDynamicContrast\n"); - -printf("\t->Press6togetuser3DLUTsupport\n"); -printf("\t->Press7toclearuser3DLUT\n"); -printf("\t->Press8toshowhowtoset/getSDRuser3DLUT\n"); -printf("\t->Press9toshowhowtoset/getHDRuser3DLUT\n"); -printf("\t->Pressatoshowhowtoset/getalluser3DLUT\n"); -printf("\t->Pressbtoget3DLUTindex\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -case'1': -ShowDisplay3DLUTSupport(displayService,display); -break; -case'2': -Get3DLUTState(displayService,display); -break; -case'3': -case'4': -case'5': -Set3DLUTState(displayService,display,num-'3'); -break; -case'6': -IsSupportedUser3DLUT(displayService,display); -break; -case'7': -ClearUser3DLUT(displayService,display); -break; -case'8': -DemoSDRUser3DLUT(displayService,display); -break; -case'9': -DemoHDRUser3DLUT(displayService,display); -break; -case'a': -DemoAllUser3DLUT(displayService,display); -break; -case'b': -GetUser3DLUTIndex(displayService,display); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_display_blanking.xml b/vendor/adlx/SDKDoc/xml/c_sample_display_blanking.xml deleted file mode 100644 index ca3134f..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_display_blanking.xml +++ /dev/null @@ -1,395 +0,0 @@ - - - - c_sample_displayBlanking - DisplayBlanking - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to configure display blanking options, and perform related testing when programming with ADLX. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Check if display blanking is supported</td></tr> - <tr><td>2</td><td> Get display blanking state</td></tr> - <tr><td>3</td><td> Set the state of display blanking to "blanked"</td></tr> - <tr><td>4</td><td> Set the state of display blanking to "unblanked"</td></tr> - <tr><td>5</td><td> Set the state of display blanking to "blanked" for 20 seconds</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayBlanking </p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include"SDK/Include/IDisplays1.h" - -//Threadtoquitevent -staticHANDLEquitEvent=NULL; - -//Threadtoquitflag -staticintg_quit=0; - -//Threadtotimeout -staticHANDLEthread=NULL; - -//Threadtounblankdisplay -DWORDWINAPIThreadUnBlankDisplay(LPVOIDlpParam); - -//Checkifdisplayblankingissupported -voidShowDisplayBlankingSupport(IADLXDisplayServices1*displayService1,IADLXDisplay*display); - -//Getthecurrentstateofdisplayblanking -voidGetDisplayBlankingState(IADLXDisplayServices1*displayService1,IADLXDisplay*display); - -//Setthestateofdisplayblankingto"blanked"or"unblanked" -voidSetDisplayBlankingState(IADLXDisplayServices1*displayService1,IADLXDisplay*display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices1*displayService1,IADLXDisplay*display); - -//Selectdisplay -IADLXDisplay*SelectDisplay(IADLXDisplayList*displays); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//GetSystemServices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetdisplayService -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); - -//ConverttodisplayService1 -IADLXDisplayServices1*displayService1=NULL; -displayService->pVtbl->QueryInterface(displayService,IID_IADLXDisplayServices1(),(void**)&displayService1); - -if(ADLX_SUCCEEDED(res)&&displayService1) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService1->pVtbl->GetDisplays(displayService1,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Selectthedisplaytoconfig -IADLXDisplay*display=SelectDisplay(displayList); -if(display) -{ -//Displaythemainmenu -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService1,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} -else -{ -printf("FailedtogetdisplayService1\n"); -} - -//ReleasethedisplayService1interface -if(NULL!=displayService1) -{ -displayService1->pVtbl->Release(displayService1); -displayService1=NULL; -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} - -//Quitthread -if(thread) -{ -SetEvent(quitEvent); -g_quit=true; -WaitForSingleObject(thread,INFINITE); -CloseHandle(thread); -thread=NULL; -} -CloseHandle(quitEvent); -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowDisplayBlankingSupport(IADLXDisplayServices1*displayService1,IADLXDisplay*display) -{ -IADLXDisplayBlanking*displayBlanking; -ADLX_RESULTres=displayService1->pVtbl->GetDisplayBlanking(displayService1,display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getstateofdisplayblankingsupport===\n"); -adlx_boolsupported=false; -res=displayBlanking->pVtbl->IsSupported(displayBlanking,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupported,result:%dsupported:%s\n",res,(supported?"true":"false")); -displayBlanking->pVtbl->Release(displayBlanking); -displayBlanking=NULL; -} -} - -voidGetDisplayBlankingState(IADLXDisplayServices1*displayService1,IADLXDisplay*display) -{ -IADLXDisplayBlanking*displayBlanking; -ADLX_RESULTres=displayService1->pVtbl->GetDisplayBlanking(displayService1,display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Getthecurrentstateofdisplayblanking===\n"); -adlx_boolblanked=false; -res=displayBlanking->pVtbl->IsCurrentBlanked(displayBlanking,&blanked); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentBlanked:%s\n",(blanked?"true":"false")); -adlx_boolunBlanked=false; -res=displayBlanking->pVtbl->IsCurrentUnblanked(displayBlanking,&unBlanked); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentUnblanked:%s\n",(unBlanked?"true":"false")); -displayBlanking->pVtbl->Release(displayBlanking); -displayBlanking=NULL; -} -} - -voidSetDisplayBlankingState(IADLXDisplayServices1*displayService1,IADLXDisplay*display,constintkey) -{ -IADLXDisplayBlanking*displayBlanking; -ADLX_RESULTres=displayService1->pVtbl->GetDisplayBlanking(displayService1,display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//Setdisplaytoblanked -case0: -if(thread) -{ -SetEvent(quitEvent); -g_quit=true; -WaitForSingleObject(thread,INFINITE); -CloseHandle(thread); -thread=NULL; -} -printf("===Setdisplaytoblanked===\n"); -res=displayBlanking->pVtbl->SetBlanked(displayBlanking); -break; - -//Setdisplaytounblanked -case1: -printf("===Setdisplaytounblanked===\n"); -res=displayBlanking->pVtbl->SetUnblanked(displayBlanking); -break; - -//Setdisplaytoblankedfor20seconds -case2: -if(thread) -{ -SetEvent(quitEvent); -g_quit=true; -WaitForSingleObject(thread,INFINITE); -CloseHandle(thread); -thread=NULL; -} -printf("===Setdisplaytoblankedfor20seconds===\n"); -res=displayBlanking->pVtbl->SetBlanked(displayBlanking); -thread=CreateThread(NULL,0,ThreadUnBlankDisplay,displayBlanking,0,NULL); -g_quit=false; -break; -default: -break; -} -printf("\tReturncodeis:%d(0meansSuccess)\n",res); -displayBlanking->pVtbl->Release(displayBlanking); -displayBlanking=NULL; -} -} - -DWORDWINAPIThreadUnBlankDisplay(LPVOIDlpParam) -{ -IADLXDisplayBlanking*displayBlanking=(IADLXDisplayBlanking*)(lpParam); -if(displayBlanking) -{ -intopt=0; -while(!g_quit) -{ -displayBlanking->pVtbl->Acquire(displayBlanking); -DWORDr=WaitForSingleObject(quitEvent,20000); -//Quitthethread -if(r==WAIT_OBJECT_0) -{ -ResetEvent(quitEvent); -printf("\tThreadquit.\n"); -displayBlanking->pVtbl->Release(displayBlanking); -break; -} -//Restoredisplayafter20seconds -if(r==WAIT_TIMEOUT&&!opt) -{ -ADLX_RESULTres=displayBlanking->pVtbl->SetUnblanked(displayBlanking); -printf("\tRestoredisplayafter20seconds,returncodeis:%d(0meanssuccess).\n",res); -displayBlanking->pVtbl->Release(displayBlanking); -opt=1; -} -} -} -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions\n"); - -printf("\t->Press1tocheckifdisplayblankingissupported\n"); - -printf("\t->Press2togetthecurrentstateofdisplayblanking\n"); - -printf("\t->Press3tosetthestateofdisplayblankingtoblanked\n"); -printf("\t->Press4tosetthestateofdisplayblankingtounblanked\n"); -printf("\t->Press5tosetdisplaytoblankedfor20seconds\n"); - -printf("\t->PressQ/qtoquittheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenu\n"); -} - -//Displayactioncontrol -voidMenuControl(IADLXDisplayServices1*displayService1,IADLXDisplay*display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Checkifdisplayblankingissupported -case'1': -ShowDisplayBlankingSupport(displayService1,display); -break; - -//Getthecurrentstateofdisplayblanking -case'2': -GetDisplayBlankingState(displayService1,display); -break; - -//Setthestateofdisplayblankingto"blanked"or"unblanked" -case'3': -case'4': -case'5': -SetDisplayBlankingState(displayService1,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -IADLXDisplay*SelectDisplay(IADLXDisplayList*displays) -{ -adlx_uintlen=displays->pVtbl->Size(displays); -if(len==0) -returnNULL; - -IADLXDisplay*display=NULL; -if(len<2) -displays->pVtbl->At_DisplayList(displays,0,&display); -else -{ -printf("\tSelectthedisplayusingthekey(from1to%d).\n",len); -for(adlx_uintit=0;it<len;it++) -{ -displays->pVtbl->At_DisplayList(displays,it,&display); -constchar*dispName; -display->pVtbl->Name(display,&dispName); -printf("\t->Press%dtoselect%s.\n",it+1,dispName); -} -intnum=0; -num=getchar()-48; -if(num<1||num>len) -printf("\tInvalidkey.Thefirstdisplaywillbeused.\n"); -else -displays->pVtbl->At(displays,num-1,&display); -} -returndisplay; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_display_events.xml b/vendor/adlx/SDKDoc/xml/c_sample_display_events.xml deleted file mode 100644 index bb17bc7..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_display_events.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - c_sample_displayEvents - DisplayEvents - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to handle notifications about display change when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayEvents</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplay3DLUT.h" -#include"SDK/Include/IDisplayGamma.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" -#include<windows.h> - -//CallbackfordisplayListChanged -adlx_boolADLX_STD_CALLOnDisplayListChanged(IADLXDisplayListChangedListener*pThis,IADLXDisplayList*pNewDisplays) -{ -printf("Displaylisthasbeenchanged\n"); - -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} - -//CallbackstructfordisplayListChanged -typedefstructDisplayListCallBack -{ -adlx_bool(ADLX_STD_CALL*OnDisplayListChanged)(IADLXDisplayListChangedListener*,IADLXDisplayList*); -}DisplayListCallBack; - -//CallbackfordisplayGamut -adlx_boolADLX_STD_CALLOnDisplayGamutChanged(IADLXDisplayGamutChangedListener*pThis,IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent) -{ -printf("Displaygamuthasbeenchanged\n"); -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} - -//CallbackstructfordisplayGamut -typedefstructDisplayGamutCallBack -{ -adlx_bool(ADLX_STD_CALL*OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*,IADLXDisplayGamutChangedEvent*); -}DisplayGamutCallBack; - -//CallbackfordisplayGammaChanged -adlx_boolADLX_STD_CALLOnDisplayGammaChanged(IADLXDisplayGammaChangedListener*pThis,IADLXDisplayGammaChangedEvent*pDisplayGammaChangedEvent) -{ -printf("Displaygammahasbeenchanged\n"); -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -printf("\tGammarampchange:%d\n\tGammacoefficientchange:%d\n\tRe-gammachange:%d\n\tDeGammachange:%d\n", -pDisplayGammaChangedEvent->pVtbl->IsGammaRampChanged(pDisplayGammaChangedEvent), -pDisplayGammaChangedEvent->pVtbl->IsGammaCoefficientChanged(pDisplayGammaChangedEvent), -pDisplayGammaChangedEvent->pVtbl->IsReGammaChanged(pDisplayGammaChangedEvent), -pDisplayGammaChangedEvent->pVtbl->IsDeGammaChanged(pDisplayGammaChangedEvent)); - -returntrue; -} - -//CallBackstructfordisplayGammaChanged -typedefstructDisplayGammaCallBack -{ -adlx_bool(ADLX_STD_CALL*OnDisplayGammaChanged)(IADLXDisplayGammaChangedListener*,IADLXDisplayGammaChangedEvent*); -}DisplayGammaCallBack; - -//CallBackfordisplay3DLUTChanged -adlx_boolADLX_STD_CALLOnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener*pThis,IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent) -{ -printf("Display3DLUThasbeenchanged\n"); -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} - -//CallBackstructfordisplay3DLUT -typedefstructDisplay3DLUTCallBack -{ -adlx_bool(ADLX_STD_CALL*OnDisplay3DLUTChanged)(IADLXDisplay3DLUTChangedListener*,IADLXDisplay3DLUTChangedEvent*); -}Display3DLUTCallBack; - -//loopthread -DWORDWINAPILoopThread(LPVOIDlpParam) -{ -printf("Loopthreadiscurrentlyrunning.\n"); -printf("->PlugorunplugthedisplaytotriggerDisplayListChanged,whichwillfurthertriggerotherchanges.\n"); -printf("->PressQ/qtoterminatetheloop.\n"); -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -printf("Waitfortheeventtogettriggered.ThedisplaycanbeplugedorunplugedtotriggerDisplayListChange.\n"); -Sleep(1*1000); -num=getchar(); -if(num=='q'||num=='Q') -break; -} -return0; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservices -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//GetdisplayChangeHandling -IADLXDisplayChangedHandling*displayChangeHandl=NULL; -res=displayService->pVtbl->GetDisplayChangedHandling(displayService,&displayChangeHandl); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -DisplayListCallBack*displayListCallBack=(DisplayListCallBack*)malloc(sizeof(DisplayListCallBack)); -displayListCallBack->OnDisplayListChanged=&OnDisplayListChanged; - -DisplayGamutCallBack*displayGamutCallBack=(DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack)); -displayGamutCallBack->OnDisplayGamutChanged=&OnDisplayGamutChanged; - -DisplayGammaCallBack*displayGammaCallBack=(DisplayGammaCallBack*)malloc(sizeof(DisplayGammaCallBack)); -displayGammaCallBack->OnDisplayGammaChanged=&OnDisplayGammaChanged; - -Display3DLUTCallBack*display3DLUTCallBack=(Display3DLUTCallBack*)malloc(sizeof(Display3DLUTCallBack)); -display3DLUTCallBack->OnDisplay3DLUTChanged=&OnDisplay3DLUTChanged; - -//Addcallbacktothehandle -{ -displayChangeHandl->pVtbl->AddDisplayListEventListener(displayChangeHandl,(IADLXDisplayListChangedListener*)&displayListCallBack); -displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl,(IADLXDisplayGamutChangedListener*)&displayGamutCallBack); -displayChangeHandl->pVtbl->AddDisplayGammaEventListener(displayChangeHandl,(IADLXDisplayGammaChangedListener*)&displayGammaCallBack); -displayChangeHandl->pVtbl->AddDisplay3DLUTEventListener(displayChangeHandl,(IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack); -} - -//Createloopthreadforwaitevent -HANDLEthread=CreateThread(NULL,0,LoopThread,NULL,0,NULL); -WaitForSingleObject(thread,INFINITE); -CloseHandle(thread); - -//Removeanddestroycallback -displayChangeHandl->pVtbl->RemoveDisplayListEventListener(displayChangeHandl,(IADLXDisplayListChangedListener*)&displayListCallBack); -displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl,(IADLXDisplayGamutChangedListener*)&displayGamutCallBack); -displayChangeHandl->pVtbl->RemoveDisplayGammaEventListener(displayChangeHandl,(IADLXDisplayGammaChangedListener*)&displayGammaCallBack); -displayChangeHandl->pVtbl->RemoveDisplay3DLUTEventListener(displayChangeHandl,(IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack); - -if(NULL!=displayListCallBack) -{ -free(displayListCallBack); -displayListCallBack=NULL; -} - -if(NULL!=displayGamutCallBack) -{ -free(displayGamutCallBack); -displayGamutCallBack=NULL; -} - -if(NULL!=displayGammaCallBack) -{ -free(displayGammaCallBack); -displayGammaCallBack=NULL; -} - -if(NULL!=display3DLUTCallBack) -{ -free(display3DLUTCallBack); -display3DLUTCallBack=NULL; -} -} - -//ReleasethedisplayChangehandlinterface -if(NULL!=displayChangeHandl) -{ -displayChangeHandl->pVtbl->Release(displayChangeHandl); -displayChangeHandl=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_display_gamma.xml b/vendor/adlx/SDKDoc/xml/c_sample_display_gamma.xml deleted file mode 100644 index 4c30ce8..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_display_gamma.xml +++ /dev/null @@ -1,439 +0,0 @@ - - - - c_sample_displayGamma - DisplayGamma - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display gamma when programming with ADLX and perform related operations. </p> - - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show display gamma support.</td></tr> - <tr><td>2</td><td> Display current gamma information.</td></tr> - <tr><td>3</td><td> Set ReGammaSRGB using predefined coefficients.</td></tr> - <tr><td>4</td><td> Set ReGamma using custom coefficients.</td></tr> - <tr><td>5</td><td> Set ReGamma using ramp from file[file path: output-night-light.txt].</td></tr> - <tr><td>6</td><td> ReGamma using ramp from memory.</td></tr> - <tr><td>7</td><td> Reset gamma ramp.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayGamma</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplayGamma.h" -#include"SDK/Include/IDisplays.h" -#include<math.h> - -//Printgammaramp -staticvoidShowGammaRamp(ADLX_GammaRampgammaRamp) -{ -for(intj=0;j<3;j++) -{ -printf("\nGetGammaRamp[%c]:\n",(j==0)?'R':((j==1)?'G':(j==2)?'B' -:'E')); -for(inti=0;i<256;i++) -{ -printf("%05d",gammaRamp.gamma[i+j*256]); -if(i%10==9) -printf("\n"); -} -} -printf("\n"); -} - -//Createregammaramp -ADLX_GammaRampCreateReGammaRamp(constfloatfGamma) -{ -ADLX_GammaRampramp; -doubleg_fGammaRemapRGB[3]={1,1,0.5}; -for(intj=0;j<3;j++) -{ -for(inti=0;i<256;i++) -{ - -floatnAdj=i/255.0f; -if(nAdj<0.0031308f) -{ -nAdj=nAdj*12.92f; -} -else -{ -nAdj=(1+0.055f)*powf(nAdj,1/fGamma)-0.055f; -if(nAdj<0.0f) -nAdj=0.0f; -} -ramp.gamma[i+j*256]=(unsignedshort)(1*g_fGammaRemapRGB[j]*(int)(nAdj*0xFFFF)); -} -} -returnramp; -} - -//Displaygammasupport -voidShowDisplayGammaSupport(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplaygamma -IADLXDisplayGamma*displayGamma=NULL; -ADLX_RESULTres=displayService->pVtbl->GetGamma(displayService,display,&displayGamma); -adlx_boolsupport=false; -if(ADLX_SUCCEEDED(res)) -{ -printf("===Re-Gammasupportedstatus===\n"); -res=displayGamma->pVtbl->IsSupportedReGammaSRGB(displayGamma,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIssRGBre-gammasupportedonthisdisplay:%d\n",support); -res=displayGamma->pVtbl->IsSupportedReGammaBT709(displayGamma,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIsBT709re-gammasupportedonthisdisplay:%d\n",support); -res=displayGamma->pVtbl->IsSupportedReGammaPQ(displayGamma,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIsPQre-gammasupportedonthisdisplay:%d\n",support); -res=displayGamma->pVtbl->IsSupportedReGammaPQ2084Interim(displayGamma,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIsPQ2084Interimre-gammasupportedonthisdisplay:%d\n",support); -res=displayGamma->pVtbl->IsSupportedReGamma36(displayGamma,&support); -if(ADLX_SUCCEEDED(res)) -printf("\tIs3.6re-gammasupportedonthisdisplay:%d\n",support); -} - -//ReleasethedisplayGammainterface -if(NULL!=displayGamma) -{ -displayGamma->pVtbl->Release(displayGamma); -displayGamma=NULL; -} -} - -//Getcurrentgammastate -voidGetCurrentGammaState(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//Getdisplaygamma -IADLXDisplayGamma*displayGamma; -ADLX_RESULTres=displayService->pVtbl->GetGamma(displayService,display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Currentgammastate===\n"); -adlx_boolapplied=false; -ADLX_RESULTres=ADLX_FAIL; -ADLX_GammaRampramp; -ADLX_RegammaCoeffcoeff; - -res=displayGamma->pVtbl->IsCurrentReGammaSRGB(displayGamma,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIssRGBre-gammausedbythisdisplay:%d\n",applied); -res=displayGamma->pVtbl->IsCurrentReGammaBT709(displayGamma,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsBT709re-gammausedbythisdisplay:%d\n",applied); -res=displayGamma->pVtbl->IsCurrentReGammaPQ(displayGamma,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsPQre-gammausedbythisdisplay:%d\n",applied); -res=displayGamma->pVtbl->IsCurrentReGammaPQ2084Interim(displayGamma,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsPQ2084Interimre-gammausedbythisdisplay%d\n",applied); -res=displayGamma->pVtbl->IsCurrentReGamma36(displayGamma,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIs3.6re-gammausedbythisdisplay%d\n",applied); - -adlx_boolcurCoeff; -res=displayGamma->pVtbl->IsCurrentRegammaCoefficient(displayGamma,&curCoeff); -if(ADLX_SUCCEEDED(res)) -printf("\tIsre-gammacoefficientusedbythisdisplay%d\n",curCoeff); - -adlx_boolreGammaRamp=false; -adlx_booldeGammaRamp=false; -displayGamma->pVtbl->IsCurrentReGammaRamp(displayGamma,&reGammaRamp); -displayGamma->pVtbl->IsCurrentDeGammaRamp(displayGamma,&deGammaRamp); -if(reGammaRamp) -{ -displayGamma->pVtbl->GetGammaRamp(displayGamma,&ramp); -printf("\tCurrentregammaramp"); -ShowGammaRamp(ramp); -} -elseif(deGammaRamp) -{ -displayGamma->pVtbl->GetGammaRamp(displayGamma,&ramp); -printf("\tCurrentdegammaramp"); -ShowGammaRamp(ramp); -} -elseif(curCoeff) -{ -displayGamma->pVtbl->GetGammaCoefficient(displayGamma,&coeff); -printf("\tCurrentgammacoefficent"); -printf("\tGetgammacoefficient:\n" -"\tA0%d,A1%d,A2%d,A3%d,Gamma%d\n", -coeff.coefficientA0,coeff.coefficientA1, -coeff.coefficientA2,coeff.coefficientA3,coeff.gamma); -} -} - -//ReleasethedisplayGammainterface -if(NULL!=displayGamma) -{ -displayGamma->pVtbl->Release(displayGamma); -displayGamma=NULL; -} -} - -//If0isretunedSetGammaWithCustomcoeffientissuccesfullysetelseanerroroccured. -ADLX_RESULTSetGammaWithCustomCoeffs(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//GetdisplayGamma -IADLXDisplayGamma*displayGamma; -ADLX_RESULTres=displayService->pVtbl->GetGamma(displayService,display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -printf("\t\tPleaseenterfiveintegernumbers,separatedbyspaces(eg:313081292055552400):\n"); - -ADLX_RESULTres=ADLX_OK; -ADLX_RegammaCoeffcoeff={0}; -intuserKey=0; -intcoeffs[5]={31308,12920,55,55,2400}; - -for(inti=0;i<5;i++) -{ -scanf_s("%d",&coeffs[i]); -} -coeff.coefficientA0=coeffs[0]; -coeff.coefficientA1=coeffs[1]; -coeff.coefficientA2=coeffs[2]; -coeff.coefficientA3=coeffs[3]; -coeff.gamma=coeffs[4]; -res=displayGamma->pVtbl->SetReGammaCoefficient(displayGamma,coeff); -} - -//ReleasethedisplayGammainterface -if(NULL!=displayGamma) -{ -displayGamma->pVtbl->Release(displayGamma); -displayGamma=NULL; -} - -returnres; -} - -//SetGamma -voidSetGamma(IADLXDisplayServices*displayService,IADLXDisplay*display,intkey) -{ -//GetdisplayGamma -IADLXDisplayGamma*displayGamma=NULL; -ADLX_RESULTres=displayService->pVtbl->GetGamma(displayService,display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -printf("===Setgamma===\n"); -ADLX_RESULTres=ADLX_OK; - -switch(key) -{ -//UsepresetcoefficientsforReGammaSRGB -case0: -res=displayGamma->pVtbl->SetReGammaSRGB(displayGamma); -break; - -//Usecustomcoefficients -case1: -res=SetGammaWithCustomCoeffs(displayService,display); -break; - -//Userampformfile,filepath:output-night-light.txt -case2: -res=displayGamma->pVtbl->SetReGammaRamp_File(displayGamma,"output-night-light.txt"); -break; - -//Userampfrommemory -case3: -{ -constfloatreGammaF=2.4f; -ADLX_GammaRampramp=CreateReGammaRamp(reGammaF); -res=displayGamma->pVtbl->SetReGammaRamp_Memory(displayGamma,ramp); -} -break; - -//Resetgammaramp -case4: -res=displayGamma->pVtbl->ResetGammaRamp(displayGamma); -break; - -default: -break; -} -printf("\treturnis:%d(0meansSuccess)\n",res); -} - -//ReleasethedisplayGammainterface -if(NULL!=displayGamma) -{ -displayGamma->pVtbl->Release(displayGamma); -displayGamma=NULL; -} -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1toshowdisplaygammasupport\n"); - -printf("\t->Press2todisplaycurrentgammainfo\n"); - -printf("\t->Press3tosetReGammaSRGBusingpredefinedcoefficients\n"); -printf("\t->Press4tosetReGammausingcustomcoefficients\n"); -printf("\t->Press5tosetReGammausingrampfromfile[filepath:../output-night-light.txt]\n"); -printf("\t->Press6tosetReGammausingrampfrommemory\n"); -printf("\t->Press7toresetgammaramp\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaygammasupport -case'1': -ShowDisplayGammaSupport(displayService,display); -break; - -//Getcurrentgammastate -case'2': -GetCurrentGammaState(displayService,display); -break; - -//Setgamma -case'3': -case'4': -case'5': -case'6': -case'7': -case'8': -SetGamma(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservices -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinetrface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_display_gamut.xml b/vendor/adlx/SDKDoc/xml/c_sample_display_gamut.xml deleted file mode 100644 index 5318b81..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_display_gamut.xml +++ /dev/null @@ -1,368 +0,0 @@ - - - - c_sample_displayGamut - DisplayGamut - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display gamut when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display gamut support.</td></tr> - <tr><td>2</td><td> Get current display gamut information</td></tr> - <tr><td>3</td><td> Set predefined white point and predefined gamut space.</td></tr> - <tr><td>4</td><td> Set custom white point and predefined gamut space.</td></tr> - <tr><td>5</td><td> Set predefined white point and custom gamut space.</td></tr> - <tr><td>6</td><td> Set custom white point and custom gamut space.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu. </td></tr> - <tr><td>Q/q</td><td> Terminate the application. </td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayGamut</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" - -//DisplaydisplayGamutSupport -voidShowDisplayGamutSupport(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//GetdisplayGamut -IADLXDisplayGamut*displayGamut=NULL; -ADLX_RESULTres=displayService->pVtbl->GetGamut(displayService,display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -printf("===Gamutspacesupportedstatus===\n"); -res=displayGamut->pVtbl->IsSupportedCCIR709ColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedGamut_CCIR_709:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedCCIR601ColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedGamut_CCIR_601:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedAdobeRgbColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedGamut_Adobe_RGB:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedCIERgbColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedGamut_CIE_RGB:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedCCIR2020ColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedCCIR2020ColorSpace:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedCustomColorSpace(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedGamut_Custom:%d\n",supported); - -printf("===Whitepointsupportedstatus===\n"); -res=displayGamut->pVtbl->IsSupported5000kWhitePoint(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedWhitePoint_5000k:%d\n",supported); -res=displayGamut->pVtbl->IsSupported6500kWhitePoint(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedWhitePoint_6500k:%d\n",supported); -res=displayGamut->pVtbl->IsSupported7500kWhitePoint(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedWhitePoint_7500k:%d\n",supported); -res=displayGamut->pVtbl->IsSupported9300kWhitePoint(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedWhitePoint_9300k:%d\n",supported); -res=displayGamut->pVtbl->IsSupportedCustomWhitePoint(displayGamut,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tIsSupportedWhitePoint_Custom:%d\n",supported); -} - -//ReleasethedisplayGamutinterface -if(NULL!=displayGamut) -{ -displayGamut->pVtbl->Release(displayGamut); -displayGamut=NULL; -} -} - -//Displaygamutinformation,itcontainswhitepointandcolorspace -voidGetCurrentGamutInfo(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -//GetdisplayGamut -IADLXDisplayGamut*displayGamut=NULL; -ADLX_RESULTres=displayService->pVtbl->GetGamut(displayService,display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolapplied=false; -ADLX_RESULTres=ADLX_FAIL; -printf("===Currentwhitepointstatus===\n"); -res=displayGamut->pVtbl->IsCurrent5000kWhitePoint(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentWhitePoint_5000k:%d\n",applied); -res=displayGamut->pVtbl->IsCurrent6500kWhitePoint(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentWhitePoint_6500k:%d\n",applied); -res=displayGamut->pVtbl->IsCurrent7500kWhitePoint(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentWhitePoint_7500k:%d\n",applied); -res=displayGamut->pVtbl->IsCurrent9300kWhitePoint(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentWhitePoint_9300k:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentCustomWhitePoint(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentWhitePoint_Custom:%d\n",applied); -ADLX_Pointpoint={0}; -res=displayGamut->pVtbl->GetWhitePoint(displayGamut,&point); -if(ADLX_SUCCEEDED(res)) -printf("\tGetWhitePoint:(%d,%d)\n",point.x,point.y); - -printf("===Currentgamutspacestatus===\n"); -res=displayGamut->pVtbl->IsCurrentCCIR709ColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentGamut_CCIR_709:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentCCIR601ColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentGamut_CCIR_601:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentAdobeRgbColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentGamut_Adobe_RGB:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentCIERgbColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentGamut_CIE_RGB:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentCCIR2020ColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentCCIR2020ColorSpace:%d\n",applied); -res=displayGamut->pVtbl->IsCurrentCustomColorSpace(displayGamut,&applied); -if(ADLX_SUCCEEDED(res)) -printf("\tIsCurrentCustomColorSpace:%d\n",applied); -ADLX_GamutColorSpacegamutCoordinates={0}; -res=displayGamut->pVtbl->GetGamutColorSpace(displayGamut,&gamutCoordinates); -if(ADLX_SUCCEEDED(res)) -printf("\tGetGamutColorSpace:R(%d,%d),G(%d,%d),B(%d,%d)\n", -gamutCoordinates.red.x,gamutCoordinates.red.y, -gamutCoordinates.green.x,gamutCoordinates.green.y, -gamutCoordinates.blue.x,gamutCoordinates.blue.y); -} - -//ReleasethedisplayGamutinterface -if(NULL!=displayGamut) -{ -displayGamut->pVtbl->Release(displayGamut); -displayGamut=NULL; -} -} - -//Setgamut(whitepointandcolorspace) -voidSetGamut(IADLXDisplayServices*displayService,IADLXDisplay*display,intkey) -{ -printf("===Setwhitepointandgamutspace===\n"); - -ADLX_RESULTres=ADLX_FAIL; -ADLX_WHITE_POINTpredefinedWhitePoint=WHITE_POINT_6500K; -ADLX_GAMUT_SPACEpredefinedGamutSpace=GAMUT_SPACE_ADOBE_RGB; -ADLX_RGBcustomWhitePoint={0.654108,0.767112,1}; -ADLX_GamutColorSpacecustomGamutSpace= -{ -{6400,3300},{3000,6000},{1500,600} -}; - -//GetdisplayGamut -IADLXDisplayGamut*displayGamut=NULL; -res=displayService->pVtbl->GetGamut(displayService,display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ - -switch(key) -{ -//Setgamutwithpredefinedwhitepointandpredefinedgamutspace -case0: -res=displayGamut->pVtbl->SetGamut_PW_PG(displayGamut,predefinedWhitePoint,predefinedGamutSpace); -break; - -//Setgamutwithcustomwhitepointandpredefinedgamutspace -case1: -res=displayGamut->pVtbl->SetGamut_CW_PG(displayGamut,customWhitePoint,predefinedGamutSpace); -break; - -//Setgamutwithpredefinedwhitepointandcustomgamutspace -case2: -res=displayGamut->pVtbl->SetGamut_PW_CG(displayGamut,predefinedWhitePoint,customGamutSpace); -break; - -//Setgamutwithcustomwhitepointandcustomgamutspace -case3: -res=displayGamut->pVtbl->SetGamut_CW_CG(displayGamut,customWhitePoint,customGamutSpace); -break; -default: -break; -} -printf("\treturncode(0meansSuccess)is:%d\n",res); -} - -//ReleasethedisplayGamutinterface -if(NULL!=displayGamut) -{ -displayGamut->pVtbl->Release(displayGamut); -displayGamut=NULL; -} -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromfollowingoptions\n"); - -printf("\t->Press1todisplaygamutsupport\n"); - -printf("\t->Press2togetcurrentdisplaygamutinformation\n"); - -printf("\t->Press3tosetpredefinedwhitepointandpredefinedgamutspace\n"); -printf("\t->Press4tosetcustomwhitepointandpredefinedgamutspace\n"); -printf("\t->Press5tosetpredefinedwhitepointandcustomgamutspace\n"); -printf("\t->Press6tosetcustomwhitepointandcustomgamutspace\n"); - -printf("\t->PressQ/qtoterminatetheapplication.\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXDisplayServices*displayService,IADLXDisplay*display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayGamutSupport -case'1': -ShowDisplayGamutSupport(displayService,display); -break; - -//Getgamutinformationwithwhitepointandcolorspace -case'2': -GetCurrentGamutInfo(displayService,display); -break; - -//Setgamutwithwhitepointandcolorspace -case'3': -case'4': -case'5': -case'6': -SetGamut(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplay*display=NULL; -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//ReleasethedisplayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_displayinfo.xml b/vendor/adlx/SDKDoc/xml/c_sample_displayinfo.xml deleted file mode 100644 index f5e8695..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_displayinfo.xml +++ /dev/null @@ -1,255 +0,0 @@ - - - - c_sample_displayinfo - DisplayInfo - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display info when programming with ADLX and perform related operations.</p> - <h2>Sample Path</h2> - <p>/Samples/C/Display/DisplayInfo</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" - -//Extradata -//Getdisplaytypestring -staticconstchar*GetDisplayTypeStr(constADLX_DISPLAY_TYPEtype) -{ -switch(type) -{ -caseDISPLAY_TYPE_MONITOR: -return"CRT"; -caseDISPLAY_TYPE_TELEVISION: -return"TV"; -caseDISPLAY_TYPE_LCD_PANEL: -return"LCD"; -caseDISPLAY_TYPE_DIGITAL_FLAT_PANEL: -return"DFP"; -caseDISPLAY_TYPE_COMPONENT_VIDEO: -return"CV"; -default: -return"UNKNOWN"; -} -} - -//Getdisplayconnecttypestring -staticconstchar*GetDisplayConnectorStr(constADLX_DISPLAY_CONNECTOR_TYPEtype) -{ -switch(type) -{ -caseDISPLAY_CONTYPE_UNKNOWN: -return"UNKNOWN"; -caseDISPLAY_CONTYPE_VGA: -return"VGA"; -caseDISPLAY_CONTYPE_DVI_D: -return"DVID"; -caseDISPLAY_CONTYPE_DVI_I: -return"DVII"; -caseDISPLAY_CONTYPE_CVDONGLE_NTSC: -return"ATICVDONGLENTSC"; -caseDISPLAY_CONTYPE_CVDONGLE_JPN: -return"ATICVDONGLEJPN"; -caseDISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN: -return"ATICVDONGLENONI2CJPN"; -caseDISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC: -return"ATICVDONGLENONI2CNTSC"; -caseDISPLAY_CONTYPE_PROPRIETARY: -return"PROPRIETARY"; -caseDISPLAY_CONTYPE_HDMI_TYPE_A: -return"HDMITYPEA"; -caseDISPLAY_CONTYPE_HDMI_TYPE_B: -return"HDMITYPEB"; -caseDISPLAY_CONTYPE_SVIDEO: -return"SVIDEO"; -caseDISPLAY_CONTYPE_COMPOSITE: -return"COMPOSITE"; -caseDISPLAY_CONTYPE_RCA_3COMPONENT: -return"RCA3COMPONENT"; -caseDISPLAY_CONTYPE_DISPLAYPORT: -return"DISPLAYPORT"; -caseDISPLAY_CONTYPE_EDP: -return"EDP"; -caseDISPLAY_CONTYPE_WIRELESSDISPLAY: -return"WIRELESSDISPLAY"; -caseDISPLAY_CONTYPE_USB_TYPE_C: -return"USBTYPEC"; -default: -return"UNKNOWN"; -} -}; - -//Getscantypestring -staticconstchar*GetScanTypeStr(constADLX_DISPLAY_SCAN_TYPEtype) -{ -if(PROGRESSIVE==type) -{ -return"PROGRESSIVE"; -} -elseif(INTERLACED==type) -{ -return"INTERLACED"; -} -return"UNKNOWN"; -}; - -//PrintdisplayInfoinformation -voidShowDisplayInfo(IADLXDisplay*display) -{ -ADLX_RESULTres=ADLX_OK; - -printf("\n===Displayinfo===\n"); -constchar*dispName; -res=display->pVtbl->Name(display,&dispName); -if(ADLX_SUCCEEDED(res)) -printf("\tDisplayname:%s\n",dispName); - -adlx_uintmanufacturerID; -res=display->pVtbl->ManufacturerID(display,&manufacturerID); -if(ADLX_SUCCEEDED(res)) -printf("\tManufacturerid:%d\n",manufacturerID); - -ADLX_DISPLAY_TYPEdisplayType; -res=display->pVtbl->DisplayType(display,&displayType); -if(ADLX_SUCCEEDED(res)) -printf("\tDisplaytype:%s\n",GetDisplayTypeStr(displayType)); - -ADLX_DISPLAY_CONNECTOR_TYPEconnectType; -res=display->pVtbl->ConnectorType(display,&connectType); -if(ADLX_SUCCEEDED(res)) -printf("\tConnectortype:%s\n",GetDisplayConnectorStr(connectType)); - -constchar*edid; -res=display->pVtbl->EDID(display,&edid); -if(ADLX_OK!=res) -printf("\tDisplayEDID,errorcodeis:%d\n",res); -else -printf("\tEDID:%s\n",edid); - -adlx_doublerefreshRate; -res=display->pVtbl->RefreshRate(display,&refreshRate); -if(ADLX_SUCCEEDED(res)) -printf("\tRefreshrate:%f\n",refreshRate); - -adlx_uintpixelClock; -res=display->pVtbl->PixelClock(display,&pixelClock); -if(ADLX_SUCCEEDED(res)) -printf("\tPixelclock:%d\n",pixelClock); - -adlx_intmaxHResolution=0; -adlx_intmaxVResolution=0; -res=display->pVtbl->NativeResolution(display,&maxHResolution,&maxVResolution); -if(ADLX_SUCCEEDED(res)) -printf("\tNativeresolution[h*v]:%d%d\n",maxHResolution,maxVResolution); - -ADLX_DISPLAY_SCAN_TYPEscanType; -res=display->pVtbl->ScanType(display,&scanType); -if(ADLX_SUCCEEDED(res)) -printf("\tScantype:%s\n",GetScanTypeStr(scanType)); - -adlx_sizeid; -res=display->pVtbl->UniqueId(display,&id); -if(ADLX_SUCCEEDED(res)) -printf("\tUniqueId:%zu\n",id); -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_OK!=res) -returnWaitAndExit("ADLXinitializationfailed",0); - -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Getdisplayservice -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylistanditeratethroughthelist -IADLXDisplayList*displayList=NULL; -res=displayService->pVtbl->GetDisplays(displayService,&displayList); -if(ADLX_SUCCEEDED(res)) -{ -adlx_uintit=displayList->pVtbl->Begin(displayList); -IADLXDisplay*display=NULL; -for(;it!=displayList->pVtbl->End(displayList);it++) -{ -res=displayList->pVtbl->At_DisplayList(displayList,it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaydataonconsoleforeachdisplay -ShowDisplayInfo(display); -} - -//Releasethedisplayinterface -if(NULL!=display) -{ -display->pVtbl->Release(display); -display=NULL; -} -} -} - -//ReleasethedisplayListinterface -if(NULL!=displayList) -{ -displayList->pVtbl->Release(displayList); -displayList=NULL; -} -} - -//Releasethe displayServiceinterface -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_eyefinity.xml b/vendor/adlx/SDKDoc/xml/c_sample_eyefinity.xml deleted file mode 100644 index 4102161..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_eyefinity.xml +++ /dev/null @@ -1,358 +0,0 @@ - - - - c_sample_eyefinity - Eyefinity - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD Eyefinity support.</td></tr> - <tr><td>2</td><td> Create an AMD Eyefinity desktop with all the enabled displays.</td></tr> - <tr><td>3</td><td> Destroy all the AMD Eyefinity desktops.</td></tr> - <tr><td>4</td><td> Destroy the given AMD Eyefinity desktop. </td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Desktop/Eyefinity</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(); - -//DisplayEyefinitysupport -voidShowEyefinitySupport(); - -//CreateanEyefinitydesktop -voidCreateEyefinityDesktop(); - -//DestroyalltheEyefinitydesktops -voidDestroyAllEyefinityDesktop(); - -//DestroythegivenEyefinitydesktop -voidDestroyGivenEyefinityDesktop(); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXresult:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplayEyefinitysupport\n"); -printf("\t->Press2tocreateanEyefinitydesktopwithalltheenableddisplays\n"); -printf("\t->Press3todestroyalltheEyefinitydesktops\n"); -printf("\t->Press4todestroythegivenEyefinitydesktop\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl() -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayEyefinitysupport -case'1': -ShowEyefinitySupport(); -break; - -//CreateanEyefinitydesktop -case'2': -CreateEyefinityDesktop(); -break; - -//DestroyalltheEyefinitydesktops -case'3': -DestroyAllEyefinityDesktop(); -break; - -//DestroythegivenEyefinitydesktop -case'4': -DestroyGivenEyefinityDesktop(); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//DisplayEyefinitysupportstatus -voidShowEyefinitySupport() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXDesktopServices*desktopsInfo=NULL; -ADLX_RESULTres=sys->pVtbl->GetDesktopsServices(sys,&desktopsInfo); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSimpleEyefinity*eyefinity=NULL; -res=desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo,&eyefinity); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=0; -res=eyefinity->pVtbl->IsSupported(eyefinity,&supported); -if(ADLX_SUCCEEDED(res)) -printf("\tEyefinityissupportedonthedesktop:%s\n",supported?"Yes":"No"); -} -else -printf("\tFailedtogetsimpleEyefinity\n"); - -if(eyefinity!=NULL) -{ -eyefinity->pVtbl->Release(eyefinity); -eyefinity=NULL; -} -} -else -printf("\tFailedtogettheDesktopServicesinterface\n"); - -if(desktopsInfo!=NULL) -{ -desktopsInfo->pVtbl->Release(desktopsInfo); -desktopsInfo=NULL; -} -} - -//CreateanEyefinitydesktop -voidCreateEyefinityDesktop() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXDesktopServices*desktopsInfo=NULL; -ADLX_RESULTres=sys->pVtbl->GetDesktopsServices(sys,&desktopsInfo); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSimpleEyefinity*eyefinity=NULL; -res=desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo,&eyefinity); -if(ADLX_SUCCEEDED(res)) -{ -IADLXEyefinityDesktop*eyefinityDesktop=NULL; -res=eyefinity->pVtbl->Create(eyefinity,&eyefinityDesktop); -printf("\treturncodeis:%d(0meansSuccess)\n",res); -if(eyefinityDesktop!=NULL) -{ -eyefinityDesktop->pVtbl->Release(eyefinityDesktop); -eyefinityDesktop=NULL; -} -} -else -printf("\tFailedtogetsimpleEyefinity\n"); - -if(eyefinity!=NULL) -{ -eyefinity->pVtbl->Release(eyefinity); -eyefinity=NULL; -} -} -else -printf("\tFailedtogettheDesktopServicesinterface\n"); - -if(desktopsInfo!=NULL) -{ -desktopsInfo->pVtbl->Release(desktopsInfo); -desktopsInfo=NULL; -} -} - -//DestroyalltheEyefinitydesktops -voidDestroyAllEyefinityDesktop() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXDesktopServices*desktopsInfo=NULL; -ADLX_RESULTres=sys->pVtbl->GetDesktopsServices(sys,&desktopsInfo); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSimpleEyefinity*eyefinity=NULL; -res=desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo,&eyefinity); -if(ADLX_SUCCEEDED(res)) -{ -res=eyefinity->pVtbl->DestroyAll(eyefinity); -printf("\treturncodeis:%d(0meanssuccess)\n",res); -} -else -printf("\tFailedtogetsimpleEyefinity\n"); - -if(eyefinity!=NULL) -{ -eyefinity->pVtbl->Release(eyefinity); -eyefinity=NULL; -} -} -else -printf("\tFailedtogettheDesktopServicesinterface\n"); - -if(desktopsInfo!=NULL) -{ -desktopsInfo->pVtbl->Release(desktopsInfo); -desktopsInfo=NULL; -} -} - -//DestroythegivenEyefinitydesktop -voidDestroyGivenEyefinityDesktop() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -IADLXDesktopServices*desktopsInfo=NULL; -ADLX_RESULTres=sys->pVtbl->GetDesktopsServices(sys,&desktopsInfo); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSimpleEyefinity*eyefinity=NULL; -res=desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo,&eyefinity); -if(ADLX_SUCCEEDED(res)) -{ -IADLXDesktopList*desktops=NULL; -res=desktopsInfo->pVtbl->GetDesktops(desktopsInfo,&desktops); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=desktops->pVtbl->Begin(desktops);crt!=desktops->pVtbl->End(desktops);++crt) -{ -IADLXDesktop*desktop=NULL; -res=desktops->pVtbl->At_DesktopList(desktops,crt,&desktop); -if(ADLX_SUCCEEDED(res)) -{ -IADLXEyefinityDesktop*eyefinityDesktop=NULL; -void*pInterf=NULL; -res=desktop->pVtbl->QueryInterface(desktop,IID_IADLXEyefinityDesktop(),&pInterf); -if(ADLX_SUCCEEDED(res)) -{ -eyefinityDesktop=(IADLXEyefinityDesktop*)pInterf; -res=eyefinity->pVtbl->Destroy(eyefinity,eyefinityDesktop); -printf("\tReturncodefordestroyingDesktop%dis:%d(0meansSuccess)\n",crt,res); -} -else -printf("\tEyefinityDesktopisNULL\n"); - -if(eyefinityDesktop!=NULL) -{ -eyefinityDesktop->pVtbl->Release(eyefinityDesktop); -eyefinityDesktop=NULL; -} -} -else -printf("\tDesktopisNULL\n"); - -if(desktop!=NULL) -{ -desktop->pVtbl->Release(desktop); -desktop=NULL; -} -} -} -else -printf("\tFailedtogettheDesktopinterface\n"); - -if(desktops!=NULL) -{ -desktops->pVtbl->Release(desktops); -desktops=NULL; -} -} -else -printf("\tFailedtogetsimpleEyefinity\n"); - -if(eyefinity!=NULL) -{ -eyefinity->pVtbl->Release(eyefinity); -eyefinity=NULL; -} -} -else -printf("\tFailedtogettheDesktopServicesinterface\n"); - -if(desktopsInfo!=NULL) -{ -desktopsInfo->pVtbl->Release(desktopsInfo); -desktopsInfo=NULL; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_gpus.xml b/vendor/adlx/SDKDoc/xml/c_sample_gpus.xml deleted file mode 100644 index 93950c6..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_gpus.xml +++ /dev/null @@ -1,309 +0,0 @@ - - - - c_sample_gpus - GPUs - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/C/Generic/GPUs</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/ISystem1.h" -#include<stdio.h> - -//CallbackforGPUchangeevent -adlx_boolADLX_STD_CALLOnGPUListChanged(IADLXGPUsEventListener*pThis,IADLXGPUList*pNewGPUs) -{ -printf("GPUlistchangeeventreceived\n"); -if(pNewGPUs==NULL) -{ -printf("GPUlistdoesnotexist\n"); -returnfalse; -} - -printf("GPUlistsize:%d\n",pNewGPUs->pVtbl->Size(pNewGPUs)); - -returntrue; -} - -//DisplayGPUinformation -voidShowGPUInfo(IADLXGPU*gpu); - -//ShowGPUhybridgraphictype -voidShowHybridGraphicType(); - -//AddeventlisterforGPUchange -voidAddGPUEventListener(); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPU*gpu); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetGPUlist -IADLXGPUList*gpus=NULL; -res=sys->pVtbl->GetGPUs(sys,&gpus); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPU*gpu=NULL; -res=gpus->pVtbl->At_GPUList(gpus,0,&gpu); -if(ADLX_SUCCEEDED(res)) -{ -//Display mainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(gpu); -} - -if(gpus!=NULL) -{ -gpus->pVtbl->Release(gpus); -} -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//DisplayGPUinformation -voidShowGPUInfo(IADLXGPU*gpu) -{ -if(gpu!=NULL) -{ -printf("\n====GPUinfo====\n"); -//ShowGPUinfo -constchar*vendorId=NULL; -ADLX_RESULTret=gpu->pVtbl->VendorId(gpu,&vendorId); -printf("VendorId:%s,returncodeis:%d(0meanssuccess)\n",vendorId,ret); - -ADLX_ASIC_FAMILY_TYPEasicFamilyType=ASIC_UNDEFINED; -ret=gpu->pVtbl->ASICFamilyType(gpu,&asicFamilyType); -printf("ASICFamilyType:%d,returncodeis:%d(0meanssuccess)\n",asicFamilyType,ret); - -ADLX_GPU_TYPEgpuType=GPUTYPE_UNDEFINED; -ret=gpu->pVtbl->Type(gpu,&gpuType); -printf("Type:%d,returncodeis:%d(0meanssuccess)\n",gpuType,ret); - -adlx_boolisExternal=false; -ret=gpu->pVtbl->IsExternal(gpu,&isExternal); -printf("IsExternal:%d,returncodeis:%d(0meanssuccess)\n",isExternal,ret); - -constchar*gpuName=NULL; -ret=gpu->pVtbl->Name(gpu,&gpuName); -printf("Name:%s,returncodeis:%d(0meanssuccess)\n",gpuName,ret); - -constchar*driverPath=NULL; -ret=gpu->pVtbl->DriverPath(gpu,&driverPath); -printf("DriverPath:%s,returncodeis:%d(0meanssuccess)\n",driverPath,ret); - -constchar*pnpString=NULL; -ret=gpu->pVtbl->PNPString(gpu,&pnpString); -printf("PNPString:%s,returncodeis:%d(0meanssuccess)\n",pnpString,ret); - -adlx_boolhasDesktops=false; -ret=gpu->pVtbl->HasDesktops(gpu,&hasDesktops); -printf("HasDesktops:%d,returncodeis:%d(0meanssuccess)\n",hasDesktops,ret); - -adlx_uinttotalVRAM=0; -ret=gpu->pVtbl->TotalVRAM(gpu,&totalVRAM); -printf("TotalVRAM:%dMB,returncodeis:%d(0meanssuccess)\n",totalVRAM,ret); - -adlx_intid; -ret=gpu->pVtbl->UniqueId(gpu,&id); -printf("UniqueId:%d,returncodeis:%d(0meanssuccess)\n",id,ret); - -IADLXGPU1*gpu1=NULL; -ret=gpu->pVtbl->QueryInterface(gpu,IID_IADLXGPU1(),&gpu1); -if(ADLX_SUCCEEDED(ret)) -{ -constchar*productName=NULL; -ret=gpu1->pVtbl->ProductName(gpu1,&productName); -printf("ProductName:%s\n",productName); - -ADLX_MGPU_MODEmode=MGPU_NONE; -ret=gpu1->pVtbl->MultiGPUMode(gpu1,&mode); -printf("Multi-GPUMode:"); -if(mode==MGPU_PRIMARY) -printf("GPUistheprimaryGPU\n"); -elseif(mode==MGPU_SECONDARY) -printf("GPUisthesecondaryGPU\n"); -else -printf("GPUisnotinMulti-GPU\n"); - -ADLX_PCI_BUS_TYPEbusType=UNDEFINED; -ret=gpu1->pVtbl->PCIBusType(gpu1,&busType); -printf("PCIBusType:%d\n",busType); - -adlx_uintlaneWidth=0; -ret=gpu1->pVtbl->PCIBusLaneWidth(gpu1,&laneWidth); -printf("PCIBusLaneWidth:%d\n",laneWidth); - -gpu1->pVtbl->Release(gpu1); -gpu1=NULL; -} - -gpu->pVtbl->Release(gpu); -gpu=NULL; -} -} - -//DisplayGPUhybridgraphictype -voidShowHybridGraphicType() -{ -ADLX_HG_TYPEhgType=NONE; - -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -ADLX_RESULTres=sys->pVtbl->GetHybridGraphicsType(sys,&hgType); -if(ADLX_SUCCEEDED(res)) -{ -switch(hgType) -{ -caseNONE: -printf("TheGPUhybridtypeis:NONE\n"); -break; -caseAMD: -printf("TheGPUhybridtypeis:AMD\n"); -break; -caseOTHER: -printf("TheGPUhybridtypeis:OTHER\n"); -break; -} -} -} - -//AddGPUchangeeventlistener -voidAddGPUEventListener() -{ -IADLXGPUsEventListenerVtblGPUsEventListenerVtbl={&OnGPUListChanged}; -IADLXGPUsEventListenergpuListener={&GPUsEventListenerVtbl}; - -IADLXGPUsChangedHandling*gpusChangedHandling=NULL; -IADLXSystem*sys=ADLXHelper_GetSystemServices(); -ADLX_RESULTres=sys->pVtbl->GetGPUsChangedHandling(sys,&gpusChangedHandling); -if(ADLX_SUCCEEDED(res)&&gpusChangedHandling) -{ -res=gpusChangedHandling->pVtbl->AddGPUsListEventListener(gpusChangedHandling,&gpuListener); -if(ADLX_SUCCEEDED(res)) -{ -printf("AdditionofGPUeventlistenersuccessful\n"); -} - -//EnableordisableaGPUdeviceusingWindowsDeviceManager -Sleep(15*1000); - -res=gpusChangedHandling->pVtbl->RemoveGPUsListEventListener(gpusChangedHandling,&gpuListener); -if(ADLX_SUCCEEDED(res)) -{ -printf("RemovalofGPUeventlistenersuccessful\n"); -} - -gpusChangedHandling->pVtbl->Release(gpusChangedHandling); -} -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChooseonefromthefollowingoptions\n"); - -printf("\t->Press1todisplayGPUinformation\n"); - -printf("\t->Press2toaddGPUeventlistener\n"); - -printf("\t->Press3todisplayGPUhybridgraphictype\n"); - -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaythemainmenuoptions\n"); -} - -//Menuactioncontrol -voidMenuControl(IADLXGPU*gpu) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayGPUinformation -case'1': -ShowGPUInfo(gpu); -break; -//AddGPUchangeeventlistener -case'2': -AddGPUEventListener(); -break; -//DisplayGPUhybridgraphictype -case'3': -ShowHybridGraphicType(); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_log.xml b/vendor/adlx/SDKDoc/xml/c_sample_log.xml deleted file mode 100644 index 8e3c39f..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_log.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - c_sample_log - Log - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to enable log and get log data when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Enable log with local file, file [./ADLX.log] is created.</td></tr> - <tr><td>2</td><td> Enable log with DebugView.</td></tr> - <tr><td>3</td><td> Eenable log with app handle.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/Generic/Log</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" - -//CallBacktohandleADLXlog -ADLX_RESULTADLX_STD_CALLWriteLog(IADLXLog*pThis,constwchar_t*msg) -{ -wprintf(L"%s",msg); -returnADLX_OK; -} - -//Application'slogstructdemostration,applicationcancaptureADLXloghere -typedefstructAppHandlLog -{ -ADLX_RESULT(ADLX_STD_CALL*WriteLog) -(IADLXLog*pThis,constwchar_t*msg); -}AppHandlLog; - -//Localfile,ADLXlogdataissavedtofile -voidUseLocalFile() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Logdestination,severity,logfile -ADLX_LOG_DESTINATIONmode=LOCALFILE; -ADLX_LOG_SEVERITYseverity=LDEBUG; -wchar_tlogfile[]=L"./ADLX.log"; - -//Enablelog -ADLX_RESULTres=sys->pVtbl->EnableLog(sys,mode,severity,NULL,logfile); -printf("Enabledlogresult:%d(0meanssuccess)\n",res); -} - -//ConfigureADLXlogtosenderrors,warningsanddebuginformationmessagestotheDebugView -voidUseDebugView() -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Logdestination,severity -ADLX_LOG_DESTINATIONmode=DBGVIEW; -ADLX_LOG_SEVERITYseverity=LDEBUG; - -//Enablelog -ADLX_RESULTres=sys->pVtbl->EnableLog(sys,mode,severity,NULL,NULL); -printf("Enabledlogresult:%d(0meansSuccess)\n",res); -} - -//Applicationhandlelog,application'scallbackwillhandletheADLXlog -voidUseAppHandlLog(AppHandlLog**appHandlLog) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//Logdestination,severity -ADLX_LOG_DESTINATIONmode=APPLICATION; -ADLX_LOG_SEVERITYseverity=LDEBUG; - -//Enablelog -ADLX_RESULTres=sys->pVtbl->EnableLog(sys,mode,severity,(IADLXLog*)appHandlLog,NULL); -printf("Enabledlogresult:%d(0meansSuccess)\n",res); -} - -//Mainmenu -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); -printf("\t->Press1toenablelogwithlocalfile,file[./ADLX.log]willbecreated.\n"); -printf("\t->Press2toenablelogwithDebugView\n"); -printf("\t->Press3toenablelogwithapphandle\n"); -} - -//Menuactioncontrol -voidMenuControl(AppHandlLog**appHandlLog) -{ -intnum=0; -num=getchar(); -switch(num) -{ -//Localfile -case'1': -UseLocalFile(); -break; - -//DebugView -case'2': -UseDebugView(); -break; - -//Apphandle -case'3': -UseAppHandlLog(appHandlLog); -break; - -default: -printf("Invalidinput\n"); -break; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(NULL!=msg) -printf("%s\n",msg); - -system("pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//AppcreateobjecttohandleADLXlog -AppHandlLog*appHandlLog=(AppHandlLog*)malloc(sizeof(AppHandlLog)); -appHandlLog->WriteLog=&WriteLog; - -//Menu -MainMenu(); -MenuControl(&appHandlLog); - -//Trygetlogbyusingsomeinterfaces -//Getdisplayserviceanddisplaynumbers -IADLXDisplayServices*displayService=NULL; -res=sys->pVtbl->GetDisplaysServices(sys,&displayService); -if(ADLX_SUCCEEDED(res)) -{ -adlx_uintdisplayNum; -displayService->pVtbl->GetNumberOfDisplays(displayService,&displayNum); -} -if(NULL!=displayService) -{ -displayService->pVtbl->Release(displayService); -displayService=NULL; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//appHandlLogmaybeusedthroughoutthelifecycleofADLX, -//SodestroyappHandlLogafterdestroyingADLX -free(appHandlLog); -appHandlLog=NULL; -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_sample_userprocess.xml b/vendor/adlx/SDKDoc/xml/c_sample_userprocess.xml deleted file mode 100644 index 324caf4..0000000 --- a/vendor/adlx/SDKDoc/xml/c_sample_userprocess.xml +++ /dev/null @@ -1,277 +0,0 @@ - - - - c_sample_userprocess - UserProcess - - - -Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include<Windows.h> -#include<TlHelp32.h> -#include"GlobalDefs.h" - -//Getprocessid -staticDWORDGetProcessIdOfWinLogon(DWORDid); - -//Gettokenbyname -staticHANDLEGetTokenByName(); - -//Invokeprocess -staticBOOLInvokeProcess(LPCWSTRimage,LPWSTRcmd); - -//Thethreadtocreateuserprocess -staticDWORDWINAPICreateUserProcess(LPVOIDlpParam); - -DWORDGetProcessIdOfWinLogon(DWORDid) -{ -HANDLEhSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); -if(hSnap==INVALID_HANDLE_VALUE) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetProcessIdOfWinLogon:'CreateToolhelp32Snapshot'failed."); -return0; -} - -PROCESSENTRY32ProcEntry={0}; -ProcEntry.dwSize=sizeof(PROCESSENTRY32); - -if(!Process32First(hSnap,&ProcEntry)) -{ -CloseHandle(hSnap); -XTrace(L"ADLXCallService:InvokeUserProcessGetProcessIdOfWinLogon:'Process32First'failed."); -return0; -} - -DWORDprocessId=0; -for(;;) -{ -if(strcmp(ProcEntry.szExeFile,"winlogon.exe")==0) -{ -DWORDlogonSessionId=0; -if(!ProcessIdToSessionId(ProcEntry.th32ProcessID,&logonSessionId)) -continue; - -if(logonSessionId==id) -{ -processId=ProcEntry.th32ProcessID; -break; -} -} - -if(!Process32Next(hSnap,&ProcEntry)) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetProcessIdOfWinLogon:'Process32Next'failed."); -break; -} -} -CloseHandle(hSnap); - -returnprocessId; -} - -HANDLEGetTokenByName() -{ -typedefBOOL(WINAPI*LPWTSQUERYUSERTOKEN)(DWORD,PHANDLE); -LPWTSQUERYUSERTOKENfWTSQueryUserTokenPtr=NULL; - -HMODULEhLib=NULL; -HANDLEhToken=NULL; - -do -{ -DWORDsessionId=WTSGetActiveConsoleSessionId(); -if(sessionId==0xFFFFFFFF) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:WTSGetActiveConsoleSessionId:failed."); -break; -} - -if(fWTSQueryUserTokenPtr==NULL) -{ -if(hLib==NULL) -hLib=LoadLibrary("WtsApi32.dll"); - -if(hLib) -fWTSQueryUserTokenPtr=(LPWTSQUERYUSERTOKEN)GetProcAddress(hLib,"WTSQueryUserToken"); - -if(!fWTSQueryUserTokenPtr) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:Getsymbol'WTSQueryUserToken'failed."); -break; -} -} - -if(!fWTSQueryUserTokenPtr(sessionId,&hToken)) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'fWTSQueryUserTokenPtr'failed,errorcode:%d.",GetLastError()); -break; -} - -DWORDwinLogonProcessId=GetProcessIdOfWinLogon(sessionId); -HANDLEhWinlogon=OpenProcess(MAXIMUM_ALLOWED,FALSE,winLogonProcessId); -if(hWinlogon==NULL) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:'OpenProcess'failed."); -break; -} - -BOOLbResult=OpenProcessToken(hWinlogon,TOKEN_ALL_ACCESS,&hToken); -CloseHandle(hWinlogon); - -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:'OpenProcessToken'failed."); -break; -} - -HANDLEhTokenDup=NULL; -bResult=DuplicateTokenEx(hToken,MAXIMUM_ALLOWED,NULL,SecurityIdentification,TokenPrimary,&hTokenDup); -CloseHandle(hToken); -hToken=NULL; - -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:'DuplicateTokenEx'failed."); -break; -} - -bResult=SetTokenInformation(hTokenDup,TokenSessionId,(void*)&sessionId,sizeof(DWORD)); -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcessGetTokenByName:'SetTokenInformation'failed."); -break; -} - -TOKEN_PRIVILEGESTokenPriv={0}; -LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&TokenPriv.Privileges[0].Luid); - -TokenPriv.PrivilegeCount=0; -TokenPriv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; -AdjustTokenPrivileges(hTokenDup,FALSE,&TokenPriv,sizeof(TokenPriv),NULL,NULL); - -hToken=hTokenDup; - -}while(0); - -if(hLib) -FreeLibrary(hLib); - -returnhToken; -} - -BOOLInvokeProcess(LPCWSTRimage,LPWSTRcmd) -{ -if(image==NULL||cmd==NULL) -{ -XTrace(L"ADLXCallService:InvokeUserProcessInvokeProcess:parameter(s)invalid."); -returnFALSE; -} - -HANDLEhToken=GetTokenByName(); -if(hToken==NULL)//"SVCHOST.EXE" -{ -XTrace(L"ADLXCallService:InvokeUserProcessInvokeProcess:GetTokenByNamefailed."); -returnFALSE; -} - -XTrace(L"ADLXCallService:InvokeUserProcessInvokeProcess:'GetTokenByName',hToken:%d.",hToken); -XTrace(L"ADLXCallService:InvokeUserProcessInvokeProcess:'GetTokenByName',image:%s,cmd:%s",image,cmd); - -STARTUPINFOWsi; -ZeroMemory(&si,sizeof(STARTUPINFOW)); -si.cb=sizeof(STARTUPINFOW); -si.lpDesktop=L"winsta0\\default"; - -PROCESS_INFORMATIONpi; -BOOLret=CreateProcessAsUserW(hToken,image,cmd,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi); -if(!ret) -{ -XTrace(L"ADLXCallService:InvokeUserProcessInvokeProcess:'CreateProcessAsUserW'failed,errorcode:%d.",GetLastError()); -returnFALSE; -} - -returnret; -} - -DWORDWINAPICreateUserProcess(LPVOIDlpParam) -{ -if(lpParam==NULL) -returnFALSE; - -wchar_timagePath[MAX_RESULT_LEN]={0}; -GetModuleFileNameW(NULL,imagePath,MAX_PATH); - -InvokeProcess(imagePath,(WCHAR*)lpParam); - -returnTRUE; -} - -BOOLGetUserProcessData(Messager*messager,ResponseData*responseData) -{ -if(messager==NULL) -{ -XTrace(L"ADLXCallService:GetUserProcessData:invalidmessager"); -returnFALSE; -} - -if(responseData==NULL) -{ -XTrace(L"ADLXCallService:GetUserProcessData:NULLresponseData"); -returnFALSE; -} - -WCHAReventPath[MAX_PATH]={0}; -WCHARshmPath[MAX_PATH]={0}; - -swprintf_s(eventPath,MAX_PATH,ADXL_EVENT_NAME,messager->adlxEntityName); -swprintf_s(shmPath,MAX_PATH,ADXL_SHAREMENORY_NAME,messager->adlxEntityName); - -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; - -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -HANDLEfinishEvent=CreateEventW(&sa,FALSE,FALSE,eventPath); - -XTrace(L"ADLXCallService:Main:GetUserProcessData,evt:%s,shmpath:%s\n",eventPath,shmPath); - -if(ShmCreate(shmPath,SHARE_MEMORY_MAX_SIZE)) -{ -if(ShmWriteBuffer(shmPath,(PVOID)messager,sizeof(Messager))) -{ -//CreateuserprocesstocallADLXfunction -DWORDthreadId=0; -CreateThread(NULL,0,CreateUserProcess,(LPVOID)messager->adlxEntityName,0,&threadId); -//Waituserprocesstowriteresulttosharedmemory -if(WAIT_TIMEOUT==WaitForSingleObject(finishEvent,INFINITE)) -{ -returnFALSE; -} -//Gettemplatestructurefromsharedmemory -if(ShmReadBuffer(shmPath,(PVOID)responseData,sizeof(ResponseData))) -{ -XTrace(L"ADLXCallService:Main:GetUserProcessData:Readbackresult:%s",responseData->executedResults); -ShmDestory(); -returnTRUE; -} -} -} -returnFALSE; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/c_ssm.xml b/vendor/adlx/SDKDoc/xml/c_ssm.xml deleted file mode 100644 index 4950fb9..0000000 --- a/vendor/adlx/SDKDoc/xml/c_ssm.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - c_ssm - SmartShiftMax - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control AMD SmartShift Max when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD SmartShift Max support.</td></tr> - <tr><td>2</td><td> Display AMD SmartShift Max bias value, bias mode, and bias range.</td></tr> - <tr><td>3</td><td> Set SmartShift Max bias mode to Manual.</td></tr> - <tr><td>4</td><td> Set SmartShift Max bias mode to Auto.</td></tr> - <tr><td>5</td><td> Set SmartShift Max bias value.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/C/PowerTuning/SmartShiftMax</p> -</body> -</html> Code - -C // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include"SDK/Include/IPowerTuning.h" -#include"SDK/Include/ISystem1.h" - -//DisplayAMDSmartShiftmaxsupport -voidShowSmartShiftMaxSupport(IADLXSmartShiftMax*ssm); - -//DisplaycurrentAMDSmartShiftmaxstate -voidShowSmartShiftMaxSate(IADLXSmartShiftMax*ssm); - -//SetAMDSmartShiftmaxbiasmode -voidSetSmartShiftMaxBiasMode(IADLXSmartShiftMax*ssm,intindex); - -//SetAMDSmartShiftmaxbiasvalue -voidSetSmartShiftMaxBiasValue(IADLXSmartShiftMax*ssm); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXSmartShiftMax*ssm); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=ADLXHelper_Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemservices -IADLXSystem*sys=ADLXHelper_GetSystemServices(); - -//GetIADLXSystem1interface -IADLXSystem1*system1=NULL; -res=sys->pVtbl->QueryInterface(sys,IID_IADLXSystem1(),(void**)(&system1)); -if(ADLX_SUCCEEDED(res)) -{ -//Getpowertuningservices -IADLXPowerTuningServices*powerTuningServices=NULL; -res=system1->pVtbl->GetPowerTuningServices(system1,&powerTuningServices); - -//GetAMDSmartShiftMaxinterface -IADLXSmartShiftMax*ssm=NULL; -res=powerTuningServices->pVtbl->GetSmartShiftMax(powerTuningServices,&ssm); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(ssm); -} - -//ReleaseAMDSmartShiftMaxinterface -if(ssm!=NULL) -{ -ssm->pVtbl->Release(ssm); -ssm=NULL; -} - -//Releasepowertuningservicesinterface -if(powerTuningServices!=NULL) -{ -powerTuningServices->pVtbl->Release(powerTuningServices); -powerTuningServices=NULL; -} -} -else -{ -printf("FailedtogetIADLXSystem1interface\n"); -} - -//ReleaseIADLXSystem1interface -if(system1!=NULL) -{ -system1->pVtbl->Release(system1); -system1=NULL; -} -} -else -{ -printf("ADLXinitializationfailed\n"); -return0; -} - -//DestroyADLX -res=ADLXHelper_Terminate(); -printf("DestroyADLXres:%d\n",res); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSmartShiftMaxSupport(IADLXSmartShiftMax*ssm) -{ -adlx_boolsupported=false; -ssm->pVtbl->IsSupported(ssm,&supported); -printf("\tIsSupported:%d\n",supported); -} - -voidShowSmartShiftMaxSate(IADLXSmartShiftMax*ssm) -{ -ADLX_SSM_BIAS_MODEmode; -ADLX_RESULTret=ssm->pVtbl->GetBiasMode(ssm,&mode); -if(ADLX_SUCCEEDED(ret)) -printf("\tBiasmode:%s\n",(mode==SSM_BIAS_MANUAL?"manual":"auto")); -else -printf("\tFailedtogetbiasmode,errorcode:%d\n",ret); - -adlx_intbias=0; -ret=ssm->pVtbl->GetBias(ssm,&bias); -if(ADLX_SUCCEEDED(ret)) -printf("\tBiasvalue:%d\n",bias); -else -printf("\tFailedtogetbiasvalue,errorcode:%d\n",ret); - -ADLX_IntRangerange; -ret=ssm->pVtbl->GetBiasRange(ssm,&range); -if(ADLX_SUCCEEDED(ret)) -printf("\tBiasrange:[%d,%d],step:%d\n",range.minValue,range.maxValue,range.step); -else -printf("\tFailedtogetbiasrange,errorcode:%d\n",ret); -} - -voidSetSmartShiftMaxBiasMode(IADLXSmartShiftMax*ssm,intindex) -{ -ADLX_SSM_BIAS_MODEmode=index==0?SSM_BIAS_MANUAL:SSM_BIAS_AUTO; -ADLX_RESULTres=ssm->pVtbl->SetBiasMode(ssm,mode); -printf("\tSetbiasmode%s,returncode:%d\n",(mode==SSM_BIAS_MANUAL?"manual":"auto"),res); -} - -voidSetSmartShiftMaxBiasValue(IADLXSmartShiftMax*ssm) -{ -adlx_intbias=0; -ssm->pVtbl->GetBias(ssm,&bias); -ADLX_IntRangerange; -ssm->pVtbl->GetBiasRange(ssm,&range); -adlx_intbase=(range.maxValue+range.minValue)/2; -adlx_intvalue=bias==base?base+range.step:base; -ADLX_RESULTres=ssm->pVtbl->SetBias(ssm,value); -printf("\tSetbiasvalue:%d,returncode:%d\n",value,res); -} - -voidMainMenu() -{ -printf("\tChoosefromthefollowingoptions:\n"); -printf("\t->Press1todisplayAMDSmartShiftMaxsupport\n"); -printf("\t->Press2todisplayAMDSmartShiftMaxbiasvalue,biasmode,andbiasrange\n"); -printf("\t->Press3tosetAMDSmartShiftMaxbiasmodetoManual\n"); -printf("\t->Press4tosetAMDSmartShiftMaxbiasmodetoAuto\n"); -printf("\t->Press5tosetAMDSmartShiftMaxbiasvalue\n"); -printf("\t->PressQ/qtoterminatetheapplication\n"); -printf("\t->PressM/mtodisplaymainmenuoptions\n"); -} - -voidMenuControl(IADLXSmartShiftMax*ssm) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAMDSmartShiftmaxsupport -case'1': -ShowSmartShiftMaxSupport(ssm); -break; - -//DisplaycurrentAMDSmartShiftmaxstate -case'2': -ShowSmartShiftMaxSate(ssm); -break; - -//SetAMDSmartShiftmaxbiasmode -case'3': -case'4': -SetSmartShiftMaxBiasMode(ssm,num-'3'); -break; - -//SetAMDSmartShiftmaxbiasvalue -case'5': -SetSmartShiftMaxBiasValue(ssm); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cdesktop_8md.xml b/vendor/adlx/SDKDoc/xml/cdesktop_8md.xml deleted file mode 100644 index 343116b..0000000 --- a/vendor/adlx/SDKDoc/xml/cdesktop_8md.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - cdesktop.md - - - - - -#Desktop{#domain_c_sample_Desktop} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_sample_desktopevent|Sampledemonstratinghowtoobtainthedesktopschangedhandleandadd/removecallbackforchangedevents.| -|@refc_sample_eyefinity|SampledemonstratinghowtocreateanEyefinitydesktop.| -|@refc_sample_PrimaryAdapter|SampledemonstratinghowtogettheprimaryadapterwhenprogrammingwithADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cdisplay_8md.xml b/vendor/adlx/SDKDoc/xml/cdisplay_8md.xml deleted file mode 100644 index 81f45c0..0000000 --- a/vendor/adlx/SDKDoc/xml/cdisplay_8md.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - cdisplay.md - - - - - -#Display{#domain_c_sample_Display} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_sample_display3DLUT|SampledemonstratingSet/Get3DLUT.| -|@refc_sample_displayBlanking|SampledemonstratingSet/GetDisplayBlanking.| -|@refc_display_ColorDepth|SampledemonstratinghowtoSet/GetColorDepth.| -|@refc_display_DisplayConnectivityExperience|SampledemonstratinghowtoSet/GetConnectivity-Experience.| -|@refc_display_CustomColor|SampledemonstratinghowtoSet/GetCustomColor.| -|@refc_display_CustomResolution|SampledemonstratinghowtoSet/GetCustomResolution.| -|@refc_sample_displayEvents|Sampledemonstratinghowtomonitoreventchanges.| -|@refc_display_FreeSync|SampledemonstratinghowtoSet/GetFreeSync.| -|@refc_sample_displayGamma|SampledemonstratingSet/GetGamma.| -|@refc_sample_displayGamut|SampledemonstratingSet/GetGamut.| -|@refc_display_GPUScaling|SampledemonstratinghowtoSet/GetGPUScaling.| -|@refc_display_HDCP|SampledemonstratinghowtoSet/GetHDCP.| -|@refc_sample_displayinfo|Sampledemonstratinghowtogetdisplayandoutputinformation.| -|@refc_display_IntegerScaling|SampledemonstratinghowtoSet/GetIntegerScaling.| -|@refc_display_PixelFormat|SampledemonstratinghowtoSet/GetPixelFormat.| -|@refc_display_ScalingMode|SampledemonstratinghowtoSet/Getscalingmode.| -|@refc_display_DisplayVariBright|SampledemonstratinghowtoSet/GetVariBright.| -|@refc_display_VSR|SampledemonstratinghowtoSet/Getvirtualsuperresolution.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cgeneral_8md.xml b/vendor/adlx/SDKDoc/xml/cgeneral_8md.xml deleted file mode 100644 index 57235e4..0000000 --- a/vendor/adlx/SDKDoc/xml/cgeneral_8md.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - cgeneral.md - - - - - -#Miscellaneous{#domain_c_sample_Generic} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_sample_gpus|SampledemonstratinghowtoenumerateGPUs.| -|@refc_sample_InvalidObject|Sampledemonstratinghowtohandleinvalidobject.| -|@refc_sample_log|Sampledemonstratinghowtoenablelogandgetlogdata.| -|@refc_sample_WorkWithADL|SampledemonstratinghowtoworkwithADLXalongADL(includingmappingbetweenADLXandADLdatawiththe@refDOX_IADLMappinginterface).| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cgputuning_8md.xml b/vendor/adlx/SDKDoc/xml/cgputuning_8md.xml deleted file mode 100644 index f748640..0000000 --- a/vendor/adlx/SDKDoc/xml/cgputuning_8md.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - cgputuning.md - - - - - -#GPUTuning{#domain_c_sample_GPUTuning} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -@ifPARTNER_V1 -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_GPUAutoTuning|SampledemonstratinghowtocontrolGPUAutoTuning.| -|@refc_GPUPresetTuning|SampledemonstratinghowtocontrolGPUPresetTuning.| -|@refc_ManualFanTuning|SampledemonstratinghowtocontrolGPUManualFanTuning.| -|@refc_ManualGraphicsTuning|SampledemonstratinghowtocontrolGPUManualGraphicsTuning.| -|@refc_ManualPowerTuning|SampledemonstratinghowtocontrolGPUManualPowerTuning.| -|@refc_ManualVRAMTuning|SampledemonstratinghowtocontrolGPUVRAMTuning.| -|@refc_PartnerTuningServices|SampledemonstratinghowtogetpartnertuningserviceandcontrolMobileGPUTuning.| -|@refc_sam|SampledemonstratinghowtocontrolSmartAccessMemory.| -@else -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_GPUAutoTuning|SampledemonstratinghowtocontrolGPUAutoTuning.| -|@refc_GPUPresetTuning|SampledemonstratinghowtocontrolGPUPresetTuning.| -|@refc_ManualFanTuning|SampledemonstratinghowtocontrolGPUManualFanTuning.| -|@refc_ManualGraphicsTuning|SampledemonstratinghowtocontrolGPUManualGraphicsTuning.| -|@refc_ManualPowerTuning|SampledemonstratinghowtocontrolGPUManualPowerTuning.| -|@refc_ManualVRAMTuning|SampledemonstratinghowtocontrolGPUVRAMTuning.| -|@refc_sam|SampledemonstratinghowtocontrolSmartAccessMemory.| -@endif - - - - diff --git a/vendor/adlx/SDKDoc/xml/ci2c_8md.xml b/vendor/adlx/SDKDoc/xml/ci2c_8md.xml deleted file mode 100644 index 67ed145..0000000 --- a/vendor/adlx/SDKDoc/xml/ci2c_8md.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - ci2c.md - - - - - -#I2C{#domain_c_sample_I2C} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_I2C|Sampledemonstratingshowhowtouse@refDOX_IADLXI2Cinterfacetoreadandwritedata.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_mapping.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_mapping.xml deleted file mode 100644 index 0a219ec..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_mapping.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - adlx::IADLMapping - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::GetADLXGPUFromBdf - (adlx_int bus, adlx_int device, adlx_int function, IADLXGPU **ppGPU)=0 - GetADLXGPUFromBdf - - adlx_int - bus - - - adlx_int - device - - - adlx_int - function - - - IADLXGPU ** - ppGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::GetADLXGPUFromAdlAdapterIndex - (adlx_int adlAdapterIndex, IADLXGPU **ppGPU)=0 - GetADLXGPUFromAdlAdapterIndex - - adlx_int - adlAdapterIndex - - - IADLXGPU ** - ppGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::BdfFromADLXGPU - (IADLXGPU *pGPU, adlx_int *bus, adlx_int *device, adlx_int *function)=0 - BdfFromADLXGPU - - IADLXGPU * - pGPU - - - adlx_int * - bus - - - adlx_int * - device - - - adlx_int * - function - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::AdlAdapterIndexFromADLXGPU - (IADLXGPU *pGPU, adlx_int *adlAdapterIndex)=0 - AdlAdapterIndexFromADLXGPU - - IADLXGPU * - pGPU - - - adlx_int * - adlAdapterIndex - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::GetADLXDisplayFromADLIds - (adlx_int adapterIndex, adlx_int displayIndex, adlx_int bus, adlx_int device, adlx_int function, IADLXDisplay **ppDisplay)=0 - GetADLXDisplayFromADLIds - - adlx_int - adapterIndex - - - adlx_int - displayIndex - - - adlx_int - bus - - - adlx_int - device - - - adlx_int - function - - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::ADLIdsFromADLXDisplay - (IADLXDisplay *pDisplay, adlx_int *adapterIndex, adlx_int *displayIndex, adlx_int *bus, adlx_int *device, adlx_int *function)=0 - ADLIdsFromADLXDisplay - - IADLXDisplay * - pDisplay - - - adlx_int * - adapterIndex - - - adlx_int * - displayIndex - - - adlx_int * - bus - - - adlx_int * - device - - - adlx_int * - function - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::GetADLXDesktopFromADLIds - (adlx_int adapterIndex, adlx_int VidPnSourceId, adlx_int bus, adlx_int device, adlx_int function, IADLXDesktop **ppDesktop)=0 - GetADLXDesktopFromADLIds - - adlx_int - adapterIndex - - - adlx_int - VidPnSourceId - - - adlx_int - bus - - - adlx_int - device - - - adlx_int - function - - - IADLXDesktop ** - ppDesktop - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLMapping::ADLIdsFromADLXDesktop - (IADLXDesktop *pDesktop, adlx_int *adapterIndex, adlx_int *VidPnSourceId, adlx_int *bus, adlx_int *device, adlx_int *function)=0 - ADLIdsFromADLXDesktop - - IADLXDesktop * - pDesktop - - - adlx_int * - adapterIndex - - - adlx_int * - VidPnSourceId - - - adlx_int * - bus - - - adlx_int * - device - - - adlx_int * - function - - - - - - - - - - - - - - - - - adlx::IADLMappingAdlAdapterIndexFromADLXGPU - adlx::IADLMappingADLIdsFromADLXDesktop - adlx::IADLMappingADLIdsFromADLXDisplay - adlx::IADLMappingBdfFromADLXGPU - adlx::IADLMappingGetADLXDesktopFromADLIds - adlx::IADLMappingGetADLXDisplayFromADLIds - adlx::IADLMappingGetADLXGPUFromAdlAdapterIndex - adlx::IADLMappingGetADLXGPUFromBdf - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anisotropic_filtering.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anisotropic_filtering.xml deleted file mode 100644 index 88c1bfe..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anisotropic_filtering.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - adlx::IADLX3DAnisotropicFiltering - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAnisotropicFiltering::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAnisotropicFiltering::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAnisotropicFiltering::GetLevel - (ADLX_ANISOTROPIC_FILTERING_LEVEL *currentLevel)=0 - GetLevel - - ADLX_ANISOTROPIC_FILTERING_LEVEL * - currentLevel - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAnisotropicFiltering::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAnisotropicFiltering::SetLevel - (ADLX_ANISOTROPIC_FILTERING_LEVEL level)=0 - SetLevel - - ADLX_ANISOTROPIC_FILTERING_LEVEL - level - - - - - - - - - - - - - - - - - adlx::IADLX3DAnisotropicFilteringAcquire - adlx::IADLX3DAnisotropicFilteringGetLevel - adlx::IADLX3DAnisotropicFilteringIsEnabled - adlx::IADLX3DAnisotropicFilteringIsSupported - adlx::IADLX3DAnisotropicFilteringQueryInterface - adlx::IADLX3DAnisotropicFilteringRelease - adlx::IADLX3DAnisotropicFilteringSetEnabled - adlx::IADLX3DAnisotropicFilteringSetLevel - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_aliasing.xml deleted file mode 100644 index aec60f6..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_aliasing.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - adlx::IADLX3DAntiAliasing - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::GetMode - (ADLX_ANTI_ALIASING_MODE *currentMode)=0 - GetMode - - ADLX_ANTI_ALIASING_MODE * - currentMode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::GetLevel - (ADLX_ANTI_ALIASING_LEVEL *currentLevel)=0 - GetLevel - - ADLX_ANTI_ALIASING_LEVEL * - currentLevel - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::GetMethod - (ADLX_ANTI_ALIASING_METHOD *currentMethod)=0 - GetMethod - - ADLX_ANTI_ALIASING_METHOD * - currentMethod - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::SetMode - (ADLX_ANTI_ALIASING_MODE mode)=0 - SetMode - - ADLX_ANTI_ALIASING_MODE - mode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::SetLevel - (ADLX_ANTI_ALIASING_LEVEL level)=0 - SetLevel - - ADLX_ANTI_ALIASING_LEVEL - level - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiAliasing::SetMethod - (ADLX_ANTI_ALIASING_METHOD method)=0 - SetMethod - - ADLX_ANTI_ALIASING_METHOD - method - - - - - - - - - - - - - - - - - adlx::IADLX3DAntiAliasingAcquire - adlx::IADLX3DAntiAliasingGetLevel - adlx::IADLX3DAntiAliasingGetMethod - adlx::IADLX3DAntiAliasingGetMode - adlx::IADLX3DAntiAliasingIsSupported - adlx::IADLX3DAntiAliasingQueryInterface - adlx::IADLX3DAntiAliasingRelease - adlx::IADLX3DAntiAliasingSetLevel - adlx::IADLX3DAntiAliasingSetMethod - adlx::IADLX3DAntiAliasingSetMode - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag.xml deleted file mode 100644 index 5995b4f..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - adlx::IADLX3DAntiLag - adlx::IADLXInterface - adlx::IADLX3DAntiLag1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiLag::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiLag::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiLag::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - - - - - - - adlx::IADLX3DAntiLagAcquire - adlx::IADLX3DAntiLagIsEnabled - adlx::IADLX3DAntiLagIsSupported - adlx::IADLX3DAntiLagQueryInterface - adlx::IADLX3DAntiLagRelease - adlx::IADLX3DAntiLagSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag1.xml deleted file mode 100644 index 2e85b62..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_anti_lag1.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - adlx::IADLX3DAntiLag1 - adlx::IADLX3DAntiLag - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiLag1::GetLevel - (ADLX_ANTILAG_STATE *level)=0 - GetLevel - - ADLX_ANTILAG_STATE * - level - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DAntiLag1::SetLevel - (ADLX_ANTILAG_STATE level)=0 - SetLevel - - ADLX_ANTILAG_STATE - level - - - - - - - - - - - - - - - - - adlx::IADLX3DAntiLag1Acquire - adlx::IADLX3DAntiLag1GetLevel - adlx::IADLX3DAntiLag1IsEnabled - adlx::IADLX3DAntiLag1IsSupported - adlx::IADLX3DAntiLag1QueryInterface - adlx::IADLX3DAntiLag1Release - adlx::IADLX3DAntiLag1SetEnabled - adlx::IADLX3DAntiLag1SetLevel - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_boost.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_boost.xml deleted file mode 100644 index e4190b6..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_boost.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - adlx::IADLX3DBoost - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::GetResolutionRange - (ADLX_IntRange *range)=0 - GetResolutionRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::GetResolution - (adlx_int *currentMinRes)=0 - GetResolution - - adlx_int * - currentMinRes - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DBoost::SetResolution - (adlx_int minRes)=0 - SetResolution - - adlx_int - minRes - - - - - - - - - - - - - - - - - adlx::IADLX3DBoostAcquire - adlx::IADLX3DBoostGetResolution - adlx::IADLX3DBoostGetResolutionRange - adlx::IADLX3DBoostIsEnabled - adlx::IADLX3DBoostIsSupported - adlx::IADLX3DBoostQueryInterface - adlx::IADLX3DBoostRelease - adlx::IADLX3DBoostSetEnabled - adlx::IADLX3DBoostSetResolution - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_chill.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_chill.xml deleted file mode 100644 index 29c2738..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_chill.xml +++ /dev/null @@ -1,163 +0,0 @@ - - - - adlx::IADLX3DChill - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::GetFPSRange - (ADLX_IntRange *range)=0 - GetFPSRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::GetMinFPS - (adlx_int *currentMinFPS)=0 - GetMinFPS - - adlx_int * - currentMinFPS - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::GetMaxFPS - (adlx_int *currentMaxFPS)=0 - GetMaxFPS - - adlx_int * - currentMaxFPS - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::SetMinFPS - (adlx_int minFPS)=0 - SetMinFPS - - adlx_int - minFPS - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DChill::SetMaxFPS - (adlx_int maxFPS)=0 - SetMaxFPS - - adlx_int - maxFPS - - - - - - - - - - - - - - - - - adlx::IADLX3DChillAcquire - adlx::IADLX3DChillGetFPSRange - adlx::IADLX3DChillGetMaxFPS - adlx::IADLX3DChillGetMinFPS - adlx::IADLX3DChillIsEnabled - adlx::IADLX3DChillIsSupported - adlx::IADLX3DChillQueryInterface - adlx::IADLX3DChillRelease - adlx::IADLX3DChillSetEnabled - adlx::IADLX3DChillSetMaxFPS - adlx::IADLX3DChillSetMinFPS - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_enhanced_sync.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_enhanced_sync.xml deleted file mode 100644 index 0dce644..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_enhanced_sync.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLX3DEnhancedSync - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DEnhancedSync::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DEnhancedSync::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DEnhancedSync::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - - - - - - - adlx::IADLX3DEnhancedSyncAcquire - adlx::IADLX3DEnhancedSyncIsEnabled - adlx::IADLX3DEnhancedSyncIsSupported - adlx::IADLX3DEnhancedSyncQueryInterface - adlx::IADLX3DEnhancedSyncRelease - adlx::IADLX3DEnhancedSyncSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_frame_rate_target_control.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_frame_rate_target_control.xml deleted file mode 100644 index 939cbb9..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_frame_rate_target_control.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - adlx::IADLX3DFrameRateTargetControl - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::GetFPSRange - (ADLX_IntRange *range)=0 - GetFPSRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::GetFPS - (adlx_int *currentFPS)=0 - GetFPS - - adlx_int * - currentFPS - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DFrameRateTargetControl::SetFPS - (adlx_int maxFPS)=0 - SetFPS - - adlx_int - maxFPS - - - - - - - - - - - - - - - - - adlx::IADLX3DFrameRateTargetControlAcquire - adlx::IADLX3DFrameRateTargetControlGetFPS - adlx::IADLX3DFrameRateTargetControlGetFPSRange - adlx::IADLX3DFrameRateTargetControlIsEnabled - adlx::IADLX3DFrameRateTargetControlIsSupported - adlx::IADLX3DFrameRateTargetControlQueryInterface - adlx::IADLX3DFrameRateTargetControlRelease - adlx::IADLX3DFrameRateTargetControlSetEnabled - adlx::IADLX3DFrameRateTargetControlSetFPS - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_image_sharpening.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_image_sharpening.xml deleted file mode 100644 index 1f900cb..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_image_sharpening.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - adlx::IADLX3DImageSharpening - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::GetSharpnessRange - (ADLX_IntRange *range)=0 - GetSharpnessRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::GetSharpness - (adlx_int *currentSharpness)=0 - GetSharpness - - adlx_int * - currentSharpness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DImageSharpening::SetSharpness - (adlx_int sharpness)=0 - SetSharpness - - adlx_int - sharpness - - - - - - - - - - - - - - - - - adlx::IADLX3DImageSharpeningAcquire - adlx::IADLX3DImageSharpeningGetSharpness - adlx::IADLX3DImageSharpeningGetSharpnessRange - adlx::IADLX3DImageSharpeningIsEnabled - adlx::IADLX3DImageSharpeningIsSupported - adlx::IADLX3DImageSharpeningQueryInterface - adlx::IADLX3DImageSharpeningRelease - adlx::IADLX3DImageSharpeningSetEnabled - adlx::IADLX3DImageSharpeningSetSharpness - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_morphological_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_morphological_anti_aliasing.xml deleted file mode 100644 index d3f1a28..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_morphological_anti_aliasing.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLX3DMorphologicalAntiAliasing - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DMorphologicalAntiAliasing::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DMorphologicalAntiAliasing::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DMorphologicalAntiAliasing::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - - - - - - - adlx::IADLX3DMorphologicalAntiAliasingAcquire - adlx::IADLX3DMorphologicalAntiAliasingIsEnabled - adlx::IADLX3DMorphologicalAntiAliasingIsSupported - adlx::IADLX3DMorphologicalAntiAliasingQueryInterface - adlx::IADLX3DMorphologicalAntiAliasingRelease - adlx::IADLX3DMorphologicalAntiAliasingSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_radeon_super_resolution.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_radeon_super_resolution.xml deleted file mode 100644 index 7ad78f1..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_radeon_super_resolution.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - adlx::IADLX3DRadeonSuperResolution - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::SetEnabled - (adlx_bool enable)=0 - SetEnabled - - adlx_bool - enable - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::GetSharpnessRange - (ADLX_IntRange *range)=0 - GetSharpnessRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::GetSharpness - (adlx_int *currentSharpness)=0 - GetSharpness - - adlx_int * - currentSharpness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DRadeonSuperResolution::SetSharpness - (adlx_int sharpness)=0 - SetSharpness - - adlx_int - sharpness - - - - - - - - - - - - - - - - - adlx::IADLX3DRadeonSuperResolutionAcquire - adlx::IADLX3DRadeonSuperResolutionGetSharpness - adlx::IADLX3DRadeonSuperResolutionGetSharpnessRange - adlx::IADLX3DRadeonSuperResolutionIsEnabled - adlx::IADLX3DRadeonSuperResolutionIsSupported - adlx::IADLX3DRadeonSuperResolutionQueryInterface - adlx::IADLX3DRadeonSuperResolutionRelease - adlx::IADLX3DRadeonSuperResolutionSetEnabled - adlx::IADLX3DRadeonSuperResolutionSetSharpness - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_reset_shader_cache.xml deleted file mode 100644 index 978992d..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_reset_shader_cache.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - adlx::IADLX3DResetShaderCache - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DResetShaderCache::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DResetShaderCache::ResetShaderCache - ()=0 - ResetShaderCache - - - - - - - - - - - - - - - - adlx::IADLX3DResetShaderCacheAcquire - adlx::IADLX3DResetShaderCacheIsSupported - adlx::IADLX3DResetShaderCacheQueryInterface - adlx::IADLX3DResetShaderCacheRelease - adlx::IADLX3DResetShaderCacheResetShaderCache - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_event.xml deleted file mode 100644 index cf79b5e..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_event.xml +++ /dev/null @@ -1,220 +0,0 @@ - - - - adlx::IADLX3DSettingsChangedEvent - adlx::IADLXChangedEvent - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::GetGPU - (IADLXGPU **ppGPU)=0 - GetGPU - - IADLXGPU ** - ppGPU - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsAntiLagChanged - ()=0 - IsAntiLagChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsChillChanged - ()=0 - IsChillChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsBoostChanged - ()=0 - IsBoostChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsImageSharpeningChanged - ()=0 - IsImageSharpeningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsEnhancedSyncChanged - ()=0 - IsEnhancedSyncChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsWaitForVerticalRefreshChanged - ()=0 - IsWaitForVerticalRefreshChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsFrameRateTargetControlChanged - ()=0 - IsFrameRateTargetControlChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsAntiAliasingChanged - ()=0 - IsAntiAliasingChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsMorphologicalAntiAliasingChanged - ()=0 - IsMorphologicalAntiAliasingChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsAnisotropicFilteringChanged - ()=0 - IsAnisotropicFilteringChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsTessellationModeChanged - ()=0 - IsTessellationModeChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsRadeonSuperResolutionChanged - ()=0 - IsRadeonSuperResolutionChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedEvent::IsResetShaderCache - ()=0 - IsResetShaderCache - - - - - - - - - - - - - - - - adlx::IADLX3DSettingsChangedEventAcquire - adlx::IADLX3DSettingsChangedEventGetGPU - adlx::IADLX3DSettingsChangedEventGetOrigin - adlx::IADLX3DSettingsChangedEventIsAnisotropicFilteringChanged - adlx::IADLX3DSettingsChangedEventIsAntiAliasingChanged - adlx::IADLX3DSettingsChangedEventIsAntiLagChanged - adlx::IADLX3DSettingsChangedEventIsBoostChanged - adlx::IADLX3DSettingsChangedEventIsChillChanged - adlx::IADLX3DSettingsChangedEventIsEnhancedSyncChanged - adlx::IADLX3DSettingsChangedEventIsFrameRateTargetControlChanged - adlx::IADLX3DSettingsChangedEventIsImageSharpeningChanged - adlx::IADLX3DSettingsChangedEventIsMorphologicalAntiAliasingChanged - adlx::IADLX3DSettingsChangedEventIsRadeonSuperResolutionChanged - adlx::IADLX3DSettingsChangedEventIsResetShaderCache - adlx::IADLX3DSettingsChangedEventIsTessellationModeChanged - adlx::IADLX3DSettingsChangedEventIsWaitForVerticalRefreshChanged - adlx::IADLX3DSettingsChangedEventQueryInterface - adlx::IADLX3DSettingsChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_handling.xml deleted file mode 100644 index 9b3d6e9..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_handling.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLX3DSettingsChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsChangedHandling::Add3DSettingsEventListener - (IADLX3DSettingsChangedListener *p3DSettingsChangedListener)=0 - Add3DSettingsEventListener - - IADLX3DSettingsChangedListener * - p3DSettingsChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsChangedHandling::Remove3DSettingsEventListener - (IADLX3DSettingsChangedListener *p3DSettingsChangedListener)=0 - Remove3DSettingsEventListener - - IADLX3DSettingsChangedListener * - p3DSettingsChangedListener - - - - - - - - - - - - - - - - - adlx::IADLX3DSettingsChangedHandlingAcquire - adlx::IADLX3DSettingsChangedHandlingAdd3DSettingsEventListener - adlx::IADLX3DSettingsChangedHandlingQueryInterface - adlx::IADLX3DSettingsChangedHandlingRelease - adlx::IADLX3DSettingsChangedHandlingRemove3DSettingsEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_listener.xml deleted file mode 100644 index d64a173..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLX3DSettingsChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLX3DSettingsChangedListener::On3DSettingsChanged - (IADLX3DSettingsChangedEvent *p3DSettingsChangedEvent)=0 - On3DSettingsChanged - - IADLX3DSettingsChangedEvent * - p3DSettingsChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLX3DSettingsChangedListenerOn3DSettingsChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_services.xml deleted file mode 100644 index 1f0136c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_settings_services.xml +++ /dev/null @@ -1,319 +0,0 @@ - - - - adlx::IADLX3DSettingsServices - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetAntiLag - (IADLXGPU *pGPU, IADLX3DAntiLag **pp3DAntiLag)=0 - GetAntiLag - - IADLXGPU * - pGPU - - - IADLX3DAntiLag ** - pp3DAntiLag - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetChill - (IADLXGPU *pGPU, IADLX3DChill **pp3DChill)=0 - GetChill - - IADLXGPU * - pGPU - - - IADLX3DChill ** - pp3DChill - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetBoost - (IADLXGPU *pGPU, IADLX3DBoost **pp3DBoost)=0 - GetBoost - - IADLXGPU * - pGPU - - - IADLX3DBoost ** - pp3DBoost - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetImageSharpening - (IADLXGPU *pGPU, IADLX3DImageSharpening **pp3DImageSharpening)=0 - GetImageSharpening - - IADLXGPU * - pGPU - - - IADLX3DImageSharpening ** - pp3DImageSharpening - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetEnhancedSync - (IADLXGPU *pGPU, IADLX3DEnhancedSync **pp3DEnhancedSync)=0 - GetEnhancedSync - - IADLXGPU * - pGPU - - - IADLX3DEnhancedSync ** - pp3DEnhancedSync - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetWaitForVerticalRefresh - (IADLXGPU *pGPU, IADLX3DWaitForVerticalRefresh **pp3DWaitForVerticalRefresh)=0 - GetWaitForVerticalRefresh - - IADLXGPU * - pGPU - - - IADLX3DWaitForVerticalRefresh ** - pp3DWaitForVerticalRefresh - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetFrameRateTargetControl - (IADLXGPU *pGPU, IADLX3DFrameRateTargetControl **pp3DFrameRateTargetControl)=0 - GetFrameRateTargetControl - - IADLXGPU * - pGPU - - - IADLX3DFrameRateTargetControl ** - pp3DFrameRateTargetControl - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetAntiAliasing - (IADLXGPU *pGPU, IADLX3DAntiAliasing **pp3DAntiAliasing)=0 - GetAntiAliasing - - IADLXGPU * - pGPU - - - IADLX3DAntiAliasing ** - pp3DAntiAliasing - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetMorphologicalAntiAliasing - (IADLXGPU *pGPU, IADLX3DMorphologicalAntiAliasing **pp3DMorphologicalAntiAliasing)=0 - GetMorphologicalAntiAliasing - - IADLXGPU * - pGPU - - - IADLX3DMorphologicalAntiAliasing ** - pp3DMorphologicalAntiAliasing - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetAnisotropicFiltering - (IADLXGPU *pGPU, IADLX3DAnisotropicFiltering **pp3DAnisotropicFiltering)=0 - GetAnisotropicFiltering - - IADLXGPU * - pGPU - - - IADLX3DAnisotropicFiltering ** - pp3DAnisotropicFiltering - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetTessellation - (IADLXGPU *pGPU, IADLX3DTessellation **pp3DTessellation)=0 - GetTessellation - - IADLXGPU * - pGPU - - - IADLX3DTessellation ** - pp3DTessellation - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetRadeonSuperResolution - (IADLX3DRadeonSuperResolution **pp3DRadeonSuperResolution)=0 - GetRadeonSuperResolution - - IADLX3DRadeonSuperResolution ** - pp3DRadeonSuperResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::GetResetShaderCache - (IADLXGPU *pGPU, IADLX3DResetShaderCache **pp3DResetShaderCache)=0 - GetResetShaderCache - - IADLXGPU * - pGPU - - - IADLX3DResetShaderCache ** - pp3DResetShaderCache - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DSettingsServices::Get3DSettingsChangedHandling - (IADLX3DSettingsChangedHandling **pp3DSettingsChangedHandling)=0 - Get3DSettingsChangedHandling - - IADLX3DSettingsChangedHandling ** - pp3DSettingsChangedHandling - - - - - - - - - - - - - - - - - adlx::IADLX3DSettingsServicesAcquire - adlx::IADLX3DSettingsServicesGet3DSettingsChangedHandling - adlx::IADLX3DSettingsServicesGetAnisotropicFiltering - adlx::IADLX3DSettingsServicesGetAntiAliasing - adlx::IADLX3DSettingsServicesGetAntiLag - adlx::IADLX3DSettingsServicesGetBoost - adlx::IADLX3DSettingsServicesGetChill - adlx::IADLX3DSettingsServicesGetEnhancedSync - adlx::IADLX3DSettingsServicesGetFrameRateTargetControl - adlx::IADLX3DSettingsServicesGetImageSharpening - adlx::IADLX3DSettingsServicesGetMorphologicalAntiAliasing - adlx::IADLX3DSettingsServicesGetRadeonSuperResolution - adlx::IADLX3DSettingsServicesGetResetShaderCache - adlx::IADLX3DSettingsServicesGetTessellation - adlx::IADLX3DSettingsServicesGetWaitForVerticalRefresh - adlx::IADLX3DSettingsServicesQueryInterface - adlx::IADLX3DSettingsServicesRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_tessellation.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_tessellation.xml deleted file mode 100644 index 8148172..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_tessellation.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - adlx::IADLX3DTessellation - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DTessellation::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DTessellation::GetMode - (ADLX_TESSELLATION_MODE *currentMode)=0 - GetMode - - ADLX_TESSELLATION_MODE * - currentMode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DTessellation::GetLevel - (ADLX_TESSELLATION_LEVEL *currentLevel)=0 - GetLevel - - ADLX_TESSELLATION_LEVEL * - currentLevel - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DTessellation::SetMode - (ADLX_TESSELLATION_MODE mode)=0 - SetMode - - ADLX_TESSELLATION_MODE - mode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DTessellation::SetLevel - (ADLX_TESSELLATION_LEVEL level)=0 - SetLevel - - ADLX_TESSELLATION_LEVEL - level - - - - - - - - - - - - - - - - - adlx::IADLX3DTessellationAcquire - adlx::IADLX3DTessellationGetLevel - adlx::IADLX3DTessellationGetMode - adlx::IADLX3DTessellationIsSupported - adlx::IADLX3DTessellationQueryInterface - adlx::IADLX3DTessellationRelease - adlx::IADLX3DTessellationSetLevel - adlx::IADLX3DTessellationSetMode - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_wait_for_vertical_refresh.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_wait_for_vertical_refresh.xml deleted file mode 100644 index e82fdc6..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x3_d_wait_for_vertical_refresh.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - adlx::IADLX3DWaitForVerticalRefresh - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DWaitForVerticalRefresh::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DWaitForVerticalRefresh::IsEnabled - (adlx_bool *isEnabled)=0 - IsEnabled - - adlx_bool * - isEnabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DWaitForVerticalRefresh::GetMode - (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE *currentMode)=0 - GetMode - - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE * - currentMode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLX3DWaitForVerticalRefresh::SetMode - (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode)=0 - SetMode - - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - mode - - - - - - - - - - - - - - - - - adlx::IADLX3DWaitForVerticalRefreshAcquire - adlx::IADLX3DWaitForVerticalRefreshGetMode - adlx::IADLX3DWaitForVerticalRefreshIsEnabled - adlx::IADLX3DWaitForVerticalRefreshIsSupported - adlx::IADLX3DWaitForVerticalRefreshQueryInterface - adlx::IADLX3DWaitForVerticalRefreshRelease - adlx::IADLX3DWaitForVerticalRefreshSetMode - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics.xml deleted file mode 100644 index 30090cc..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - adlx::IADLXAllMetrics - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetrics::TimeStamp - (adlx_int64 *ms)=0 - TimeStamp - - adlx_int64 * - ms - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetrics::GetSystemMetrics - (IADLXSystemMetrics **ppSystemMetrics)=0 - GetSystemMetrics - - IADLXSystemMetrics ** - ppSystemMetrics - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetrics::GetFPS - (IADLXFPS **ppFPS)=0 - GetFPS - - IADLXFPS ** - ppFPS - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetrics::GetGPUMetrics - (IADLXGPU *pGPU, IADLXGPUMetrics **ppGPUMetrics)=0 - GetGPUMetrics - - IADLXGPU * - pGPU - - - IADLXGPUMetrics ** - ppGPUMetrics - - - - - - - - - - - - - - - - - adlx::IADLXAllMetricsAcquire - adlx::IADLXAllMetricsGetFPS - adlx::IADLXAllMetricsGetGPUMetrics - adlx::IADLXAllMetricsGetSystemMetrics - adlx::IADLXAllMetricsQueryInterface - adlx::IADLXAllMetricsRelease - adlx::IADLXAllMetricsTimeStamp - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics_list.xml deleted file mode 100644 index 0d0c9bf..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_all_metrics_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXAllMetricsList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetricsList::At - (const adlx_uint location, IADLXAllMetrics **ppItem)=0 - At - - const adlx_uint - location - - - IADLXAllMetrics ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXAllMetricsList::Add_Back - (IADLXAllMetrics *pItem)=0 - Add_Back - - IADLXAllMetrics * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXAllMetricsListAcquire - adlx::IADLXAllMetricsListAdd_Back - adlx::IADLXAllMetricsListAdd_Back - adlx::IADLXAllMetricsListAt - adlx::IADLXAllMetricsListAt - adlx::IADLXAllMetricsListBegin - adlx::IADLXAllMetricsListClear - adlx::IADLXAllMetricsListEmpty - adlx::IADLXAllMetricsListEnd - adlx::IADLXAllMetricsListQueryInterface - adlx::IADLXAllMetricsListRelease - adlx::IADLXAllMetricsListRemove_Back - adlx::IADLXAllMetricsListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_changed_event.xml deleted file mode 100644 index 0d3e110..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_changed_event.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - adlx::IADLXChangedEvent - adlx::IADLXInterface - adlx::IADLX3DSettingsChangedEvent - adlx::IADLXDisplay3DLUTChangedEvent - adlx::IADLXDisplayGammaChangedEvent - adlx::IADLXDisplayGamutChangedEvent - adlx::IADLXDisplaySettingsChangedEvent - adlx::IADLXGPUTuningChangedEvent - adlx::IADLXPowerTuningChangedEvent - - - ADLX_SYNC_ORIGIN ADLX_STD_CALL - virtual ADLX_SYNC_ORIGIN ADLX_STD_CALL adlx::IADLXChangedEvent::GetOrigin - ()=0 - GetOrigin - - - - - - - - - - - - - - - - adlx::IADLXChangedEventAcquire - adlx::IADLXChangedEventGetOrigin - adlx::IADLXChangedEventQueryInterface - adlx::IADLXChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop.xml deleted file mode 100644 index 0764806..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - adlx::IADLXDesktop - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::Orientation - (ADLX_ORIENTATION *orientation)=0 - Orientation - - ADLX_ORIENTATION * - orientation - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::Size - (adlx_int *width, adlx_int *height)=0 - Size - - adlx_int * - width - - - adlx_int * - height - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::TopLeft - (ADLX_Point *locationTopLeft)=0 - TopLeft - - ADLX_Point * - locationTopLeft - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::Type - (ADLX_DESKTOP_TYPE *desktopType)=0 - Type - - ADLX_DESKTOP_TYPE * - desktopType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::GetNumberOfDisplays - (adlx_uint *numDisplays)=0 - GetNumberOfDisplays - - adlx_uint * - numDisplays - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktop::GetDisplays - (IADLXDisplayList **ppDisplays)=0 - GetDisplays - - IADLXDisplayList ** - ppDisplays - - - - - - - - - - - - - - - - - adlx::IADLXDesktopAcquire - adlx::IADLXDesktopGetDisplays - adlx::IADLXDesktopGetNumberOfDisplays - adlx::IADLXDesktopOrientation - adlx::IADLXDesktopQueryInterface - adlx::IADLXDesktopRelease - adlx::IADLXDesktopSize - adlx::IADLXDesktopTopLeft - adlx::IADLXDesktopType - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_changed_handling.xml deleted file mode 100644 index 7c782ab..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_changed_handling.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXDesktopChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopChangedHandling::AddDesktopListEventListener - (IADLXDesktopListChangedListener *pDesktopListChangedListener)=0 - AddDesktopListEventListener - - IADLXDesktopListChangedListener * - pDesktopListChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopChangedHandling::RemoveDesktopListEventListener - (IADLXDesktopListChangedListener *pDesktopListChangedListener)=0 - RemoveDesktopListEventListener - - IADLXDesktopListChangedListener * - pDesktopListChangedListener - - - - - - - - - - - - - - - - - adlx::IADLXDesktopChangedHandlingAcquire - adlx::IADLXDesktopChangedHandlingAddDesktopListEventListener - adlx::IADLXDesktopChangedHandlingQueryInterface - adlx::IADLXDesktopChangedHandlingRelease - adlx::IADLXDesktopChangedHandlingRemoveDesktopListEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list.xml deleted file mode 100644 index a4d05f9..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXDesktopList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopList::At - (const adlx_uint location, IADLXDesktop **ppItem)=0 - At - - const adlx_uint - location - - - IADLXDesktop ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopList::Add_Back - (IADLXDesktop *pItem)=0 - Add_Back - - IADLXDesktop * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXDesktopListAcquire - adlx::IADLXDesktopListAdd_Back - adlx::IADLXDesktopListAdd_Back - adlx::IADLXDesktopListAt - adlx::IADLXDesktopListAt - adlx::IADLXDesktopListBegin - adlx::IADLXDesktopListClear - adlx::IADLXDesktopListEmpty - adlx::IADLXDesktopListEnd - adlx::IADLXDesktopListQueryInterface - adlx::IADLXDesktopListRelease - adlx::IADLXDesktopListRemove_Back - adlx::IADLXDesktopListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list_changed_listener.xml deleted file mode 100644 index 33b40ca..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_list_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDesktopListChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDesktopListChangedListener::OnDesktopListChanged - (IADLXDesktopList *pNewDesktop)=0 - OnDesktopListChanged - - IADLXDesktopList * - pNewDesktop - - - - - - - - - - - - - - - - - adlx::IADLXDesktopListChangedListenerOnDesktopListChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_services.xml deleted file mode 100644 index 44717e8..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_desktop_services.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - adlx::IADLXDesktopServices - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopServices::GetNumberOfDesktops - (adlx_uint *numDesktops)=0 - GetNumberOfDesktops - - adlx_uint * - numDesktops - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopServices::GetDesktops - (IADLXDesktopList **ppDesktops)=0 - GetDesktops - - IADLXDesktopList ** - ppDesktops - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopServices::GetDesktopChangedHandling - (IADLXDesktopChangedHandling **ppDesktopChangedHandling)=0 - GetDesktopChangedHandling - - IADLXDesktopChangedHandling ** - ppDesktopChangedHandling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDesktopServices::GetSimpleEyefinity - (IADLXSimpleEyefinity **ppSimpleEyefinity)=0 - GetSimpleEyefinity - - IADLXSimpleEyefinity ** - ppSimpleEyefinity - - - - - - - - - - - - - - - - - adlx::IADLXDesktopServicesAcquire - adlx::IADLXDesktopServicesGetDesktopChangedHandling - adlx::IADLXDesktopServicesGetDesktops - adlx::IADLXDesktopServicesGetNumberOfDesktops - adlx::IADLXDesktopServicesGetSimpleEyefinity - adlx::IADLXDesktopServicesQueryInterface - adlx::IADLXDesktopServicesRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display.xml deleted file mode 100644 index b5c023c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - adlx::IADLXDisplay - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::ManufacturerID - (adlx_uint *manufacturerID) const =0 - ManufacturerID - - adlx_uint * - manufacturerID - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::DisplayType - (ADLX_DISPLAY_TYPE *displayType) const =0 - DisplayType - - ADLX_DISPLAY_TYPE * - displayType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::ConnectorType - (ADLX_DISPLAY_CONNECTOR_TYPE *connectType) const =0 - ConnectorType - - ADLX_DISPLAY_CONNECTOR_TYPE * - connectType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::Name - (const char **displayName) const =0 - Name - - const char ** - displayName - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::EDID - (const char **edid) const =0 - EDID - - const char ** - edid - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::NativeResolution - (adlx_int *maxHResolution, adlx_int *maxVResolution) const =0 - NativeResolution - - adlx_int * - maxHResolution - - - adlx_int * - maxVResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::RefreshRate - (adlx_double *refreshRate) const =0 - RefreshRate - - adlx_double * - refreshRate - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::PixelClock - (adlx_uint *pixelClock) const =0 - PixelClock - - adlx_uint * - pixelClock - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::ScanType - (ADLX_DISPLAY_SCAN_TYPE *scanType) const =0 - ScanType - - ADLX_DISPLAY_SCAN_TYPE * - scanType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::GetGPU - (IADLXGPU **ppGPU)=0 - GetGPU - - IADLXGPU ** - ppGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay::UniqueId - (adlx_size *uniqueId)=0 - UniqueId - - adlx_size * - uniqueId - - - - - - - - - - - - - - - - - adlx::IADLXDisplayAcquire - adlx::IADLXDisplayConnectorType - adlx::IADLXDisplayDisplayType - adlx::IADLXDisplayEDID - adlx::IADLXDisplayGetGPU - adlx::IADLXDisplayManufacturerID - adlx::IADLXDisplayName - adlx::IADLXDisplayNativeResolution - adlx::IADLXDisplayPixelClock - adlx::IADLXDisplayQueryInterface - adlx::IADLXDisplayRefreshRate - adlx::IADLXDisplayRelease - adlx::IADLXDisplayScanType - adlx::IADLXDisplayUniqueId - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t.xml deleted file mode 100644 index 3508959..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t.xml +++ /dev/null @@ -1,447 +0,0 @@ - - - - adlx::IADLXDisplay3DLUT - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsSupportedSCE - (adlx_bool *supported)=0 - IsSupportedSCE - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsSupportedSCEVividGaming - (adlx_bool *supported)=0 - IsSupportedSCEVividGaming - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsCurrentSCEDisabled - (adlx_bool *sceDisabled)=0 - IsCurrentSCEDisabled - - adlx_bool * - sceDisabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsCurrentSCEVividGaming - (adlx_bool *vividGaming)=0 - IsCurrentSCEVividGaming - - adlx_bool * - vividGaming - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetSCEDisabled - ()=0 - SetSCEDisabled - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetSCEVividGaming - ()=0 - SetSCEVividGaming - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsSupportedSCEDynamicContrast - (adlx_bool *supported)=0 - IsSupportedSCEDynamicContrast - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsCurrentSCEDynamicContrast - (adlx_bool *dynamicContrast)=0 - IsCurrentSCEDynamicContrast - - adlx_bool * - dynamicContrast - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetSCEDynamicContrastRange - (ADLX_IntRange *range)=0 - GetSCEDynamicContrastRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetSCEDynamicContrast - (adlx_int *contrast)=0 - GetSCEDynamicContrast - - adlx_int * - contrast - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetSCEDynamicContrast - (adlx_int contrast)=0 - SetSCEDynamicContrast - - adlx_int - contrast - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::IsSupportedUser3DLUT - (adlx_bool *supported)=0 - IsSupportedUser3DLUT - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::ClearUser3DLUT - ()=0 - ClearUser3DLUT - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetSDRUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION *transferFunction, ADLX_3DLUT_COLORSPACE *colorSpace, adlx_int *pointsNumber, ADLX_3DLUT_Data *data)=0 - GetSDRUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION * - transferFunction - - - ADLX_3DLUT_COLORSPACE * - colorSpace - - - adlx_int * - pointsNumber - - - ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetSDRUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data *data)=0 - SetSDRUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION - transferFunction - - - ADLX_3DLUT_COLORSPACE - colorSpace - - - adlx_int - pointsNumber - - - const ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetHDRUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION *transferFunction, ADLX_3DLUT_COLORSPACE *colorSpace, adlx_int *pointsNumber, ADLX_3DLUT_Data *data)=0 - GetHDRUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION * - transferFunction - - - ADLX_3DLUT_COLORSPACE * - colorSpace - - - adlx_int * - pointsNumber - - - ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetHDRUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data *data)=0 - SetHDRUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION - transferFunction - - - ADLX_3DLUT_COLORSPACE - colorSpace - - - adlx_int - pointsNumber - - - const ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetAllUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION *transferFunction, ADLX_3DLUT_COLORSPACE *colorSpace, adlx_int *pointsNumber, ADLX_3DLUT_Data *data)=0 - GetAllUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION * - transferFunction - - - ADLX_3DLUT_COLORSPACE * - colorSpace - - - adlx_int * - pointsNumber - - - ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::SetAllUser3DLUT - (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data *data)=0 - SetAllUser3DLUT - - ADLX_3DLUT_TRANSFER_FUNCTION - transferFunction - - - ADLX_3DLUT_COLORSPACE - colorSpace - - - adlx_int - pointsNumber - - - const ADLX_3DLUT_Data * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUT::GetUser3DLUTIndex - (adlx_int lutSize, const ADLX_UINT16_RGB *rgbCoordinate, adlx_int *index)=0 - GetUser3DLUTIndex - - adlx_int - lutSize - - - const ADLX_UINT16_RGB * - rgbCoordinate - - - adlx_int * - index - - - - - - - - - - - - - - - - - adlx::IADLXDisplay3DLUTAcquire - adlx::IADLXDisplay3DLUTClearUser3DLUT - adlx::IADLXDisplay3DLUTGetAllUser3DLUT - adlx::IADLXDisplay3DLUTGetHDRUser3DLUT - adlx::IADLXDisplay3DLUTGetSCEDynamicContrast - adlx::IADLXDisplay3DLUTGetSCEDynamicContrastRange - adlx::IADLXDisplay3DLUTGetSDRUser3DLUT - adlx::IADLXDisplay3DLUTGetUser3DLUTIndex - adlx::IADLXDisplay3DLUTIsCurrentSCEDisabled - adlx::IADLXDisplay3DLUTIsCurrentSCEDynamicContrast - adlx::IADLXDisplay3DLUTIsCurrentSCEVividGaming - adlx::IADLXDisplay3DLUTIsSupportedSCE - adlx::IADLXDisplay3DLUTIsSupportedSCEDynamicContrast - adlx::IADLXDisplay3DLUTIsSupportedSCEVividGaming - adlx::IADLXDisplay3DLUTIsSupportedUser3DLUT - adlx::IADLXDisplay3DLUTQueryInterface - adlx::IADLXDisplay3DLUTRelease - adlx::IADLXDisplay3DLUTSetAllUser3DLUT - adlx::IADLXDisplay3DLUTSetHDRUser3DLUT - adlx::IADLXDisplay3DLUTSetSCEDisabled - adlx::IADLXDisplay3DLUTSetSCEDynamicContrast - adlx::IADLXDisplay3DLUTSetSCEVividGaming - adlx::IADLXDisplay3DLUTSetSDRUser3DLUT - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_event.xml deleted file mode 100644 index 68f7728..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_event.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - adlx::IADLXDisplay3DLUTChangedEvent - adlx::IADLXChangedEvent - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplay3DLUTChangedEvent::GetDisplay - (IADLXDisplay **ppDisplay)=0 - GetDisplay - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplay3DLUTChangedEvent::IsSCEChanged - ()=0 - IsSCEChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplay3DLUTChangedEvent::IsCustom3DLUTChanged - ()=0 - IsCustom3DLUTChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplay3DLUTChangedEventAcquire - adlx::IADLXDisplay3DLUTChangedEventGetDisplay - adlx::IADLXDisplay3DLUTChangedEventGetOrigin - adlx::IADLXDisplay3DLUTChangedEventIsCustom3DLUTChanged - adlx::IADLXDisplay3DLUTChangedEventIsSCEChanged - adlx::IADLXDisplay3DLUTChangedEventQueryInterface - adlx::IADLXDisplay3DLUTChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_listener.xml deleted file mode 100644 index 3506652..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display3_d_l_u_t_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDisplay3DLUTChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplay3DLUTChangedListener::OnDisplay3DLUTChanged - (IADLXDisplay3DLUTChangedEvent *pDisplay3DLUTChangedEvent)=0 - OnDisplay3DLUTChanged - - IADLXDisplay3DLUTChangedEvent * - pDisplay3DLUTChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXDisplay3DLUTChangedListenerOnDisplay3DLUTChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_blanking.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_blanking.xml deleted file mode 100644 index 266a992..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_blanking.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - adlx::IADLXDisplayBlanking - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayBlanking::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayBlanking::IsCurrentBlanked - (adlx_bool *blanked)=0 - IsCurrentBlanked - - adlx_bool * - blanked - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayBlanking::IsCurrentUnblanked - (adlx_bool *unBlanked)=0 - IsCurrentUnblanked - - adlx_bool * - unBlanked - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayBlanking::SetBlanked - ()=0 - SetBlanked - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayBlanking::SetUnblanked - ()=0 - SetUnblanked - - - - - - - - - - - - - - - - adlx::IADLXDisplayBlankingAcquire - adlx::IADLXDisplayBlankingIsCurrentBlanked - adlx::IADLXDisplayBlankingIsCurrentUnblanked - adlx::IADLXDisplayBlankingIsSupported - adlx::IADLXDisplayBlankingQueryInterface - adlx::IADLXDisplayBlankingRelease - adlx::IADLXDisplayBlankingSetBlanked - adlx::IADLXDisplayBlankingSetUnblanked - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_changed_handling.xml deleted file mode 100644 index f5114fc..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_changed_handling.xml +++ /dev/null @@ -1,199 +0,0 @@ - - - - adlx::IADLXDisplayChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::AddDisplayListEventListener - (IADLXDisplayListChangedListener *pDisplayListChangedListener)=0 - AddDisplayListEventListener - - IADLXDisplayListChangedListener * - pDisplayListChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::RemoveDisplayListEventListener - (IADLXDisplayListChangedListener *pDisplayListChangedListener)=0 - RemoveDisplayListEventListener - - IADLXDisplayListChangedListener * - pDisplayListChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::AddDisplayGamutEventListener - (IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener)=0 - AddDisplayGamutEventListener - - IADLXDisplayGamutChangedListener * - pDisplayGamutChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::RemoveDisplayGamutEventListener - (IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener)=0 - RemoveDisplayGamutEventListener - - IADLXDisplayGamutChangedListener * - pDisplayGamutChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::AddDisplayGammaEventListener - (IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener)=0 - AddDisplayGammaEventListener - - IADLXDisplayGammaChangedListener * - pDisplayGammaChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::RemoveDisplayGammaEventListener - (IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener)=0 - RemoveDisplayGammaEventListener - - IADLXDisplayGammaChangedListener * - pDisplayGammaChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::AddDisplay3DLUTEventListener - (IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener)=0 - AddDisplay3DLUTEventListener - - IADLXDisplay3DLUTChangedListener * - pDisplay3DLUTChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::RemoveDisplay3DLUTEventListener - (IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener)=0 - RemoveDisplay3DLUTEventListener - - IADLXDisplay3DLUTChangedListener * - pDisplay3DLUTChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::AddDisplaySettingsEventListener - (IADLXDisplaySettingsChangedListener *pDisplaySettingsChangedListener)=0 - AddDisplaySettingsEventListener - - IADLXDisplaySettingsChangedListener * - pDisplaySettingsChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayChangedHandling::RemoveDisplaySettingsEventListener - (IADLXDisplaySettingsChangedListener *pDisplaySettingsChangedListener)=0 - RemoveDisplaySettingsEventListener - - IADLXDisplaySettingsChangedListener * - pDisplaySettingsChangedListener - - - - - - - - - - - - - - - - - adlx::IADLXDisplayChangedHandlingAcquire - adlx::IADLXDisplayChangedHandlingAddDisplay3DLUTEventListener - adlx::IADLXDisplayChangedHandlingAddDisplayGammaEventListener - adlx::IADLXDisplayChangedHandlingAddDisplayGamutEventListener - adlx::IADLXDisplayChangedHandlingAddDisplayListEventListener - adlx::IADLXDisplayChangedHandlingAddDisplaySettingsEventListener - adlx::IADLXDisplayChangedHandlingQueryInterface - adlx::IADLXDisplayChangedHandlingRelease - adlx::IADLXDisplayChangedHandlingRemoveDisplay3DLUTEventListener - adlx::IADLXDisplayChangedHandlingRemoveDisplayGammaEventListener - adlx::IADLXDisplayChangedHandlingRemoveDisplayGamutEventListener - adlx::IADLXDisplayChangedHandlingRemoveDisplayListEventListener - adlx::IADLXDisplayChangedHandlingRemoveDisplaySettingsEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_color_depth.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_color_depth.xml deleted file mode 100644 index e21be3c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_color_depth.xml +++ /dev/null @@ -1,203 +0,0 @@ - - - - adlx::IADLXDisplayColorDepth - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::GetValue - (ADLX_COLOR_DEPTH *currentColorDepth)=0 - GetValue - - ADLX_COLOR_DEPTH * - currentColorDepth - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::SetValue - (ADLX_COLOR_DEPTH colorDepth)=0 - SetValue - - ADLX_COLOR_DEPTH - colorDepth - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedColorDepth - (ADLX_COLOR_DEPTH colorDepth, adlx_bool *supported)=0 - IsSupportedColorDepth - - ADLX_COLOR_DEPTH - colorDepth - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_6 - (adlx_bool *supported)=0 - IsSupportedBPC_6 - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_8 - (adlx_bool *supported)=0 - IsSupportedBPC_8 - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_10 - (adlx_bool *supported)=0 - IsSupportedBPC_10 - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_12 - (adlx_bool *supported)=0 - IsSupportedBPC_12 - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_14 - (adlx_bool *supported)=0 - IsSupportedBPC_14 - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayColorDepth::IsSupportedBPC_16 - (adlx_bool *supported)=0 - IsSupportedBPC_16 - - adlx_bool * - supported - - - - - - - - - - - - - - - - - adlx::IADLXDisplayColorDepthAcquire - adlx::IADLXDisplayColorDepthGetValue - adlx::IADLXDisplayColorDepthIsSupported - adlx::IADLXDisplayColorDepthIsSupportedBPC_10 - adlx::IADLXDisplayColorDepthIsSupportedBPC_12 - adlx::IADLXDisplayColorDepthIsSupportedBPC_14 - adlx::IADLXDisplayColorDepthIsSupportedBPC_16 - adlx::IADLXDisplayColorDepthIsSupportedBPC_6 - adlx::IADLXDisplayColorDepthIsSupportedBPC_8 - adlx::IADLXDisplayColorDepthIsSupportedColorDepth - adlx::IADLXDisplayColorDepthQueryInterface - adlx::IADLXDisplayColorDepthRelease - adlx::IADLXDisplayColorDepthSetValue - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_connectivity_experience.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_connectivity_experience.xml deleted file mode 100644 index b52e666..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_connectivity_experience.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - adlx::IADLXDisplayConnectivityExperience - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::IsSupportedHDMIQualityDetection - (adlx_bool *supported)=0 - IsSupportedHDMIQualityDetection - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::IsSupportedDPLink - (adlx_bool *supported)=0 - IsSupportedDPLink - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::IsEnabledHDMIQualityDetection - (adlx_bool *enabled)=0 - IsEnabledHDMIQualityDetection - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::SetEnabledHDMIQualityDetection - (adlx_bool enabled)=0 - SetEnabledHDMIQualityDetection - - adlx_bool - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::GetDPLinkRate - (ADLX_DP_LINK_RATE *linkRate)=0 - GetDPLinkRate - - ADLX_DP_LINK_RATE * - linkRate - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::GetNumberOfActiveLanes - (adlx_uint *numActiveLanes)=0 - GetNumberOfActiveLanes - - adlx_uint * - numActiveLanes - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::GetNumberOfTotalLanes - (adlx_uint *numTotalLanes)=0 - GetNumberOfTotalLanes - - adlx_uint * - numTotalLanes - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::GetRelativePreEmphasis - (adlx_int *relativePreEmphasis)=0 - GetRelativePreEmphasis - - adlx_int * - relativePreEmphasis - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::SetRelativePreEmphasis - (adlx_int relativePreEmphasis)=0 - SetRelativePreEmphasis - - adlx_int - relativePreEmphasis - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::GetRelativeVoltageSwing - (adlx_int *relativeVoltageSwing)=0 - GetRelativeVoltageSwing - - adlx_int * - relativeVoltageSwing - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::SetRelativeVoltageSwing - (adlx_int relativeVoltageSwing)=0 - SetRelativeVoltageSwing - - adlx_int - relativeVoltageSwing - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayConnectivityExperience::IsEnabledLinkProtection - (adlx_bool *enabled)=0 - IsEnabledLinkProtection - - adlx_bool * - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayConnectivityExperienceAcquire - adlx::IADLXDisplayConnectivityExperienceGetDPLinkRate - adlx::IADLXDisplayConnectivityExperienceGetNumberOfActiveLanes - adlx::IADLXDisplayConnectivityExperienceGetNumberOfTotalLanes - adlx::IADLXDisplayConnectivityExperienceGetRelativePreEmphasis - adlx::IADLXDisplayConnectivityExperienceGetRelativeVoltageSwing - adlx::IADLXDisplayConnectivityExperienceIsEnabledHDMIQualityDetection - adlx::IADLXDisplayConnectivityExperienceIsEnabledLinkProtection - adlx::IADLXDisplayConnectivityExperienceIsSupportedDPLink - adlx::IADLXDisplayConnectivityExperienceIsSupportedHDMIQualityDetection - adlx::IADLXDisplayConnectivityExperienceQueryInterface - adlx::IADLXDisplayConnectivityExperienceRelease - adlx::IADLXDisplayConnectivityExperienceSetEnabledHDMIQualityDetection - adlx::IADLXDisplayConnectivityExperienceSetRelativePreEmphasis - adlx::IADLXDisplayConnectivityExperienceSetRelativeVoltageSwing - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_color.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_color.xml deleted file mode 100644 index 673229e..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_color.xml +++ /dev/null @@ -1,379 +0,0 @@ - - - - adlx::IADLXDisplayCustomColor - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::IsHueSupported - (adlx_bool *supported)=0 - IsHueSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetHueRange - (ADLX_IntRange *range)=0 - GetHueRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetHue - (adlx_int *currentHue)=0 - GetHue - - adlx_int * - currentHue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::SetHue - (adlx_int hue)=0 - SetHue - - adlx_int - hue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::IsSaturationSupported - (adlx_bool *supported)=0 - IsSaturationSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetSaturationRange - (ADLX_IntRange *range)=0 - GetSaturationRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetSaturation - (adlx_int *currentSaturation)=0 - GetSaturation - - adlx_int * - currentSaturation - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::SetSaturation - (adlx_int saturation)=0 - SetSaturation - - adlx_int - saturation - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::IsBrightnessSupported - (adlx_bool *supported)=0 - IsBrightnessSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetBrightnessRange - (ADLX_IntRange *range)=0 - GetBrightnessRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetBrightness - (adlx_int *currentBrightness)=0 - GetBrightness - - adlx_int * - currentBrightness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::SetBrightness - (adlx_int brightness)=0 - SetBrightness - - adlx_int - brightness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::IsContrastSupported - (adlx_bool *supported)=0 - IsContrastSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetContrastRange - (ADLX_IntRange *range)=0 - GetContrastRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetContrast - (adlx_int *currentContrast)=0 - GetContrast - - adlx_int * - currentContrast - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::SetContrast - (adlx_int contrast)=0 - SetContrast - - adlx_int - contrast - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::IsTemperatureSupported - (adlx_bool *supported)=0 - IsTemperatureSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetTemperatureRange - (ADLX_IntRange *range)=0 - GetTemperatureRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::GetTemperature - (adlx_int *currentTemperature)=0 - GetTemperature - - adlx_int * - currentTemperature - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomColor::SetTemperature - (adlx_int temperature)=0 - SetTemperature - - adlx_int - temperature - - - - - - - - - - - - - - - - - adlx::IADLXDisplayCustomColorAcquire - adlx::IADLXDisplayCustomColorGetBrightness - adlx::IADLXDisplayCustomColorGetBrightnessRange - adlx::IADLXDisplayCustomColorGetContrast - adlx::IADLXDisplayCustomColorGetContrastRange - adlx::IADLXDisplayCustomColorGetHue - adlx::IADLXDisplayCustomColorGetHueRange - adlx::IADLXDisplayCustomColorGetSaturation - adlx::IADLXDisplayCustomColorGetSaturationRange - adlx::IADLXDisplayCustomColorGetTemperature - adlx::IADLXDisplayCustomColorGetTemperatureRange - adlx::IADLXDisplayCustomColorIsBrightnessSupported - adlx::IADLXDisplayCustomColorIsContrastSupported - adlx::IADLXDisplayCustomColorIsHueSupported - adlx::IADLXDisplayCustomColorIsSaturationSupported - adlx::IADLXDisplayCustomColorIsTemperatureSupported - adlx::IADLXDisplayCustomColorQueryInterface - adlx::IADLXDisplayCustomColorRelease - adlx::IADLXDisplayCustomColorSetBrightness - adlx::IADLXDisplayCustomColorSetContrast - adlx::IADLXDisplayCustomColorSetHue - adlx::IADLXDisplayCustomColorSetSaturation - adlx::IADLXDisplayCustomColorSetTemperature - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_resolution.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_resolution.xml deleted file mode 100644 index 4c38a32..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_custom_resolution.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - adlx::IADLXDisplayCustomResolution - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomResolution::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomResolution::GetResolutionList - (IADLXDisplayResolutionList **ppResolutionList)=0 - GetResolutionList - - IADLXDisplayResolutionList ** - ppResolutionList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomResolution::GetCurrentAppliedResolution - (IADLXDisplayResolution **ppResolution)=0 - GetCurrentAppliedResolution - - IADLXDisplayResolution ** - ppResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomResolution::CreateNewResolution - (IADLXDisplayResolution *pResolution)=0 - CreateNewResolution - - IADLXDisplayResolution * - pResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayCustomResolution::DeleteResolution - (IADLXDisplayResolution *pResolution)=0 - DeleteResolution - - IADLXDisplayResolution * - pResolution - - - - - - - - - - - - - - - - - adlx::IADLXDisplayCustomResolutionAcquire - adlx::IADLXDisplayCustomResolutionCreateNewResolution - adlx::IADLXDisplayCustomResolutionDeleteResolution - adlx::IADLXDisplayCustomResolutionGetCurrentAppliedResolution - adlx::IADLXDisplayCustomResolutionGetResolutionList - adlx::IADLXDisplayCustomResolutionIsSupported - adlx::IADLXDisplayCustomResolutionQueryInterface - adlx::IADLXDisplayCustomResolutionRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_free_sync.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_free_sync.xml deleted file mode 100644 index fc9b4e4..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_free_sync.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayFreeSync - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayFreeSync::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayFreeSync::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayFreeSync::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayFreeSyncAcquire - adlx::IADLXDisplayFreeSyncIsEnabled - adlx::IADLXDisplayFreeSyncIsSupported - adlx::IADLXDisplayFreeSyncQueryInterface - adlx::IADLXDisplayFreeSyncRelease - adlx::IADLXDisplayFreeSyncSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_g_p_u_scaling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_g_p_u_scaling.xml deleted file mode 100644 index 6473df7..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_g_p_u_scaling.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayGPUScaling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGPUScaling::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGPUScaling::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGPUScaling::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGPUScalingAcquire - adlx::IADLXDisplayGPUScalingIsEnabled - adlx::IADLXDisplayGPUScalingIsSupported - adlx::IADLXDisplayGPUScalingQueryInterface - adlx::IADLXDisplayGPUScalingRelease - adlx::IADLXDisplayGPUScalingSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma.xml deleted file mode 100644 index 52b1012..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma.xml +++ /dev/null @@ -1,463 +0,0 @@ - - - - adlx::IADLXDisplayGamma - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGammaRamp - (adlx_bool *isReGammaRamp)=0 - IsCurrentReGammaRamp - - adlx_bool * - isReGammaRamp - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentDeGammaRamp - (adlx_bool *isDeGammaRamp)=0 - IsCurrentDeGammaRamp - - adlx_bool * - isDeGammaRamp - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentRegammaCoefficient - (adlx_bool *isRegammaCoeff)=0 - IsCurrentRegammaCoefficient - - adlx_bool * - isRegammaCoeff - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::GetGammaRamp - (ADLX_GammaRamp *lut)=0 - GetGammaRamp - - ADLX_GammaRamp * - lut - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::GetGammaCoefficient - (ADLX_RegammaCoeff *coeff)=0 - GetGammaCoefficient - - ADLX_RegammaCoeff * - coeff - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsSupportedReGammaSRGB - (adlx_bool *isSupportedRegammaSRGB)=0 - IsSupportedReGammaSRGB - - adlx_bool * - isSupportedRegammaSRGB - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsSupportedReGammaBT709 - (adlx_bool *isSupportedReGammaBT709)=0 - IsSupportedReGammaBT709 - - adlx_bool * - isSupportedReGammaBT709 - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsSupportedReGammaPQ - (adlx_bool *isSupportedReGammaPQ)=0 - IsSupportedReGammaPQ - - adlx_bool * - isSupportedReGammaPQ - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsSupportedReGammaPQ2084Interim - (adlx_bool *isSupportedReGammaPQ2084Interim)=0 - IsSupportedReGammaPQ2084Interim - - adlx_bool * - isSupportedReGammaPQ2084Interim - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsSupportedReGamma36 - (adlx_bool *isSupportedReGamma36)=0 - IsSupportedReGamma36 - - adlx_bool * - isSupportedReGamma36 - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGammaSRGB - (adlx_bool *isCurrentReGammaSRGB)=0 - IsCurrentReGammaSRGB - - adlx_bool * - isCurrentReGammaSRGB - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGammaBT709 - (adlx_bool *isCurrentReGammaBT709)=0 - IsCurrentReGammaBT709 - - adlx_bool * - isCurrentReGammaBT709 - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGammaPQ - (adlx_bool *isCurrentReGammaPQ)=0 - IsCurrentReGammaPQ - - adlx_bool * - isCurrentReGammaPQ - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGammaPQ2084Interim - (adlx_bool *isCurrentReGammaPQ2084Interim)=0 - IsCurrentReGammaPQ2084Interim - - adlx_bool * - isCurrentReGammaPQ2084Interim - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::IsCurrentReGamma36 - (adlx_bool *isCurrentReGamma36)=0 - IsCurrentReGamma36 - - adlx_bool * - isCurrentReGamma36 - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaSRGB - ()=0 - SetReGammaSRGB - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaBT709 - ()=0 - SetReGammaBT709 - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaPQ - ()=0 - SetReGammaPQ - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaPQ2084Interim - ()=0 - SetReGammaPQ2084Interim - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGamma36 - ()=0 - SetReGamma36 - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaCoefficient - (ADLX_RegammaCoeff coeff)=0 - SetReGammaCoefficient - - ADLX_RegammaCoeff - coeff - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetDeGammaRamp - (const char *path)=0 - SetDeGammaRamp - - const char * - path - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetDeGammaRamp - (ADLX_GammaRamp gammaRamp)=0 - SetDeGammaRamp - - ADLX_GammaRamp - gammaRamp - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaRamp - (const char *path)=0 - SetReGammaRamp - - const char * - path - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::SetReGammaRamp - (ADLX_GammaRamp gammaRamp)=0 - SetReGammaRamp - - ADLX_GammaRamp - gammaRamp - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamma::ResetGammaRamp - ()=0 - ResetGammaRamp - - - - - - - - - - - - - - - - adlx::IADLXDisplayGammaAcquire - adlx::IADLXDisplayGammaGetGammaCoefficient - adlx::IADLXDisplayGammaGetGammaRamp - adlx::IADLXDisplayGammaIsCurrentDeGammaRamp - adlx::IADLXDisplayGammaIsCurrentReGamma36 - adlx::IADLXDisplayGammaIsCurrentReGammaBT709 - adlx::IADLXDisplayGammaIsCurrentRegammaCoefficient - adlx::IADLXDisplayGammaIsCurrentReGammaPQ - adlx::IADLXDisplayGammaIsCurrentReGammaPQ2084Interim - adlx::IADLXDisplayGammaIsCurrentReGammaRamp - adlx::IADLXDisplayGammaIsCurrentReGammaSRGB - adlx::IADLXDisplayGammaIsSupportedReGamma36 - adlx::IADLXDisplayGammaIsSupportedReGammaBT709 - adlx::IADLXDisplayGammaIsSupportedReGammaPQ - adlx::IADLXDisplayGammaIsSupportedReGammaPQ2084Interim - adlx::IADLXDisplayGammaIsSupportedReGammaSRGB - adlx::IADLXDisplayGammaQueryInterface - adlx::IADLXDisplayGammaRelease - adlx::IADLXDisplayGammaResetGammaRamp - adlx::IADLXDisplayGammaSetDeGammaRamp - adlx::IADLXDisplayGammaSetDeGammaRamp - adlx::IADLXDisplayGammaSetReGamma36 - adlx::IADLXDisplayGammaSetReGammaBT709 - adlx::IADLXDisplayGammaSetReGammaCoefficient - adlx::IADLXDisplayGammaSetReGammaPQ - adlx::IADLXDisplayGammaSetReGammaPQ2084Interim - adlx::IADLXDisplayGammaSetReGammaRamp - adlx::IADLXDisplayGammaSetReGammaRamp - adlx::IADLXDisplayGammaSetReGammaSRGB - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_event.xml deleted file mode 100644 index 66e143a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_event.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - adlx::IADLXDisplayGammaChangedEvent - adlx::IADLXChangedEvent - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGammaChangedEvent::GetDisplay - (IADLXDisplay **ppDisplay)=0 - GetDisplay - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGammaChangedEvent::IsGammaRampChanged - ()=0 - IsGammaRampChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGammaChangedEvent::IsGammaCoefficientChanged - ()=0 - IsGammaCoefficientChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGammaChangedEvent::IsReGammaChanged - ()=0 - IsReGammaChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGammaChangedEvent::IsDeGammaChanged - ()=0 - IsDeGammaChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplayGammaChangedEventAcquire - adlx::IADLXDisplayGammaChangedEventGetDisplay - adlx::IADLXDisplayGammaChangedEventGetOrigin - adlx::IADLXDisplayGammaChangedEventIsDeGammaChanged - adlx::IADLXDisplayGammaChangedEventIsGammaCoefficientChanged - adlx::IADLXDisplayGammaChangedEventIsGammaRampChanged - adlx::IADLXDisplayGammaChangedEventIsReGammaChanged - adlx::IADLXDisplayGammaChangedEventQueryInterface - adlx::IADLXDisplayGammaChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_listener.xml deleted file mode 100644 index a58a332..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamma_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDisplayGammaChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGammaChangedListener::OnDisplayGammaChanged - (IADLXDisplayGammaChangedEvent *pDisplayGammaChangedEvent)=0 - OnDisplayGammaChanged - - IADLXDisplayGammaChangedEvent * - pDisplayGammaChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGammaChangedListenerOnDisplayGammaChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut.xml deleted file mode 100644 index 8526285..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut.xml +++ /dev/null @@ -1,539 +0,0 @@ - - - - adlx::IADLXDisplayGamut - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCCIR709ColorSpace - (adlx_bool *supported) const =0 - IsSupportedCCIR709ColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCCIR601ColorSpace - (adlx_bool *supported) const =0 - IsSupportedCCIR601ColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedAdobeRgbColorSpace - (adlx_bool *supported) const =0 - IsSupportedAdobeRgbColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCIERgbColorSpace - (adlx_bool *supported) const =0 - IsSupportedCIERgbColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCCIR2020ColorSpace - (adlx_bool *supported) const =0 - IsSupportedCCIR2020ColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCustomColorSpace - (adlx_bool *supported) const =0 - IsSupportedCustomColorSpace - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupported5000kWhitePoint - (adlx_bool *supported) const =0 - IsSupported5000kWhitePoint - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupported6500kWhitePoint - (adlx_bool *supported) const =0 - IsSupported6500kWhitePoint - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupported7500kWhitePoint - (adlx_bool *supported) const =0 - IsSupported7500kWhitePoint - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupported9300kWhitePoint - (adlx_bool *supported) const =0 - IsSupported9300kWhitePoint - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsSupportedCustomWhitePoint - (adlx_bool *supported) const =0 - IsSupportedCustomWhitePoint - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrent5000kWhitePoint - (adlx_bool *isSet) const =0 - IsCurrent5000kWhitePoint - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrent6500kWhitePoint - (adlx_bool *isSet) const =0 - IsCurrent6500kWhitePoint - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrent7500kWhitePoint - (adlx_bool *isSet) const =0 - IsCurrent7500kWhitePoint - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrent9300kWhitePoint - (adlx_bool *isSet) const =0 - IsCurrent9300kWhitePoint - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCustomWhitePoint - (adlx_bool *isSet) const =0 - IsCurrentCustomWhitePoint - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::GetWhitePoint - (ADLX_Point *point) const =0 - GetWhitePoint - - ADLX_Point * - point - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCCIR709ColorSpace - (adlx_bool *isSet) const =0 - IsCurrentCCIR709ColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCCIR601ColorSpace - (adlx_bool *isSet) const =0 - IsCurrentCCIR601ColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentAdobeRgbColorSpace - (adlx_bool *isSet) const =0 - IsCurrentAdobeRgbColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCIERgbColorSpace - (adlx_bool *isSet) const =0 - IsCurrentCIERgbColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCCIR2020ColorSpace - (adlx_bool *isSet) const =0 - IsCurrentCCIR2020ColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::IsCurrentCustomColorSpace - (adlx_bool *isSet) const =0 - IsCurrentCustomColorSpace - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::GetGamutColorSpace - (ADLX_GamutColorSpace *gamutColorSpace) const =0 - GetGamutColorSpace - - ADLX_GamutColorSpace * - gamutColorSpace - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::SetGamut - (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace)=0 - SetGamut - - ADLX_WHITE_POINT - predefinedWhitePoint - - - ADLX_GAMUT_SPACE - predefinedGamutSpace - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::SetGamut - (ADLX_RGB customWhitePoint, ADLX_GAMUT_SPACE predefinedGamutSpace)=0 - SetGamut - - ADLX_RGB - customWhitePoint - - - ADLX_GAMUT_SPACE - predefinedGamutSpace - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::SetGamut - (ADLX_WHITE_POINT predefinedWhitePoint, ADLX_GamutColorSpace customGamut)=0 - SetGamut - - ADLX_WHITE_POINT - predefinedWhitePoint - - - ADLX_GamutColorSpace - customGamut - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamut::SetGamut - (ADLX_RGB customWhitePoint, ADLX_GamutColorSpace customGamut)=0 - SetGamut - - ADLX_RGB - customWhitePoint - - - ADLX_GamutColorSpace - customGamut - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGamutAcquire - adlx::IADLXDisplayGamutGetGamutColorSpace - adlx::IADLXDisplayGamutGetWhitePoint - adlx::IADLXDisplayGamutIsCurrent5000kWhitePoint - adlx::IADLXDisplayGamutIsCurrent6500kWhitePoint - adlx::IADLXDisplayGamutIsCurrent7500kWhitePoint - adlx::IADLXDisplayGamutIsCurrent9300kWhitePoint - adlx::IADLXDisplayGamutIsCurrentAdobeRgbColorSpace - adlx::IADLXDisplayGamutIsCurrentCCIR2020ColorSpace - adlx::IADLXDisplayGamutIsCurrentCCIR601ColorSpace - adlx::IADLXDisplayGamutIsCurrentCCIR709ColorSpace - adlx::IADLXDisplayGamutIsCurrentCIERgbColorSpace - adlx::IADLXDisplayGamutIsCurrentCustomColorSpace - adlx::IADLXDisplayGamutIsCurrentCustomWhitePoint - adlx::IADLXDisplayGamutIsSupported5000kWhitePoint - adlx::IADLXDisplayGamutIsSupported6500kWhitePoint - adlx::IADLXDisplayGamutIsSupported7500kWhitePoint - adlx::IADLXDisplayGamutIsSupported9300kWhitePoint - adlx::IADLXDisplayGamutIsSupportedAdobeRgbColorSpace - adlx::IADLXDisplayGamutIsSupportedCCIR2020ColorSpace - adlx::IADLXDisplayGamutIsSupportedCCIR601ColorSpace - adlx::IADLXDisplayGamutIsSupportedCCIR709ColorSpace - adlx::IADLXDisplayGamutIsSupportedCIERgbColorSpace - adlx::IADLXDisplayGamutIsSupportedCustomColorSpace - adlx::IADLXDisplayGamutIsSupportedCustomWhitePoint - adlx::IADLXDisplayGamutQueryInterface - adlx::IADLXDisplayGamutRelease - adlx::IADLXDisplayGamutSetGamut - adlx::IADLXDisplayGamutSetGamut - adlx::IADLXDisplayGamutSetGamut - adlx::IADLXDisplayGamutSetGamut - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_event.xml deleted file mode 100644 index 5addff5..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_event.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - adlx::IADLXDisplayGamutChangedEvent - adlx::IADLXChangedEvent - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayGamutChangedEvent::GetDisplay - (IADLXDisplay **ppDisplay)=0 - GetDisplay - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGamutChangedEvent::IsWhitePointChanged - ()=0 - IsWhitePointChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGamutChangedEvent::IsColorSpaceChanged - ()=0 - IsColorSpaceChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplayGamutChangedEventAcquire - adlx::IADLXDisplayGamutChangedEventGetDisplay - adlx::IADLXDisplayGamutChangedEventGetOrigin - adlx::IADLXDisplayGamutChangedEventIsColorSpaceChanged - adlx::IADLXDisplayGamutChangedEventIsWhitePointChanged - adlx::IADLXDisplayGamutChangedEventQueryInterface - adlx::IADLXDisplayGamutChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_listener.xml deleted file mode 100644 index 7f77c85..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_gamut_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDisplayGamutChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayGamutChangedListener::OnDisplayGamutChanged - (IADLXDisplayGamutChangedEvent *pDisplayGamutChangedEvent)=0 - OnDisplayGamutChanged - - IADLXDisplayGamutChangedEvent * - pDisplayGamutChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXDisplayGamutChangedListenerOnDisplayGamutChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_h_d_c_p.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_h_d_c_p.xml deleted file mode 100644 index 9df9815..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_h_d_c_p.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayHDCP - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayHDCP::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayHDCP::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayHDCP::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayHDCPAcquire - adlx::IADLXDisplayHDCPIsEnabled - adlx::IADLXDisplayHDCPIsSupported - adlx::IADLXDisplayHDCPQueryInterface - adlx::IADLXDisplayHDCPRelease - adlx::IADLXDisplayHDCPSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_integer_scaling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_integer_scaling.xml deleted file mode 100644 index 7ccf9d0..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_integer_scaling.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayIntegerScaling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayIntegerScaling::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayIntegerScaling::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayIntegerScaling::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayIntegerScalingAcquire - adlx::IADLXDisplayIntegerScalingIsEnabled - adlx::IADLXDisplayIntegerScalingIsSupported - adlx::IADLXDisplayIntegerScalingQueryInterface - adlx::IADLXDisplayIntegerScalingRelease - adlx::IADLXDisplayIntegerScalingSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list.xml deleted file mode 100644 index 0723195..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXDisplayList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayList::At - (const adlx_uint location, IADLXDisplay **ppItem)=0 - At - - const adlx_uint - location - - - IADLXDisplay ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayList::Add_Back - (IADLXDisplay *pItem)=0 - Add_Back - - IADLXDisplay * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXDisplayListAcquire - adlx::IADLXDisplayListAdd_Back - adlx::IADLXDisplayListAdd_Back - adlx::IADLXDisplayListAt - adlx::IADLXDisplayListAt - adlx::IADLXDisplayListBegin - adlx::IADLXDisplayListClear - adlx::IADLXDisplayListEmpty - adlx::IADLXDisplayListEnd - adlx::IADLXDisplayListQueryInterface - adlx::IADLXDisplayListRelease - adlx::IADLXDisplayListRemove_Back - adlx::IADLXDisplayListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list_changed_listener.xml deleted file mode 100644 index 5dcb500..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_list_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDisplayListChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplayListChangedListener::OnDisplayListChanged - (IADLXDisplayList *pNewDisplay)=0 - OnDisplayListChanged - - IADLXDisplayList * - pNewDisplay - - - - - - - - - - - - - - - - - adlx::IADLXDisplayListChangedListenerOnDisplayListChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_pixel_format.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_pixel_format.xml deleted file mode 100644 index 08265f6..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_pixel_format.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - adlx::IADLXDisplayPixelFormat - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::GetValue - (ADLX_PIXEL_FORMAT *pixelFormat)=0 - GetValue - - ADLX_PIXEL_FORMAT * - pixelFormat - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::SetValue - (ADLX_PIXEL_FORMAT pixelFormat)=0 - SetValue - - ADLX_PIXEL_FORMAT - pixelFormat - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedPixelFormat - (ADLX_PIXEL_FORMAT pixelFormat, adlx_bool *supportd)=0 - IsSupportedPixelFormat - - ADLX_PIXEL_FORMAT - pixelFormat - - - adlx_bool * - supportd - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedRGB444Full - (adlx_bool *supportd)=0 - IsSupportedRGB444Full - - adlx_bool * - supportd - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedYCbCr444 - (adlx_bool *supportd)=0 - IsSupportedYCbCr444 - - adlx_bool * - supportd - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedYCbCr422 - (adlx_bool *supportd)=0 - IsSupportedYCbCr422 - - adlx_bool * - supportd - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedRGB444Limited - (adlx_bool *supportd)=0 - IsSupportedRGB444Limited - - adlx_bool * - supportd - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayPixelFormat::IsSupportedYCbCr420 - (adlx_bool *supportd)=0 - IsSupportedYCbCr420 - - adlx_bool * - supportd - - - - - - - - - - - - - - - - - adlx::IADLXDisplayPixelFormatAcquire - adlx::IADLXDisplayPixelFormatGetValue - adlx::IADLXDisplayPixelFormatIsSupported - adlx::IADLXDisplayPixelFormatIsSupportedPixelFormat - adlx::IADLXDisplayPixelFormatIsSupportedRGB444Full - adlx::IADLXDisplayPixelFormatIsSupportedRGB444Limited - adlx::IADLXDisplayPixelFormatIsSupportedYCbCr420 - adlx::IADLXDisplayPixelFormatIsSupportedYCbCr422 - adlx::IADLXDisplayPixelFormatIsSupportedYCbCr444 - adlx::IADLXDisplayPixelFormatQueryInterface - adlx::IADLXDisplayPixelFormatRelease - adlx::IADLXDisplayPixelFormatSetValue - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution.xml deleted file mode 100644 index 1fa4bad..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXDisplayResolution - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayResolution::GetValue - (ADLX_CustomResolution *customResolution)=0 - GetValue - - ADLX_CustomResolution * - customResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayResolution::SetValue - (ADLX_CustomResolution customResolution)=0 - SetValue - - ADLX_CustomResolution - customResolution - - - - - - - - - - - - - - - - - adlx::IADLXDisplayResolutionAcquire - adlx::IADLXDisplayResolutionGetValue - adlx::IADLXDisplayResolutionQueryInterface - adlx::IADLXDisplayResolutionRelease - adlx::IADLXDisplayResolutionSetValue - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution_list.xml deleted file mode 100644 index 90e1684..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_resolution_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXDisplayResolutionList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayResolutionList::At - (const adlx_uint location, IADLXDisplayResolution **ppItem)=0 - At - - const adlx_uint - location - - - IADLXDisplayResolution ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayResolutionList::Add_Back - (IADLXDisplayResolution *pItem)=0 - Add_Back - - IADLXDisplayResolution * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXDisplayResolutionListAcquire - adlx::IADLXDisplayResolutionListAdd_Back - adlx::IADLXDisplayResolutionListAdd_Back - adlx::IADLXDisplayResolutionListAt - adlx::IADLXDisplayResolutionListAt - adlx::IADLXDisplayResolutionListBegin - adlx::IADLXDisplayResolutionListClear - adlx::IADLXDisplayResolutionListEmpty - adlx::IADLXDisplayResolutionListEnd - adlx::IADLXDisplayResolutionListQueryInterface - adlx::IADLXDisplayResolutionListRelease - adlx::IADLXDisplayResolutionListRemove_Back - adlx::IADLXDisplayResolutionListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_scaling_mode.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_scaling_mode.xml deleted file mode 100644 index b88dc45..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_scaling_mode.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayScalingMode - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayScalingMode::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayScalingMode::GetMode - (ADLX_SCALE_MODE *currentMode)=0 - GetMode - - ADLX_SCALE_MODE * - currentMode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayScalingMode::SetMode - (ADLX_SCALE_MODE mode)=0 - SetMode - - ADLX_SCALE_MODE - mode - - - - - - - - - - - - - - - - - adlx::IADLXDisplayScalingModeAcquire - adlx::IADLXDisplayScalingModeGetMode - adlx::IADLXDisplayScalingModeIsSupported - adlx::IADLXDisplayScalingModeQueryInterface - adlx::IADLXDisplayScalingModeRelease - adlx::IADLXDisplayScalingModeSetMode - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services.xml deleted file mode 100644 index e36f2cb..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - - adlx::IADLXDisplayServices - adlx::IADLXInterface - adlx::IADLXDisplayServices1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetNumberOfDisplays - (adlx_uint *numDisplays)=0 - GetNumberOfDisplays - - adlx_uint * - numDisplays - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetDisplays - (IADLXDisplayList **ppDisplay)=0 - GetDisplays - - IADLXDisplayList ** - ppDisplay - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::Get3DLUT - (IADLXDisplay *pDisplay, IADLXDisplay3DLUT **ppDisp3DLUT)=0 - Get3DLUT - - IADLXDisplay * - pDisplay - - - IADLXDisplay3DLUT ** - ppDisp3DLUT - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetGamut - (IADLXDisplay *pDisplay, IADLXDisplayGamut **ppDispGamut)=0 - GetGamut - - IADLXDisplay * - pDisplay - - - IADLXDisplayGamut ** - ppDispGamut - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetGamma - (IADLXDisplay *pDisplay, IADLXDisplayGamma **ppDispGamma)=0 - GetGamma - - IADLXDisplay * - pDisplay - - - IADLXDisplayGamma ** - ppDispGamma - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetDisplayChangedHandling - (IADLXDisplayChangedHandling **ppDisplayChangedHandling)=0 - GetDisplayChangedHandling - - IADLXDisplayChangedHandling ** - ppDisplayChangedHandling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetFreeSync - (IADLXDisplay *pDisplay, IADLXDisplayFreeSync **ppFreeSync)=0 - GetFreeSync - - IADLXDisplay * - pDisplay - - - IADLXDisplayFreeSync ** - ppFreeSync - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetVirtualSuperResolution - (IADLXDisplay *pDisplay, IADLXDisplayVSR **ppVSR)=0 - GetVirtualSuperResolution - - IADLXDisplay * - pDisplay - - - IADLXDisplayVSR ** - ppVSR - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetGPUScaling - (IADLXDisplay *pDisplay, IADLXDisplayGPUScaling **ppGPUScaling)=0 - GetGPUScaling - - IADLXDisplay * - pDisplay - - - IADLXDisplayGPUScaling ** - ppGPUScaling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetScalingMode - (IADLXDisplay *pDisplay, IADLXDisplayScalingMode **ppScalingMode)=0 - GetScalingMode - - IADLXDisplay * - pDisplay - - - IADLXDisplayScalingMode ** - ppScalingMode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetIntegerScaling - (IADLXDisplay *pDisplay, IADLXDisplayIntegerScaling **ppIntegerScaling)=0 - GetIntegerScaling - - IADLXDisplay * - pDisplay - - - IADLXDisplayIntegerScaling ** - ppIntegerScaling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetColorDepth - (IADLXDisplay *pDisplay, IADLXDisplayColorDepth **ppColorDepth)=0 - GetColorDepth - - IADLXDisplay * - pDisplay - - - IADLXDisplayColorDepth ** - ppColorDepth - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetPixelFormat - (IADLXDisplay *pDisplay, IADLXDisplayPixelFormat **ppPixelFormat)=0 - GetPixelFormat - - IADLXDisplay * - pDisplay - - - IADLXDisplayPixelFormat ** - ppPixelFormat - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetCustomColor - (IADLXDisplay *pDisplay, IADLXDisplayCustomColor **ppCustomColor)=0 - GetCustomColor - - IADLXDisplay * - pDisplay - - - IADLXDisplayCustomColor ** - ppCustomColor - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetHDCP - (IADLXDisplay *pDisplay, IADLXDisplayHDCP **ppHDCP)=0 - GetHDCP - - IADLXDisplay * - pDisplay - - - IADLXDisplayHDCP ** - ppHDCP - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetCustomResolution - (IADLXDisplay *pDisplay, IADLXDisplayCustomResolution **ppCustomResolution)=0 - GetCustomResolution - - IADLXDisplay * - pDisplay - - - IADLXDisplayCustomResolution ** - ppCustomResolution - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices::GetVariBright - (IADLXDisplay *pDisplay, IADLXDisplayVariBright **ppVariBright)=0 - GetVariBright - - IADLXDisplay * - pDisplay - - - IADLXDisplayVariBright ** - ppVariBright - - - - - - - - - - - - - - - - - adlx::IADLXDisplayServicesAcquire - adlx::IADLXDisplayServicesGet3DLUT - adlx::IADLXDisplayServicesGetColorDepth - adlx::IADLXDisplayServicesGetCustomColor - adlx::IADLXDisplayServicesGetCustomResolution - adlx::IADLXDisplayServicesGetDisplayChangedHandling - adlx::IADLXDisplayServicesGetDisplays - adlx::IADLXDisplayServicesGetFreeSync - adlx::IADLXDisplayServicesGetGamma - adlx::IADLXDisplayServicesGetGamut - adlx::IADLXDisplayServicesGetGPUScaling - adlx::IADLXDisplayServicesGetHDCP - adlx::IADLXDisplayServicesGetIntegerScaling - adlx::IADLXDisplayServicesGetNumberOfDisplays - adlx::IADLXDisplayServicesGetPixelFormat - adlx::IADLXDisplayServicesGetScalingMode - adlx::IADLXDisplayServicesGetVariBright - adlx::IADLXDisplayServicesGetVirtualSuperResolution - adlx::IADLXDisplayServicesQueryInterface - adlx::IADLXDisplayServicesRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services1.xml deleted file mode 100644 index 761692e..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services1.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - adlx::IADLXDisplayServices1 - adlx::IADLXDisplayServices - adlx::IADLXDisplayServices2 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices1::GetDisplayBlanking - (IADLXDisplay *pDisplay, IADLXDisplayBlanking **ppDisplayBlanking)=0 - GetDisplayBlanking - - IADLXDisplay * - pDisplay - - - IADLXDisplayBlanking ** - ppDisplayBlanking - - - - - - - - - - - - - - - - - adlx::IADLXDisplayServices1Acquire - adlx::IADLXDisplayServices1Get3DLUT - adlx::IADLXDisplayServices1GetColorDepth - adlx::IADLXDisplayServices1GetCustomColor - adlx::IADLXDisplayServices1GetCustomResolution - adlx::IADLXDisplayServices1GetDisplayBlanking - adlx::IADLXDisplayServices1GetDisplayChangedHandling - adlx::IADLXDisplayServices1GetDisplays - adlx::IADLXDisplayServices1GetFreeSync - adlx::IADLXDisplayServices1GetGamma - adlx::IADLXDisplayServices1GetGamut - adlx::IADLXDisplayServices1GetGPUScaling - adlx::IADLXDisplayServices1GetHDCP - adlx::IADLXDisplayServices1GetIntegerScaling - adlx::IADLXDisplayServices1GetNumberOfDisplays - adlx::IADLXDisplayServices1GetPixelFormat - adlx::IADLXDisplayServices1GetScalingMode - adlx::IADLXDisplayServices1GetVariBright - adlx::IADLXDisplayServices1GetVirtualSuperResolution - adlx::IADLXDisplayServices1QueryInterface - adlx::IADLXDisplayServices1Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services2.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services2.xml deleted file mode 100644 index 8f89c44..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_services2.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - adlx::IADLXDisplayServices2 - adlx::IADLXDisplayServices1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayServices2::GetDisplayConnectivityExperience - (IADLXDisplay *pDisplay, IADLXDisplayConnectivityExperience **ppDisplayConnectivityExperience)=0 - GetDisplayConnectivityExperience - - IADLXDisplay * - pDisplay - - - IADLXDisplayConnectivityExperience ** - ppDisplayConnectivityExperience - - - - - - - - - - - - - - - - - adlx::IADLXDisplayServices2Acquire - adlx::IADLXDisplayServices2Get3DLUT - adlx::IADLXDisplayServices2GetColorDepth - adlx::IADLXDisplayServices2GetCustomColor - adlx::IADLXDisplayServices2GetCustomResolution - adlx::IADLXDisplayServices2GetDisplayBlanking - adlx::IADLXDisplayServices2GetDisplayChangedHandling - adlx::IADLXDisplayServices2GetDisplayConnectivityExperience - adlx::IADLXDisplayServices2GetDisplays - adlx::IADLXDisplayServices2GetFreeSync - adlx::IADLXDisplayServices2GetGamma - adlx::IADLXDisplayServices2GetGamut - adlx::IADLXDisplayServices2GetGPUScaling - adlx::IADLXDisplayServices2GetHDCP - adlx::IADLXDisplayServices2GetIntegerScaling - adlx::IADLXDisplayServices2GetNumberOfDisplays - adlx::IADLXDisplayServices2GetPixelFormat - adlx::IADLXDisplayServices2GetScalingMode - adlx::IADLXDisplayServices2GetVariBright - adlx::IADLXDisplayServices2GetVirtualSuperResolution - adlx::IADLXDisplayServices2QueryInterface - adlx::IADLXDisplayServices2Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event.xml deleted file mode 100644 index f443b15..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event.xml +++ /dev/null @@ -1,249 +0,0 @@ - - - - adlx::IADLXDisplaySettingsChangedEvent - adlx::IADLXChangedEvent - adlx::IADLXDisplaySettingsChangedEvent1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::GetDisplay - (IADLXDisplay **ppDisplay)=0 - GetDisplay - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsFreeSyncChanged - ()=0 - IsFreeSyncChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsVSRChanged - ()=0 - IsVSRChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsGPUScalingChanged - ()=0 - IsGPUScalingChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsScalingModeChanged - ()=0 - IsScalingModeChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsIntegerScalingChanged - ()=0 - IsIntegerScalingChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsColorDepthChanged - ()=0 - IsColorDepthChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsPixelFormatChanged - ()=0 - IsPixelFormatChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsHDCPChanged - ()=0 - IsHDCPChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomColorHueChanged - ()=0 - IsCustomColorHueChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomColorSaturationChanged - ()=0 - IsCustomColorSaturationChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomColorBrightnessChanged - ()=0 - IsCustomColorBrightnessChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomColorTemperatureChanged - ()=0 - IsCustomColorTemperatureChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomColorContrastChanged - ()=0 - IsCustomColorContrastChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsCustomResolutionChanged - ()=0 - IsCustomResolutionChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent::IsVariBrightChanged - ()=0 - IsVariBrightChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplaySettingsChangedEventAcquire - adlx::IADLXDisplaySettingsChangedEventGetDisplay - adlx::IADLXDisplaySettingsChangedEventGetOrigin - adlx::IADLXDisplaySettingsChangedEventIsColorDepthChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomColorBrightnessChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomColorContrastChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomColorHueChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomColorSaturationChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomColorTemperatureChanged - adlx::IADLXDisplaySettingsChangedEventIsCustomResolutionChanged - adlx::IADLXDisplaySettingsChangedEventIsFreeSyncChanged - adlx::IADLXDisplaySettingsChangedEventIsGPUScalingChanged - adlx::IADLXDisplaySettingsChangedEventIsHDCPChanged - adlx::IADLXDisplaySettingsChangedEventIsIntegerScalingChanged - adlx::IADLXDisplaySettingsChangedEventIsPixelFormatChanged - adlx::IADLXDisplaySettingsChangedEventIsScalingModeChanged - adlx::IADLXDisplaySettingsChangedEventIsVariBrightChanged - adlx::IADLXDisplaySettingsChangedEventIsVSRChanged - adlx::IADLXDisplaySettingsChangedEventQueryInterface - adlx::IADLXDisplaySettingsChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event1.xml deleted file mode 100644 index 7a3741a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event1.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - adlx::IADLXDisplaySettingsChangedEvent1 - adlx::IADLXDisplaySettingsChangedEvent - adlx::IADLXDisplaySettingsChangedEvent2 - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent1::IsDisplayBlankingChanged - ()=0 - IsDisplayBlankingChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplaySettingsChangedEvent1Acquire - adlx::IADLXDisplaySettingsChangedEvent1GetDisplay - adlx::IADLXDisplaySettingsChangedEvent1GetOrigin - adlx::IADLXDisplaySettingsChangedEvent1IsColorDepthChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomColorBrightnessChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomColorContrastChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomColorHueChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomColorSaturationChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomColorTemperatureChanged - adlx::IADLXDisplaySettingsChangedEvent1IsCustomResolutionChanged - adlx::IADLXDisplaySettingsChangedEvent1IsDisplayBlankingChanged - adlx::IADLXDisplaySettingsChangedEvent1IsFreeSyncChanged - adlx::IADLXDisplaySettingsChangedEvent1IsGPUScalingChanged - adlx::IADLXDisplaySettingsChangedEvent1IsHDCPChanged - adlx::IADLXDisplaySettingsChangedEvent1IsIntegerScalingChanged - adlx::IADLXDisplaySettingsChangedEvent1IsPixelFormatChanged - adlx::IADLXDisplaySettingsChangedEvent1IsScalingModeChanged - adlx::IADLXDisplaySettingsChangedEvent1IsVariBrightChanged - adlx::IADLXDisplaySettingsChangedEvent1IsVSRChanged - adlx::IADLXDisplaySettingsChangedEvent1QueryInterface - adlx::IADLXDisplaySettingsChangedEvent1Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event2.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event2.xml deleted file mode 100644 index d2a8b93..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_event2.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - adlx::IADLXDisplaySettingsChangedEvent2 - adlx::IADLXDisplaySettingsChangedEvent1 - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedEvent2::IsDisplayConnectivityExperienceChanged - ()=0 - IsDisplayConnectivityExperienceChanged - - - - - - - - - - - - - - - - adlx::IADLXDisplaySettingsChangedEvent2Acquire - adlx::IADLXDisplaySettingsChangedEvent2GetDisplay - adlx::IADLXDisplaySettingsChangedEvent2GetOrigin - adlx::IADLXDisplaySettingsChangedEvent2IsColorDepthChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomColorBrightnessChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomColorContrastChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomColorHueChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomColorSaturationChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomColorTemperatureChanged - adlx::IADLXDisplaySettingsChangedEvent2IsCustomResolutionChanged - adlx::IADLXDisplaySettingsChangedEvent2IsDisplayBlankingChanged - adlx::IADLXDisplaySettingsChangedEvent2IsDisplayConnectivityExperienceChanged - adlx::IADLXDisplaySettingsChangedEvent2IsFreeSyncChanged - adlx::IADLXDisplaySettingsChangedEvent2IsGPUScalingChanged - adlx::IADLXDisplaySettingsChangedEvent2IsHDCPChanged - adlx::IADLXDisplaySettingsChangedEvent2IsIntegerScalingChanged - adlx::IADLXDisplaySettingsChangedEvent2IsPixelFormatChanged - adlx::IADLXDisplaySettingsChangedEvent2IsScalingModeChanged - adlx::IADLXDisplaySettingsChangedEvent2IsVariBrightChanged - adlx::IADLXDisplaySettingsChangedEvent2IsVSRChanged - adlx::IADLXDisplaySettingsChangedEvent2QueryInterface - adlx::IADLXDisplaySettingsChangedEvent2Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_listener.xml deleted file mode 100644 index 9addab7..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_settings_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXDisplaySettingsChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXDisplaySettingsChangedListener::OnDisplaySettingsChanged - (IADLXDisplaySettingsChangedEvent *pDisplaySettingChangedEvent)=0 - OnDisplaySettingsChanged - - IADLXDisplaySettingsChangedEvent * - pDisplaySettingChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXDisplaySettingsChangedListenerOnDisplaySettingsChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_v_s_r.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_v_s_r.xml deleted file mode 100644 index 9765606..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_v_s_r.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXDisplayVSR - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVSR::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVSR::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVSR::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXDisplayVSRAcquire - adlx::IADLXDisplayVSRIsEnabled - adlx::IADLXDisplayVSRIsSupported - adlx::IADLXDisplayVSRQueryInterface - adlx::IADLXDisplayVSRRelease - adlx::IADLXDisplayVSRSetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_vari_bright.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_vari_bright.xml deleted file mode 100644 index 104800b..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_display_vari_bright.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - adlx::IADLXDisplayVariBright - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsCurrentMaximizeBrightness - (adlx_bool *maximizeBrightness)=0 - IsCurrentMaximizeBrightness - - adlx_bool * - maximizeBrightness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsCurrentOptimizeBrightness - (adlx_bool *optimizeBrightness)=0 - IsCurrentOptimizeBrightness - - adlx_bool * - optimizeBrightness - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsCurrentBalanced - (adlx_bool *balanced)=0 - IsCurrentBalanced - - adlx_bool * - balanced - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsCurrentOptimizeBattery - (adlx_bool *optimizeBattery)=0 - IsCurrentOptimizeBattery - - adlx_bool * - optimizeBattery - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::IsCurrentMaximizeBattery - (adlx_bool *maximizeBattery)=0 - IsCurrentMaximizeBattery - - adlx_bool * - maximizeBattery - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetMaximizeBrightness - ()=0 - SetMaximizeBrightness - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetOptimizeBrightness - ()=0 - SetOptimizeBrightness - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetBalanced - ()=0 - SetBalanced - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetOptimizeBattery - ()=0 - SetOptimizeBattery - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXDisplayVariBright::SetMaximizeBattery - ()=0 - SetMaximizeBattery - - - - - - - - - - - - - - - - adlx::IADLXDisplayVariBrightAcquire - adlx::IADLXDisplayVariBrightIsCurrentBalanced - adlx::IADLXDisplayVariBrightIsCurrentMaximizeBattery - adlx::IADLXDisplayVariBrightIsCurrentMaximizeBrightness - adlx::IADLXDisplayVariBrightIsCurrentOptimizeBattery - adlx::IADLXDisplayVariBrightIsCurrentOptimizeBrightness - adlx::IADLXDisplayVariBrightIsEnabled - adlx::IADLXDisplayVariBrightIsSupported - adlx::IADLXDisplayVariBrightQueryInterface - adlx::IADLXDisplayVariBrightRelease - adlx::IADLXDisplayVariBrightSetBalanced - adlx::IADLXDisplayVariBrightSetEnabled - adlx::IADLXDisplayVariBrightSetMaximizeBattery - adlx::IADLXDisplayVariBrightSetMaximizeBrightness - adlx::IADLXDisplayVariBrightSetOptimizeBattery - adlx::IADLXDisplayVariBrightSetOptimizeBrightness - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_eyefinity_desktop.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_eyefinity_desktop.xml deleted file mode 100644 index f3a7225..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_eyefinity_desktop.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - adlx::IADLXEyefinityDesktop - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXEyefinityDesktop::GridSize - (adlx_uint *rows, adlx_uint *cols)=0 - GridSize - - adlx_uint * - rows - - - adlx_uint * - cols - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXEyefinityDesktop::GetDisplay - (adlx_uint row, adlx_uint col, IADLXDisplay **ppDisplay)=0 - GetDisplay - - adlx_uint - row - - - adlx_uint - col - - - IADLXDisplay ** - ppDisplay - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXEyefinityDesktop::DisplayOrientation - (adlx_uint row, adlx_uint col, ADLX_ORIENTATION *displayOrientation)=0 - DisplayOrientation - - adlx_uint - row - - - adlx_uint - col - - - ADLX_ORIENTATION * - displayOrientation - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXEyefinityDesktop::DisplaySize - (adlx_uint row, adlx_uint col, adlx_int *displayWidth, adlx_int *displayHeight)=0 - DisplaySize - - adlx_uint - row - - - adlx_uint - col - - - adlx_int * - displayWidth - - - adlx_int * - displayHeight - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXEyefinityDesktop::DisplayTopLeft - (adlx_uint row, adlx_uint col, ADLX_Point *displayLocationTopLeft)=0 - DisplayTopLeft - - adlx_uint - row - - - adlx_uint - col - - - ADLX_Point * - displayLocationTopLeft - - - - - - - - - - - - - - - - - adlx::IADLXEyefinityDesktopAcquire - adlx::IADLXEyefinityDesktopDisplayOrientation - adlx::IADLXEyefinityDesktopDisplaySize - adlx::IADLXEyefinityDesktopDisplayTopLeft - adlx::IADLXEyefinityDesktopGetDisplay - adlx::IADLXEyefinityDesktopGridSize - adlx::IADLXEyefinityDesktopQueryInterface - adlx::IADLXEyefinityDesktopRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s.xml deleted file mode 100644 index 3148586..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXFPS - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXFPS::TimeStamp - (adlx_int64 *ms)=0 - TimeStamp - - adlx_int64 * - ms - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXFPS::FPS - (adlx_int *data)=0 - FPS - - adlx_int * - data - - - - - - - - - - - - - - - - - adlx::IADLXFPSAcquire - adlx::IADLXFPSFPS - adlx::IADLXFPSQueryInterface - adlx::IADLXFPSRelease - adlx::IADLXFPSTimeStamp - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s_list.xml deleted file mode 100644 index 3bfcb67..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_f_p_s_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXFPSList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXFPSList::At - (const adlx_uint location, IADLXFPS **ppItem)=0 - At - - const adlx_uint - location - - - IADLXFPS ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXFPSList::Add_Back - (IADLXFPS *pItem)=0 - Add_Back - - IADLXFPS * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXFPSListAcquire - adlx::IADLXFPSListAdd_Back - adlx::IADLXFPSListAdd_Back - adlx::IADLXFPSListAt - adlx::IADLXFPSListAt - adlx::IADLXFPSListBegin - adlx::IADLXFPSListClear - adlx::IADLXFPSListEmpty - adlx::IADLXFPSListEnd - adlx::IADLXFPSListQueryInterface - adlx::IADLXFPSListRelease - adlx::IADLXFPSListRemove_Back - adlx::IADLXFPSListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u.xml deleted file mode 100644 index f4435b7..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - adlx::IADLXGPU - adlx::IADLXInterface - adlx::IADLXGPU1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::VendorId - (const char **vendorId)=0 - VendorId - - const char ** - vendorId - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::ASICFamilyType - (ADLX_ASIC_FAMILY_TYPE *asicFamilyType) const =0 - ASICFamilyType - - ADLX_ASIC_FAMILY_TYPE * - asicFamilyType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::Type - (ADLX_GPU_TYPE *gpuType) const =0 - Type - - ADLX_GPU_TYPE * - gpuType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::IsExternal - (adlx_bool *isExternal) const =0 - IsExternal - - adlx_bool * - isExternal - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::Name - (const char **name) const =0 - Name - - const char ** - name - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::DriverPath - (const char **driverPath) const =0 - DriverPath - - const char ** - driverPath - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::PNPString - (const char **pnpString) const =0 - PNPString - - const char ** - pnpString - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::HasDesktops - (adlx_bool *hasDesktops) const =0 - HasDesktops - - adlx_bool * - hasDesktops - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::TotalVRAM - (adlx_uint *vramMB)=0 - TotalVRAM - - adlx_uint * - vramMB - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::VRAMType - (const char **type)=0 - VRAMType - - const char ** - type - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::BIOSInfo - (const char **partNumber, const char **version, const char **date)=0 - BIOSInfo - - const char ** - partNumber - - - const char ** - version - - - const char ** - date - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::DeviceId - (const char **deviceId)=0 - DeviceId - - const char ** - deviceId - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::RevisionId - (const char **revisionId)=0 - RevisionId - - const char ** - revisionId - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::SubSystemId - (const char **subSystemId)=0 - SubSystemId - - const char ** - subSystemId - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::SubSystemVendorId - (const char **subSystemVendorId)=0 - SubSystemVendorId - - const char ** - subSystemVendorId - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU::UniqueId - (adlx_int *uniqueId)=0 - UniqueId - - adlx_int * - uniqueId - - - - - - - - - - - - - - - - - adlx::IADLXGPUAcquire - adlx::IADLXGPUASICFamilyType - adlx::IADLXGPUBIOSInfo - adlx::IADLXGPUDeviceId - adlx::IADLXGPUDriverPath - adlx::IADLXGPUHasDesktops - adlx::IADLXGPUIsExternal - adlx::IADLXGPUName - adlx::IADLXGPUPNPString - adlx::IADLXGPUQueryInterface - adlx::IADLXGPURelease - adlx::IADLXGPURevisionId - adlx::IADLXGPUSubSystemId - adlx::IADLXGPUSubSystemVendorId - adlx::IADLXGPUTotalVRAM - adlx::IADLXGPUType - adlx::IADLXGPUUniqueId - adlx::IADLXGPUVendorId - adlx::IADLXGPUVRAMType - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u1.xml deleted file mode 100644 index ce73e49..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u1.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - adlx::IADLXGPU1 - adlx::IADLXGPU - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU1::PCIBusType - (ADLX_PCI_BUS_TYPE *busType) const =0 - PCIBusType - - ADLX_PCI_BUS_TYPE * - busType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU1::PCIBusLaneWidth - (adlx_uint *laneWidth) const =0 - PCIBusLaneWidth - - adlx_uint * - laneWidth - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU1::MultiGPUMode - (ADLX_MGPU_MODE *mode)=0 - MultiGPUMode - - ADLX_MGPU_MODE * - mode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPU1::ProductName - (const char **productName) const =0 - ProductName - - const char ** - productName - - - - - - - - - - - - - - - - - adlx::IADLXGPU1Acquire - adlx::IADLXGPU1ASICFamilyType - adlx::IADLXGPU1BIOSInfo - adlx::IADLXGPU1DeviceId - adlx::IADLXGPU1DriverPath - adlx::IADLXGPU1HasDesktops - adlx::IADLXGPU1IsExternal - adlx::IADLXGPU1MultiGPUMode - adlx::IADLXGPU1Name - adlx::IADLXGPU1PCIBusLaneWidth - adlx::IADLXGPU1PCIBusType - adlx::IADLXGPU1PNPString - adlx::IADLXGPU1ProductName - adlx::IADLXGPU1QueryInterface - adlx::IADLXGPU1Release - adlx::IADLXGPU1RevisionId - adlx::IADLXGPU1SubSystemId - adlx::IADLXGPU1SubSystemVendorId - adlx::IADLXGPU1TotalVRAM - adlx::IADLXGPU1Type - adlx::IADLXGPU1UniqueId - adlx::IADLXGPU1VendorId - adlx::IADLXGPU1VRAMType - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning.xml deleted file mode 100644 index 76aab84..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - adlx::IADLXGPUAutoTuning - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsSupportedUndervoltGPU - (adlx_bool *supported)=0 - IsSupportedUndervoltGPU - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsSupportedOverclockGPU - (adlx_bool *supported)=0 - IsSupportedOverclockGPU - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsSupportedOverclockVRAM - (adlx_bool *supported)=0 - IsSupportedOverclockVRAM - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsCurrentUndervoltGPU - (adlx_bool *isUndervoltGPU)=0 - IsCurrentUndervoltGPU - - adlx_bool * - isUndervoltGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsCurrentOverclockGPU - (adlx_bool *isOverclockGPU)=0 - IsCurrentOverclockGPU - - adlx_bool * - isOverclockGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::IsCurrentOverclockVRAM - (adlx_bool *isOverclockVRAM)=0 - IsCurrentOverclockVRAM - - adlx_bool * - isOverclockVRAM - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::StartUndervoltGPU - (IADLXGPUAutoTuningCompleteListener *pCompleteListener)=0 - StartUndervoltGPU - - IADLXGPUAutoTuningCompleteListener * - pCompleteListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::StartOverclockGPU - (IADLXGPUAutoTuningCompleteListener *pCompleteListener)=0 - StartOverclockGPU - - IADLXGPUAutoTuningCompleteListener * - pCompleteListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUAutoTuning::StartOverclockVRAM - (IADLXGPUAutoTuningCompleteListener *pCompleteListener)=0 - StartOverclockVRAM - - IADLXGPUAutoTuningCompleteListener * - pCompleteListener - - - - - - - - - - - - - - - - - adlx::IADLXGPUAutoTuningAcquire - adlx::IADLXGPUAutoTuningIsCurrentOverclockGPU - adlx::IADLXGPUAutoTuningIsCurrentOverclockVRAM - adlx::IADLXGPUAutoTuningIsCurrentUndervoltGPU - adlx::IADLXGPUAutoTuningIsSupportedOverclockGPU - adlx::IADLXGPUAutoTuningIsSupportedOverclockVRAM - adlx::IADLXGPUAutoTuningIsSupportedUndervoltGPU - adlx::IADLXGPUAutoTuningQueryInterface - adlx::IADLXGPUAutoTuningRelease - adlx::IADLXGPUAutoTuningStartOverclockGPU - adlx::IADLXGPUAutoTuningStartOverclockVRAM - adlx::IADLXGPUAutoTuningStartUndervoltGPU - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml deleted file mode 100644 index 90eea2c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_event.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - adlx::IADLXGPUAutoTuningCompleteEvent - adlx::IADLXInterface - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUAutoTuningCompleteEvent::IsUndervoltGPUCompleted - ()=0 - IsUndervoltGPUCompleted - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUAutoTuningCompleteEvent::IsOverclockGPUCompleted - ()=0 - IsOverclockGPUCompleted - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUAutoTuningCompleteEvent::IsOverclockVRAMCompleted - ()=0 - IsOverclockVRAMCompleted - - - - - - - - - - - - - - - - adlx::IADLXGPUAutoTuningCompleteEventAcquire - adlx::IADLXGPUAutoTuningCompleteEventIsOverclockGPUCompleted - adlx::IADLXGPUAutoTuningCompleteEventIsOverclockVRAMCompleted - adlx::IADLXGPUAutoTuningCompleteEventIsUndervoltGPUCompleted - adlx::IADLXGPUAutoTuningCompleteEventQueryInterface - adlx::IADLXGPUAutoTuningCompleteEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml deleted file mode 100644 index 038a7ff..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_auto_tuning_complete_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXGPUAutoTuningCompleteListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUAutoTuningCompleteListener::OnGPUAutoTuningComplete - (IADLXGPUAutoTuningCompleteEvent *pGPUAutoTuningCompleteEvent)=0 - OnGPUAutoTuningComplete - - IADLXGPUAutoTuningCompleteEvent * - pGPUAutoTuningCompleteEvent - - - - - - - - - - - - - - - - - adlx::IADLXGPUAutoTuningCompleteListenerOnGPUAutoTuningComplete - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_list.xml deleted file mode 100644 index 929c91f..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXGPUList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUList::At - (const adlx_uint location, IADLXGPU **ppItem)=0 - At - - const adlx_uint - location - - - IADLXGPU ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUList::Add_Back - (IADLXGPU *pItem)=0 - Add_Back - - IADLXGPU * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXGPUListAcquire - adlx::IADLXGPUListAdd_Back - adlx::IADLXGPUListAdd_Back - adlx::IADLXGPUListAt - adlx::IADLXGPUListAt - adlx::IADLXGPUListBegin - adlx::IADLXGPUListClear - adlx::IADLXGPUListEmpty - adlx::IADLXGPUListEnd - adlx::IADLXGPUListQueryInterface - adlx::IADLXGPUListRelease - adlx::IADLXGPUListRemove_Back - adlx::IADLXGPUListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics.xml deleted file mode 100644 index ac0491a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics.xml +++ /dev/null @@ -1,235 +0,0 @@ - - - - adlx::IADLXGPUMetrics - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::TimeStamp - (adlx_int64 *ms)=0 - TimeStamp - - adlx_int64 * - ms - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUUsage - (adlx_double *data)=0 - GPUUsage - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUClockSpeed - (adlx_int *data)=0 - GPUClockSpeed - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUVRAMClockSpeed - (adlx_int *data)=0 - GPUVRAMClockSpeed - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUTemperature - (adlx_double *data)=0 - GPUTemperature - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUHotspotTemperature - (adlx_double *data)=0 - GPUHotspotTemperature - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUPower - (adlx_double *data)=0 - GPUPower - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUTotalBoardPower - (adlx_double *data)=0 - GPUTotalBoardPower - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUFanSpeed - (adlx_int *data)=0 - GPUFanSpeed - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUVRAM - (adlx_int *data)=0 - GPUVRAM - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUVoltage - (adlx_int *data)=0 - GPUVoltage - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetrics::GPUIntakeTemperature - (adlx_double *data)=0 - GPUIntakeTemperature - - adlx_double * - data - - - - - - - - - - - - - - - - - adlx::IADLXGPUMetricsAcquire - adlx::IADLXGPUMetricsGPUClockSpeed - adlx::IADLXGPUMetricsGPUFanSpeed - adlx::IADLXGPUMetricsGPUHotspotTemperature - adlx::IADLXGPUMetricsGPUIntakeTemperature - adlx::IADLXGPUMetricsGPUPower - adlx::IADLXGPUMetricsGPUTemperature - adlx::IADLXGPUMetricsGPUTotalBoardPower - adlx::IADLXGPUMetricsGPUUsage - adlx::IADLXGPUMetricsGPUVoltage - adlx::IADLXGPUMetricsGPUVRAM - adlx::IADLXGPUMetricsGPUVRAMClockSpeed - adlx::IADLXGPUMetricsQueryInterface - adlx::IADLXGPUMetricsRelease - adlx::IADLXGPUMetricsTimeStamp - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_list.xml deleted file mode 100644 index 797b948..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXGPUMetricsList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsList::At - (const adlx_uint location, IADLXGPUMetrics **ppItem)=0 - At - - const adlx_uint - location - - - IADLXGPUMetrics ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsList::Add_Back - (IADLXGPUMetrics *pItem)=0 - Add_Back - - IADLXGPUMetrics * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXGPUMetricsListAcquire - adlx::IADLXGPUMetricsListAdd_Back - adlx::IADLXGPUMetricsListAdd_Back - adlx::IADLXGPUMetricsListAt - adlx::IADLXGPUMetricsListAt - adlx::IADLXGPUMetricsListBegin - adlx::IADLXGPUMetricsListClear - adlx::IADLXGPUMetricsListEmpty - adlx::IADLXGPUMetricsListEnd - adlx::IADLXGPUMetricsListQueryInterface - adlx::IADLXGPUMetricsListRelease - adlx::IADLXGPUMetricsListRemove_Back - adlx::IADLXGPUMetricsListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_support.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_support.xml deleted file mode 100644 index 5f8f4be..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_metrics_support.xml +++ /dev/null @@ -1,459 +0,0 @@ - - - - adlx::IADLXGPUMetricsSupport - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUUsage - (adlx_bool *supported)=0 - IsSupportedGPUUsage - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUClockSpeed - (adlx_bool *supported)=0 - IsSupportedGPUClockSpeed - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUVRAMClockSpeed - (adlx_bool *supported)=0 - IsSupportedGPUVRAMClockSpeed - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUTemperature - (adlx_bool *supported)=0 - IsSupportedGPUTemperature - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUHotspotTemperature - (adlx_bool *supported)=0 - IsSupportedGPUHotspotTemperature - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUPower - (adlx_bool *supported)=0 - IsSupportedGPUPower - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUTotalBoardPower - (adlx_bool *supported)=0 - IsSupportedGPUTotalBoardPower - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUFanSpeed - (adlx_bool *supported)=0 - IsSupportedGPUFanSpeed - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUVRAM - (adlx_bool *supported)=0 - IsSupportedGPUVRAM - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUVoltage - (adlx_bool *supported)=0 - IsSupportedGPUVoltage - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUUsageRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUUsageRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUClockSpeedRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUClockSpeedRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUVRAMClockSpeedRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUVRAMClockSpeedRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUTemperatureRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUTemperatureRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUHotspotTemperatureRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUHotspotTemperatureRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUPowerRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUPowerRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUFanSpeedRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUFanSpeedRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUVRAMRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUVRAMRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUVoltageRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUVoltageRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUTotalBoardPowerRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUTotalBoardPowerRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::GetGPUIntakeTemperatureRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetGPUIntakeTemperatureRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUMetricsSupport::IsSupportedGPUIntakeTemperature - (adlx_bool *supported)=0 - IsSupportedGPUIntakeTemperature - - adlx_bool * - supported - - - - - - - - - - - - - - - - - adlx::IADLXGPUMetricsSupportAcquire - adlx::IADLXGPUMetricsSupportGetGPUClockSpeedRange - adlx::IADLXGPUMetricsSupportGetGPUFanSpeedRange - adlx::IADLXGPUMetricsSupportGetGPUHotspotTemperatureRange - adlx::IADLXGPUMetricsSupportGetGPUIntakeTemperatureRange - adlx::IADLXGPUMetricsSupportGetGPUPowerRange - adlx::IADLXGPUMetricsSupportGetGPUTemperatureRange - adlx::IADLXGPUMetricsSupportGetGPUTotalBoardPowerRange - adlx::IADLXGPUMetricsSupportGetGPUUsageRange - adlx::IADLXGPUMetricsSupportGetGPUVoltageRange - adlx::IADLXGPUMetricsSupportGetGPUVRAMClockSpeedRange - adlx::IADLXGPUMetricsSupportGetGPUVRAMRange - adlx::IADLXGPUMetricsSupportIsSupportedGPUClockSpeed - adlx::IADLXGPUMetricsSupportIsSupportedGPUFanSpeed - adlx::IADLXGPUMetricsSupportIsSupportedGPUHotspotTemperature - adlx::IADLXGPUMetricsSupportIsSupportedGPUIntakeTemperature - adlx::IADLXGPUMetricsSupportIsSupportedGPUPower - adlx::IADLXGPUMetricsSupportIsSupportedGPUTemperature - adlx::IADLXGPUMetricsSupportIsSupportedGPUTotalBoardPower - adlx::IADLXGPUMetricsSupportIsSupportedGPUUsage - adlx::IADLXGPUMetricsSupportIsSupportedGPUVoltage - adlx::IADLXGPUMetricsSupportIsSupportedGPUVRAM - adlx::IADLXGPUMetricsSupportIsSupportedGPUVRAMClockSpeed - adlx::IADLXGPUMetricsSupportQueryInterface - adlx::IADLXGPUMetricsSupportRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_preset_tuning.xml deleted file mode 100644 index 24826d3..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_preset_tuning.xml +++ /dev/null @@ -1,269 +0,0 @@ - - - - adlx::IADLXGPUPresetTuning - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsSupportedPowerSaver - (adlx_bool *supported)=0 - IsSupportedPowerSaver - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsSupportedQuiet - (adlx_bool *supported)=0 - IsSupportedQuiet - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsSupportedBalanced - (adlx_bool *supported)=0 - IsSupportedBalanced - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsSupportedTurbo - (adlx_bool *supported)=0 - IsSupportedTurbo - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsSupportedRage - (adlx_bool *supported)=0 - IsSupportedRage - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsCurrentPowerSaver - (adlx_bool *isPowerSaver)=0 - IsCurrentPowerSaver - - adlx_bool * - isPowerSaver - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsCurrentQuiet - (adlx_bool *isQuiet)=0 - IsCurrentQuiet - - adlx_bool * - isQuiet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsCurrentBalanced - (adlx_bool *isBalance)=0 - IsCurrentBalanced - - adlx_bool * - isBalance - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsCurrentTurbo - (adlx_bool *isTurbo)=0 - IsCurrentTurbo - - adlx_bool * - isTurbo - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::IsCurrentRage - (adlx_bool *isRage)=0 - IsCurrentRage - - adlx_bool * - isRage - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::SetPowerSaver - ()=0 - SetPowerSaver - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::SetQuiet - ()=0 - SetQuiet - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::SetBalanced - ()=0 - SetBalanced - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::SetTurbo - ()=0 - SetTurbo - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUPresetTuning::SetRage - ()=0 - SetRage - - - - - - - - - - - - - - - - adlx::IADLXGPUPresetTuningAcquire - adlx::IADLXGPUPresetTuningIsCurrentBalanced - adlx::IADLXGPUPresetTuningIsCurrentPowerSaver - adlx::IADLXGPUPresetTuningIsCurrentQuiet - adlx::IADLXGPUPresetTuningIsCurrentRage - adlx::IADLXGPUPresetTuningIsCurrentTurbo - adlx::IADLXGPUPresetTuningIsSupportedBalanced - adlx::IADLXGPUPresetTuningIsSupportedPowerSaver - adlx::IADLXGPUPresetTuningIsSupportedQuiet - adlx::IADLXGPUPresetTuningIsSupportedRage - adlx::IADLXGPUPresetTuningIsSupportedTurbo - adlx::IADLXGPUPresetTuningQueryInterface - adlx::IADLXGPUPresetTuningRelease - adlx::IADLXGPUPresetTuningSetBalanced - adlx::IADLXGPUPresetTuningSetPowerSaver - adlx::IADLXGPUPresetTuningSetQuiet - adlx::IADLXGPUPresetTuningSetRage - adlx::IADLXGPUPresetTuningSetTurbo - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event.xml deleted file mode 100644 index cec3c70..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - adlx::IADLXGPUTuningChangedEvent - adlx::IADLXChangedEvent - adlx::IADLXGPUTuningChangedEvent1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::GetGPU - (IADLXGPU **ppGPU)=0 - GetGPU - - IADLXGPU ** - ppGPU - - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsAutomaticTuningChanged - ()=0 - IsAutomaticTuningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsPresetTuningChanged - ()=0 - IsPresetTuningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsManualGPUCLKTuningChanged - ()=0 - IsManualGPUCLKTuningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsManualVRAMTuningChanged - ()=0 - IsManualVRAMTuningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsManualFanTuningChanged - ()=0 - IsManualFanTuningChanged - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent::IsManualPowerTuningChanged - ()=0 - IsManualPowerTuningChanged - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningChangedEventAcquire - adlx::IADLXGPUTuningChangedEventGetGPU - adlx::IADLXGPUTuningChangedEventGetOrigin - adlx::IADLXGPUTuningChangedEventIsAutomaticTuningChanged - adlx::IADLXGPUTuningChangedEventIsManualFanTuningChanged - adlx::IADLXGPUTuningChangedEventIsManualGPUCLKTuningChanged - adlx::IADLXGPUTuningChangedEventIsManualPowerTuningChanged - adlx::IADLXGPUTuningChangedEventIsManualVRAMTuningChanged - adlx::IADLXGPUTuningChangedEventIsPresetTuningChanged - adlx::IADLXGPUTuningChangedEventQueryInterface - adlx::IADLXGPUTuningChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event1.xml deleted file mode 100644 index 42485df..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_event1.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - adlx::IADLXGPUTuningChangedEvent1 - adlx::IADLXGPUTuningChangedEvent - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent1::IsSmartAccessMemoryChanged - ()=0 - IsSmartAccessMemoryChanged - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningChangedEvent1::GetSmartAccessMemoryStatus - (adlx_bool *pEnabled, adlx_bool *pCompleted)=0 - GetSmartAccessMemoryStatus - - adlx_bool * - pEnabled - - - adlx_bool * - pCompleted - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningChangedEvent1Acquire - adlx::IADLXGPUTuningChangedEvent1GetGPU - adlx::IADLXGPUTuningChangedEvent1GetOrigin - adlx::IADLXGPUTuningChangedEvent1GetSmartAccessMemoryStatus - adlx::IADLXGPUTuningChangedEvent1IsAutomaticTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsManualFanTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsManualGPUCLKTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsManualPowerTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsManualVRAMTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsPresetTuningChanged - adlx::IADLXGPUTuningChangedEvent1IsSmartAccessMemoryChanged - adlx::IADLXGPUTuningChangedEvent1QueryInterface - adlx::IADLXGPUTuningChangedEvent1Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_handling.xml deleted file mode 100644 index b5fec35..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_handling.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXGPUTuningChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningChangedHandling::AddGPUTuningEventListener - (IADLXGPUTuningChangedListener *pGPUTuningChangedListener)=0 - AddGPUTuningEventListener - - IADLXGPUTuningChangedListener * - pGPUTuningChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningChangedHandling::RemoveGPUTuningEventListener - (IADLXGPUTuningChangedListener *pGPUTuningChangedListener)=0 - RemoveGPUTuningEventListener - - IADLXGPUTuningChangedListener * - pGPUTuningChangedListener - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningChangedHandlingAcquire - adlx::IADLXGPUTuningChangedHandlingAddGPUTuningEventListener - adlx::IADLXGPUTuningChangedHandlingQueryInterface - adlx::IADLXGPUTuningChangedHandlingRelease - adlx::IADLXGPUTuningChangedHandlingRemoveGPUTuningEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_listener.xml deleted file mode 100644 index 62adeaa..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXGPUTuningChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUTuningChangedListener::OnGPUTuningChanged - (IADLXGPUTuningChangedEvent *pGPUTuningChangedEvent)=0 - OnGPUTuningChanged - - IADLXGPUTuningChangedEvent * - pGPUTuningChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningChangedListenerOnGPUTuningChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services.xml deleted file mode 100644 index d687fe0..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services.xml +++ /dev/null @@ -1,342 +0,0 @@ - - - - adlx::IADLXGPUTuningServices - adlx::IADLXInterface - adlx::IADLXGPUTuningServices1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetGPUTuningChangedHandling - (IADLXGPUTuningChangedHandling **ppGPUTuningChangedHandling)=0 - GetGPUTuningChangedHandling - - IADLXGPUTuningChangedHandling ** - ppGPUTuningChangedHandling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsAtFactory - (IADLXGPU *pGPU, adlx_bool *isFactory)=0 - IsAtFactory - - IADLXGPU * - pGPU - - - adlx_bool * - isFactory - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::ResetToFactory - (IADLXGPU *pGPU)=0 - ResetToFactory - - IADLXGPU * - pGPU - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedAutoTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedAutoTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedPresetTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedPresetTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedManualGFXTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedManualGFXTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedManualVRAMTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedManualVRAMTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedManualFanTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedManualFanTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::IsSupportedManualPowerTuning - (IADLXGPU *pGPU, adlx_bool *supported)=0 - IsSupportedManualPowerTuning - - IADLXGPU * - pGPU - - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetAutoTuning - (IADLXGPU *pGPU, IADLXInterface **ppAutoTuning)=0 - GetAutoTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppAutoTuning - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetPresetTuning - (IADLXGPU *pGPU, IADLXInterface **ppPresetTuning)=0 - GetPresetTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppPresetTuning - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetManualGFXTuning - (IADLXGPU *pGPU, IADLXInterface **ppManualGFXTuning)=0 - GetManualGFXTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppManualGFXTuning - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetManualVRAMTuning - (IADLXGPU *pGPU, IADLXInterface **ppManualVRAMTuning)=0 - GetManualVRAMTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppManualVRAMTuning - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetManualFanTuning - (IADLXGPU *pGPU, IADLXInterface **ppManualFanTuning)=0 - GetManualFanTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppManualFanTuning - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices::GetManualPowerTuning - (IADLXGPU *pGPU, IADLXInterface **ppManualPowerTuning)=0 - GetManualPowerTuning - - IADLXGPU * - pGPU - - - IADLXInterface ** - ppManualPowerTuning - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningServicesAcquire - adlx::IADLXGPUTuningServicesGetAutoTuning - adlx::IADLXGPUTuningServicesGetGPUTuningChangedHandling - adlx::IADLXGPUTuningServicesGetManualFanTuning - adlx::IADLXGPUTuningServicesGetManualGFXTuning - adlx::IADLXGPUTuningServicesGetManualPowerTuning - adlx::IADLXGPUTuningServicesGetManualVRAMTuning - adlx::IADLXGPUTuningServicesGetPresetTuning - adlx::IADLXGPUTuningServicesIsAtFactory - adlx::IADLXGPUTuningServicesIsSupportedAutoTuning - adlx::IADLXGPUTuningServicesIsSupportedManualFanTuning - adlx::IADLXGPUTuningServicesIsSupportedManualGFXTuning - adlx::IADLXGPUTuningServicesIsSupportedManualPowerTuning - adlx::IADLXGPUTuningServicesIsSupportedManualVRAMTuning - adlx::IADLXGPUTuningServicesIsSupportedPresetTuning - adlx::IADLXGPUTuningServicesQueryInterface - adlx::IADLXGPUTuningServicesRelease - adlx::IADLXGPUTuningServicesResetToFactory - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services1.xml deleted file mode 100644 index 07349db..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_u_tuning_services1.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - adlx::IADLXGPUTuningServices1 - adlx::IADLXGPUTuningServices - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUTuningServices1::GetSmartAccessMemory - (IADLXGPU *pGPU, IADLXSmartAccessMemory **ppSmartAccessMemory)=0 - GetSmartAccessMemory - - IADLXGPU * - pGPU - - - IADLXSmartAccessMemory ** - ppSmartAccessMemory - - - - - - - - - - - - - - - - - adlx::IADLXGPUTuningServices1Acquire - adlx::IADLXGPUTuningServices1GetAutoTuning - adlx::IADLXGPUTuningServices1GetGPUTuningChangedHandling - adlx::IADLXGPUTuningServices1GetManualFanTuning - adlx::IADLXGPUTuningServices1GetManualGFXTuning - adlx::IADLXGPUTuningServices1GetManualPowerTuning - adlx::IADLXGPUTuningServices1GetManualVRAMTuning - adlx::IADLXGPUTuningServices1GetPresetTuning - adlx::IADLXGPUTuningServices1GetSmartAccessMemory - adlx::IADLXGPUTuningServices1IsAtFactory - adlx::IADLXGPUTuningServices1IsSupportedAutoTuning - adlx::IADLXGPUTuningServices1IsSupportedManualFanTuning - adlx::IADLXGPUTuningServices1IsSupportedManualGFXTuning - adlx::IADLXGPUTuningServices1IsSupportedManualPowerTuning - adlx::IADLXGPUTuningServices1IsSupportedManualVRAMTuning - adlx::IADLXGPUTuningServices1IsSupportedPresetTuning - adlx::IADLXGPUTuningServices1QueryInterface - adlx::IADLXGPUTuningServices1Release - adlx::IADLXGPUTuningServices1ResetToFactory - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_changed_handling.xml deleted file mode 100644 index e29d537..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_changed_handling.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXGPUsChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUsChangedHandling::AddGPUsListEventListener - (IADLXGPUsEventListener *pListener)=0 - AddGPUsListEventListener - - IADLXGPUsEventListener * - pListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXGPUsChangedHandling::RemoveGPUsListEventListener - (IADLXGPUsEventListener *pListener)=0 - RemoveGPUsListEventListener - - IADLXGPUsEventListener * - pListener - - - - - - - - - - - - - - - - - adlx::IADLXGPUsChangedHandlingAcquire - adlx::IADLXGPUsChangedHandlingAddGPUsListEventListener - adlx::IADLXGPUsChangedHandlingQueryInterface - adlx::IADLXGPUsChangedHandlingRelease - adlx::IADLXGPUsChangedHandlingRemoveGPUsListEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_event_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_event_listener.xml deleted file mode 100644 index 344358c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_g_p_us_event_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXGPUsEventListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXGPUsEventListener::OnGPUListChanged - (IADLXGPUList *pNewGPUs)=0 - OnGPUListChanged - - IADLXGPUList * - pNewGPUs - - - - - - - - - - - - - - - - - adlx::IADLXGPUsEventListenerOnGPUListChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_i2_c.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_i2_c.xml deleted file mode 100644 index b0ecde3..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_i2_c.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - adlx::IADLXI2C - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXI2C::Version - (adlx_int *major, adlx_int *minor)=0 - Version - - adlx_int * - major - - - adlx_int * - minor - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXI2C::IsSupported - (ADLX_I2C_LINE line, adlx_int address, adlx_bool *isSupported)=0 - IsSupported - - ADLX_I2C_LINE - line - - - adlx_int - address - - - adlx_bool * - isSupported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXI2C::Read - (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte *data)=0 - Read - - ADLX_I2C_LINE - line - - - adlx_int - speed - - - adlx_int - address - - - adlx_int - offset - - - adlx_int - dataSize - - - adlx_byte * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXI2C::RepeatedStartRead - (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte *data)=0 - RepeatedStartRead - - ADLX_I2C_LINE - line - - - adlx_int - speed - - - adlx_int - address - - - adlx_int - offset - - - adlx_int - dataSize - - - adlx_byte * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXI2C::Write - (ADLX_I2C_LINE line, adlx_int speed, adlx_int address, adlx_int offset, adlx_int dataSize, adlx_byte *data)=0 - Write - - ADLX_I2C_LINE - line - - - adlx_int - speed - - - adlx_int - address - - - adlx_int - offset - - - adlx_int - dataSize - - - adlx_byte * - data - - - - - - - - - - - - - - - - - adlx::IADLXI2CAcquire - adlx::IADLXI2CIsSupported - adlx::IADLXI2CQueryInterface - adlx::IADLXI2CRead - adlx::IADLXI2CRelease - adlx::IADLXI2CRepeatedStartRead - adlx::IADLXI2CVersion - adlx::IADLXI2CWrite - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface.xml deleted file mode 100644 index ebfd095..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - adlx::IADLXInterface - adlx::IADLX3DAnisotropicFiltering - adlx::IADLX3DAntiAliasing - adlx::IADLX3DAntiLag - adlx::IADLX3DBoost - adlx::IADLX3DChill - adlx::IADLX3DEnhancedSync - adlx::IADLX3DFrameRateTargetControl - adlx::IADLX3DImageSharpening - adlx::IADLX3DMorphologicalAntiAliasing - adlx::IADLX3DRadeonSuperResolution - adlx::IADLX3DResetShaderCache - adlx::IADLX3DSettingsChangedHandling - adlx::IADLX3DSettingsServices - adlx::IADLX3DTessellation - adlx::IADLX3DWaitForVerticalRefresh - adlx::IADLXAllMetrics - adlx::IADLXChangedEvent - adlx::IADLXDesktop - adlx::IADLXDesktopChangedHandling - adlx::IADLXDesktopServices - adlx::IADLXDisplay - adlx::IADLXDisplay3DLUT - adlx::IADLXDisplayBlanking - adlx::IADLXDisplayChangedHandling - adlx::IADLXDisplayColorDepth - adlx::IADLXDisplayConnectivityExperience - adlx::IADLXDisplayCustomColor - adlx::IADLXDisplayCustomResolution - adlx::IADLXDisplayFreeSync - adlx::IADLXDisplayGPUScaling - adlx::IADLXDisplayGamma - adlx::IADLXDisplayGamut - adlx::IADLXDisplayHDCP - adlx::IADLXDisplayIntegerScaling - adlx::IADLXDisplayPixelFormat - adlx::IADLXDisplayResolution - adlx::IADLXDisplayScalingMode - adlx::IADLXDisplayServices - adlx::IADLXDisplayVSR - adlx::IADLXDisplayVariBright - adlx::IADLXEyefinityDesktop - adlx::IADLXFPS - adlx::IADLXGPU - adlx::IADLXGPUAutoTuning - adlx::IADLXGPUAutoTuningCompleteEvent - adlx::IADLXGPUMetrics - adlx::IADLXGPUMetricsSupport - adlx::IADLXGPUPresetTuning - adlx::IADLXGPUTuningChangedHandling - adlx::IADLXGPUTuningServices - adlx::IADLXGPUsChangedHandling - adlx::IADLXI2C - adlx::IADLXList - adlx::IADLXManualFanTuning - adlx::IADLXManualFanTuningState - adlx::IADLXManualGraphicsTuning1 - adlx::IADLXManualGraphicsTuning2 - adlx::IADLXManualPowerTuning - adlx::IADLXManualTuningState - adlx::IADLXManualVRAMTuning1 - adlx::IADLXManualVRAMTuning2 - adlx::IADLXMemoryTimingDescription - adlx::IADLXPerformanceMonitoringServices - adlx::IADLXPowerTuningChangedHandling - adlx::IADLXPowerTuningServices - adlx::IADLXSimpleEyefinity - adlx::IADLXSmartAccessMemory - adlx::IADLXSmartShiftMax - adlx::IADLXSystem1 - adlx::IADLXSystemMetrics - adlx::IADLXSystemMetricsSupport - - - adlx_long ADLX_STD_CALL - virtual adlx_long ADLX_STD_CALL adlx::IADLXInterface::Acquire - ()=0 - Acquire - - - - - - - - - - adlx_long ADLX_STD_CALL - virtual adlx_long ADLX_STD_CALL adlx::IADLXInterface::Release - ()=0 - Release - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXInterface::QueryInterface - (const wchar_t *interfaceId, void **ppInterface)=0 - QueryInterface - - const wchar_t * - interfaceId - - - void ** - ppInterface - - - - - - - - - - - - - - - - - adlx::IADLXInterfaceAcquire - adlx::IADLXInterfaceQueryInterface - adlx::IADLXInterfaceRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface_ptr___t.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface_ptr___t.xml deleted file mode 100644 index 822f93b..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_interface_ptr___t.xml +++ /dev/null @@ -1,414 +0,0 @@ - - - - adlx::IADLXInterfacePtr_T - - - class _Interf - - - - - _Interf * - _Interf* adlx::IADLXInterfacePtr_T< _Interf >::m_pInterf - - m_pInterf - - - - - - - - - - - - void - void adlx::IADLXInterfacePtr_T< _Interf >::InternalAcquire - () - InternalAcquire - - - - - - - - - - void - void adlx::IADLXInterfacePtr_T< _Interf >::InternalRelease - () - InternalRelease - - - - - - - - - - - - - adlx::IADLXInterfacePtr_T< _Interf >::IADLXInterfacePtr_T - () - IADLXInterfacePtr_T - - - - - - - - - - - adlx::IADLXInterfacePtr_T< _Interf >::IADLXInterfacePtr_T - (const IADLXInterfacePtr_T< _Interf > &p) - IADLXInterfacePtr_T - - const IADLXInterfacePtr_T< _Interf > & - p - - - - - - - - - - - - adlx::IADLXInterfacePtr_T< _Interf >::IADLXInterfacePtr_T - (_Interf *pInterface) - IADLXInterfacePtr_T - - _Interf * - pInterface - - - - - - - - - - - - - class _OtherInterf - - - - adlx::IADLXInterfacePtr_T< _Interf >::IADLXInterfacePtr_T - (const IADLXInterfacePtr_T< _OtherInterf > &cp) - IADLXInterfacePtr_T - - const IADLXInterfacePtr_T< _OtherInterf > & - cp - - - - - - - - - - - - - class _OtherInterf - - - - adlx::IADLXInterfacePtr_T< _Interf >::IADLXInterfacePtr_T - (_OtherInterf *cp) - IADLXInterfacePtr_T - - _OtherInterf * - cp - - - - - - - - - - - - adlx::IADLXInterfacePtr_T< _Interf >::~IADLXInterfacePtr_T - () - ~IADLXInterfacePtr_T - - - - - - - - - - IADLXInterfacePtr_T & - IADLXInterfacePtr_T& adlx::IADLXInterfacePtr_T< _Interf >::operator= - (_Interf *pInterface) - operator= - - _Interf * - pInterface - - - - - - - - - - - IADLXInterfacePtr_T & - IADLXInterfacePtr_T& adlx::IADLXInterfacePtr_T< _Interf >::operator= - (const IADLXInterfacePtr_T< _Interf > &cp) - operator= - - const IADLXInterfacePtr_T< _Interf > & - cp - - - - - - - - - - - void - void adlx::IADLXInterfacePtr_T< _Interf >::Attach - (_Interf *pInterface) - Attach - - _Interf * - pInterface - - - - - - - - - - - _Interf * - _Interf* adlx::IADLXInterfacePtr_T< _Interf >::Detach - () - Detach - - - - - - - - - - void - void adlx::IADLXInterfacePtr_T< _Interf >::Release - () - Release - - - - - - - - - - - adlx::IADLXInterfacePtr_T< _Interf >::operator _Interf * - () const - operator _Interf * - - - - - - - - - - _Interf & - _Interf& adlx::IADLXInterfacePtr_T< _Interf >::operator* - () const - operator* - - - - - - - - - - _Interf ** - _Interf** adlx::IADLXInterfacePtr_T< _Interf >::operator& - () - operator& - - - - - - - - - - _Interf * - _Interf* adlx::IADLXInterfacePtr_T< _Interf >::operator-> - () const - operator-> - - - - - - - - - - bool - bool adlx::IADLXInterfacePtr_T< _Interf >::operator== - (const IADLXInterfacePtr_T< _Interf > &p) - operator== - - const IADLXInterfacePtr_T< _Interf > & - p - - - - - - - - - - - bool - bool adlx::IADLXInterfacePtr_T< _Interf >::operator== - (_Interf *p) - operator== - - _Interf * - p - - - - - - - - - - - bool - bool adlx::IADLXInterfacePtr_T< _Interf >::operator!= - (const IADLXInterfacePtr_T< _Interf > &p) - operator!= - - const IADLXInterfacePtr_T< _Interf > & - p - - - - - - - - - - - bool - bool adlx::IADLXInterfacePtr_T< _Interf >::operator!= - (_Interf *p) - operator!= - - _Interf * - p - - - - - - - - - - - _Interf * - _Interf* adlx::IADLXInterfacePtr_T< _Interf >::GetPtr - () - GetPtr - - - - - - - - - - const _Interf * - const _Interf* adlx::IADLXInterfacePtr_T< _Interf >::GetPtr - () const - GetPtr - - - - - - - - - - - - - - - - adlx::IADLXInterfacePtr_TAttach - adlx::IADLXInterfacePtr_TDetach - adlx::IADLXInterfacePtr_TGetPtr - adlx::IADLXInterfacePtr_TGetPtr - adlx::IADLXInterfacePtr_TIADLXInterfacePtr_T - adlx::IADLXInterfacePtr_TIADLXInterfacePtr_T - adlx::IADLXInterfacePtr_TIADLXInterfacePtr_T - adlx::IADLXInterfacePtr_TIADLXInterfacePtr_T - adlx::IADLXInterfacePtr_TIADLXInterfacePtr_T - adlx::IADLXInterfacePtr_TInternalAcquire - adlx::IADLXInterfacePtr_TInternalRelease - adlx::IADLXInterfacePtr_Tm_pInterf - adlx::IADLXInterfacePtr_Toperator _Interf * - adlx::IADLXInterfacePtr_Toperator!= - adlx::IADLXInterfacePtr_Toperator!= - adlx::IADLXInterfacePtr_Toperator& - adlx::IADLXInterfacePtr_Toperator* - adlx::IADLXInterfacePtr_Toperator-> - adlx::IADLXInterfacePtr_Toperator= - adlx::IADLXInterfacePtr_Toperator= - adlx::IADLXInterfacePtr_Toperator== - adlx::IADLXInterfacePtr_Toperator== - adlx::IADLXInterfacePtr_TRelease - adlx::IADLXInterfacePtr_T~IADLXInterfacePtr_T - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_list.xml deleted file mode 100644 index b3c318a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_list.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - adlx::IADLXList - adlx::IADLXInterface - adlx::IADLXAllMetricsList - adlx::IADLXDesktopList - adlx::IADLXDisplayList - adlx::IADLXDisplayResolutionList - adlx::IADLXFPSList - adlx::IADLXGPUList - adlx::IADLXGPUMetricsList - adlx::IADLXManualFanTuningStateList - adlx::IADLXManualTuningStateList - adlx::IADLXMemoryTimingDescriptionList - adlx::IADLXSystemMetricsList - - - adlx_uint ADLX_STD_CALL - virtual adlx_uint ADLX_STD_CALL adlx::IADLXList::Size - ()=0 - Size - - - - - - - - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXList::Empty - ()=0 - Empty - - - - - - - - - - adlx_uint ADLX_STD_CALL - virtual adlx_uint ADLX_STD_CALL adlx::IADLXList::Begin - ()=0 - Begin - - - - - - - - - - adlx_uint ADLX_STD_CALL - virtual adlx_uint ADLX_STD_CALL adlx::IADLXList::End - ()=0 - End - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXList::At - (const adlx_uint location, IADLXInterface **ppItem)=0 - At - - const adlx_uint - location - - - IADLXInterface ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXList::Clear - ()=0 - Clear - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXList::Remove_Back - ()=0 - Remove_Back - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXList::Add_Back - (IADLXInterface *pItem)=0 - Add_Back - - IADLXInterface * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXListAcquire - adlx::IADLXListAdd_Back - adlx::IADLXListAt - adlx::IADLXListBegin - adlx::IADLXListClear - adlx::IADLXListEmpty - adlx::IADLXListEnd - adlx::IADLXListQueryInterface - adlx::IADLXListRelease - adlx::IADLXListRemove_Back - adlx::IADLXListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_log.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_log.xml deleted file mode 100644 index 4ac3a65..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_log.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXLog - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXLog::WriteLog - (const wchar_t *msg)=0 - WriteLog - - const wchar_t * - msg - - - - - - - - - - - - - - - - - adlx::IADLXLogWriteLog - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning.xml deleted file mode 100644 index d2d4ec7..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning.xml +++ /dev/null @@ -1,387 +0,0 @@ - - - - adlx::IADLXManualFanTuning - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetFanTuningRanges - (ADLX_IntRange *speedRange, ADLX_IntRange *temperatureRange)=0 - GetFanTuningRanges - - ADLX_IntRange * - speedRange - - - ADLX_IntRange * - temperatureRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetFanTuningStates - (IADLXManualFanTuningStateList **ppStates)=0 - GetFanTuningStates - - IADLXManualFanTuningStateList ** - ppStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetEmptyFanTuningStates - (IADLXManualFanTuningStateList **ppStates)=0 - GetEmptyFanTuningStates - - IADLXManualFanTuningStateList ** - ppStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::IsValidFanTuningStates - (IADLXManualFanTuningStateList *pStates, adlx_int *errorIndex)=0 - IsValidFanTuningStates - - IADLXManualFanTuningStateList * - pStates - - - adlx_int * - errorIndex - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::SetFanTuningStates - (IADLXManualFanTuningStateList *pStates)=0 - SetFanTuningStates - - IADLXManualFanTuningStateList * - pStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::IsSupportedZeroRPM - (adlx_bool *supported)=0 - IsSupportedZeroRPM - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetZeroRPMState - (adlx_bool *isSet)=0 - GetZeroRPMState - - adlx_bool * - isSet - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::SetZeroRPMState - (adlx_bool set)=0 - SetZeroRPMState - - adlx_bool - set - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::IsSupportedMinAcousticLimit - (adlx_bool *supported)=0 - IsSupportedMinAcousticLimit - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetMinAcousticLimitRange - (ADLX_IntRange *tuningRange)=0 - GetMinAcousticLimitRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetMinAcousticLimit - (adlx_int *value)=0 - GetMinAcousticLimit - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::SetMinAcousticLimit - (adlx_int value)=0 - SetMinAcousticLimit - - adlx_int - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::IsSupportedMinFanSpeed - (adlx_bool *supported)=0 - IsSupportedMinFanSpeed - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetMinFanSpeedRange - (ADLX_IntRange *tuningRange)=0 - GetMinFanSpeedRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetMinFanSpeed - (adlx_int *value)=0 - GetMinFanSpeed - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::SetMinFanSpeed - (adlx_int value)=0 - SetMinFanSpeed - - adlx_int - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::IsSupportedTargetFanSpeed - (adlx_bool *supported)=0 - IsSupportedTargetFanSpeed - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetTargetFanSpeedRange - (ADLX_IntRange *tuningRange)=0 - GetTargetFanSpeedRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::GetTargetFanSpeed - (adlx_int *value)=0 - GetTargetFanSpeed - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuning::SetTargetFanSpeed - (adlx_int value)=0 - SetTargetFanSpeed - - adlx_int - value - - - - - - - - - - - - - - - - - adlx::IADLXManualFanTuningAcquire - adlx::IADLXManualFanTuningGetEmptyFanTuningStates - adlx::IADLXManualFanTuningGetFanTuningRanges - adlx::IADLXManualFanTuningGetFanTuningStates - adlx::IADLXManualFanTuningGetMinAcousticLimit - adlx::IADLXManualFanTuningGetMinAcousticLimitRange - adlx::IADLXManualFanTuningGetMinFanSpeed - adlx::IADLXManualFanTuningGetMinFanSpeedRange - adlx::IADLXManualFanTuningGetTargetFanSpeed - adlx::IADLXManualFanTuningGetTargetFanSpeedRange - adlx::IADLXManualFanTuningGetZeroRPMState - adlx::IADLXManualFanTuningIsSupportedMinAcousticLimit - adlx::IADLXManualFanTuningIsSupportedMinFanSpeed - adlx::IADLXManualFanTuningIsSupportedTargetFanSpeed - adlx::IADLXManualFanTuningIsSupportedZeroRPM - adlx::IADLXManualFanTuningIsValidFanTuningStates - adlx::IADLXManualFanTuningQueryInterface - adlx::IADLXManualFanTuningRelease - adlx::IADLXManualFanTuningSetFanTuningStates - adlx::IADLXManualFanTuningSetMinAcousticLimit - adlx::IADLXManualFanTuningSetMinFanSpeed - adlx::IADLXManualFanTuningSetTargetFanSpeed - adlx::IADLXManualFanTuningSetZeroRPMState - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state.xml deleted file mode 100644 index b9fcc86..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - adlx::IADLXManualFanTuningState - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningState::GetFanSpeed - (adlx_int *value)=0 - GetFanSpeed - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningState::SetFanSpeed - (adlx_int value)=0 - SetFanSpeed - - adlx_int - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningState::GetTemperature - (adlx_int *value)=0 - GetTemperature - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningState::SetTemperature - (adlx_int value)=0 - SetTemperature - - adlx_int - value - - - - - - - - - - - - - - - - - adlx::IADLXManualFanTuningStateAcquire - adlx::IADLXManualFanTuningStateGetFanSpeed - adlx::IADLXManualFanTuningStateGetTemperature - adlx::IADLXManualFanTuningStateQueryInterface - adlx::IADLXManualFanTuningStateRelease - adlx::IADLXManualFanTuningStateSetFanSpeed - adlx::IADLXManualFanTuningStateSetTemperature - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state_list.xml deleted file mode 100644 index ce89cf9..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_fan_tuning_state_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXManualFanTuningStateList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningStateList::At - (const adlx_uint location, IADLXManualFanTuningState **ppItem)=0 - At - - const adlx_uint - location - - - IADLXManualFanTuningState ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualFanTuningStateList::Add_Back - (IADLXManualFanTuningState *pItem)=0 - Add_Back - - IADLXManualFanTuningState * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXManualFanTuningStateListAcquire - adlx::IADLXManualFanTuningStateListAdd_Back - adlx::IADLXManualFanTuningStateListAdd_Back - adlx::IADLXManualFanTuningStateListAt - adlx::IADLXManualFanTuningStateListAt - adlx::IADLXManualFanTuningStateListBegin - adlx::IADLXManualFanTuningStateListClear - adlx::IADLXManualFanTuningStateListEmpty - adlx::IADLXManualFanTuningStateListEnd - adlx::IADLXManualFanTuningStateListQueryInterface - adlx::IADLXManualFanTuningStateListRelease - adlx::IADLXManualFanTuningStateListRemove_Back - adlx::IADLXManualFanTuningStateListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning1.xml deleted file mode 100644 index e120167..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning1.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - adlx::IADLXManualGraphicsTuning1 - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning1::GetGPUTuningRanges - (ADLX_IntRange *frequencyRange, ADLX_IntRange *voltageRange)=0 - GetGPUTuningRanges - - ADLX_IntRange * - frequencyRange - - - ADLX_IntRange * - voltageRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning1::GetGPUTuningStates - (IADLXManualTuningStateList **ppGFXStates)=0 - GetGPUTuningStates - - IADLXManualTuningStateList ** - ppGFXStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning1::GetEmptyGPUTuningStates - (IADLXManualTuningStateList **ppGFXStates)=0 - GetEmptyGPUTuningStates - - IADLXManualTuningStateList ** - ppGFXStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning1::IsValidGPUTuningStates - (IADLXManualTuningStateList *pGFXStates, adlx_int *errorIndex)=0 - IsValidGPUTuningStates - - IADLXManualTuningStateList * - pGFXStates - - - adlx_int * - errorIndex - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning1::SetGPUTuningStates - (IADLXManualTuningStateList *pGFXStates)=0 - SetGPUTuningStates - - IADLXManualTuningStateList * - pGFXStates - - - - - - - - - - - - - - - - - adlx::IADLXManualGraphicsTuning1Acquire - adlx::IADLXManualGraphicsTuning1GetEmptyGPUTuningStates - adlx::IADLXManualGraphicsTuning1GetGPUTuningRanges - adlx::IADLXManualGraphicsTuning1GetGPUTuningStates - adlx::IADLXManualGraphicsTuning1IsValidGPUTuningStates - adlx::IADLXManualGraphicsTuning1QueryInterface - adlx::IADLXManualGraphicsTuning1Release - adlx::IADLXManualGraphicsTuning1SetGPUTuningStates - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning2.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning2.xml deleted file mode 100644 index 7ce8205..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_graphics_tuning2.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - - adlx::IADLXManualGraphicsTuning2 - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUMinFrequencyRange - (ADLX_IntRange *tuningRange)=0 - GetGPUMinFrequencyRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUMinFrequency - (adlx_int *minFreq)=0 - GetGPUMinFrequency - - adlx_int * - minFreq - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::SetGPUMinFrequency - (adlx_int minFreq)=0 - SetGPUMinFrequency - - adlx_int - minFreq - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUMaxFrequencyRange - (ADLX_IntRange *tuningRange)=0 - GetGPUMaxFrequencyRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUMaxFrequency - (adlx_int *maxFreq)=0 - GetGPUMaxFrequency - - adlx_int * - maxFreq - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::SetGPUMaxFrequency - (adlx_int maxFreq)=0 - SetGPUMaxFrequency - - adlx_int - maxFreq - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUVoltageRange - (ADLX_IntRange *tuningRange)=0 - GetGPUVoltageRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::GetGPUVoltage - (adlx_int *volt)=0 - GetGPUVoltage - - adlx_int * - volt - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualGraphicsTuning2::SetGPUVoltage - (adlx_int volt)=0 - SetGPUVoltage - - adlx_int - volt - - - - - - - - - - - - - - - - - adlx::IADLXManualGraphicsTuning2Acquire - adlx::IADLXManualGraphicsTuning2GetGPUMaxFrequency - adlx::IADLXManualGraphicsTuning2GetGPUMaxFrequencyRange - adlx::IADLXManualGraphicsTuning2GetGPUMinFrequency - adlx::IADLXManualGraphicsTuning2GetGPUMinFrequencyRange - adlx::IADLXManualGraphicsTuning2GetGPUVoltage - adlx::IADLXManualGraphicsTuning2GetGPUVoltageRange - adlx::IADLXManualGraphicsTuning2QueryInterface - adlx::IADLXManualGraphicsTuning2Release - adlx::IADLXManualGraphicsTuning2SetGPUMaxFrequency - adlx::IADLXManualGraphicsTuning2SetGPUMinFrequency - adlx::IADLXManualGraphicsTuning2SetGPUVoltage - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_power_tuning.xml deleted file mode 100644 index ecf495d..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_power_tuning.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - adlx::IADLXManualPowerTuning - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::GetPowerLimitRange - (ADLX_IntRange *tuningRange)=0 - GetPowerLimitRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::GetPowerLimit - (adlx_int *curVal)=0 - GetPowerLimit - - adlx_int * - curVal - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::SetPowerLimit - (adlx_int curVal)=0 - SetPowerLimit - - adlx_int - curVal - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::IsSupportedTDCLimit - (adlx_bool *supported)=0 - IsSupportedTDCLimit - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::GetTDCLimitRange - (ADLX_IntRange *tuningRange)=0 - GetTDCLimitRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::GetTDCLimit - (adlx_int *curVal)=0 - GetTDCLimit - - adlx_int * - curVal - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualPowerTuning::SetTDCLimit - (adlx_int curVal)=0 - SetTDCLimit - - adlx_int - curVal - - - - - - - - - - - - - - - - - adlx::IADLXManualPowerTuningAcquire - adlx::IADLXManualPowerTuningGetPowerLimit - adlx::IADLXManualPowerTuningGetPowerLimitRange - adlx::IADLXManualPowerTuningGetTDCLimit - adlx::IADLXManualPowerTuningGetTDCLimitRange - adlx::IADLXManualPowerTuningIsSupportedTDCLimit - adlx::IADLXManualPowerTuningQueryInterface - adlx::IADLXManualPowerTuningRelease - adlx::IADLXManualPowerTuningSetPowerLimit - adlx::IADLXManualPowerTuningSetTDCLimit - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state.xml deleted file mode 100644 index 97c896e..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - adlx::IADLXManualTuningState - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningState::GetFrequency - (adlx_int *value)=0 - GetFrequency - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningState::SetFrequency - (adlx_int value)=0 - SetFrequency - - adlx_int - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningState::GetVoltage - (adlx_int *value)=0 - GetVoltage - - adlx_int * - value - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningState::SetVoltage - (adlx_int value)=0 - SetVoltage - - adlx_int - value - - - - - - - - - - - - - - - - - adlx::IADLXManualTuningStateAcquire - adlx::IADLXManualTuningStateGetFrequency - adlx::IADLXManualTuningStateGetVoltage - adlx::IADLXManualTuningStateQueryInterface - adlx::IADLXManualTuningStateRelease - adlx::IADLXManualTuningStateSetFrequency - adlx::IADLXManualTuningStateSetVoltage - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state_list.xml deleted file mode 100644 index 3cac33a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_tuning_state_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXManualTuningStateList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningStateList::At - (const adlx_uint location, IADLXManualTuningState **ppItem)=0 - At - - const adlx_uint - location - - - IADLXManualTuningState ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualTuningStateList::Add_Back - (IADLXManualTuningState *pItem)=0 - Add_Back - - IADLXManualTuningState * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXManualTuningStateListAcquire - adlx::IADLXManualTuningStateListAdd_Back - adlx::IADLXManualTuningStateListAdd_Back - adlx::IADLXManualTuningStateListAt - adlx::IADLXManualTuningStateListAt - adlx::IADLXManualTuningStateListBegin - adlx::IADLXManualTuningStateListClear - adlx::IADLXManualTuningStateListEmpty - adlx::IADLXManualTuningStateListEnd - adlx::IADLXManualTuningStateListQueryInterface - adlx::IADLXManualTuningStateListRelease - adlx::IADLXManualTuningStateListRemove_Back - adlx::IADLXManualTuningStateListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning1.xml deleted file mode 100644 index c86714c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning1.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - adlx::IADLXManualVRAMTuning1 - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::IsSupportedMemoryTiming - (adlx_bool *supported)=0 - IsSupportedMemoryTiming - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::GetSupportedMemoryTimingDescriptionList - (IADLXMemoryTimingDescriptionList **ppDescriptionList)=0 - GetSupportedMemoryTimingDescriptionList - - IADLXMemoryTimingDescriptionList ** - ppDescriptionList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::GetMemoryTimingDescription - (ADLX_MEMORYTIMING_DESCRIPTION *description)=0 - GetMemoryTimingDescription - - ADLX_MEMORYTIMING_DESCRIPTION * - description - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::SetMemoryTimingDescription - (ADLX_MEMORYTIMING_DESCRIPTION description)=0 - SetMemoryTimingDescription - - ADLX_MEMORYTIMING_DESCRIPTION - description - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::GetVRAMTuningRanges - (ADLX_IntRange *frequencyRange, ADLX_IntRange *voltageRange)=0 - GetVRAMTuningRanges - - ADLX_IntRange * - frequencyRange - - - ADLX_IntRange * - voltageRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::GetVRAMTuningStates - (IADLXManualTuningStateList **ppVRAMStates)=0 - GetVRAMTuningStates - - IADLXManualTuningStateList ** - ppVRAMStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::GetEmptyVRAMTuningStates - (IADLXManualTuningStateList **ppVRAMStates)=0 - GetEmptyVRAMTuningStates - - IADLXManualTuningStateList ** - ppVRAMStates - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::IsValidVRAMTuningStates - (IADLXManualTuningStateList *pVRAMStates, adlx_int *errorIndex)=0 - IsValidVRAMTuningStates - - IADLXManualTuningStateList * - pVRAMStates - - - adlx_int * - errorIndex - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning1::SetVRAMTuningStates - (IADLXManualTuningStateList *pVRAMStates)=0 - SetVRAMTuningStates - - IADLXManualTuningStateList * - pVRAMStates - - - - - - - - - - - - - - - - - adlx::IADLXManualVRAMTuning1Acquire - adlx::IADLXManualVRAMTuning1GetEmptyVRAMTuningStates - adlx::IADLXManualVRAMTuning1GetMemoryTimingDescription - adlx::IADLXManualVRAMTuning1GetSupportedMemoryTimingDescriptionList - adlx::IADLXManualVRAMTuning1GetVRAMTuningRanges - adlx::IADLXManualVRAMTuning1GetVRAMTuningStates - adlx::IADLXManualVRAMTuning1IsSupportedMemoryTiming - adlx::IADLXManualVRAMTuning1IsValidVRAMTuningStates - adlx::IADLXManualVRAMTuning1QueryInterface - adlx::IADLXManualVRAMTuning1Release - adlx::IADLXManualVRAMTuning1SetMemoryTimingDescription - adlx::IADLXManualVRAMTuning1SetVRAMTuningStates - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning2.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning2.xml deleted file mode 100644 index a3057c1..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_manual_v_r_a_m_tuning2.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - adlx::IADLXManualVRAMTuning2 - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::IsSupportedMemoryTiming - (adlx_bool *supported)=0 - IsSupportedMemoryTiming - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::GetSupportedMemoryTimingDescriptionList - (IADLXMemoryTimingDescriptionList **ppDescriptionList)=0 - GetSupportedMemoryTimingDescriptionList - - IADLXMemoryTimingDescriptionList ** - ppDescriptionList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::GetMemoryTimingDescription - (ADLX_MEMORYTIMING_DESCRIPTION *description)=0 - GetMemoryTimingDescription - - ADLX_MEMORYTIMING_DESCRIPTION * - description - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::SetMemoryTimingDescription - (ADLX_MEMORYTIMING_DESCRIPTION description)=0 - SetMemoryTimingDescription - - ADLX_MEMORYTIMING_DESCRIPTION - description - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::GetMaxVRAMFrequencyRange - (ADLX_IntRange *tuningRange)=0 - GetMaxVRAMFrequencyRange - - ADLX_IntRange * - tuningRange - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::GetMaxVRAMFrequency - (adlx_int *freq)=0 - GetMaxVRAMFrequency - - adlx_int * - freq - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXManualVRAMTuning2::SetMaxVRAMFrequency - (adlx_int freq)=0 - SetMaxVRAMFrequency - - adlx_int - freq - - - - - - - - - - - - - - - - - adlx::IADLXManualVRAMTuning2Acquire - adlx::IADLXManualVRAMTuning2GetMaxVRAMFrequency - adlx::IADLXManualVRAMTuning2GetMaxVRAMFrequencyRange - adlx::IADLXManualVRAMTuning2GetMemoryTimingDescription - adlx::IADLXManualVRAMTuning2GetSupportedMemoryTimingDescriptionList - adlx::IADLXManualVRAMTuning2IsSupportedMemoryTiming - adlx::IADLXManualVRAMTuning2QueryInterface - adlx::IADLXManualVRAMTuning2Release - adlx::IADLXManualVRAMTuning2SetMaxVRAMFrequency - adlx::IADLXManualVRAMTuning2SetMemoryTimingDescription - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description.xml deleted file mode 100644 index dc7acf2..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - adlx::IADLXMemoryTimingDescription - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXMemoryTimingDescription::GetDescription - (ADLX_MEMORYTIMING_DESCRIPTION *description)=0 - GetDescription - - ADLX_MEMORYTIMING_DESCRIPTION * - description - - - - - - - - - - - - - - - - - adlx::IADLXMemoryTimingDescriptionAcquire - adlx::IADLXMemoryTimingDescriptionGetDescription - adlx::IADLXMemoryTimingDescriptionQueryInterface - adlx::IADLXMemoryTimingDescriptionRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description_list.xml deleted file mode 100644 index d166f4d..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_memory_timing_description_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXMemoryTimingDescriptionList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXMemoryTimingDescriptionList::At - (const adlx_uint location, IADLXMemoryTimingDescription **ppItem)=0 - At - - const adlx_uint - location - - - IADLXMemoryTimingDescription ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXMemoryTimingDescriptionList::Add_Back - (IADLXMemoryTimingDescription *pItem)=0 - Add_Back - - IADLXMemoryTimingDescription * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXMemoryTimingDescriptionListAcquire - adlx::IADLXMemoryTimingDescriptionListAdd_Back - adlx::IADLXMemoryTimingDescriptionListAdd_Back - adlx::IADLXMemoryTimingDescriptionListAt - adlx::IADLXMemoryTimingDescriptionListAt - adlx::IADLXMemoryTimingDescriptionListBegin - adlx::IADLXMemoryTimingDescriptionListClear - adlx::IADLXMemoryTimingDescriptionListEmpty - adlx::IADLXMemoryTimingDescriptionListEnd - adlx::IADLXMemoryTimingDescriptionListQueryInterface - adlx::IADLXMemoryTimingDescriptionListRelease - adlx::IADLXMemoryTimingDescriptionListRemove_Back - adlx::IADLXMemoryTimingDescriptionListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_performance_monitoring_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_performance_monitoring_services.xml deleted file mode 100644 index 67ffd5c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_performance_monitoring_services.xml +++ /dev/null @@ -1,411 +0,0 @@ - - - - adlx::IADLXPerformanceMonitoringServices - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetSamplingIntervalRange - (ADLX_IntRange *range)=0 - GetSamplingIntervalRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::SetSamplingInterval - (adlx_int askedIntervalMs)=0 - SetSamplingInterval - - adlx_int - askedIntervalMs - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetSamplingInterval - (adlx_int *intervalMs)=0 - GetSamplingInterval - - adlx_int * - intervalMs - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetMaxPerformanceMetricsHistorySizeRange - (ADLX_IntRange *range)=0 - GetMaxPerformanceMetricsHistorySizeRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::SetMaxPerformanceMetricsHistorySize - (adlx_int sizeSec)=0 - SetMaxPerformanceMetricsHistorySize - - adlx_int - sizeSec - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetMaxPerformanceMetricsHistorySize - (adlx_int *sizeSec)=0 - GetMaxPerformanceMetricsHistorySize - - adlx_int * - sizeSec - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::ClearPerformanceMetricsHistory - ()=0 - ClearPerformanceMetricsHistory - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetCurrentPerformanceMetricsHistorySize - (adlx_int *sizeSec)=0 - GetCurrentPerformanceMetricsHistorySize - - adlx_int * - sizeSec - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::StartPerformanceMetricsTracking - ()=0 - StartPerformanceMetricsTracking - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::StopPerformanceMetricsTracking - ()=0 - StopPerformanceMetricsTracking - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetAllMetricsHistory - (adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList **ppMetricsList)=0 - GetAllMetricsHistory - - adlx_int - startMs - - - adlx_int - stopMs - - - IADLXAllMetricsList ** - ppMetricsList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetGPUMetricsHistory - (IADLXGPU *pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList **ppMetricsList)=0 - GetGPUMetricsHistory - - IADLXGPU * - pGPU - - - adlx_int - startMs - - - adlx_int - stopMs - - - IADLXGPUMetricsList ** - ppMetricsList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetSystemMetricsHistory - (adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList **ppMetricsList)=0 - GetSystemMetricsHistory - - adlx_int - startMs - - - adlx_int - stopMs - - - IADLXSystemMetricsList ** - ppMetricsList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetFPSHistory - (adlx_int startMs, adlx_int stopMs, IADLXFPSList **ppMetricsList)=0 - GetFPSHistory - - adlx_int - startMs - - - adlx_int - stopMs - - - IADLXFPSList ** - ppMetricsList - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetCurrentAllMetrics - (IADLXAllMetrics **ppMetrics)=0 - GetCurrentAllMetrics - - IADLXAllMetrics ** - ppMetrics - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetCurrentGPUMetrics - (IADLXGPU *pGPU, IADLXGPUMetrics **ppMetrics)=0 - GetCurrentGPUMetrics - - IADLXGPU * - pGPU - - - IADLXGPUMetrics ** - ppMetrics - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetCurrentSystemMetrics - (IADLXSystemMetrics **ppMetrics)=0 - GetCurrentSystemMetrics - - IADLXSystemMetrics ** - ppMetrics - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetCurrentFPS - (IADLXFPS **ppMetrics)=0 - GetCurrentFPS - - IADLXFPS ** - ppMetrics - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetSupportedGPUMetrics - (IADLXGPU *pGPU, IADLXGPUMetricsSupport **ppMetricsSupported)=0 - GetSupportedGPUMetrics - - IADLXGPU * - pGPU - - - IADLXGPUMetricsSupport ** - ppMetricsSupported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPerformanceMonitoringServices::GetSupportedSystemMetrics - (IADLXSystemMetricsSupport **ppMetricsSupported)=0 - GetSupportedSystemMetrics - - IADLXSystemMetricsSupport ** - ppMetricsSupported - - - - - - - - - - - - - - - - - adlx::IADLXPerformanceMonitoringServicesAcquire - adlx::IADLXPerformanceMonitoringServicesClearPerformanceMetricsHistory - adlx::IADLXPerformanceMonitoringServicesGetAllMetricsHistory - adlx::IADLXPerformanceMonitoringServicesGetCurrentAllMetrics - adlx::IADLXPerformanceMonitoringServicesGetCurrentFPS - adlx::IADLXPerformanceMonitoringServicesGetCurrentGPUMetrics - adlx::IADLXPerformanceMonitoringServicesGetCurrentPerformanceMetricsHistorySize - adlx::IADLXPerformanceMonitoringServicesGetCurrentSystemMetrics - adlx::IADLXPerformanceMonitoringServicesGetFPSHistory - adlx::IADLXPerformanceMonitoringServicesGetGPUMetricsHistory - adlx::IADLXPerformanceMonitoringServicesGetMaxPerformanceMetricsHistorySize - adlx::IADLXPerformanceMonitoringServicesGetMaxPerformanceMetricsHistorySizeRange - adlx::IADLXPerformanceMonitoringServicesGetSamplingInterval - adlx::IADLXPerformanceMonitoringServicesGetSamplingIntervalRange - adlx::IADLXPerformanceMonitoringServicesGetSupportedGPUMetrics - adlx::IADLXPerformanceMonitoringServicesGetSupportedSystemMetrics - adlx::IADLXPerformanceMonitoringServicesGetSystemMetricsHistory - adlx::IADLXPerformanceMonitoringServicesQueryInterface - adlx::IADLXPerformanceMonitoringServicesRelease - adlx::IADLXPerformanceMonitoringServicesSetMaxPerformanceMetricsHistorySize - adlx::IADLXPerformanceMonitoringServicesSetSamplingInterval - adlx::IADLXPerformanceMonitoringServicesStartPerformanceMetricsTracking - adlx::IADLXPerformanceMonitoringServicesStopPerformanceMetricsTracking - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_event.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_event.xml deleted file mode 100644 index 27357c7..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_event.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - adlx::IADLXPowerTuningChangedEvent - adlx::IADLXChangedEvent - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXPowerTuningChangedEvent::IsSmartShiftMaxChanged - ()=0 - IsSmartShiftMaxChanged - - - - - - - - - - - - - - - - adlx::IADLXPowerTuningChangedEventAcquire - adlx::IADLXPowerTuningChangedEventGetOrigin - adlx::IADLXPowerTuningChangedEventIsSmartShiftMaxChanged - adlx::IADLXPowerTuningChangedEventQueryInterface - adlx::IADLXPowerTuningChangedEventRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_handling.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_handling.xml deleted file mode 100644 index 0b2d469..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_handling.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXPowerTuningChangedHandling - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPowerTuningChangedHandling::AddPowerTuningEventListener - (IADLXPowerTuningChangedListener *pPowerTuningChangedListener)=0 - AddPowerTuningEventListener - - IADLXPowerTuningChangedListener * - pPowerTuningChangedListener - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPowerTuningChangedHandling::RemovePowerTuningEventListener - (IADLXPowerTuningChangedListener *pPowerTuningChangedListener)=0 - RemovePowerTuningEventListener - - IADLXPowerTuningChangedListener * - pPowerTuningChangedListener - - - - - - - - - - - - - - - - - adlx::IADLXPowerTuningChangedHandlingAcquire - adlx::IADLXPowerTuningChangedHandlingAddPowerTuningEventListener - adlx::IADLXPowerTuningChangedHandlingQueryInterface - adlx::IADLXPowerTuningChangedHandlingRelease - adlx::IADLXPowerTuningChangedHandlingRemovePowerTuningEventListener - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_listener.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_listener.xml deleted file mode 100644 index e826ca0..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_changed_listener.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - adlx::IADLXPowerTuningChangedListener - - - adlx_bool ADLX_STD_CALL - virtual adlx_bool ADLX_STD_CALL adlx::IADLXPowerTuningChangedListener::OnPowerTuningChanged - (IADLXPowerTuningChangedEvent *pPowerTuningChangedEvent)=0 - OnPowerTuningChanged - - IADLXPowerTuningChangedEvent * - pPowerTuningChangedEvent - - - - - - - - - - - - - - - - - adlx::IADLXPowerTuningChangedListenerOnPowerTuningChanged - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_services.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_services.xml deleted file mode 100644 index 90efacf..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_power_tuning_services.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - adlx::IADLXPowerTuningServices - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPowerTuningServices::GetPowerTuningChangedHandling - (IADLXPowerTuningChangedHandling **ppPowerTuningChangedHandling)=0 - GetPowerTuningChangedHandling - - IADLXPowerTuningChangedHandling ** - ppPowerTuningChangedHandling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXPowerTuningServices::GetSmartShiftMax - (IADLXSmartShiftMax **ppSmartShiftMax)=0 - GetSmartShiftMax - - IADLXSmartShiftMax ** - ppSmartShiftMax - - - - - - - - - - - - - - - - - adlx::IADLXPowerTuningServicesAcquire - adlx::IADLXPowerTuningServicesGetPowerTuningChangedHandling - adlx::IADLXPowerTuningServicesGetSmartShiftMax - adlx::IADLXPowerTuningServicesQueryInterface - adlx::IADLXPowerTuningServicesRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_simple_eyefinity.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_simple_eyefinity.xml deleted file mode 100644 index 434e1e3..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_simple_eyefinity.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - adlx::IADLXSimpleEyefinity - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSimpleEyefinity::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSimpleEyefinity::Create - (IADLXEyefinityDesktop **ppEyefinityDesktop)=0 - Create - - IADLXEyefinityDesktop ** - ppEyefinityDesktop - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSimpleEyefinity::DestroyAll - ()=0 - DestroyAll - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSimpleEyefinity::Destroy - (IADLXEyefinityDesktop *pDesktop)=0 - Destroy - - IADLXEyefinityDesktop * - pDesktop - - - - - - - - - - - - - - - - - adlx::IADLXSimpleEyefinityAcquire - adlx::IADLXSimpleEyefinityCreate - adlx::IADLXSimpleEyefinityDestroy - adlx::IADLXSimpleEyefinityDestroyAll - adlx::IADLXSimpleEyefinityIsSupported - adlx::IADLXSimpleEyefinityQueryInterface - adlx::IADLXSimpleEyefinityRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_access_memory.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_access_memory.xml deleted file mode 100644 index 8d9e64a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_access_memory.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - adlx::IADLXSmartAccessMemory - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartAccessMemory::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartAccessMemory::IsEnabled - (adlx_bool *enabled)=0 - IsEnabled - - adlx_bool * - enabled - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartAccessMemory::SetEnabled - (adlx_bool enabled)=0 - SetEnabled - - adlx_bool - enabled - - - - - - - - - - - - - - - - - adlx::IADLXSmartAccessMemoryAcquire - adlx::IADLXSmartAccessMemoryIsEnabled - adlx::IADLXSmartAccessMemoryIsSupported - adlx::IADLXSmartAccessMemoryQueryInterface - adlx::IADLXSmartAccessMemoryRelease - adlx::IADLXSmartAccessMemorySetEnabled - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_shift_max.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_shift_max.xml deleted file mode 100644 index 86d289c..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_smart_shift_max.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - adlx::IADLXSmartShiftMax - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::IsSupported - (adlx_bool *supported)=0 - IsSupported - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::GetBiasMode - (ADLX_SSM_BIAS_MODE *mode)=0 - GetBiasMode - - ADLX_SSM_BIAS_MODE * - mode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::SetBiasMode - (ADLX_SSM_BIAS_MODE mode)=0 - SetBiasMode - - ADLX_SSM_BIAS_MODE - mode - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::GetBiasRange - (ADLX_IntRange *range)=0 - GetBiasRange - - ADLX_IntRange * - range - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::GetBias - (adlx_int *bias)=0 - GetBias - - adlx_int * - bias - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSmartShiftMax::SetBias - (adlx_int bias)=0 - SetBias - - adlx_int - bias - - - - - - - - - - - - - - - - - adlx::IADLXSmartShiftMaxAcquire - adlx::IADLXSmartShiftMaxGetBias - adlx::IADLXSmartShiftMaxGetBiasMode - adlx::IADLXSmartShiftMaxGetBiasRange - adlx::IADLXSmartShiftMaxIsSupported - adlx::IADLXSmartShiftMaxQueryInterface - adlx::IADLXSmartShiftMaxRelease - adlx::IADLXSmartShiftMaxSetBias - adlx::IADLXSmartShiftMaxSetBiasMode - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system.xml deleted file mode 100644 index fe77bcf..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - - adlx::IADLXSystem - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::HybridGraphicsType - (ADLX_HG_TYPE *hgType)=0 - HybridGraphicsType - - ADLX_HG_TYPE * - hgType - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetGPUs - (IADLXGPUList **ppGPUs)=0 - GetGPUs - - IADLXGPUList ** - ppGPUs - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::QueryInterface - (const wchar_t *interfaceId, void **ppInterface)=0 - QueryInterface - - const wchar_t * - interfaceId - - - void ** - ppInterface - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetDisplaysServices - (IADLXDisplayServices **ppDispServices)=0 - GetDisplaysServices - - IADLXDisplayServices ** - ppDispServices - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetDesktopsServices - (IADLXDesktopServices **ppDeskServices)=0 - GetDesktopsServices - - IADLXDesktopServices ** - ppDeskServices - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetGPUsChangedHandling - (IADLXGPUsChangedHandling **ppGPUsChangedHandling)=0 - GetGPUsChangedHandling - - IADLXGPUsChangedHandling ** - ppGPUsChangedHandling - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::EnableLog - (ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog *pLogger, const wchar_t *fileName)=0 - EnableLog - - ADLX_LOG_DESTINATION - mode - - - ADLX_LOG_SEVERITY - severity - - - IADLXLog * - pLogger - - - const wchar_t * - fileName - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::Get3DSettingsServices - (IADLX3DSettingsServices **pp3DSettingsServices)=0 - Get3DSettingsServices - - IADLX3DSettingsServices ** - pp3DSettingsServices - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetGPUTuningServices - (IADLXGPUTuningServices **ppGPUTuningServices)=0 - GetGPUTuningServices - - IADLXGPUTuningServices ** - ppGPUTuningServices - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetPerformanceMonitoringServices - (IADLXPerformanceMonitoringServices **ppPerformanceMonitoringServices)=0 - GetPerformanceMonitoringServices - - IADLXPerformanceMonitoringServices ** - ppPerformanceMonitoringServices - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::TotalSystemRAM - (adlx_uint *ramMB)=0 - TotalSystemRAM - - adlx_uint * - ramMB - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem::GetI2C - (IADLXGPU *pGPU, IADLXI2C **ppI2C)=0 - GetI2C - - IADLXGPU * - pGPU - - - IADLXI2C ** - ppI2C - - - - - - - - - - - - - - - - - adlx::IADLXSystemEnableLog - adlx::IADLXSystemGet3DSettingsServices - adlx::IADLXSystemGetDesktopsServices - adlx::IADLXSystemGetDisplaysServices - adlx::IADLXSystemGetGPUs - adlx::IADLXSystemGetGPUsChangedHandling - adlx::IADLXSystemGetGPUTuningServices - adlx::IADLXSystemGetI2C - adlx::IADLXSystemGetPerformanceMonitoringServices - adlx::IADLXSystemHybridGraphicsType - adlx::IADLXSystemQueryInterface - adlx::IADLXSystemTotalSystemRAM - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system1.xml deleted file mode 100644 index 0cd2701..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system1.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - adlx::IADLXSystem1 - adlx::IADLXInterface - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystem1::GetPowerTuningServices - (IADLXPowerTuningServices **ppPowerTuningServices)=0 - GetPowerTuningServices - - IADLXPowerTuningServices ** - ppPowerTuningServices - - - - - - - - - - - - - - - - - adlx::IADLXSystem1Acquire - adlx::IADLXSystem1GetPowerTuningServices - adlx::IADLXSystem1QueryInterface - adlx::IADLXSystem1Release - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics.xml deleted file mode 100644 index 5115f18..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - adlx::IADLXSystemMetrics - adlx::IADLXInterface - adlx::IADLXSystemMetrics1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetrics::TimeStamp - (adlx_int64 *ms)=0 - TimeStamp - - adlx_int64 * - ms - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetrics::CPUUsage - (adlx_double *data)=0 - CPUUsage - - adlx_double * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetrics::SystemRAM - (adlx_int *data)=0 - SystemRAM - - adlx_int * - data - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetrics::SmartShift - (adlx_int *data)=0 - SmartShift - - adlx_int * - data - - - - - - - - - - - - - - - - - adlx::IADLXSystemMetricsAcquire - adlx::IADLXSystemMetricsCPUUsage - adlx::IADLXSystemMetricsQueryInterface - adlx::IADLXSystemMetricsRelease - adlx::IADLXSystemMetricsSmartShift - adlx::IADLXSystemMetricsSystemRAM - adlx::IADLXSystemMetricsTimeStamp - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics1.xml deleted file mode 100644 index a8761a0..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics1.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - adlx::IADLXSystemMetrics1 - adlx::IADLXSystemMetrics - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetrics1::PowerDistribution - (adlx_int *apuShiftValue, adlx_int *gpuShiftValue, adlx_int *apuShiftLimit, adlx_int *gpuShiftLimit, adlx_int *totalShiftLimit)=0 - PowerDistribution - - adlx_int * - apuShiftValue - - - adlx_int * - gpuShiftValue - - - adlx_int * - apuShiftLimit - - - adlx_int * - gpuShiftLimit - - - adlx_int * - totalShiftLimit - - - - - - - - - - - - - - - - - adlx::IADLXSystemMetrics1Acquire - adlx::IADLXSystemMetrics1CPUUsage - adlx::IADLXSystemMetrics1PowerDistribution - adlx::IADLXSystemMetrics1QueryInterface - adlx::IADLXSystemMetrics1Release - adlx::IADLXSystemMetrics1SmartShift - adlx::IADLXSystemMetrics1SystemRAM - adlx::IADLXSystemMetrics1TimeStamp - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_list.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_list.xml deleted file mode 100644 index b715c1f..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_list.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - adlx::IADLXSystemMetricsList - adlx::IADLXList - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsList::At - (const adlx_uint location, IADLXSystemMetrics **ppItem)=0 - At - - const adlx_uint - location - - - IADLXSystemMetrics ** - ppItem - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsList::Add_Back - (IADLXSystemMetrics *pItem)=0 - Add_Back - - IADLXSystemMetrics * - pItem - - - - - - - - - - - - - - - - - adlx::IADLXSystemMetricsListAcquire - adlx::IADLXSystemMetricsListAdd_Back - adlx::IADLXSystemMetricsListAdd_Back - adlx::IADLXSystemMetricsListAt - adlx::IADLXSystemMetricsListAt - adlx::IADLXSystemMetricsListBegin - adlx::IADLXSystemMetricsListClear - adlx::IADLXSystemMetricsListEmpty - adlx::IADLXSystemMetricsListEnd - adlx::IADLXSystemMetricsListQueryInterface - adlx::IADLXSystemMetricsListRelease - adlx::IADLXSystemMetricsListRemove_Back - adlx::IADLXSystemMetricsListSize - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support.xml deleted file mode 100644 index 52b761a..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - adlx::IADLXSystemMetricsSupport - adlx::IADLXInterface - adlx::IADLXSystemMetricsSupport1 - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::IsSupportedCPUUsage - (adlx_bool *supported)=0 - IsSupportedCPUUsage - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::IsSupportedSystemRAM - (adlx_bool *supported)=0 - IsSupportedSystemRAM - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::IsSupportedSmartShift - (adlx_bool *supported)=0 - IsSupportedSmartShift - - adlx_bool * - supported - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::GetCPUUsageRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetCPUUsageRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::GetSystemRAMRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetSystemRAMRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport::GetSmartShiftRange - (adlx_int *minValue, adlx_int *maxValue)=0 - GetSmartShiftRange - - adlx_int * - minValue - - - adlx_int * - maxValue - - - - - - - - - - - - - - - - - adlx::IADLXSystemMetricsSupportAcquire - adlx::IADLXSystemMetricsSupportGetCPUUsageRange - adlx::IADLXSystemMetricsSupportGetSmartShiftRange - adlx::IADLXSystemMetricsSupportGetSystemRAMRange - adlx::IADLXSystemMetricsSupportIsSupportedCPUUsage - adlx::IADLXSystemMetricsSupportIsSupportedSmartShift - adlx::IADLXSystemMetricsSupportIsSupportedSystemRAM - adlx::IADLXSystemMetricsSupportQueryInterface - adlx::IADLXSystemMetricsSupportRelease - - - diff --git a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support1.xml b/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support1.xml deleted file mode 100644 index cfb29a9..0000000 --- a/vendor/adlx/SDKDoc/xml/classadlx_1_1_i_a_d_l_x_system_metrics_support1.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - adlx::IADLXSystemMetricsSupport1 - adlx::IADLXSystemMetricsSupport - - - ADLX_RESULT ADLX_STD_CALL - virtual ADLX_RESULT ADLX_STD_CALL adlx::IADLXSystemMetricsSupport1::IsSupportedPowerDistribution - (adlx_bool *supported)=0 - IsSupportedPowerDistribution - - adlx_bool * - supported - - - - - - - - - - - - - - - - - adlx::IADLXSystemMetricsSupport1Acquire - adlx::IADLXSystemMetricsSupport1GetCPUUsageRange - adlx::IADLXSystemMetricsSupport1GetSmartShiftRange - adlx::IADLXSystemMetricsSupport1GetSystemRAMRange - adlx::IADLXSystemMetricsSupport1IsSupportedCPUUsage - adlx::IADLXSystemMetricsSupport1IsSupportedPowerDistribution - adlx::IADLXSystemMetricsSupport1IsSupportedSmartShift - adlx::IADLXSystemMetricsSupport1IsSupportedSystemRAM - adlx::IADLXSystemMetricsSupport1QueryInterface - adlx::IADLXSystemMetricsSupport1Release - - - diff --git a/vendor/adlx/SDKDoc/xml/combine.xslt b/vendor/adlx/SDKDoc/xml/combine.xslt deleted file mode 100644 index 3bfa82c..0000000 --- a/vendor/adlx/SDKDoc/xml/combine.xslt +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/compatibility_8md.xml b/vendor/adlx/SDKDoc/xml/compatibility_8md.xml deleted file mode 100644 index 26a052e..0000000 --- a/vendor/adlx/SDKDoc/xml/compatibility_8md.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - compatibility.md - - - - - -@pagepage_guide_CompatibilityCompatibility -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -ADLXfeaturesforwardandbackwardcompatibilityforADLXdependentapplications,includingcompatibilityforsysteminstalledAMDdrivers. -AnapplicationusingADLXwillrunasexpectedwheninstalledonasystemwithanewerAMDdriverversion. -IftheapplicationisinstalledonasystemwithanolderAMDdriverversion,theapplicationwillrunwithreducedfunctionalityandsupportforsomeinterfaces. - -Whennewfunctionalitiesareintroduced,theyareprovidedinnewinterfaces.ADLXinterfacesarelockedanddonotchange;allin-applicationADLXcodewillcontinueto -compilethroughoutfutureversionsoftheADLXSDK.<br/> - -__Note__:ADLXSDKdocumentationdemonstrateshowtocodeathird-partyapplicationforunsupportedinterfaces. - -<h2>ADLXGPUSupport</h2> - --Non-AMDGPUsarenotsupported. - --SomelegacyAMDGPUsmaynotbesupported. - --ThedefaultADLXinitializationconsidersbackwardscompatibilityforlegacydriverversionsanunsupportedfeature,astheapplicationwillrunwithreducedfunctionalityandsupportforsomeinterfaces. - --ArecommendedmethodtoinitializeADLXusingalegacyGPUand/ordriverversions -istoprogramtheapplicationtospecificallyusethelegacyAMDGPUand -driver.<br/> -__Note__:ThismethodmaynotbeapplicabletoalllegacyAMDGPUsanddriverversions.<br/> - -Formoreinformation,see -@refpage_cppHelpInitialize/@refpage_cppHelpInitializeWithIncompatibleDriver -helperforC++and@refpage_cHelpADLXHelper_Initialize/ -@refpage_cHelpADLXHelper_InitializeWithIncompatibleDriverhelperforC.<br/> - -Forinformationaboutinitializationfunction,seethe@refpage_ADLXInitialize_Fnfunction. - --WhenusingADLXalongwithADLonlegacyGPUsanddrivers,ADLXwillreplicatethe -existingADLconfigurationforthatapplication.Asan -example,iftheADLapplicationwasconfiguredtoutilizethelegacy -GPUanddriver,ADLXwillalsoutilizethelegacyGPUanddriver. - - - - diff --git a/vendor/adlx/SDKDoc/xml/compound.xsd b/vendor/adlx/SDKDoc/xml/compound.xsd deleted file mode 100644 index 6a8a834..0000000 --- a/vendor/adlx/SDKDoc/xml/compound.xsd +++ /dev/null @@ -1,1215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cperformance_8md.xml b/vendor/adlx/SDKDoc/xml/cperformance_8md.xml deleted file mode 100644 index bdb80e1..0000000 --- a/vendor/adlx/SDKDoc/xml/cperformance_8md.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - cperformance.md - - - - - -#PerformanceMonitoring{#domain_c_sample_PerformanceMonitoring} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_PerfAllMetrics|Sampledemonstratinghowtocontrolallmetrics.| -|@refc_PerfFPSMetrics|SampledemonstratinghowtocontrolFPSmetrics.| -|@refc_PerfGPUMetrics|SampledemonstratinghowtocontrolGPUmetrics.| -|@refc_PerfSystemMetrics|Sampledemonstratinghowtocontrolsystemmetrics.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpowertuning_8md.xml b/vendor/adlx/SDKDoc/xml/cpowertuning_8md.xml deleted file mode 100644 index 5609cab..0000000 --- a/vendor/adlx/SDKDoc/xml/cpowertuning_8md.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - cpowertuning.md - - - - - -#PowerTuning{#domain_c_sample_powertuning} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_ssm|SampledemonstratinghowtocontrolAMDSmartShiftMax.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp3d_8md.xml b/vendor/adlx/SDKDoc/xml/cpp3d_8md.xml deleted file mode 100644 index 9c81c82..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp3d_8md.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - cpp3d.md - - - - - - -#3DGraphics{#domain_cpp_sample_3DGraphics} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_3DSettingsEvent|Demonstrateshowtoregisterandunregisterfornotificationswhen3DGraphicssettingschange,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_AnisotropicFiltering|Demonstrateshowtoaccessanisotropicfilteringoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_AntiAliasing|Demonstrateshowtoaccessanisotropicfilteringoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_AntiLag|DemonstrateshowtoaccessAMDRadeon™Anti-Lagoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_Boost|DemonstrateshowtoaccessAMDRadeon™Boostoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_Chill|DemonstrateshowtoaccessAMDRadeon™Chilloptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_EnhancedSync|DemonstrateshowtoaccessAMDRadeon™EnhancedSyncoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_FRTC|DemonstrateshowtoaccessAMDFrameRateTargetControl(FRTC)options,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_ImageSharpening|DemonstrateshowtoaccessAMDRadeon™ImageSharpeningoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_MorphologicAntiAliasing|Demonstrateshowtoaccessmorphologicalanti-aliasingoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_ResetShaderCache|Demonstrateshowtoaccessresetshadercacheoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_RSR|DemonstrateshowtoaccessAMDRadeon™SuperResolutionoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_Tessellation|Demonstrateshowtoaccesstessellationoptions,andperformrelatedtestingwhenprogrammingwithADLX.| -|@refcpp_WaitForVerticalRefresh|DemonstrateshowtoaccessVSyncoptions,andperformrelatedtestingwhenprogrammingwithADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_3_d_settings_event.xml b/vendor/adlx/SDKDoc/xml/cpp_3_d_settings_event.xml deleted file mode 100644 index 4edf987..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_3_d_settings_event.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - cpp_3DSettingsEvent - 3DSettingsEvent - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/3DSettingsEvent</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Blockeventtoverifycallback -HANDLEblockEvent=nullptr; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName); - -//Callbacktohandlechangedevents -classCallBack3DSettingsChanged:publicIADLX3DSettingsChangedListener -{ -public: -adlx_boolADLX_STD_CALLOn3DSettingsChanged(IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent)override -{ -ADLX_RESULTres; -IADLXGPUPtrgpu; -res=p3DSettingsChangedEvent->GetGPU(&gpu); -if(ADLX_SUCCEEDED(res)) -{ -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -adlx_boolantiLagChanged=p3DSettingsChangedEvent->IsAntiLagChanged(); -std::cout<<"\tGPU:"<<uniqueName<<"AntiLagchanged:"<<antiLagChanged<<std::endl; -} - -SetEvent(blockEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostop notification -returntrue; -} -}; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//Getchangehandle -IADLX3DSettingsChangedHandlingPtrchangeHandle; -res=d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -IADLX3DSettingsChangedListener*call=newCallBack3DSettingsChanged; - -//Addcallback -ADLX_RESULTaddListenerRes=changeHandle->Add3DSettingsEventListener(call); - -//Changeanti-lagstate -IADLX3DAntiLagPtrantiLag; -d3dSettingSrv->GetAntiLag(gpuInfo,&antiLag); -adlx_boolenable; -antiLag->IsEnabled(&enable); - -std::cout<<"\nWaitingfor3DSettingschangeevent(5s)...\n"; -antiLag->SetEnabled(!enable); -WaitForSingleObject(blockEvent,5000); - -if(ADLX_SUCCEEDED(addListenerRes)) -{ -//Removecallback -res=changeHandle->Remove3DSettingsEventListener(call); -if(ADLX_FAILED(res)) -std::cout<<"\nRemove3DSettingseventlistenerfailed"<<std::endl; -} - -//Deletecallback -deletecall; -call=nullptr; -} -} -else -{ -std::cout<<"Failedtoget3DSettingsservices"<<std::endl; -} -} -else -{ -std::cout<<"ADLXinitializationfailed"<<std::endl; -system("pause"); -return0; -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName) -{ -if(nullptr!=gpu&&nullptr!=uniqueName) -{ -constchar*gpuName=nullptr; -ADLX_RESULTres1=gpu->Name(&gpuName); -adlx_intid; -ADLX_RESULTres2=gpu->UniqueId(&id); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__anisotropic_filtering.xml b/vendor/adlx/SDKDoc/xml/cpp__anisotropic_filtering.xml deleted file mode 100644 index c5f42ea..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__anisotropic_filtering.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - - cpp_AnisotropicFiltering - AnisotropicFiltering - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display anisotropic filtering support</td></tr> - <tr><td>2</td><td> Display current anisotropic filtering state and level</td></tr> - <tr><td>3</td><td> Enable and change anisotropic filtering levels</td></tr> - <tr><td>4</td><td> Disable anisotropic filtering</td></tr> - <tr><td>M/m</td><td> Display main menu options</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/AnisotropicFiltering</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<map> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displayanisotropicfilteringsupport -voidShowSupport(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering); - -//Getanisotropicfilteringcurrentstate -voidGetState(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering); - -//Setanisotropicfilteringstate -voidSetState(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetAnisotropicFilteringPtrinterface -IADLX3DAnisotropicFilteringPtranisotropicFiltering; -res=d3dSettingSrv->GetAnisotropicFiltering(gpuInfo,&anisotropicFiltering); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(anisotropicFiltering); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticconststd::map<ADLX_ANISOTROPIC_FILTERING_LEVEL,constchar*>levelMap= -{ -{AF_LEVEL_INVALID,"Invalid"}, -{AF_LEVEL_X2,"2X"}, -{AF_LEVEL_X4,"4X"}, -{AF_LEVEL_X8,"8X"}, -{AF_LEVEL_X16,"16X"}}; - -voidShowSupport(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering) -{ -adlx_boolsupported=false; -ADLX_RESULTres=anisotropicFiltering->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetState(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering) -{ -adlx_boolenabled=false; -ADLX_RESULTres=anisotropicFiltering->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsEnabled:"<<enabled<<std::endl; -ADLX_ANISOTROPIC_FILTERING_LEVELlevel; -res=anisotropicFiltering->GetLevel(&level); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tLevel:"<<levelMap.find(level)->second<<std::endl; -} - -voidSetState(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -res=anisotropicFiltering->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -ADLX_ANISOTROPIC_FILTERING_LEVELlevel; -res=anisotropicFiltering->GetLevel(&level); -if(ADLX_SUCCEEDED(res)) -{ -level=(level==AF_LEVEL_X2)?AF_LEVEL_X4:AF_LEVEL_X2; -res=anisotropicFiltering->SetLevel(level); -std::cout<<"\tSetlevel:"<<levelMap.find(level)->second<<"Returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayanisotropicfilteringsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentanisotropicfilteringstate"<<std::endl; -std::cout<<"\t->Press3toenableandchangeanisotropicfilteringlevels"<<std::endl; -std::cout<<"\t->Press4todisableanisotropicfiltering"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DAnisotropicFilteringPtr&anisotropicFiltering) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayanisotropicfilteringsupport -case'1': -ShowSupport(anisotropicFiltering); -break; - -//Displaycurrentanisotropicfilteringstate -case'2': -GetState(anisotropicFiltering); -break; - -//Enableandchangeanisotropicfilteringlevels -case'3': -case'4': -SetState(anisotropicFiltering,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/cpp__anti_aliasing.xml deleted file mode 100644 index 08101d4..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__anti_aliasing.xml +++ /dev/null @@ -1,298 +0,0 @@ - - - - cpp_AntiAliasing - AntiAliasing - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display anti-aliasing support</td></tr> - <tr><td>2</td><td> Display current anti-aliasing state, mode, method, and level</td></tr> - <tr><td>3</td><td> Set anti-aliasing mode: Use application settings</td></tr> - <tr><td>4</td><td> Set anti-aliasing mode: Enhance application settings</td></tr> - <tr><td>5</td><td> Set anti-aliasing mode: Override application settings</td></tr> - <tr><td>6</td><td> Set anti-aliasing method</td></tr> - <tr><td>7</td><td> Set anti-aliasing level</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/AntiAliasing</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<map> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displayanti-aliasingsupport -voidShowAntiAliasingSupport(constIADLX3DAntiAliasingPtr&antiAliasing); - -//Displayanti-aliasingcurrentstate -voidGetAntiAliasingState(constIADLX3DAntiAliasingPtr&antiAliasing); - -//Setanti-aliasingmode -voidSetAntiAliasingMode(constIADLX3DAntiAliasingPtr&antiAliasing,intindex); - -//Setanti-aliasingmethod -voidSetAntiAliasingMethod(constIADLX3DAntiAliasingPtr&antiAliasing); - -//Setanti-aliasinglevel -voidSetAntiAliasingLevel(constIADLX3DAntiAliasingPtr&antiAliasing); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DAntiAliasingPtr&antiAliasing); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); -if(ADLX_SUCCEEDED(res)) -{ -//GetAntiAliasinginterface -IADLX3DAntiAliasingPtrantiAliasing; -res=d3dSettingSrv->GetAntiAliasing(gpuInfo,&antiAliasing); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(antiAliasing); -} -} -} -else -{ -std::cout<<"Failedtogetthe3DSettingsServices"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogetGPU"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticconststd::map<ADLX_ANTI_ALIASING_MODE,constchar*>antiAliasingMode= -{ -{AA_MODE_USE_APP_SETTINGS,"Useapplicationsettings"}, -{AA_MODE_ENHANCE_APP_SETTINGS,"Enhanceapplicationsettings"}, -{AA_MODE_OVERRIDE_APP_SETTINGS,"Overrideapplicationsettings"}}; - -staticconststd::map<ADLX_ANTI_ALIASING_METHOD,constchar*>antiAliasingMethod= -{ -{AA_METHOD_MULTISAMPLING,"Muti-Sampling"}, -{AA_METHOD_ADAPTIVE_MULTISAMPLING,"AdaptiveMuti-Sampling"}, -{AA_METHOD_SUPERSAMPLING,"SuperSampling"}}; - -staticconststd::map<ADLX_ANTI_ALIASING_LEVEL,constchar*>antiAliasingLevel= -{ -{AA_LEVEL_INVALID,"LevelInvalid"}, -{AA_LEVEL_2X,"2X"}, -{AA_LEVEL_2XEQ,"2XEQ"}, -{AA_LEVEL_4X,"4X"}, -{AA_LEVEL_4XEQ,"4XEQ"}, -{AA_LEVEL_8X,"8X"}, -{AA_LEVEL_8XEQ,"8XEQ"}}; - -voidShowAntiAliasingSupport(constIADLX3DAntiAliasingPtr&antiAliasing) -{ -adlx_boolsupported=false; -ADLX_RESULTres=antiAliasing->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetAntiAliasingState(constIADLX3DAntiAliasingPtr&antiAliasing) -{ -ADLX_ANTI_ALIASING_MODEmode; -ADLX_RESULTres=antiAliasing->GetMode(&mode); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tMode:"<<antiAliasingMode.find(mode)->second<<std::endl; -ADLX_ANTI_ALIASING_METHODmethod; -res=antiAliasing->GetMethod(&method); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tMethod:"<<antiAliasingMethod.find(method)->second<<std::endl; -ADLX_ANTI_ALIASING_LEVELlevel; -res=antiAliasing->GetLevel(&level); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tLevel:"<<antiAliasingLevel.find(level)->second<<std::endl; -} - -voidSetAntiAliasingMode(constIADLX3DAntiAliasingPtr&antiAliasing,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -ADLX_ANTI_ALIASING_MODEmode=AA_MODE_USE_APP_SETTINGS; -mode=(ADLX_ANTI_ALIASING_MODE)(mode+index); -res=antiAliasing->SetMode(mode); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetAntiAliasingMethod(constIADLX3DAntiAliasingPtr&antiAliasing) -{ -ADLX_ANTI_ALIASING_METHODmethod=AA_METHOD_MULTISAMPLING; -ADLX_RESULTres=antiAliasing->GetMethod(&method); -if(ADLX_SUCCEEDED(res)) -{ -method=(ADLX_ANTI_ALIASING_METHOD)((method+1)%3); -res=antiAliasing->SetMethod(method); -std::cout<<"\tSetmethod:"<<antiAliasingMethod.find(method)->second<<",resis"<<res<<std::endl; -} -} - -voidSetAntiAliasingLevel(constIADLX3DAntiAliasingPtr&antiAliasing) -{ -ADLX_ANTI_ALIASING_LEVELlevel; -ADLX_RESULTres=antiAliasing->GetLevel(&level); -if(ADLX_SUCCEEDED(res)) -{ -level=(level==AA_LEVEL_2X)?AA_LEVEL_4X:AA_LEVEL_2X; -res=antiAliasing->SetLevel(level); -std::cout<<"\tSetlevel:"<<antiAliasingLevel.find(level)->second<<",resis"<<res<<std::endl; -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayanti-aliasingsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentanti-aliasingstate"<<std::endl; -std::cout<<"\t->Press3tosetanti-aliasingmode:Useapplicationsettings"<<std::endl; -std::cout<<"\t->Press4tosetanti-aliasingmode:Enhanceapplicationsettings"<<std::endl; -std::cout<<"\t->Press5tosetanti-aliasingmode:Overrideapplicationsettings"<<std::endl; - -std::cout<<"\t->Press6tochangeanti-aliasingmethod"<<std::endl; -std::cout<<"\t->Press7tochangeanti-aliasinglevel"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DAntiAliasingPtr&antiAliasing) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayanti-aliasingsupport -case'1': -ShowAntiAliasingSupport(antiAliasing); -break; - -//Displaycurrentanti-aliasingstatus -case'2': -GetAntiAliasingState(antiAliasing); -break; - -//Setanti-aliasingmode -case'3': -case'4': -case'5': -SetAntiAliasingMode(antiAliasing,num-'3'); -break; - -//Setanti-aliasingmethod -case'6': -SetAntiAliasingMethod(antiAliasing); -break; - -//Setanti-aliasinglevel -case'7': -SetAntiAliasingLevel(antiAliasing); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__anti_lag.xml b/vendor/adlx/SDKDoc/xml/cpp__anti_lag.xml deleted file mode 100644 index 2eeaf72..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__anti_lag.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - cpp_AntiLag - AntiLag - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Anti-Lag support</td></tr> - <tr><td>2</td><td> Display current Radeon Anti-Lag state</td></tr> - <tr><td>3</td><td> Enable Radeon Anti-Lag</td></tr> - <tr><td>4</td><td> Disable Radeon Anti-Lag</td></tr> - <tr><td>5</td><td> Enable Radeon Anti-Lag</td></tr> - <tr><td>6</td><td> Get Radeon Anti-Lag Level</td></tr> - <tr><td>7</td><td> Set Radeon Anti-Lag Level to Anti-Lag</td></tr> - <tr><td>8</td><td> Set Radeon Anti-Lag Level to Anti-Lag Next</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/AntiLag</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayAnti-Lagsupport -voidShowAntiLagSupport(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1); - -//DisplaycurrentAnti-Lagstate -voidGetAntiLagState(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1); - -//SetAnti-Lagstate -voidSetAntiLagState(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1,intindex); - -//DisplaycurrentAnti-Lagstate -voidGetAntiLagLevel(constIADLX3DAntiLag1Ptr&d3dAntiLag1); - -//SetAnti-Lagstate -voidSetAntiLagLevel(constIADLX3DAntiLag1Ptr&d3dAntiLag1,ADLX_ANTILAG_STATElevel); - -//Menu -voidMainMenu(boolalnSupported); - -//Menucontrol -voidMenuControl(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -ADLX_RESULTresALN=ADLX_FAIL; -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetAntiLaginterface -IADLX3DAntiLagPtrd3dAntiLag; - -res=d3dSettingSrv->GetAntiLag(gpuInfo,&d3dAntiLag); -IADLX3DAntiLag1Ptrd3dAntiLag1(d3dAntiLag); -if(ADLX_SUCCEEDED(res)) -{ -//resALN=d3dAntiLag->QueryInterface(IADLX3DAntiLag1::IID(),reinterpret_cast<void**>(&d3dAntiLag1)); - -MainMenu(d3dAntiLag1!=NULL); -MenuControl(d3dAntiLag,d3dAntiLag1); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowAntiLagSupport(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1) -{ -adlx_boolsupported=false; -if(d3dAntiLag1!=NULL) -d3dAntiLag1->IsSupported(&supported); -else -d3dAntiLag->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetAntiLagState(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1) -{ -adlx_boolenabled=false; -if(d3dAntiLag1!=NULL) -d3dAntiLag1->IsEnabled(&enabled); -else -d3dAntiLag->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<std::endl; -} - -voidSetAntiLagState(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1,intindex) -{ -ADLX_RESULTres; -if(d3dAntiLag1!=NULL) -res=d3dAntiLag1->SetEnabled(index==0); -else -res=d3dAntiLag->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetAntiLagLevel(constIADLX3DAntiLag1Ptr&d3dAntiLag1) -{ -ADLX_ANTILAG_STATElevel; -ADLX_RESULTres=d3dAntiLag1->GetLevel(&level); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tLevel:"<<(level==ADLX_ANTILAG_STATE::ANTILAG?"Anti-Lag":"Anti-LagNext")<<std::endl; -} - -voidSetAntiLagLevel(constIADLX3DAntiLag1Ptr&d3dAntiLag1,ADLX_ANTILAG_STATElevel) -{ -ADLX_RESULTres=d3dAntiLag1->SetLevel(level); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu(boolalnSupported) -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayAnti-Lagsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentAnti-Lagstate"<<std::endl; -std::cout<<"\t->Press3toenableAnti-Lag"<<std::endl; -std::cout<<"\t->Press4todisableAnti-Lag"<<std::endl; -if(alnSupported) -{ -std::cout<<"\t->Press5toGetLevel"<<std::endl; -std::cout<<"\t->Press6toSetLeveltoAnti-Lag"<<std::endl; -std::cout<<"\t->Press7toSetLeveltoAnti-LagNext"<<std::endl; -} -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DAntiLagPtr&d3dAntiLag,constIADLX3DAntiLag1Ptr&d3dAntiLag1) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAnti-Lagsupport -case'1': -ShowAntiLagSupport(d3dAntiLag,d3dAntiLag1); -break; - -//DisplaycurrentAnti-Lagstate -case'2': -GetAntiLagState(d3dAntiLag,d3dAntiLag1); -break; - -//SetAnti-Lagstate -case'3': -case'4': -SetAntiLagState(d3dAntiLag,d3dAntiLag1,num-'3'); -break; - -case'5': -GetAntiLagLevel(d3dAntiLag1); -break; -case'6': -SetAntiLagLevel(d3dAntiLag1,ADLX_ANTILAG_STATE::ANTILAG); -break; -case'7': -SetAntiLagLevel(d3dAntiLag1,ADLX_ANTILAG_STATE::ANTILAGNEXT); -break; -//Displaymenuoptions -case'm': -case'M': -MainMenu(d3dAntiLag1!=NULL?true:false); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__boost.xml b/vendor/adlx/SDKDoc/xml/cpp__boost.xml deleted file mode 100644 index ce809f3..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__boost.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - cpp_Boost - Boost - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Boost support</td></tr> - <tr><td>2</td><td> Display current Radeon Boost state, current resolution, and resolution range</td></tr> - <tr><td>3</td><td> Enable Radeon Boost and change minimum resolution</td></tr> - <tr><td>4</td><td> Disable Radeon Boost</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/Boost</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> -#include<vector> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayBoostsupport -voidShowBoostSupport(constIADLX3DBoostPtr&d3dBoost); - -//DisplaycurrentBooststate -voidGetBoostState(constIADLX3DBoostPtr&d3dBoost); - -//SetBooststate -voidSetBoostState(constIADLX3DBoostPtr&d3dBoost,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DBoostPtr&d3dBoost); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetBoostinterface -IADLX3DBoostPtrd3dBoost; -res=d3dSettingSrv->GetBoost(gpuInfo,&d3dBoost); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dBoost); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowBoostSupport(constIADLX3DBoostPtr&d3dBoost) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dBoost->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetBoostState(constIADLX3DBoostPtr&d3dBoost) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dBoost->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsEnabled:"<<enabled<<std::endl; -adlx_intresolution; -ADLX_IntRangeresolutionRange; -res=d3dBoost->GetResolution(&resolution); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tCurrentResolution:"<<resolution<<std::endl; -res=d3dBoost->GetResolutionRange(&resolutionRange); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tResolutionlimit["<<resolutionRange.minValue<<","<<resolutionRange.maxValue<<"],step:"<<resolutionRange.step<<std::endl; -} - -voidSetBoostState(constIADLX3DBoostPtr&d3dBoost,intindex) -{ -ADLX_RESULTres=d3dBoost->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intresolution; -ADLX_IntRangeresolutionRange; -ADLX_RESULTres1=d3dBoost->GetResolution(&resolution); -ADLX_RESULTres2=d3dBoost->GetResolutionRange(&resolutionRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -if(resolution!=resolutionRange.minValue) -{ -res=d3dBoost->SetResolution(resolutionRange.minValue); -std::cout<<"\tSetminimumresolutionlimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=d3dBoost->SetResolution(resolutionRange.maxValue); -std::cout<<"\tSetmaximumresolutionlimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayBoostsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentBooststate"<<std::endl; -std::cout<<"\t->Press3toenableBoost"<<std::endl; -std::cout<<"\t->Press4todisableBoost"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DBoostPtr&d3dBoost) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayBoostsupport -case'1': -ShowBoostSupport(d3dBoost); -break; - -//DisplaycurrentBooststate -case'2': -GetBoostState(d3dBoost); -break; - -//SetBoost -case'3': -case'4': -SetBoostState(d3dBoost,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__chill.xml b/vendor/adlx/SDKDoc/xml/cpp__chill.xml deleted file mode 100644 index e39e6bb..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__chill.xml +++ /dev/null @@ -1,260 +0,0 @@ - - - - cpp_Chill - Chill - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Chill support</td></tr> - <tr><td>2</td><td> Display current Radeon Chill state, current FPS, and FPS range</td></tr> - <tr><td>3</td><td> Enable Radeon Chill</td></tr> - <tr><td>4</td><td> Disable Radeon Chill</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/Chill</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> -#include<vector> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayChillsupport -voidShowChillSupport(constIADLX3DChillPtr&d3dChill); - -//DisplaycurrentChillstate -voidGetChillState(constIADLX3DChillPtr&d3dChill); - -//SetChillstate -voidSetChillState(constIADLX3DChillPtr&d3dChill,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DChillPtr&d3dChill); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetChillinterface -IADLX3DChillPtrd3dChill; -res=d3dSettingSrv->GetChill(gpuInfo,&d3dChill); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dChill); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowChillSupport(constIADLX3DChillPtr&d3dChill) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dChill->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetChillState(constIADLX3DChillPtr&d3dChill) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dChill->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsEnabled:"<<enabled<<std::endl; -adlx_intminFPS,maxFPS; -ADLX_IntRangefpsRange; -res=d3dChill->GetMinFPS(&minFPS); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tCurrentMinFPS:"<<minFPS<<std::endl; -res=d3dChill->GetMaxFPS(&maxFPS); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tCurrentMaxFPS:"<<maxFPS<<std::endl; -res=d3dChill->GetFPSRange(&fpsRange); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tFPSSetlimit["<<fpsRange.minValue<<","<<fpsRange.maxValue<<"],step:"<<fpsRange.step<<std::endl; -} - -voidSetChillState(constIADLX3DChillPtr&d3dChill,intindex) -{ -ADLX_RESULTres=d3dChill->SetEnabled(index==0); -std::cout<<"\treturncode(0isSuccess)is:"<<res<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intminFPS,maxFPS; -ADLX_IntRangefpsRange; -d3dChill->GetMinFPS(&minFPS); -d3dChill->GetMaxFPS(&maxFPS); -d3dChill->GetFPSRange(&fpsRange); -std::cout<<"\t\tEntertwospacedelimitedintegers:[minFPS,maxFPS]"<<std::endl; - -intuserKey=0; -std::vector<adlx_int>coeffs; -while(std::cin>>userKey) -{ -coeffs.push_back(userKey); -if(coeffs.size()>1) -break; -} -std::cin.clear(); -std::cin.ignore(INT_MAX,'\n'); - -if(coeffs.size()>1) -{ -res=d3dChill->SetMinFPS(coeffs[0]); -std::cout<<"\tSetminimumFPSreturncode:"<<res<<"(0meanssuccess)"<<std::endl; -res=d3dChill->SetMaxFPS(coeffs[1]); -std::cout<<"\tSetmaximumFPSreturncode:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=d3dChill->SetMinFPS(fpsRange.minValue); -std::cout<<"\tUseFPSminimumlimit,setminimumFPSreturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=d3dChill->SetMaxFPS(fpsRange.maxValue); -std::cout<<"\tUseFPSmaximumlimit,setmaximumFPSreturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayChillsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentChillstate"<<std::endl; -std::cout<<"\t->Press3toenableChill"<<std::endl; -std::cout<<"\t->Press4todisableChill"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DChillPtr&d3dChill) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayChillsupport -case'1': -ShowChillSupport(d3dChill); -break; - -//DisplaycurrentChillstate -case'2': -GetChillState(d3dChill); -break; - -//SetChillstate -case'3': -case'4': -SetChillState(d3dChill,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__enhanced_sync.xml b/vendor/adlx/SDKDoc/xml/cpp__enhanced_sync.xml deleted file mode 100644 index 556661f..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__enhanced_sync.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - cpp_EnhancedSync - EnhancedSync - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Enhanced Sync support</td></tr> - <tr><td>2</td><td> Get and display current Radeon Enhanced Sync state</td></tr> - <tr><td>3</td><td> Enable Radeon Enhanced Sync</td></tr> - <tr><td>4</td><td> Disable Radeon Enhanced Sync</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/EnhancedSync</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayEnhancedSyncsupport -voidShowEnhancedSyncSupport(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync); - -//GetcurrentEnhancedSyncstate -voidGetEnhancedSyncState(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync); - -//SetEnhancedSyncstate -voidSetEnhancedSyncState(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetEnhancedSyncinterface -IADLX3DEnhancedSyncPtrd3dEnhancedSync; -res=d3dSettingSrv->GetEnhancedSync(gpuInfo,&d3dEnhancedSync); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dEnhancedSync); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowEnhancedSyncSupport(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dEnhancedSync->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetEnhancedSyncState(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dEnhancedSync->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetEnhancedSyncState(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync,intindex) -{ -ADLX_RESULTres=d3dEnhancedSync->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayEnhancedSyncsupport"<<std::endl; -std::cout<<"\t->Press2togetEnhancedSyncstate"<<std::endl; -std::cout<<"\t->Press3toenableEnhancedSync"<<std::endl; -std::cout<<"\t->Press4todisableEnhancedSync"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DEnhancedSyncPtr&d3dEnhancedSync) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayEnhancedSyncsupport -case'1': -ShowEnhancedSyncSupport(d3dEnhancedSync); -break; - -//GetanddisplaycurrentEnhancedSyncstate -case'2': -GetEnhancedSyncState(d3dEnhancedSync); -break; - -//SetEnhancedSyncstate -case'3': -case'4': -SetEnhancedSyncState(d3dEnhancedSync,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__f_r_t_c.xml b/vendor/adlx/SDKDoc/xml/cpp__f_r_t_c.xml deleted file mode 100644 index 91cc84a..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__f_r_t_c.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - cpp_FRTC - FRTC - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD FRTC support</td></tr> - <tr><td>2</td><td> Get and display current AMD FRTC state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure AMD FRTC</td></tr> - <tr><td>4</td><td> Disable AMD FRTC</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/FRTC</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> -#include<vector> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayFRTCsupport -voidShowFRTCSupport(constIADLX3DFrameRateTargetControlPtr&frtc); - -//GetanddisplaycurrentFRTCstate -voidGetFRTCState(constIADLX3DFrameRateTargetControlPtr&frtc); - -//SetFRTCstate -voidSetFRTCState(constIADLX3DFrameRateTargetControlPtr&frtc,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DFrameRateTargetControlPtr&frtc); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); -if(ADLX_SUCCEEDED(res)) -{ -//GetFRTCinterface -IADLX3DFrameRateTargetControlPtrfrtc; -res=d3dSettingSrv->GetFrameRateTargetControl(gpuInfo,&frtc); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(frtc); -} -} -} -else -{ -std::cout<<"Failedtoget3DSettingsservices"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogetGPU"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowFRTCSupport(constIADLX3DFrameRateTargetControlPtr&frtc) -{ -adlx_boolsupported=false; -ADLX_RESULTres=frtc->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetFRTCState(constIADLX3DFrameRateTargetControlPtr&frtc) -{ -adlx_boolenabled=false; -ADLX_RESULTres=frtc->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -adlx_intfps; -ADLX_IntRangerange={0}; -res=frtc->GetFPS(&fps); -std::cout<<"\tCurrentFPS:"<<fps<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=frtc->GetFPSRange(&range); -std::cout<<"\tFPSlimit["<<range.minValue<<","<<range.maxValue<<"],step:"<<range.step -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetFRTCState(constIADLX3DFrameRateTargetControlPtr&frtc,intindex) -{ -ADLX_RESULTres=frtc->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intfps; -ADLX_IntRangerange={0}; -frtc->GetFPS(&fps); -frtc->GetFPSRange(&range); -if(fps!=range.minValue) -{ -res=frtc->SetFPS(range.minValue); -std::cout<<"\tUseminimumFPSlimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=frtc->SetFPS(range.maxValue); -std::cout<<"\tUsemaximumFPSlimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayFRTCsupport"<<std::endl; -std::cout<<"\t->Press2togetanddisplaycurrentFRTCstate"<<std::endl; -std::cout<<"\t->Press3toenableFRTC"<<std::endl; -std::cout<<"\t->Press4todisableFRTC"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DFrameRateTargetControlPtr&frtc) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayFRTCsupport -case'1': -ShowFRTCSupport(frtc); -break; - -//GetanddisplaycurrentFRTCstate -case'2': -GetFRTCState(frtc); -break; - -//SetFRTCstate -case'3': -case'4': -SetFRTCState(frtc,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__g_p_u_auto_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__g_p_u_auto_tuning.xml deleted file mode 100644 index df3ffed..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__g_p_u_auto_tuning.xml +++ /dev/null @@ -1,444 +0,0 @@ - - - - cpp_GPUAutoTuning - GPUAutoTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU auto-tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Check GPU Tuning is at factory status.</td></tr> - <tr><td>2</td><td> Restore the given GPU Tuning to factory status.</td></tr> - <tr><td>3</td><td> Show GPU auto tuning support.</td></tr> - <tr><td>4</td><td> Show current GPU status.</td></tr> - <tr><td>5</td><td> Start Undervolt GPU tuning.</td></tr> - <tr><td>6</td><td> Start Overclock GPU tuning.</td></tr> - <tr><td>7</td><td> Start Overclock VRAM tuning</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/GPUAutoTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUAutoTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Eventtoverifycallback. -HANDLEg_ADLXEvent=nullptr; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//CheckifcurrentGPUtuningstatusissettofactorydefault -voidCheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus); - -//RestoreGPUtuningstatustofactorydefault -voidRestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus); - -//DisplayGPUauto-tuningsupportstatus -voidShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus); - -//DisplaycurrentGPUstatus -voidShowCurrentGPUStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus); - -//DerivefromIADLXGPUAutoTuningCompleteListener -classGPUAutoTuningCompleteEvents; -//StartGPUauto-tuning -voidStartGPUAutoTuning(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus,intnum); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//Createevent -g_ADLXEvent=CreateEvent(NULL,TRUE,FALSE,TEXT("ADLXEvent")); - -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(gpuTuningService,gpus); -} -else -std::cout<<"\tGetGPUlistfailed"<<std::endl; -} -else -std::cout<<"\tGetGPUtuningservicesfailed"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(g_ADLXEvent) -CloseHandle(g_ADLXEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1tocheckifcurrentGPUtuningstatusissettofactorydefault"<<std::endl; -std::cout<<"\t->Press2torestorethecurrentGPUtuningstatustofactorydefault"<<std::endl; -std::cout<<"\t->Press3todisplayGPUauto-tuningsupport"<<std::endl; -std::cout<<"\t->Press4todisplaycurrentGPUauto-tuningstatus"<<std::endl; -std::cout<<"\t->Press5tostartundervoltGPUtuning"<<std::endl; -std::cout<<"\t->Press6tostartoverclockGPUtuning"<<std::endl; -std::cout<<"\t->Press7tostartoverclockVRAMtuning"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//CheckifcurrentGPUtuningstatusissettofactorydefault -case'1': -CheckGPUTuningIsAtFactoryStatus(gpuTuningService,gpus); -break; - -//RestoreGPUtuningstatustofactorydefault -case'2': -RestoreGPUTuningToFactoryStatus(gpuTuningService,gpus); -break; - -//DisplayGPUauto-tuningsupportstatus -case'3': -ShowGPUAutoTuningSupport(gpuTuningService,gpus); -break; - -//DisplaycurrentGPUstatus -case'4': -ShowCurrentGPUStatus(gpuTuningService,gpus); -break; - -//StartundervoltGPUtuning -case'5': -//StartoverclockGPUtuning -case'6': -//StartoverclockVRAMtuning -case'7': -StartGPUAutoTuning(gpuTuningService,gpus,num-5); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//CheckifcurrentGPUtuningstatusissettofactorydefault -voidCheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus) -{ -IADLXGPUPtroneGPU; -for(adlx_uintcrt=gpus->Begin();crt!=gpus->End();++crt) -{ -ADLX_RESULTres=gpus->At(crt,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -std::cout<<"\tGettheGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -adlx_boolisFactory=false; -res=gpuTuningService->IsAtFactory(oneGPU,&isFactory); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tCheckoftheGPUatlocation"<<crt<<"defaulttuningstatusfailed"<<std::endl; -break; -} -std::cout<<"\tTheGPUatlocation"<<crt<<"defaultstatus:"<<isFactory<<std::endl; -} -} - -//ResetthecurrentGPUtuningstatustofactorydefault -voidRestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus) -{ -IADLXGPUPtroneGPU; -for(adlx_uintcrt=gpus->Begin();crt!=gpus->End();++crt) -{ -ADLX_RESULTres=gpus->At(crt,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -std::cout<<"\tGettheGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -adlx_boolisFactory=false; -res=gpuTuningService->ResetToFactory(oneGPU); -if(ADLX_FAILED(res)) -std::cout<<"\tResettheGPUatlocation"<<crt<<"todefaultfailed"<<std::endl; -else -std::cout<<"\tResettheGPUatlocation"<<crt<<"todefaultsuccessful"<<std::endl; -} -} - -//DisplayGPUauto-tuningsupportstatus -voidShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus) -{ -IADLXGPUPtroneGPU; -for(adlx_uintcrt=gpus->Begin();crt!=gpus->End();++crt) -{ -ADLX_RESULTres=gpus->At(crt,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -std::cout<<"\tGettheGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedAutoTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -std::cout<<"\tTheGPUatlocation"<<crt<<"doesnotsupportauto-tuning"<<std::endl; -break; -} -IADLXInterfacePtrautoTuningIfc; -res=gpuTuningService->GetAutoTuning(oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==nullptr) -{ -std::cout<<"\tGetauto-tuningfortheGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -IADLXGPUAutoTuningPtrautoTuning(autoTuningIfc); -if(autoTuning) -{ -//Ifret!=ADLX_OK,returndefaultvalue(false). -supported=false; -res=autoTuning->IsSupportedUndervoltGPU(&supported); -std::cout<<"\tIstheGPUatlocation"<<crt<<"supportedundervolt:"<<supported<<std::endl; -supported=false; -res=autoTuning->IsSupportedOverclockGPU(&supported); -std::cout<<"\tIstheGPUatlocation"<<crt<<"supportedoverclock:"<<supported<<std::endl; -supported=false; -res=autoTuning->IsSupportedOverclockVRAM(&supported); -std::cout<<"\tIstheGPUatlocation"<<crt<<"supportedoverclockVRAM:"<<supported<<std::endl; -} -} -} - -//DisplaycurrentGPUstatus -voidShowCurrentGPUStatus(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus) -{ -IADLXGPUPtroneGPU; -for(adlx_uintcrt=gpus->Begin();crt!=gpus->End();++crt) -{ -ADLX_RESULTres=gpus->At(crt,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -std::cout<<"\tGetGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedAutoTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -std::cout<<"\tTheGPUatlocation"<<crt<<"doesnotsupportauto-tuning"<<std::endl; -break; -} -IADLXInterfacePtrautoTuningIfc; -res=gpuTuningService->GetAutoTuning(oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==nullptr) -{ -std::cout<<"\tGetauto-tuningfortheGPUatlocation"<<crt<<"failed"<<std::endl; -break; -} -IADLXGPUAutoTuningPtrautoTuning(autoTuningIfc); -adlx_boolapplied=false; -if(autoTuning) -{ -//Ifret!=ADLX_OK,returndefaultvalue(false). -applied=false; -res=autoTuning->IsCurrentUndervoltGPU(&applied); -std::cout<<"\tIstheGPUatlocation"<<crt<<"undervoltapplied:"<<applied<<std::endl; -applied=false; -res=autoTuning->IsCurrentOverclockGPU(&applied); -std::cout<<"\tIstheGPUatlocation"<<crt<<"overclockapplied:"<<applied<<std::endl; -applied=false; -res=autoTuning->IsCurrentOverclockVRAM(&applied); -std::cout<<"\tIstheGPUatlocation"<<crt<<"overclockVRAMapplied:"<<applied<<std::endl; -} -} -} - -classGPUAutoTuningCompleteEvents:publicIADLXGPUAutoTuningCompleteListener -{ -public: -adlx_boolADLX_STD_CALLOnGPUAutoTuningComplete(IADLXGPUAutoTuningCompleteEvent*pGPUAutoTuningCompleteEvent) -{ -adlx_boolchange=false; -change=pGPUAutoTuningCompleteEvent->IsUndervoltGPUCompleted(); -change=pGPUAutoTuningCompleteEvent->IsOverclockGPUCompleted(); -change=pGPUAutoTuningCompleteEvent->IsOverclockVRAMCompleted(); -SetEvent(g_ADLXEvent); -returntrue; -} -}; - -GPUAutoTuningCompleteEventsgpuAutoTuningCompleteEvents; - -voidStartGPUAutoTuning(IADLXGPUTuningServicesPtrgpuTuningService,IADLXGPUListPtrgpus,intnum) -{ -IADLXGPUPtroneGPU; -//SetthefirstGPUauto-tuning -ADLX_RESULTres=gpus->At(0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -std::cout<<"\tGetGPUfailed"<<std::endl; -return; -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedAutoTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -std::cout<<"\tTheGPUdoesnotsupportauto-tuning"<<std::endl; -return; -} -IADLXInterfacePtrautoTuningIfc; -res=gpuTuningService->GetAutoTuning(oneGPU,&autoTuningIfc); -if(ADLX_FAILED(res)||autoTuningIfc==nullptr) -{ -std::cout<<"\tGetGPUauto-tuningfailed"<<std::endl; -return; -} -IADLXGPUAutoTuningPtrautoTuning(autoTuningIfc); -if(autoTuning) -{ -boolmodeIsSupported=false; -switch(num) -{ -case'0': -res=autoTuning->IsSupportedUndervoltGPU(&modeIsSupported); -if(!modeIsSupported){ -std::cout<<"\tUndervoltprofileisnotsupported"<<std::endl; -} -else{ -res=autoTuning->StartUndervoltGPU(&gpuAutoTuningCompleteEvents); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tStartundervoltGPUsuccessful"<<std::endl; -else -std::cout<<"\tStartundervoltGPUfailed"<<std::endl; -} -break; -case'1': -res=autoTuning->IsSupportedOverclockGPU(&modeIsSupported); -if(!modeIsSupported){ -std::cout<<"\tGPUOverclockprofileisnotsupported"<<std::endl; -} -else{ -res=autoTuning->StartOverclockGPU(&gpuAutoTuningCompleteEvents); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tStartoverclockGPUsuccessful"<<std::endl; -else -std::cout<<"\tStartoverclockGPUfailed"<<std::endl; -} -break; -case'2': -res=autoTuning->IsSupportedOverclockVRAM(&modeIsSupported); -if(!modeIsSupported){ -std::cout<<"\tVRAMoverclockprofileisnotsupported"<<std::endl; -} -else{ -res=autoTuning->StartOverclockVRAM(&gpuAutoTuningCompleteEvents); -WaitForSingleObject(g_ADLXEvent,1000); -ResetEvent(g_ADLXEvent); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tStartoverclockVRAMsuccessful"<<std::endl; -else -std::cout<<"\tStartoverclockVRAMfailed"<<std::endl; -} -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__g_p_u_preset_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__g_p_u_preset_tuning.xml deleted file mode 100644 index 9ce2fbd..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__g_p_u_preset_tuning.xml +++ /dev/null @@ -1,279 +0,0 @@ - - - - cpp_GPUPresetTuning - GPUPresetTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU preset tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get GPU tuning support states.</td></tr> - <tr><td>2</td><td> Get current GPU tuning states.</td></tr> - <tr><td>3</td><td> Set GPU states.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/GPUPresetTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUPresetTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUPresetTuningPtrgpuPresetTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//DisplayGPUtuningsupportstates -voidShowIsSupported(IADLXGPUPresetTuningPtrgpuPresetTuning); - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXGPUPresetTuningPtrgpuPresetTuning); - -//SetGPUstates -voidSetGPUStates(IADLXGPUPresetTuningPtrgpuPresetTuning); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUPtroneGPU; -res=gpus->At(0,&oneGPU); -if(ADLX_SUCCEEDED(res)&&oneGPU!=nullptr) -{ -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedPresetTuning(oneGPU,&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -IADLXInterfacePtrgpuPresetTuningIfc; -res=gpuTuningService->GetPresetTuning(oneGPU,&gpuPresetTuningIfc); -if(ADLX_SUCCEEDED(res)&&gpuPresetTuningIfc!=nullptr) -{ -IADLXGPUPresetTuningPtrgpuPresetTuning(gpuPresetTuningIfc); -if(gpuPresetTuning!=nullptr) -{ -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(gpuPresetTuning); -} -else -{ -std::cout<<"\tGetGPUpresettuningfailed"<<std::endl; -} -} -else -{ -std::cout<<"\tGetGPUpresettuninginterfacefailed"<<std::endl; -} -} -else -{ -std::cout<<"\tGPUpresettuningisnotsupportedbythisGPU"<<std::endl; -} -} -else -{ -std::cout<<"\tGetGPUfailed"<<std::endl; -} -} -else -{ -std::cout<<"\tGetGPUlistfailed"<<std::endl; -} -} -else -{ -std::cout<<"\tGetGPUtuningservicesfailed"<<std::endl; -} -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayGPUtuningsupportstates"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentGPUtuningstates"<<std::endl; -std::cout<<"\t->Press3tosetGPUstates"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(IADLXGPUPresetTuningPtrgpuPresetTuning) -{ -charnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayGPUtuningsupportstates -case'1': -ShowIsSupported(gpuPresetTuning); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates(gpuPresetTuning); -break; - -//SetGPUstates -case'3': -SetGPUStates(gpuPresetTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//DisplayGPUtuningsupportstates -voidShowIsSupported(IADLXGPUPresetTuningPtrgpuPresetTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=gpuPresetTuning->IsSupportedPowerSaver(&supported); -std::cout<<"\tIsPowerSaversupportedbytheGPU:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -supported=false; -res=gpuPresetTuning->IsSupportedQuiet(&supported); -std::cout<<"\tIsQuietsupportedbytheGPU:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -supported=false; -res=gpuPresetTuning->IsSupportedBalanced(&supported); -std::cout<<"\tIsBalancedsupportedbytheGPU:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -supported=false; -res=gpuPresetTuning->IsSupportedTurbo(&supported); -std::cout<<"\tIsTurbosupportedbytheGPU:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -supported=false; -res=gpuPresetTuning->IsSupportedRage(&supported); -std::cout<<"\tIsRagesupportedbytheGPU:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXGPUPresetTuningPtrgpuPresetTuning) -{ -adlx_boolapplied=false; -ADLX_RESULTres=gpuPresetTuning->IsCurrentPowerSaver(&applied); -std::cout<<"\tIsPowerSaverapplied:"<<applied<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->IsCurrentQuiet(&applied); -std::cout<<"\tIsQuietapplied:"<<applied<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->IsCurrentBalanced(&applied); -std::cout<<"\tIsBalancedapplied:"<<applied<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->IsCurrentTurbo(&applied); -std::cout<<"\tIsTurboapplied:"<<applied<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->IsCurrentRage(&applied); -std::cout<<"\tIsRageapplied:"<<applied<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//SetGPUstates -voidSetGPUStates(IADLXGPUPresetTuningPtrgpuPresetTuning) -{ -adlx_boolapplied=false; -ADLX_RESULTres=gpuPresetTuning->SetPowerSaver(); -res=gpuPresetTuning->IsCurrentPowerSaver(&applied); -std::cout<<"\tSetPowerSaverpresettuning"<<(applied?"Successful":"failed")<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->SetQuiet(); -res=gpuPresetTuning->IsCurrentQuiet(&applied); -std::cout<<"\tSetQuietpresettuning"<<(applied?"Successful":"failed")<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->SetBalanced(); -res=gpuPresetTuning->IsCurrentBalanced(&applied); -std::cout<<"\tSetBalancedpresettuning"<<(applied?"Successful":"failed")<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->SetTurbo(); -res=gpuPresetTuning->IsCurrentTurbo(&applied); -std::cout<<"\tSetTurbopresettuning"<<(applied?"Successful":"failed")<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -applied=false; -res=gpuPresetTuning->SetRage(); -res=gpuPresetTuning->IsCurrentRage(&applied); -std::cout<<"\tSetRagepresettuning"<<(applied?"Successful":"failed")<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__i2_c.xml b/vendor/adlx/SDKDoc/xml/cpp__i2_c.xml deleted file mode 100644 index 8e673a5..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__i2_c.xml +++ /dev/null @@ -1,255 +0,0 @@ - - - - cpp_I2C - I2C - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to read and write data with I2C when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display version.</td></tr> - <tr><td>2</td><td> Read.</td></tr> - <tr><td>3</td><td> Repeated read.</td></tr> - <tr><td>4</td><td> Write.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/I2C/I2C</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/II2C.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; -constexprintDATA_SIZE=2; - -//Displayversion -voidShowVersion(constIADLXI2CPtr&i2c); - -//Read -voidRead(constIADLXI2CPtr&i2c); - -//Repeatedread -voidRepeatedRead(constIADLXI2CPtr&i2c); - -//Write -voidWrite(constIADLXI2CPtr&i2c); - -//Capability -voidCapability(constIADLXI2CPtr&i2c); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLXI2CPtr&i2c); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetI2Cinterface -IADLXI2CPtri2c; -res=g_ADLXHelp.GetSystemServices()->GetI2C(gpuInfo,&i2c); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(i2c); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheGPUlist",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowVersion(constIADLXI2CPtr&i2c) -{ -adlx_intmajor; -adlx_intminor; -ADLX_RESULTres=i2c->Version(&major,&minor); -std::cout<<"\tI2Cversion,major:"<<major<<",minor:"<<minor<<std::endl; -std::cout<<"\tresis:"<<res<<std::endl; -} - -voidRead(constIADLXI2CPtr&i2c) -{ -//Thefollowingishardwarespecific -adlx_bytedata[DATA_SIZE]={0}; -ADLX_RESULTres=i2c->Read(I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -std::cout<<"\tI2Creadinfo:\n" -<<"\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30\n\t\tdataSize:" -<<DATA_SIZE<<"\n\t\tdata:"<<(int)data[0]<<std::endl; -std::cout<<"\tresis:"<<res<<std::endl; -} - -voidRepeatedRead(constIADLXI2CPtr&i2c) -{ -//Thefollowingishardwarespecific -adlx_bytedata[DATA_SIZE]={0}; -ADLX_RESULTres=i2c->RepeatedStartRead(I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -std::cout<<"\tI2Creadinfo:\n" -<<"\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30\n\t\tdataSize:" -<<DATA_SIZE<<"\n\t\tdata:"<<(int)data[0]<<std::endl; -std::cout<<"\tresis:"<<res<<std::endl; -} - -voidWrite(constIADLXI2CPtr&i2c) -{ -//Thefollowingishardwarespecific -adlx_bytedata[DATA_SIZE]={0}; -data[0]=176; -ADLX_RESULTres=i2c->Write(I2C_LINE_OEM2,100,0x93,0x30,DATA_SIZE,data); -std::cout<<"\tI2Cwriteinfo:\n" -<<"\t\tline:I2C_LINE_OEM2\n\t\tspeed:100\n\t\taddress:0x93\n\t\toffset:0x30\n\t\tdataSize:" -<<DATA_SIZE<<"\n\t\tdata:"<<(int)data[0]<<std::endl; -std::cout<<"\tresis:"<<res<<std::endl; -} - -voidCapability(constIADLXI2CPtr&i2c) -{ -adlx_boolisSupported=false; -ADLX_RESULTres=i2c->IsSupported(I2C_LINE_OEM2,0x93,&isSupported); -std::cout<<"\tI2Csupportinfo:\n" -<<"\t\tline:I2C_LINE_OEM2\n\t\taddress:0x93\n\t\tisSupported:"<<isSupported -<<"\n\tresis:"<<res<<std::endl; -} - -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayversion"<<std::endl; -std::cout<<"\t->Press2toread"<<std::endl; -std::cout<<"\t->Press3torepeatedread"<<std::endl; -std::cout<<"\t->Press4towrite"<<std::endl; -std::cout<<"\t->Press5todisplaycapability"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(constIADLXI2CPtr&i2c) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayversion -case'1': -ShowVersion(i2c); -break; - -//Read -case'2': -Read(i2c); -break; - -//Repeatedread -case'3': -RepeatedRead(i2c); -break; - -//Write -case'4': -Write(i2c); -break; - -//Capability -case'5': -Capability(i2c); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__image_sharpening.xml b/vendor/adlx/SDKDoc/xml/cpp__image_sharpening.xml deleted file mode 100644 index 51c2230..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__image_sharpening.xml +++ /dev/null @@ -1,241 +0,0 @@ - - - - cpp_ImageSharpening - ImageSharpening - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Image Sharpening support</td></tr> - <tr><td>2</td><td> Get current Radeon Image Sharpening state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure Radeon Image Sharpening</td></tr> - <tr><td>4</td><td> Disable Radeon Image Sharpening</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/ImageSharpening</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> -#include<vector> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayImageSharpeningsupport -voidShowImageSharpenSupport(constIADLX3DImageSharpeningPtr&d3dImageSharpen); - -//GetcurrentImageSharpeningstateandadditionalinformation -voidGetImageSharpenState(constIADLX3DImageSharpeningPtr&d3dImageSharpen); - -//SetImageSharpeningstate -voidSetImageSharpenState(constIADLX3DImageSharpeningPtr&d3dImageSharpen,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DImageSharpeningPtr&d3dImageSharpen); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); -if(ADLX_SUCCEEDED(res)) -{ -//GetImageSharpeninginterface -IADLX3DImageSharpeningPtrd3dImageSharpen; -res=d3dSettingSrv->GetImageSharpening(gpuInfo,&d3dImageSharpen); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(d3dImageSharpen); -} -} -} -else -{ -std::cout<<"Failedtoget3DSettingsservices"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogettheGPU"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowImageSharpenSupport(constIADLX3DImageSharpeningPtr&d3dImageSharpen) -{ -adlx_boolsupported=false; -ADLX_RESULTres=d3dImageSharpen->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetImageSharpenState(constIADLX3DImageSharpeningPtr&d3dImageSharpen) -{ -adlx_boolenabled=false; -ADLX_RESULTres=d3dImageSharpen->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -adlx_intsharpness; -ADLX_IntRangesharpnessRange={0}; -res=d3dImageSharpen->GetSharpness(&sharpness); -std::cout<<"\tCurrentSharpness:"<<sharpness -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=d3dImageSharpen->GetSharpnessRange(&sharpnessRange); -std::cout<<"\tSharpnesslimit["<<sharpnessRange.minValue<<","<<sharpnessRange.maxValue<<"],step:"<<sharpnessRange.step -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetImageSharpenState(constIADLX3DImageSharpeningPtr&d3dImageSharpen,intindex) -{ -ADLX_RESULTres=d3dImageSharpen->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intsharpness; -ADLX_IntRangesharpnessRange={0}; -d3dImageSharpen->GetSharpness(&sharpness); -d3dImageSharpen->GetSharpnessRange(&sharpnessRange); -if(sharpness!=sharpnessRange.minValue) -{ -res=d3dImageSharpen->SetSharpness(sharpnessRange.minValue); -std::cout<<"\tUseminimumSharpnesslimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=d3dImageSharpen->SetSharpness(sharpnessRange.maxValue); -std::cout<<"\tUsemaximumSharpnesslimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayImageSharpeningsupport"<<std::endl; -std::cout<<"\t->Press2togetcurrentImageSharpeningstateandadditionalinformation"<<std::endl; -std::cout<<"\t->Press3toenableandconfigureImageSharpening"<<std::endl; -std::cout<<"\t->Press4todisableImageSharpening"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DImageSharpeningPtr&d3dImageSharpen) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayImageSharpeningsupport -case'1': -ShowImageSharpenSupport(d3dImageSharpen); -break; - -//GetcurrentImageSharpeningstateandadditionalinformation -case'2': -GetImageSharpenState(d3dImageSharpen); -break; - -//SetImageSharpeningstate -case'3': -case'4': -SetImageSharpenState(d3dImageSharpen,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__manual_fan_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__manual_fan_tuning.xml deleted file mode 100644 index 8acf21a..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__manual_fan_tuning.xml +++ /dev/null @@ -1,394 +0,0 @@ - - - - cpp_ManualFanTuning - ManualFanTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual fan tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get and set fan setting.</td></tr> - <tr><td>2</td><td> Get and set ZeroRPM setting.</td></tr> - <tr><td>3</td><td> Get and set MinAcoustic setting.</td></tr> - <tr><td>4</td><td> Get and set MinFanSpeed setting.</td></tr> - <tr><td>5</td><td> Get and set TargetFanSpeed setting.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/ManualFanTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUManualFanTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXManualFanTuningPtrmanualFanTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Displayandsetfansettings -voidShowGetAndSetFan(IADLXManualFanTuningPtrmanualFanTuning); - -//DisplayandsetZeroRPMsettings -voidShowGetAndSetZeroRPM(IADLXManualFanTuningPtrmanualFanTuning); - -//DisplayandsetMinAcousticsettings -voidShowGetAndSetMinAcoustic(IADLXManualFanTuningPtrmanualFanTuning); - -//DisplayandsetMinFanSpeedsettings -voidShowGetAndSetMinFanSpeed(IADLXManualFanTuningPtrmanualFanTuning); - -//DisplayandsetTargetFanSpeedsettings -voidShowGetAndSetTargetFanSpeed(IADLXManualFanTuningPtrmanualFanTuning); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUtuningservicesfailed",0); -} -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUlistfailed",0); -} -IADLXGPUPtroneGPU; -res=gpus->At(0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUfailed",0); -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedManualFanTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tThisGPUdoesn'tsupportedmanualfantuning",0); -} -IADLXInterfacePtrmanualFanTuningIfc; -res=gpuTuningService->GetManualFanTuning(oneGPU,&manualFanTuningIfc); -if(ADLX_FAILED(res)||manualFanTuningIfc==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualfantuninginterfacefailed",0); -} -IADLXManualFanTuningPtrmanualFanTuning(manualFanTuningIfc); -if(manualFanTuning==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualfantuningfailed",0); -} -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(manualFanTuning); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayandsetfansettings"<<std::endl; -std::cout<<"\t->Press2todisplayandsetZeroRPMsettings"<<std::endl; -std::cout<<"\t->Press3todisplayandsetMinAcousticsettings"<<std::endl; -std::cout<<"\t->Press4todisplayandsetMinFanSpeedsettings"<<std::endl; -std::cout<<"\t->Press5todisplayandsetTargetFanSpeedsettings"<<std::endl; -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXManualFanTuningPtrmanualFanTuning) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayandsetfansettings -case'1': -ShowGetAndSetFan(manualFanTuning); -break; - -//DisplayandsetZeroRPMsettings -case'2': -ShowGetAndSetZeroRPM(manualFanTuning); -break; - -//DisplayandsetMinAcousticsettings -case'3': -ShowGetAndSetMinAcoustic(manualFanTuning); -break; - -//DisplayandsetMinFanSpeedsettings -case'4': -ShowGetAndSetMinFanSpeed(manualFanTuning); -break; - -//DisplayandsetTargetFanSpeedsettings -case'5': -ShowGetAndSetTargetFanSpeed(manualFanTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//Displayandsetfansettings -voidShowGetAndSetFan(IADLXManualFanTuningPtrmanualFanTuning) -{ -//Displaymanualfantuningranges(speed,temperature) -ADLX_IntRangefanSpeedRange,fanTemperatureRange; -ADLX_RESULTres=manualFanTuning->GetFanTuningRanges(&fanSpeedRange,&fanTemperatureRange); -std::cout<<"\tFanspeedrangeis:("<<fanSpeedRange.minValue -<<","<<fanSpeedRange.maxValue<<")"<<std::endl; -std::cout<<"\tFantemperaturerangeis:("<<fanTemperatureRange.minValue -<<","<<fanTemperatureRange.maxValue<<")"<<std::endl; -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -//Displaycurrentfantuningstates -IADLXManualFanTuningStateListPtrstates; -IADLXManualFanTuningStatePtroneState; -res=manualFanTuning->GetFanTuningStates(&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -res=states->At(crt,&oneState); -adlx_intspeed=0,temperature=0; -oneState->GetFanSpeed(&speed); -oneState->GetTemperature(&temperature); -std::cout<<"\tThecurrent"<<crt<<"state:speedis"<<speed<<"temperatureis"<<temperature<<std::endl; -} -} - - -//Setemptyfantuningstates -res=manualFanTuning->GetEmptyFanTuningStates(&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -res=states->At(crt,&oneState); -adlx_intspeed=0,temperature=0; -intfanSpeedStep=(fanSpeedRange.maxValue-fanSpeedRange.minValue)/states->Size(); -intfanTemperatureStep=(fanTemperatureRange.maxValue-fanTemperatureRange.minValue)/states->Size(); -oneState->SetFanSpeed(fanSpeedRange.minValue+fanSpeedStep*crt); -oneState->GetFanSpeed(&speed); -oneState->SetTemperature(fanTemperatureRange.minValue+fanTemperatureStep*crt); -oneState->GetTemperature(&temperature); -std::cout<<"\tSetempty"<<crt<<"state:speedis"<<speed<<"temperatureis"<<temperature<<std::endl; -} -} - -//Setemptyfantuningstatestocurrentfantuningstates -adlx_interrorIndex; -res=manualFanTuning->IsValidFanTuningStates(states,&errorIndex); -std::cout<<"\tIsValidGPUTuningStates,errorIndexis:"<<errorIndex<<std::endl; -if(ADLX_SUCCEEDED(res)) -{ -manualFanTuning->SetFanTuningStates(states); -} -res=manualFanTuning->GetFanTuningStates(&states); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"\tAftersetting:"<<std::endl; -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -res=states->At(crt,&oneState); -adlx_intspeed=0,temperature=0; -oneState->GetFanSpeed(&speed); -oneState->GetTemperature(&temperature); -std::cout<<"\tThecurrent"<<crt<<"state:speedis"<<speed<<"temperatureis"<<temperature<<std::endl; -} -} -} - -//DisplayandsetZeroRPMsettings -voidShowGetAndSetZeroRPM(IADLXManualFanTuningPtrmanualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->IsSupportedZeroRPM(&supported); -std::cout<<"\tIsZeroRPMsupported:"<<supported<<std::endl; -if(ADLX_FAILED(res)||!supported) -return; - -adlx_boolisZeroRPMStateSet=false; -res=manualFanTuning->SetZeroRPMState(true); -std::cout<<"\tSetZeroRPMstate"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualFanTuning->GetZeroRPMState(&isZeroRPMStateSet); -std::cout<<"\tIsZeroRPMstateset:"<<isZeroRPMStateSet<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualFanTuning->SetZeroRPMState(false); -std::cout<<"\tResetZeroRPMstate"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualFanTuning->GetZeroRPMState(&isZeroRPMStateSet); -std::cout<<"\tIsZeroRPMstateset:"<<isZeroRPMStateSet<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplayandsetMinAcousticsettings -voidShowGetAndSetMinAcoustic(IADLXManualFanTuningPtrmanualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->IsSupportedMinAcousticLimit(&supported); -std::cout<<"\tIsMinAcousticLimitsupported:"<<supported<<std::endl; -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->GetMinAcousticLimitRange(&tuningRange); -std::cout<<"\tDisplayMinAcousticlimitrange:("<<tuningRange.minValue -<<","<<tuningRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -adlx_intminAcousticLimit; -res=manualFanTuning->GetMinAcousticLimit(&minAcousticLimit); -std::cout<<"\tDisplaycurrentminacousticlimit:"<<minAcousticLimit<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualFanTuning->SetMinAcousticLimit(tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->GetMinAcousticLimit(&minAcousticLimit); -std::cout<<"\tSetcurrentminacousticlimitto:"<<minAcousticLimit<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplayandsetMinFanSpeedsettings -voidShowGetAndSetMinFanSpeed(IADLXManualFanTuningPtrmanualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->IsSupportedMinFanSpeed(&supported); - -std::cout<<"\tIsMinFanSpeedsupported:"<<supported<<std::endl; -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->GetMinFanSpeedRange(&tuningRange); -std::cout<<"\tDisplayMinFanSpeedrange:("<<tuningRange.minValue -<<","<<tuningRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -adlx_intminFanSpeed=0; -res=manualFanTuning->GetMinFanSpeed(&minFanSpeed); -std::cout<<"\tDisplaycurrentMinFanSpeed:"<<minFanSpeed<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -res=manualFanTuning->SetMinAcousticLimit(tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->GetMinFanSpeed(&minFanSpeed); -std::cout<<"\tSetcurrentMinFanSpeedto:"<<minFanSpeed<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplayandsetTargetFanSpeedsettings -voidShowGetAndSetTargetFanSpeed(IADLXManualFanTuningPtrmanualFanTuning) -{ -adlx_boolsupported=false; -ADLX_RESULTres=manualFanTuning->IsSupportedTargetFanSpeed(&supported); - -std::cout<<"\tIsTargetFanSpeedsupported:"<<supported<<std::endl; -if(ADLX_FAILED(res)||!supported) -return; - -ADLX_IntRangetuningRange; -res=manualFanTuning->GetTargetFanSpeedRange(&tuningRange); -std::cout<<"\tDisplayTargetFanSpeedrange:("<<tuningRange.minValue -<<","<<tuningRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -adlx_inttargetFanSpeed=0; -res=manualFanTuning->GetTargetFanSpeed(&targetFanSpeed); -std::cout<<"\tDisplaycurrentTargetFanSpeed:"<<targetFanSpeed<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -res=manualFanTuning->SetTargetFanSpeed(tuningRange.minValue+(tuningRange.maxValue-tuningRange.minValue)/2); -res=manualFanTuning->GetTargetFanSpeed(&targetFanSpeed); -std::cout<<"\tSetcurrentTargetFanSpeedto:"<<targetFanSpeed<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__manual_graphics_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__manual_graphics_tuning.xml deleted file mode 100644 index 9441371..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__manual_graphics_tuning.xml +++ /dev/null @@ -1,389 +0,0 @@ - - - - cpp_ManualGraphicsTuning - ManualGraphicsTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual graphics tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get GPU frequency and voltage.</td></tr> - <tr><td>2</td><td> Get current GPU states.</td></tr> - <tr><td>3</td><td> Set GPU states.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/ManualGraphicsTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUManualGFXTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(IADLXManualGraphicsTuning1PtrmanualGFXTuning1,IADLXManualGraphicsTuning2PtrmanualGFXTuning2); - -//Menuactioncontrol -voidMenuControl(IADLXManualGraphicsTuning1PtrmanualGFXTuning1,IADLXManualGraphicsTuning2PtrmanualGFXTuning2); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -/*****Thefirstispre-Navi,thesecondispost-Navi*****/ -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1PtrmanualGFXTuning1); -voidShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2PtrmanualGFXTuning2); -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXManualGraphicsTuning1PtrmanualGFXTuning1); -voidGetCurrentStates(IADLXManualGraphicsTuning2PtrmanualGFXTuning2); -//SetGPUstates -voidSetGPUStates(IADLXManualGraphicsTuning1PtrmanualGFXTuning1); -voidSetGPUStates(IADLXManualGraphicsTuning2PtrmanualGFXTuning2); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUtuningservicesfailed",0); -} -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUlistfailed",0); -} -IADLXGPUPtroneGPU; -res=gpus->At(0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUfailed",0); -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedManualGFXTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tThisGPUdoesn'tsupportedmanualgraphicstuning",0); -} -IADLXInterfacePtrmanualGFXTuningIfc; -res=gpuTuningService->GetManualGFXTuning(oneGPU,&manualGFXTuningIfc); -if(ADLX_FAILED(res)||manualGFXTuningIfc==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualgraphicstuninginterfacefailed",0); -} -//Pre-NaviASIC -IADLXManualGraphicsTuning1PtrmanualGFXTuning1(manualGFXTuningIfc); -//Post-NaviASIC -IADLXManualGraphicsTuning2PtrmanualGFXTuning2(manualGFXTuningIfc); -if(manualGFXTuning1==nullptr&&manualGFXTuning2==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualgraphicstuningfailed",0); -} -//Displaymainmenuoptions -MainMenu(manualGFXTuning1,manualGFXTuning2); - -//Getandexecutethechoice -MenuControl(manualGFXTuning1,manualGFXTuning2); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu(IADLXManualGraphicsTuning1PtrmanualGFXTuning1,IADLXManualGraphicsTuning2PtrmanualGFXTuning2) -{ - -if(manualGFXTuning1) -std::cout<<"\tThecurrentGPUispre-Navi.Choosefromthefollowingoptions:"<<std::endl; -elseif(manualGFXTuning2) -std::cout<<"\tThecurrentGPUispost-Navi.Choosefromthefollowingoptions:"<<std::endl; -std::cout<<"\t->Press1todisplayGPUfrequencyandvoltage"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentGPUstates"<<std::endl; -std::cout<<"\t->Press3tosetGPUstates"<<std::endl; -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(IADLXManualGraphicsTuning1PtrmanualGFXTuning1,IADLXManualGraphicsTuning2PtrmanualGFXTuning2) -{ -charnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -//Pre-NaviMenuactioncontrol -if(manualGFXTuning1) -{ -switch(num) -{ -//DisplayGPUfrequencyandvoltagerange -case'1': -ShowFrequencyAndVoltageRange(manualGFXTuning1); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates(manualGFXTuning1); -break; - -//SetGPUstates -case'3': -SetGPUStates(manualGFXTuning1); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(manualGFXTuning1,manualGFXTuning2); -break; -default: -break; -} -} -//Post-NaviMenuactioncontrol -else -{ -switch(num) -{ -//DisplayGPUfrequencyandvoltagerange -case'1': -ShowFrequencyAndVoltageRange(manualGFXTuning2); -break; - -//DisplaycurrentGPUtuningstates -case'2': -GetCurrentStates(manualGFXTuning2); -break; - -//SetGPUstates -case'3': -SetGPUStates(manualGFXTuning2); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(manualGFXTuning1,manualGFXTuning2); -break; -default: -break; -} -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1PtrmanualGFXTuning1) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning1->GetGPUTuningRanges(&freqRange,&voltRange); -std::cout<<"\tFrequencyrange:("<<freqRange.minValue -<<","<<freqRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -std::cout<<"\tVoltagerange:("<<voltRange.minValue -<<","<<voltRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXManualGraphicsTuning1PtrmanualGFXTuning1) -{ -IADLXManualTuningStateListPtrstates; -IADLXManualTuningStatePtroneState; -ADLX_RESULTres=manualGFXTuning1->GetGPUTuningStates(&states); -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -states->At(crt,&oneState); -adlx_intfreq=0,volt=0; -res=oneState->GetFrequency(&freq); -std::cout<<"\tThecurrentstate"<<crt<<":frequencyis"<<freq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=oneState->GetVoltage(&volt); -std::cout<<"\tThecurrentstate"<<crt<<":voltageis"<<volt<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -//SetGPUstates -voidSetGPUStates(IADLXManualGraphicsTuning1PtrmanualGFXTuning1) -{ -IADLXManualTuningStateListPtrstates; -IADLXManualTuningStatePtroneState; -ADLX_RESULTres1=manualGFXTuning1->GetEmptyGPUTuningStates(&states); -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres2=manualGFXTuning1->GetGPUTuningRanges(&freqRange,&voltRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -states->At(crt,&oneState); -adlx_intfreq=0,volt=0; -intfreqStep=(freqRange.maxValue-freqRange.minValue)/(states->Size()); -//TheStepshouldnotbetoolarge -if(freqStep>=60) -freqStep=60; -intvoltStep=(voltRange.maxValue-voltRange.minValue)/(states->Size()); -//TheStepshouldnotbetoolarge -if(voltStep>=20) -voltStep=20; -ADLX_RESULTres=oneState->SetFrequency(freqRange.minValue+freqStep*crt); -res=oneState->GetFrequency(&freq); -res=oneState->SetVoltage(voltRange.minValue+voltStep*crt); -res=oneState->GetVoltage(&volt); -std::cout<<"\tSetemptystate"<<crt<<":frequencyis"<<freq<<",voltageis"<<volt<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -adlx_interrorIndex; -ADLX_RESULTres=manualGFXTuning1->IsValidGPUTuningStates(states,&errorIndex); -if(ADLX_SUCCEEDED(res)) -{ -res=manualGFXTuning1->SetGPUTuningStates(states); -std::cout<<"\tSetGPUtuningstates"<<(ADLX_SUCCEEDED(res)?"succeeded":"failed")<<std::endl; -} -else -std::cout<<"\tIsValidGPUTuningStates,errorIndexis:"<<errorIndex<<std::endl; - -res=manualGFXTuning1->GetGPUTuningStates(&states); -std::cout<<"\tAftersetting:"<<std::endl; -if(ADLX_SUCCEEDED(res)) -{ -for(adlx_uintcrt=states->Begin();crt!=states->End();++crt) -{ -res=states->At(crt,&oneState); -adlx_intfreq=0,volt=0; -res=oneState->GetFrequency(&freq); -res=oneState->GetVoltage(&volt); -std::cout<<"\tThecurrentstate"<<crt<<":frequencyis"<<freq<<",voltageis"<<volt<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -//DisplayGPUfrequencyandvoltagerange -voidShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2PtrmanualGFXTuning2) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange); -std::cout<<"\tGPUminfrequencyrange:("<<freqRange.minValue -<<","<<freqRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUMaxFrequencyRange(&freqRange); -std::cout<<"\tGPUmaxfrequencyrange:("<<freqRange.minValue -<<","<<freqRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUVoltageRange(&voltRange); -std::cout<<"\tVoltagerange:("<<voltRange.minValue -<<","<<voltRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//DisplaycurrentGPUtuningstates -voidGetCurrentStates(IADLXManualGraphicsTuning2PtrmanualGFXTuning2) -{ -adlx_intminFreq=0,maxFreq=0,volt=0; -ADLX_RESULTres=manualGFXTuning2->GetGPUMinFrequency(&minFreq); -std::cout<<"\tCurrentGPUminfrequency:"<<minFreq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUMaxFrequency(&maxFreq); -std::cout<<"\tCurrentGPUmaxfrequency:"<<maxFreq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUVoltage(&volt); -std::cout<<"\tCurrentGPUclockvoltage:"<<volt<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//SetGPUstates -voidSetGPUStates(IADLXManualGraphicsTuning2PtrmanualGFXTuning2) -{ -ADLX_IntRangefreqRange,voltRange; -ADLX_RESULTres=manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange); -res=manualGFXTuning2->GetGPUVoltageRange(&voltRange); -res=manualGFXTuning2->SetGPUMinFrequency(freqRange.minValue); -std::cout<<"\tSetGPUminfrequency"<<(ADLX_SUCCEEDED(res)?"succeeded":"failed")<<std::endl; -res=manualGFXTuning2->SetGPUMaxFrequency(freqRange.minValue+100); -std::cout<<"\tSetGPUmaxfrequency"<<(ADLX_SUCCEEDED(res)?"succeeded":"failed")<<std::endl; -res=manualGFXTuning2->SetGPUVoltage(voltRange.minValue+(voltRange.maxValue-voltRange.minValue)/2); -std::cout<<"\tSetGPUvoltage"<<(ADLX_SUCCEEDED(res)?"succeeded":"failed")<<std::endl; -std::cout<<"\tAftersetting:"<<std::endl; -adlx_intminFreq=0,maxFreq=0,volt=0; -res=manualGFXTuning2->GetGPUMinFrequency(&minFreq); -std::cout<<"\tCurrentGPUminfrequency:"<<minFreq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUMaxFrequency(&maxFreq); -std::cout<<"\tCurrentGPUmaxfrequency:"<<maxFreq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=manualGFXTuning2->GetGPUVoltage(&volt); -std::cout<<"\tCurrentGPUclockvoltage:"<<volt<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__manual_power_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__manual_power_tuning.xml deleted file mode 100644 index ba7a5ef..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__manual_power_tuning.xml +++ /dev/null @@ -1,319 +0,0 @@ - - - - cpp_ManualPowerTuning - ManualPowerTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control manual power tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get power limit range.</td></tr> - <tr><td>2</td><td> Get current power limit.</td></tr> - <tr><td>3</td><td> Set power limit.</td></tr> - <tr><td>4</td><td> Check TDC limit supported.</td></tr> - <tr><td>5</td><td> Get TDC limit range.</td></tr> - <tr><td>6</td><td> Get current TDC limit.</td></tr> - <tr><td>7</td><td> Set TDC limit.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/ManualPowerTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUManualPowerTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXManualPowerTuningPtrmanualPowerTuning); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Displaypowerlimitrange -voidShowGetPowerLimitRange(IADLXManualPowerTuningPtrmanualPowerTuning); - -//Displaycurrentpowerlimit -voidShowGetPowerLimit(IADLXManualPowerTuningPtrmanualPowerTuning); - -//Setpowerlimit -voidShowSetPowerLimit(IADLXManualPowerTuningPtrmanualPowerTuning); - -//ShowtocheckTDClimitissupported -voidShowTDCLimitSupported(IADLXManualPowerTuningPtrmanualPowerTuning); - -//ShowhowtogetTDClimitrange. -voidShowGetTDCLimitRange(IADLXManualPowerTuningPtrmanualPowerTuning); - -//ShowhowtogetcurrentTDClimit. -voidShowGetTDCLimit(IADLXManualPowerTuningPtrmanualPowerTuning); - -//ShowhowtosetTDClimit. -voidShowSetTDCLimit(IADLXManualPowerTuningPtrmanualPowerTuning); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUtuningservicesfailed",0); -} -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUlistfailed",0); -} -IADLXGPUPtroneGPU; -res=gpus->At(0,&oneGPU); -if(ADLX_FAILED(res)||oneGPU==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetGPUfailed",0); -} -adlx_boolsupported=false; -res=gpuTuningService->IsSupportedManualPowerTuning(oneGPU,&supported); -if(ADLX_FAILED(res)||supported==false) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tThisGPUdoesnotsupportmanualpowertuning",0); -} -IADLXInterfacePtrmanualPowerTuningIfc; -res=gpuTuningService->GetManualPowerTuning(oneGPU,&manualPowerTuningIfc); -if(ADLX_FAILED(res)||manualPowerTuningIfc==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualpowertuninginterfacefailed",0); -} -IADLXManualPowerTuningPtrmanualPowerTuning(manualPowerTuningIfc); -if(manualPowerTuning==nullptr) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("\tGetmanualpowertuningfailed",0); -} -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(manualPowerTuning); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1toshowhowtogetpowerlimitrange"<<std::endl; -std::cout<<"\t->Press2toshowhowtogetcurrentpowerlimit"<<std::endl; -std::cout<<"\t->Press3toshowhowtosetpowerlimit"<<std::endl; -std::cout<<"\t->Press4toshowTDCLimitissupported"<<std::endl; -std::cout<<"\t->Press5toshowhowtogetTDClimitrange"<<std::endl; -std::cout<<"\t->Press6toshowhowtogetcurrentTDClimit"<<std::endl; -std::cout<<"\t->Press7toshowhowtosetTDClimit"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaypowerlimitrange -case'1': -ShowGetPowerLimitRange(manualPowerTuning); -break; - -//Displaycurrentpowerlimit -case'2': -ShowGetPowerLimit(manualPowerTuning); -break; - -//Setpowerlimit -case'3': -ShowSetPowerLimit(manualPowerTuning); -break; -//ShowtocheckifTDCLimitissupported -case'4': -ShowTDCLimitSupported(manualPowerTuning); -break; -//ShowhowtogetTDClimitrange. -case'5': -ShowGetTDCLimitRange(manualPowerTuning); -break; - -//ShowhowtogetcurrentTDClimit. -case'6': -ShowGetTDCLimit(manualPowerTuning); -break; - -//ShowhowtosetTDClimit. -case'7': -ShowSetTDCLimit(manualPowerTuning); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//Displaypowerlimitrange -voidShowGetPowerLimitRange(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -ADLX_IntRangepowerRange; -ADLX_RESULTres=manualPowerTuning->GetPowerLimitRange(&powerRange); -std::cout<<"\tPowerlimitrange:("<<powerRange.minValue -<<","<<powerRange.maxValue<<")"<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//Displaycurrentpowerlimit -voidShowGetPowerLimit(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -adlx_intpowerLimit; -ADLX_RESULTres=manualPowerTuning->GetPowerLimit(&powerLimit); -std::cout<<"\tCurrentpowerlimit:"<<powerLimit<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//Setpowerlimit -voidShowSetPowerLimit(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -ADLX_IntRangepowerRange; -ADLX_RESULTres=manualPowerTuning->GetPowerLimitRange(&powerRange); -res=manualPowerTuning->SetPowerLimit(powerRange.step+powerRange.minValue+(powerRange.maxValue-powerRange.minValue)/2); -std::cout<<"\tSetpowerlimit"<<(ADLX_SUCCEEDED(res)?"succeeded":"failed")<<std::endl; -adlx_intpowerLimit; -res=manualPowerTuning->GetPowerLimit(&powerLimit); -std::cout<<"\tSetcurrentpowerlimitto:"<<powerLimit<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//ShowTDCLimitissupported. -voidShowTDCLimitSupported(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -adlx_boolsupportedTDC; -ADLX_RESULTres=manualPowerTuning->IsSupportedTDCLimit(&supportedTDC); -std::cout<<"\tTDClimitissupported:"<<supportedTDC<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//Showhowtogettdclimitrange. -voidShowGetTDCLimitRange(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -ADLX_IntRangetdcRange; -ADLX_RESULTres=manualPowerTuning->GetTDCLimitRange(&tdcRange); -std::cout<<"\tGetTDClimitrangeis:("<<tdcRange.minValue -<<","<<tdcRange.maxValue<<"),returncode(0isSuccess)is:"<<res<<std::endl; -} - -//ShowhowtogetcurrentTDClimit. -voidShowGetTDCLimit(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -adlx_inttdcLimit; -ADLX_RESULTres=manualPowerTuning->GetTDCLimit(&tdcLimit); -std::cout<<"\tThecurrentTDClimitis:"<<tdcLimit<<",returncode(0isSuccess)is:"<<res<<std::endl; -} - -//ShowhowtosetTDClimit. -voidShowSetTDCLimit(IADLXManualPowerTuningPtrmanualPowerTuning) -{ -ADLX_IntRangetdcRange; -ADLX_RESULTres=manualPowerTuning->GetTDCLimitRange(&tdcRange); - -res=manualPowerTuning->SetTDCLimit(tdcRange.step+tdcRange.minValue+(tdcRange.maxValue-tdcRange.minValue)/2); -adlx_inttdcLimit; -res=manualPowerTuning->GetTDCLimit(&tdcLimit); -std::cout<<"\tSetcurrentTDClimitto:"<<tdcLimit<<",returncode(0isSuccess)is:"<<res<<std::endl; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__manual_v_r_a_m_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__manual_v_r_a_m_tuning.xml deleted file mode 100644 index 2bc6770..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__manual_v_r_a_m_tuning.xml +++ /dev/null @@ -1,452 +0,0 @@ - - - - cpp_ManualVRAMTuning - ManualVRAMTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get Memory Timing support.</td></tr> - <tr><td>2</td><td> Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable</td></tr> - <tr><td>3</td><td> Set Memory Timing level.</td></tr> - <tr><td>4</td><td> Set VRAMTuning state.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/ManualVRAMTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUManualVRAMTuning.h" -#include"SDK/Include/IGPUTuning.h" -#include<iostream> -#include<map> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayMemoryTimingsupport -voidShowSupport(IADLXInterfacePtr&vramTuningIfc); - -//GetVRAMstate -voidGetState(IADLXInterfacePtr&vramTuningIfc); - -//SetMemoryTimingLevel -voidSetTimingLevel(IADLXInterfacePtr&vramTuningIfc); - -//SetVRAMstate -voidSetState(IADLXInterfacePtr&vramTuningIfc); - -//Mainmenu -voidMainMenu(IADLXInterfacePtr&vramTuningIfc); - -//Menuactioncontrol -voidMenuControl(IADLXInterfacePtrvramTuningIfc); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//GetGPUtuningservice -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpu; -adlx_uintindex=0; -res=gpus->At(index,&gpu); -if(ADLX_SUCCEEDED(res)) -{ -//GetmanualVRAMtuningsupport -adlx_boolsupported; -res=gpuTuningService->IsSupportedManualVRAMTuning(gpu,&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tGPUmanualVRAMtuningsupportstatus:"<<supported<<std::endl; -if(supported) -{ -//GetmanualVRAMtuninginterface -IADLXInterfacePtrvramTuningIfc; -res=gpuTuningService->GetManualVRAMTuning(gpu,&vramTuningIfc); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(vramTuningIfc); -MenuControl(vramTuningIfc); -} -} -else -{ -returnWaitAndExit("\nThisGPUDoesn'tsupportManualVRAMTuning",0); -} -} -} -else -std::cout<<"FailedtogetGPUtuningservices"<<std::endl; -} -else -std::cout<<"FailedtogetGPU"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticstd::map<ADLX_MEMORYTIMING_DESCRIPTION,constchar*>descMap= -{ -{MEMORYTIMING_DEFAULT,"Default"}, -{MEMORYTIMING_FAST_TIMING,"FastTiming"}, -{MEMORYTIMING_FAST_TIMING_LEVEL_2,"FastTimingLevel2"}, -{MEMORYTIMING_AUTOMATIC,"Automatic"}, -{MEMORYTIMING_MEMORYTIMING_LEVEL_1,"MemoryTimingLevel1"}, -{MEMORYTIMING_MEMORYTIMING_LEVEL_2,"MemoryTimingLevel2"}}; - -voidShowSupport(IADLXInterfacePtr&vramTuningIfc) -{ -adlx_boolsupported=false; -IADLXManualVRAMTuning2PtrvramTuning2(vramTuningIfc); -IADLXManualVRAMTuning1PtrvramTuning1(vramTuningIfc); -ADLX_RESULTres=ADLX_FAIL; -if(vramTuning2) -{ -res=vramTuning2->IsSupportedMemoryTiming(&supported); -} -elseif(vramTuning1) -{ -res=vramTuning1->IsSupportedMemoryTiming(&supported); -} -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetState(IADLXInterfacePtr&vramTuningIfc) -{ -IADLXManualVRAMTuning2PtrvramTuning2(vramTuningIfc); -IADLXManualVRAMTuning1PtrvramTuning1(vramTuningIfc); -ADLX_MEMORYTIMING_DESCRIPTIONdesc; -IADLXMemoryTimingDescriptionListPtrdescList; -if(vramTuning2) -{ -vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList); -vramTuning2->GetMemoryTimingDescription(&desc); - -adlx_intfreq; -ADLX_IntRangerang; -ADLX_RESULTres=vramTuning2->GetMaxVRAMFrequency(&freq); -std::cout<<"\tMaxVRAMfrequency:"<<freq<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -res=vramTuning2->GetMaxVRAMFrequencyRange(&rang); -std::cout<<"\tMaxVRAMfrequencyrange:["<<rang.minValue<<","<<rang.maxValue<<"],step:"<<rang.step -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -elseif(vramTuning1) -{ -vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList); -vramTuning1->GetMemoryTimingDescription(&desc); - -IADLXManualTuningStateListPtrstates; -vramTuning1->GetVRAMTuningStates(&states); -adlx_uints=states->Begin(); -std::cout<<"\tStateis:"<<std::endl; -for(;s!=states->End();s++) -{ -IADLXManualTuningStatePtrstate; -adlx_intfrequency; -adlx_intvoltage; -states->At(s,&state); -state->GetFrequency(&frequency); -state->GetVoltage(&voltage); -std::cout<<"\t\tfrequency:"<<frequency<<"voltage:"<<voltage<<std::endl; -} - -ADLX_IntRangefrequencyRange; -ADLX_IntRangevoltageRange; -ADLX_RESULTres=vramTuning1->GetVRAMTuningRanges(&frequencyRange,&voltageRange); -std::cout<<"\tFrequencyrange:["<<frequencyRange.minValue<<","<<frequencyRange.maxValue<<"],step:"<<frequencyRange.step -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -std::cout<<"\tVoltagerange:["<<voltageRange.minValue<<","<<voltageRange.maxValue<<"],step:"<<voltageRange.step -<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -if(descList) -{ -std::cout<<"\tCurrenttimingdesc:"<<descMap[desc]<<std::endl; -std::cout<<"\tSupportedMemoryTimingdesclist:"<<std::endl; -for(adlx_uints=0;s!=descList->End();s++) -{ -IADLXMemoryTimingDescriptionPtritem; -descList->At(s,&item); -item->GetDescription(&desc); -std::cout<<"\t"<<descMap[desc]<<std::endl; -} -} -std::cout<<std::endl; -} - -voidSetTimingLevel(IADLXInterfacePtr&vramTuningIfc) -{ -ADLX_RESULTres; -IADLXManualVRAMTuning2PtrvramTuning2(vramTuningIfc); -IADLXManualVRAMTuning1PtrvramTuning1(vramTuningIfc); -ADLX_MEMORYTIMING_DESCRIPTIONdesc,currentDesc; -IADLXMemoryTimingDescriptionListPtrdescList; -boolsupported=false; -if(vramTuning2) -{ -//IfMemoryTimingissupported,thenonlywillgettheMemoryTimingDescriptionList -res=vramTuning2->IsSupportedMemoryTiming(&supported); -if(supported) -{ -vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList); -if(descList) -{ -vramTuning2->GetMemoryTimingDescription(&currentDesc); -for(adlx_uints=0;s!=descList->End();s++) -{ -IADLXMemoryTimingDescriptionPtritem; -descList->At(s,&item); -item->GetDescription(&desc); -if(currentDesc!=desc) -{ -res=vramTuning2->SetMemoryTimingDescription(desc); -std::cout<<"\tSetMemoryTimingdescriptionto"<<descMap[desc]<<":returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -break; -} -} -} -else -{ -std::cout<<"\tFailedtogettheSupportedMemoryTimingDescriptionList."<<std::endl; -} -} -else -{ -std::cout<<"\tMemoryTimingLevelnotSupported,socannotsetMemoryTimingDescriptionList."<<std::endl; -} -} -elseif(vramTuning1) -{ -//IfMemoryTimingissupported,thenonlywillgettheMemoryTimingDescriptionList -res=vramTuning1->IsSupportedMemoryTiming(&supported); -if(supported) -{ -vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList); -if(descList) -{ -vramTuning1->GetMemoryTimingDescription(&currentDesc); -for(adlx_uints=0;s!=descList->End();s++) -{ -IADLXMemoryTimingDescriptionPtritem; -descList->At(s,&item); -item->GetDescription(&desc); -if(currentDesc!=desc) -{ -res=vramTuning1->SetMemoryTimingDescription(desc); -std::cout<<"\tSetMemoryTimingdescriptionto"<<descMap[desc]<<":returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -break; -} -} -} -else -{ -std::cout<<"\tFailedtogettheSupportedMemoryTimingDescriptionList."<<std::endl; -} -} -else -{ -std::cout<<"\tMemoryTimingLevelnotSupported,socannotsetMemoryTimingDescriptionList."<<std::endl; -} -} -} - -voidSetState(IADLXInterfacePtr&vramTuningIfc) -{ -ADLX_RESULTres; -IADLXManualVRAMTuning2PtrvramTuning2(vramTuningIfc); -IADLXManualVRAMTuning1PtrvramTuning1(vramTuningIfc); -boolsupported=false; -if(vramTuning2) -{ -//IfMemoryTimingissupported,thenonlywillsettheMemoryTimingState -res=vramTuning2->IsSupportedMemoryTiming(&supported); -if(supported) -{ -adlx_intfreq; -ADLX_IntRangerang; -vramTuning2->GetMaxVRAMFrequency(&freq); -vramTuning2->GetMaxVRAMFrequencyRange(&rang); -if(freq!=rang.minValue) -{ -res=vramTuning2->SetMaxVRAMFrequency(rang.minValue); -std::cout<<"\tUseminFrequencytoset,returncode(0isSuccess)is:"<<res<<std::endl; -} -else -{ -res=vramTuning2->SetMaxVRAMFrequency(rang.minValue+rang.step*2); -std::cout<<"\tUsemaxFrequencytoset,returncode(0isSuccess)is:"<<res<<std::endl; -} -} -else -{ -std::cout<<"\tTuningnotSupported,socannotchangetheState."<<std::endl; -} -} -elseif(vramTuning1) -{ -//IfMemoryTimingissupported,thenonlywillsettheMemoryTimingState -res=vramTuning1->IsSupportedMemoryTiming(&supported); -if(supported) -{ -ADLX_IntRangefrequencyRange; -ADLX_IntRangevoltageRange; -vramTuning1->GetVRAMTuningRanges(&frequencyRange,&voltageRange); -IADLXManualTuningStateListPtrstates; -vramTuning1->GetVRAMTuningStates(&states); -adlx_uints=states->Size()-1; -for(;s!=states->End();s++) -{ -IADLXManualTuningStatePtrstate; -adlx_intfrequency; -adlx_intvoltage; -states->At(s,&state); -state->GetFrequency(&frequency); -state->GetVoltage(&voltage); -//Onlychangethelast -res=state->SetFrequency(frequencyRange.maxValue-frequencyRange.step*10); -res=state->SetVoltage(voltageRange.maxValue-voltageRange.step*10); -break; -} -res=vramTuning1->SetVRAMTuningStates(states); -std::cout<<"\tChangeVRAMtuningstates,returncode(0isSuccess)is:"<<res<<std::endl; -} -else -{ -std::cout<<"\tTuningnotSupported,socannotchangetheState."<<std::endl; -} -} -} - -voidMainMenu(IADLXInterfacePtr&vramTuningIfc) -{ -//AcquiretoManualVRAMTuning1 -IADLXManualVRAMTuning1PtrvramTuning1(vramTuningIfc); -//AcquiretoManualVRAMTuning2 -IADLXManualVRAMTuning2PtrvramTuning2(vramTuningIfc); - -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayMemoryTimingsupport"<<std::endl; -if(vramTuning2) -std::cout<<"\t->Press2togetMemoryTiminglevelandfrequencyrange"<<std::endl; -elseif(vramTuning1) -std::cout<<"\t->Press2togetMemoryTiminglevel,VRAMfrequency,andthevoltageglobalrangeforallstates"<<std::endl; - -std::cout<<"\t->Press3tochangecurrentMemoryTimingLevel"<<std::endl; - -if(vramTuning2) -std::cout<<"\t->Press4tochangecurrentVRAMmaxfrequencyvalue"<<std::endl; -elseif(vramTuning1) -std::cout<<"\t->Press4tochangeVRAMstates"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(IADLXInterfacePtrvramTuningIfc) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//GetMemoryTimingsupport -case'1': -ShowSupport(vramTuningIfc); -break; - -//GetVRAMstate -case'2': -GetState(vramTuningIfc); -break; - -//Settiminglevel -case'3': -SetTimingLevel(vramTuningIfc); -break; - -//SetVRAMstate -case'4': -SetState(vramTuningIfc); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(vramTuningIfc); -break; -default: -break; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__morphologic_anti_aliasing.xml b/vendor/adlx/SDKDoc/xml/cpp__morphologic_anti_aliasing.xml deleted file mode 100644 index f0c280d..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__morphologic_anti_aliasing.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - cpp_MorphologicAntiAliasing - MorphologicAntiAliasing - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display morphological anti-aliasing support</td></tr> - <tr><td>2</td><td> Get current morphological anti-aliasing state of the GPU</td></tr> - <tr><td>3</td><td> Enable morphological anti-aliasing</td></tr> - <tr><td>4</td><td> Disable morphological anti-aliasing</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/MorphologicAntiAliasing</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displaymorphologicalanti-aliasingsupport -voidShowSupport(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing); - -//Getcurrentmorphologicalanti-aliasingstateoftheGPU -voidGetState(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing); - -//Setmorphologicalanti-aliasingstate -voidSetState(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); -if(ADLX_SUCCEEDED(res)) -{ -//GetMorphologicAntiAliasinginterface -IADLX3DMorphologicalAntiAliasingPtrmAntiAliasing; -res=d3dSettingSrv->GetMorphologicalAntiAliasing(gpuInfo,&mAntiAliasing); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(mAntiAliasing); -} -} -} -else -{ -std::cout<<"Failedtogetthe3DSettingsServices"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogettheGPU"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSupport(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing) -{ -adlx_boolsupported=false; -ADLX_RESULTres=mAntiAliasing->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetState(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing) -{ -adlx_boolenabled=false; -ADLX_RESULTres=mAntiAliasing->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetState(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing,intindex) -{ -ADLX_RESULTres=mAntiAliasing->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplaymorphologicalanti-aliasingsupport"<<std::endl; -std::cout<<"\t->Press2togetcurrentmorphologicalanti-aliasingstateoftheGPU"<<std::endl; -std::cout<<"\t->Press3toenablemorphologicalanti-aliasing"<<std::endl; -std::cout<<"\t->Press4todisablemorphologicalanti-aliasing"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DMorphologicalAntiAliasingPtr&mAntiAliasing) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaymorphologicalanti-aliasingsupport -case'1': -ShowSupport(mAntiAliasing); -break; - -//Getanddisplaycurrentmorphologicalanti-aliasingstateoftheGPU -case'2': -GetState(mAntiAliasing); -break; - -//Setmorphologicalanti-aliasingstate -case'3': -case'4': -SetState(mAntiAliasing,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__perf_all_metrics.xml b/vendor/adlx/SDKDoc/xml/cpp__perf_all_metrics.xml deleted file mode 100644 index c91736f..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__perf_all_metrics.xml +++ /dev/null @@ -1,606 +0,0 @@ - - - - cpp_PerfAllMetrics - PerfAllMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control all metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current all metrics.</td></tr> - <tr><td>2</td><td> Show historical all metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/PerformanceMonitoring/PerfAllMetrics</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//ASCII° -staticconstsignedcharg_degree=248; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//Displayallcurrentmetrics -voidShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -//Displayallhistoricalmetrics -voidShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXPerformanceMonitoringServicesPtrperfMonitoringService; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUListPtrgpus; -//GetGPUlist -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//UsethefirstGPUinthelist -IADLXGPUPtroneGPU; -res=gpus->At(gpus->Begin(),&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringService,oneGPU); -} -else -std::cout<<"\tGetparticularGPUfailed"<<std::endl; -} -else -std::cout<<"\tGetGPUlistfailed"<<std::endl; -} -else -std::cout<<"\tGetperformancemonitoringservicesfailed"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplaycurrentallmetrics"<<std::endl; -std::cout<<"\t->Press2todisplayhistoricalallmetrics"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayallcurrentmetrics -case'1': -ShowCurrentAllMetrics(perfMonitoringServices,oneGPU); -break; - -//Displayallhistoricalmetrics -case'2': -ShowHistoricalAllMetrics(perfMonitoringServices,oneGPU); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStamp(IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=systemMetrics->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thesystemtimestampis:"<<timeStamp<<"ms"<<std::endl; -} - -//ShowCPUusage(in%) -voidShowCPUUsage(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplayCPUusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedCPUUsage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"CPUusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doublecpuUsage=0; -res=systemMetrics->CPUUsage(&cpuUsage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheCPUusageis:"<<cpuUsage<<"%"<<std::endl; -} -} -} - -//DisplaysystemRAM(inMB) -voidShowSystemRAM(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplaysystemRAMusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedSystemRAM(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"SystemRAMusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intsystemRAM=0; -res=systemMetrics->SystemRAM(&systemRAM); -if(ADLX_SUCCEEDED(res)) -std::cout<<"ThesystemRAMis:"<<systemRAM<<"MB"<<std::endl; -} -} -} - -//DisplaySmartShift -voidShowSmartShift(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplaySmartShiftsupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedSmartShift(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"SmartShiftsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intsmartShift; -res=systemMetrics->SmartShift(&smartShift); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheSmartShiftis:"<<smartShift<<std::endl; -} -} -} - -//DisplaytheGPUmetricstimestamp(inms) -voidGetTimeStamp(IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=gpuMetrics->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtimestampis:"<<timeStamp<<"ms"<<std::endl; -} - -//DisplayGPUusage(in%) -voidShowGPUUsage(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUusagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUUsage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doubleusage=0; -res=gpuMetrics->GPUUsage(&usage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUusageis:"<<usage<<"%"<<std::endl; -} -} -} - -//DisplayGPUclockspeed(inMHz) -voidShowGPUClockSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUclockspeedissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_intgpuClock=0; -res=gpuMetrics->GPUClockSpeed(&gpuClock); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUclockspeedis:"<<gpuClock<<"MHz"<<std::endl; -} -} -} - -//ShowGPUVRAMclockspeed(MHz) -voidShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUVRAMclockspeedissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUVRAMclockspeedissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_intmemoryClock=0; -res=gpuMetrics->GPUVRAMClockSpeed(&memoryClock); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMclockspeedis:"<<memoryClock<<"MHz"<<std::endl; -} -} -} - -//ShowGPUtemperature(°C) -voidShowGPUTemperature(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUtempetatureissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUTemperature(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUtempertureissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->GPUTemperature(&temperature); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtemperatureis:"<<temperature<<g_degree<<"C"<<std::endl; -} -} -} - -//ShowGPUhotspottemperature(°C) -voidShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUhotspottemperatureissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUhotspottemperatureissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_doublehotspotTemperature=0; -res=gpuMetrics->GPUHotspotTemperature(&hotspotTemperature); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUhotspottemperatureis:"<<hotspotTemperature<<g_degree<<"C"<<std::endl; -} -} -} - -//ShowGPUpower(W) -voidShowGPUPower(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUpowerissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUPower(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUpowerissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->GPUPower(&power); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUpoweris:"<<power<<"W"<<std::endl; -} -} -} - -//ShowGPUfanspeed(RPM) -voidShowGPUFanSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUfanspeedissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUfanspeedissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_intfanSpeed=0; -res=gpuMetrics->GPUFanSpeed(&fanSpeed); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUfanspeedis:"<<fanSpeed<<"RPM"<<std::endl; -} -} -} - -//ShowGPUVRAM(MB) -voidShowGPUVRAM(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUVRAMissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVRAM(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUVRAMissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_intVRAM=0; -res=gpuMetrics->GPUVRAM(&VRAM); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMis:"<<VRAM<<"MB"<<std::endl; -} -} -} - -//ShowGPUVoltage(mV) -voidShowGPUVoltage(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//GetiftheGPUvoltageissupported -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVoltage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GetiftheGPUvoltageissupported:"<<supported<<std::endl; -if(supported) -{ -adlx_intvoltage=0; -res=gpuMetrics->GPUVoltage(&voltage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUvoltageis:"<<voltage<<"mV"<<std::endl; -} -} -} - -//Showcurrentallmetrics -voidShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupportPtrsystemMetricsSupport; -ADLX_RESULTres2=perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -res2=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); - -//Loop10timetoaccumulatedataandshowthecurrentmetricsineachloop -IADLXAllMetricsPtrallMetrics; -IADLXSystemMetricsPtrsystemMetrics; -IADLXGPUMetricsPtrgpuMetrics; -IADLXFPSPtroneFPS; -for(inti=0;i<10;++i) -{ -//clearscreenwhenshowcurrentmetrics -system("cls"); -//GetcurrentAllmetrics -ADLX_RESULTres1=perfMonitoringServices->GetCurrentAllMetrics(&allMetrics); -if(ADLX_SUCCEEDED(res1)) -{ -std::cout<<"Thecurrentallmetrics:"<<std::endl; -//Getcurrentsystemmetrics. -res1=allMetrics->GetSystemMetrics(&systemMetrics); -//Showtimestamp,CPUusage,systemRAMandsmartshift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<std::boolalpha;//displayboolvariableastrueoffalse -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -std::cout<<std::noboolalpha; -} -//GetcurrentGPUmetrics -res1=allMetrics->GetGPUMetrics(oneGPU,&gpuMetrics); -//ShowtimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<std::boolalpha;//displayboolvariableastrueoffalse -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -std::cout<<std::noboolalpha; -} -//GetcurrentFPSmetrics -res1=allMetrics->GetFPS(&oneFPS); -if(ADLX_SUCCEEDED(res1)) -{ -adlx_int64timeStamp=0; -res1=oneFPS->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res1)) -std::cout<<"Thecurrentmetrictimestampis:"<<timeStamp<<"ms\n"; -adlx_intfpsData=0; -res1=oneFPS->FPS(&fpsData); -if(ADLX_SUCCEEDED(res1)) -std::cout<<"ThecurrentmetricFPSis:"<<fpsData<<std::endl; -elseif(res1==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportFPS"<<std::endl; -} -} -Sleep(1000); -} - -MainMenu(); -} - -//Showhistoricalallmetrics -voidShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->ClearPerformanceMetricsHistory(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Clearhistoricaldatafailed"<<std::endl; -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->StartPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Starttrackingperformancemetricsfailed"<<std::endl; -return; -} - -//Waitfor10secondstoaccumulatemetrics -std::cout<<"Waitfor10secondstoaccumulatemetrics..."<<std::endl; -Sleep(10000); - -//Grabtheallmetricshistoryfrom10secondsago(10000ms:thefirstparameter)tothepresenttime(0ms:thesecondparameter) -IADLXAllMetricsListPtrallMetricsList; -res=perfMonitoringServices->GetAllMetricsHistory(10000,0,&allMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupportPtrsystemMetricsSupport; -ADLX_RESULTsystemRes=perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -ADLX_RESULTgpuRes=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); - -//Displayeachallmetricsinthelist -IADLXAllMetricsPtrallMetrics; -IADLXSystemMetricsPtrsystemMetrics; -IADLXGPUMetricsPtrgpuMetrics; -IADLXFPSPtroneFPS; -for(inti=allMetricsList->Begin();i!=allMetricsList->End();++i) -{ -std::cout<<"**********historicalsystemmetrics"<<i+1<<":**********"<<std::endl; -res=allMetricsList->At(i,&allMetrics); -if(ADLX_SUCCEEDED(res)) -{ -res=allMetrics->GetSystemMetrics(&systemMetrics); -//Showtimestamp,CPUusage,systemRAM,smartshiftoffirstsystemmetrics -if(ADLX_SUCCEEDED(systemRes)&&ADLX_SUCCEEDED(res)) -{ -std::cout<<std::boolalpha;//displayboolvariableastrueoffalse -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -std::cout<<std::noboolalpha; -} -res=allMetrics->GetGPUMetrics(oneGPU,&gpuMetrics); -//ShowtimestampandGPUmetrics -if(ADLX_SUCCEEDED(gpuRes)&&ADLX_SUCCEEDED(res)) -{ -std::cout<<std::boolalpha;//displayboolvariableastrueoffalse -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -std::cout<<std::noboolalpha; -} -res=allMetrics->GetFPS(&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thetimestampis:"<<timeStamp<<"ms"<<std::endl; -adlx_intfpsData=0; -res=oneFPS->FPS(&fpsData); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheFPSis:"<<fpsData<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportFPS"<<std::endl; -} -std::cout<<std::endl; -} -} -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->StopPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Stoptrackingperformancemetricsfailed"<<std::endl; -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__perf_f_p_s_metrics.xml b/vendor/adlx/SDKDoc/xml/cpp__perf_f_p_s_metrics.xml deleted file mode 100644 index dc4c4a0..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__perf_f_p_s_metrics.xml +++ /dev/null @@ -1,252 +0,0 @@ - - - - cpp_PerfFPSMetrics - PerfFPSMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control FPS metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current FPS metrics.</td></tr> - <tr><td>2</td><td> Show historical FPS metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//ShowcurrentFPSmetrics -voidShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -//ShowhistoricalFPSmetrics -voidShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXPerformanceMonitoringServicesPtrperfMonitoringServices; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringServices); -} -else -std::cout<<"\tGetperformancemonitoringservicesfailed"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplaycurrentFPSmetrics"<<std::endl; -std::cout<<"\t->Press2todisplayhistoricalFPSmetrics"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Showcurrentmetrics -case'1': -ShowCurrentFPSMetrics(perfMonitoringServices); -break; - -//Showhistoricalmetrics -case'2': -ShowHistoricalFPSMetrics(perfMonitoringServices); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//DisplaycurrentFPSmetrics -voidShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -//Accumulateanddisplaycurrentmetricsforeachof10loops -IADLXFPSPtroneFPS; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//GetcurrentFPSmetrics -ADLX_RESULTres=perfMonitoringServices->GetCurrentFPS(&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thecurrentmetrictimestampis:"<<timeStamp<<"ms\n"; -adlx_intfpsData=0; -res=oneFPS->FPS(&fpsData); -if(ADLX_SUCCEEDED(res)) -std::cout<<"ThecurrentmetricFPSis:"<<fpsData<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportFPS"<<std::endl; -} -Sleep(1000); -} - -MainMenu(); -} - -//ShowhistoricalFPSmetrics -voidShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->ClearPerformanceMetricsHistory(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Clearhistoricaldatafailed"<<std::endl; -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->StartPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Starttrackingperformancemetricsfailed"<<std::endl; -return; -} - -//Waitfor10secondstoaccumulatemetrics -std::cout<<"Waitfor10secondstoaccumulatemetrics..."<<std::endl; -Sleep(10000); - -//GetFPSmetricshistoryfrom10secondsago(10000ms:thefirstparameter)tothepresenttime(0ms:thesecondparameter) -IADLXFPSListPtrfpsList; -res=perfMonitoringServices->GetFPSHistory(10000,0,&fpsList); -if(ADLX_SUCCEEDED(res)) -{ -//DisplayalllistedFPSmetrics -IADLXFPSPtroneFPS; -for(inti=fpsList->Begin();i!=fpsList->End();++i) -{ -std::cout<<"**********historicalFPSmetrics"<<i+1<<":**********"<<std::endl; -res=fpsList->At(i,&oneFPS); -if(ADLX_SUCCEEDED(res)) -{ -adlx_int64timeStamp=0; -res=oneFPS->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thetimestampis:"<<timeStamp<<"ms"<<std::endl; -adlx_intfpsData=0; -res=oneFPS->FPS(&fpsData); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheFPSis:"<<fpsData<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportFPS"<<std::endl; -} -std::cout<<std::endl; -} -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->StopPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Stoptrackingperformancemetricsfailed"<<std::endl; -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__perf_g_p_u_metrics.xml b/vendor/adlx/SDKDoc/xml/cpp__perf_g_p_u_metrics.xml deleted file mode 100644 index 23189d0..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__perf_g_p_u_metrics.xml +++ /dev/null @@ -1,692 +0,0 @@ - - - - cpp_PerfGPUMetrics - PerfGPUMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control GPU metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show GPU metrics range.</td></tr> - <tr><td>2</td><td> Show current GPU metrics.</td></tr> - <tr><td>3</td><td> Show current GPU metrics from historical data.</td></tr> - <tr><td>4</td><td> Show historical GPU metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//ASCII° -staticconstsignedcharg_degree=248; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//ShowGPUmetricsrange -voidShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//ShowcurrentGPUmetrics -voidShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); -voidShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -//ShowhistoricalGPUmetrics -voidShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXPerformanceMonitoringServicesPtrperfMonitoringService; -res=g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUListPtrgpus; -//GetGPUlist -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//UsethefirstGPUinthelist -IADLXGPUPtroneGPU; -res=gpus->At(gpus->Begin(),&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringService,oneGPU); -} -else -std::cout<<"\tGetparticularGPUfailed"<<std::endl; -} -else -std::cout<<"\tGetGPUlistfailed"<<std::endl; -} -else -std::cout<<"\tGetperformancemonitoringservicesfailed"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayGPUmetricsrange"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentGPUmetrics"<<std::endl; -std::cout<<"\t->Press3todisplaycurrentGPUmetricsfromhistoricaldata"<<std::endl; -std::cout<<"\t->Press4todisplayhistoricalGPUmetrics"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//ShowGPUmetricsrange -case'1': -ShowGPUMetricsRange(perfMonitoringServices,oneGPU); -break; - -//DisplaycurrentGPUmetrics -case'2': -ShowCurrentGPUMetrics(perfMonitoringServices,oneGPU); -break; - -//DisplaycurrentGPUmetricsfromhistoricaldata -case'3': -ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices,oneGPU); -break; - -//DisplayhistoricalGPUmetrics -case'4': -ShowHistoricalGPUMetrics(perfMonitoringServices,oneGPU); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//DisplayGPUmetricsrange -voidShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -ADLX_RESULTres=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); -if(ADLX_SUCCEEDED(res)) -{ -adlx_intminValue=0,maxValue=0; - -//GetGPUusagerange -res=gpuMetricsSupport->GetGPUUsageRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUusagerangebetween"<<minValue<<"%and"<<maxValue<<"%"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUusagerange"<<std::endl; - -//GetGPUclockspeedrange -res=gpuMetricsSupport->GetGPUClockSpeedRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUclockspeedrangebetween"<<minValue<<"MHzand"<<maxValue<<"MHz"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUclockspeedrange"<<std::endl; - -//GetGPUVRAMclockspeedrange -res=gpuMetricsSupport->GetGPUVRAMClockSpeedRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMclockspeedrangebetween"<<minValue<<"MHzand"<<maxValue<<"MHz"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUVRAMclockspeedrange"<<std::endl; - -//GetGPUtemperaturerange -res=gpuMetricsSupport->GetGPUTemperatureRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtemperaturerangebetween"<<minValue<<g_degree<<"Cand"<<maxValue<<g_degree<<"C"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUtemperaturerange"<<std::endl; - -//GetGPUhotspottemperaturerange -res=gpuMetricsSupport->GetGPUHotspotTemperatureRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUhotspottemperaturerangebetween"<<minValue<<g_degree<<"Cand"<<maxValue<<g_degree<<"C"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUhotspottemperaturerange"<<std::endl; - -//GetGPUpowerrange -res=gpuMetricsSupport->GetGPUPowerRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUpowerrangebetween"<<minValue<<"Wand"<<maxValue<<"W"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUpowerrange"<<std::endl; - -//GetGPUfanspeedrange -res=gpuMetricsSupport->GetGPUFanSpeedRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUfanspeedrangebetween"<<minValue<<"RPMand"<<maxValue<<"RPM"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUfanspeedrange"<<std::endl; - -//GetGPUVRAMrange -res=gpuMetricsSupport->GetGPUVRAMRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMrangebetween"<<minValue<<"MBand"<<maxValue<<"MB"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUVRAMrange"<<std::endl; - -//GetGPUvoltagerange -res=gpuMetricsSupport->GetGPUVoltageRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUvoltagerangebetween"<<minValue<<"mVand"<<maxValue<<"mV"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUvoltagerange"<<std::endl; - -//GetGPUtotalboardpowerrange -res=gpuMetricsSupport->GetGPUTotalBoardPowerRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtotalboardpowerrangebetween"<<minValue<<"Wand"<<maxValue<<"W"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUtotalboardpowerrange"<<std::endl; - -//GetGPUintaketemperaturerange -res=gpuMetricsSupport->GetGPUIntakeTemperatureRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUintaketemperaturerangebetween"<<minValue<<g_degree<<"Cand"<<maxValue<<g_degree<<"C"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportGPUintaketemperaturerange"<<std::endl; -} -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStamp(IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=gpuMetrics->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtimpstampis:"<<timeStamp<<"ms"<<std::endl; -} - -//DisplayGPUusage(in%) -voidShowGPUUsage(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUusagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUUsage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doubleusage=0; -res=gpuMetrics->GPUUsage(&usage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUusageis:"<<usage<<"%"<<std::endl; -} -} -} - -//DisplayGPUclockspeed(inMHz) -voidShowGPUClockSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUclockspeedsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intgpuClock=0; -res=gpuMetrics->GPUClockSpeed(&gpuClock); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUclockspeedis:"<<gpuClock<<"MHz"<<std::endl; -} -} -} - -//DisplayGPUVRAMclockspeed(inMHz) -voidShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplaytheGPUVRAMclockspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUVRAMclockspeedsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intmemoryClock=0; -res=gpuMetrics->GPUVRAMClockSpeed(&memoryClock); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMclockspeedis:"<<memoryClock<<"MHz"<<std::endl; -} -} -} - -//DisplayGPUtemperature(in°C) -voidShowGPUTemperature(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; - -//DisplaytheGPUtemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUTemperature(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUtemperaturesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->GPUTemperature(&temperature); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtemperatureis:"<<temperature<<g_degree<<"C"<<std::endl; -} -} -} - -//DisplayGPUhotspottemperature(in°C) -voidShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; - -//DisplayGPUhotspottemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUhotspottemperaturesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doublehotspotTemperature=0; -res=gpuMetrics->GPUHotspotTemperature(&hotspotTemperature); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUhotspottemperatureis:"<<hotspotTemperature<<g_degree<<"C"<<std::endl; -} -} -} - -//DisplayGPUpower(inW) -voidShowGPUPower(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUpowersupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUPower(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUpowersupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->GPUPower(&power); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUpoweris:"<<power<<"W"<<std::endl; -} -} -} - -//DisplayGPUtotalboardpower(inW) -voidShowGPUTotalBoardPower(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUtotalboardpowersupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUTotalBoardPower(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUtotalboardpowersupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doublepower=0; -res=gpuMetrics->GPUTotalBoardPower(&power); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUtotalboardpoweris:"<<power<<"W"<<std::endl; -} -} -} - -//DisplayGPUintaketemperature(in°C) -voidShowGPUIntakeTemperature(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; - -//DisplaytheGPUtemperaturesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUIntakeTemperature(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUintaketemperaturesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doubletemperature=0; -res=gpuMetrics->GPUIntakeTemperature(&temperature); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUintaketemperatureis:"<<temperature<<g_degree<<"C"<<std::endl; -} -} -} - -//DisplayGPUfanspeed(inRPM) -voidShowGPUFanSpeed(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUfanspeedsupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUfanspeedsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intfanSpeed=0; -res=gpuMetrics->GPUFanSpeed(&fanSpeed); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUfanspeedis:"<<fanSpeed<<"RPM"<<std::endl; -} -} -} - -//DisplayGPUVRAM(inMB) -voidShowGPUVRAM(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUVRAMsupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVRAM(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUVRAMsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intVRAM=0; -res=gpuMetrics->GPUVRAM(&VRAM); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUVRAMis:"<<VRAM<<"MB"<<std::endl; -} -} -} - -//DisplayGPUVoltage(inmV) -voidShowGPUVoltage(IADLXGPUMetricsSupportPtrgpuMetricsSupport,IADLXGPUMetricsPtrgpuMetrics) -{ -adlx_boolsupported=false; -//DisplayGPUvoltagesupportstatus -ADLX_RESULTres=gpuMetricsSupport->IsSupportedGPUVoltage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"GPUvoltagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intvoltage=0; -res=gpuMetrics->GPUVoltage(&voltage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheGPUvoltageis:"<<voltage<<"mV"<<std::endl; -} -} -} - -//DisplaycurrentGPUmetrics -voidShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -ADLX_RESULTres1=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachof10loops -IADLXGPUMetricsPtrgpuMetrics; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//GetcurrentGPUmetrics -ADLX_RESULTres2=perfMonitoringServices->GetCurrentGPUMetrics(oneGPU,&gpuMetrics); - -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<"ThecurrentGPUmetrics:"<<std::endl; -std::cout<<std::boolalpha;//Displaybooleanvariableastrueorfalse -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -std::cout<<std::noboolalpha; -} -Sleep(1000); -} - -MainMenu(); -} - -voidShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->ClearPerformanceMetricsHistory(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Clearhistoricaldatafailed"<<std::endl; -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->StartPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Starttrackingperformancemetricsfailed"<<std::endl; -return; -} - -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -ADLX_RESULTmetricsSupportRet=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachof10loops -adlx_intstartMs=0; -adlx_intstopMs=0; -for(intit=0;it<10;++it) -{ -//Clearscreen -system("cls"); - -IADLXGPUMetricsListPtrgpuMetricsList; -res=perfMonitoringServices->GetGPUMetricsHistory(oneGPU,startMs,stopMs,&gpuMetricsList); - -//DisplayalltheGPUmetricsinthelist -IADLXGPUMetricsPtrgpuMetrics; -for(inti=gpuMetricsList->Begin();i!=gpuMetricsList->End();++i) -{ -res=gpuMetricsList->At(i,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(metricsSupportRet)&&ADLX_SUCCEEDED(res)) -{ -std::cout<<"ThecurrentGPUmetrics:"<<std::endl; -std::cout<<std::boolalpha;//Displaybooleanvariableastrueorfalse -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -std::cout<<std::noboolalpha; -} -std::cout<<std::endl; -} - -Sleep(1000); -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->StopPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Stoptrackingperformancemetricsfailed"<<std::endl; -} - -MainMenu(); -} - -//DisplayhistoricalGPUMetrics -voidShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices,IADLXGPUPtroneGPU) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->ClearPerformanceMetricsHistory(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Clearhistoricaldatafailed"<<std::endl; -return; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->StartPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Starttrackingperformancemetricsfailed"<<std::endl; -return; -} - -//Waitfor10secondstoaccumulatemetrics -std::cout<<"Waitfor10secondstoaccumulatemetrics..."<<std::endl; -Sleep(10000); - -//GetGPUmetricshistoryfrom10secondsago(10000ms:thesecondparameter)tothepresenttime(0ms:thethirdparameter) -IADLXGPUMetricsListPtrgpuMetricsList; -res=perfMonitoringServices->GetGPUMetricsHistory(oneGPU,10000,0,&gpuMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUmetricssupport -IADLXGPUMetricsSupportPtrgpuMetricsSupport; -ADLX_RESULTres1=perfMonitoringServices->GetSupportedGPUMetrics(oneGPU,&gpuMetricsSupport); - -//DisplayalltheGPUmetricsinthelist -IADLXGPUMetricsPtrgpuMetrics; -for(inti=gpuMetricsList->Begin();i!=gpuMetricsList->End();++i) -{ -std::cout<<"**********historicalGPUmetrics"<<i+1<<":**********"<<std::endl; -ADLX_RESULTres2=gpuMetricsList->At(i,&gpuMetrics); -//DisplaytimestampandGPUmetrics -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<std::boolalpha;//Displaybooleanvariableastrueorfalse -GetTimeStamp(gpuMetrics); -ShowGPUUsage(gpuMetricsSupport,gpuMetrics); -ShowGPUClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAMClockSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUHotspotTemperature(gpuMetricsSupport,gpuMetrics); -ShowGPUPower(gpuMetricsSupport,gpuMetrics); -ShowGPUFanSpeed(gpuMetricsSupport,gpuMetrics); -ShowGPUVRAM(gpuMetricsSupport,gpuMetrics); -ShowGPUVoltage(gpuMetricsSupport,gpuMetrics); -ShowGPUTotalBoardPower(gpuMetricsSupport,gpuMetrics); -ShowGPUIntakeTemperature(gpuMetricsSupport,gpuMetrics); -std::cout<<std::noboolalpha; -} -std::cout<<std::endl; -} -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->StopPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Stoptrackingperformancemetricsfailed"<<std::endl; -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__perf_system_metrics.xml b/vendor/adlx/SDKDoc/xml/cpp__perf_system_metrics.xml deleted file mode 100644 index e13cf24..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__perf_system_metrics.xml +++ /dev/null @@ -1,444 +0,0 @@ - - - - cpp_PerfSystemMetrics - PerfSystemMetrics - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control system metrics when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show current system metrics.</td></tr> - <tr><td>2</td><td> Show historical system metrics.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPerformanceMonitoring1.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Displaysystemmetricsrange -voidShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -/* -*Iftheapponlyrequiresthecurrentmetricset,metricstrackingcanbeomittedinfavorofcallingthemoreefficientGetCurrentfunction. -*Iftheappalsorequiresmetricshistory,GetHistoryretrievestherequiredaccumulatedhistorybuffer,thatmayalsoincludethecurrentmetricset. -*/ -//Displaycurrentsystemmetrics -voidShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -//Displayhistoricalsystemmetrics -voidShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -//GetPerformanceMonitoringservices -IADLXPerformanceMonitoringServicesPtrperfMonitoringServices; -res=g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(perfMonitoringServices); -} -else -std::cout<<"\tGetperformancemonitoringservicesfailed"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplaythesystemmetricsrange"<<std::endl; -std::cout<<"\t->Press2todisplaythecurrentsystemmetrics"<<std::endl; -std::cout<<"\t->Press3todisplaythehistoricalsystemmetrics"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaysystemmetricsrange -case'1': -ShowSystemMetricsRange(perfMonitoringServices); -break; - -//Displaycurrentmetrics -case'2': -ShowCurrentSystemMetrics(perfMonitoringServices); -break; - -//Displayhistoricalmetrics -case'3': -ShowHistoricalSystemMetrics(perfMonitoringServices); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//Displaysystemmetricsrange -voidShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupportPtrsystemMetricsSupport; -ADLX_RESULTres=perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); -if(ADLX_SUCCEEDED(res)) -{ -adlx_intminValue=0,maxValue=0; - -//GetCPUusagerange -res=systemMetricsSupport->GetCPUUsageRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheCPUusagerangebetween"<<minValue<<"%and"<<maxValue<<"%"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportCPUusagerange"<<std::endl; - -//GetsystemRAMrange -res=systemMetricsSupport->GetSystemRAMRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"ThesystemRAMrangebetween"<<minValue<<"MBand"<<maxValue<<"MB"<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportsystemRAMrange"<<std::endl; - -//GetSmartShiftrange -res=systemMetricsSupport->GetSmartShiftRange(&minValue,&maxValue); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thesmartshiftrangebetween"<<minValue<<"and"<<maxValue<<std::endl; -elseif(res==ADLX_NOT_SUPPORTED) -std::cout<<"Don'tsupportsmartshiftrange"<<std::endl; -} -} - -//Displaythesystemtimestamp(inms) -voidGetTimeStamp(IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_int64timeStamp=0; -ADLX_RESULTres=systemMetrics->TimeStamp(&timeStamp); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thesystemtimestampis:"<<timeStamp<<"ms"<<std::endl; -} - -//ShowCPUusage(in%) -voidShowCPUUsage(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplayCPUusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedCPUUsage(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"CPUusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_doublecpuUsage=0; -res=systemMetrics->CPUUsage(&cpuUsage); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheCPUusageis:"<<cpuUsage<<"%"<<std::endl; -} -} -} - -//DisplaysystemRAM(inMB) -voidShowSystemRAM(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplaysystemRAMusagesupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedSystemRAM(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"SystemRAMusagesupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intsystemRAM=0; -res=systemMetrics->SystemRAM(&systemRAM); -if(ADLX_SUCCEEDED(res)) -std::cout<<"ThesystemRAMis:"<<systemRAM<<"MB"<<std::endl; -} -} -} - -//ShowSmartShift -voidShowSmartShift(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -//DisplaySmartShiftsupportstatus -ADLX_RESULTres=systemMetricsSupport->IsSupportedSmartShift(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"SmartShiftsupportstatus:"<<supported<<std::endl; -if(supported) -{ -adlx_intsmartShift; -res=systemMetrics->SmartShift(&smartShift); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheSmartShiftis:"<<smartShift<<std::endl; -} -} -} - -//ShowSmartShiftMax -voidShowSmartShiftMax(IADLXSystemMetricsSupportPtrsystemMetricsSupport,IADLXSystemMetricsPtrsystemMetrics) -{ -adlx_boolsupported=false; -IADLXSystemMetricsSupport1PtrsysMetricsSupport1(systemMetricsSupport); -IADLXSystemMetrics1PtrsysMetrics1(systemMetrics); -if(!sysMetricsSupport1) -{ -std::cout<<"\tGetIADLXSystemMetricsSupport1Ptrfailed"<<std::endl; -return; -} -if(!sysMetrics1) -{ -std::cout<<"\tGetIADLXSystemMetrics1Ptrfailed"<<std::endl; -return; -} - -//Displaypowerdistributionsupportstatus -ADLX_RESULTres=sysMetricsSupport1->IsSupportedPowerDistribution(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"PowerDistributionsupportstatus:"<<supported<<std::endl; -if(supported) -{ -intapuShiftValue,gpuShiftValue,apuShiftLimit,gpuShiftLimit,totalShiftLimit; -res=sysMetrics1->PowerDistribution(&apuShiftValue,&gpuShiftValue,&apuShiftLimit,&gpuShiftLimit,&totalShiftLimit); -if(ADLX_SUCCEEDED(res)) -std::cout<<"ThePowerDistributionis:\n" -<<"apuShiftValue:"<<apuShiftValue -<<",gpuShiftValue:"<<gpuShiftValue -<<",apuShiftLimit:"<<apuShiftLimit -<<",gpuShiftLimit:"<<gpuShiftLimit -<<",totalShiftLimit:"<<totalShiftLimit<<std::endl; -} -} -} - -//Displaycurrentsystemmetrics -voidShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -//Getsystemmetricssupport -IADLXSystemMetricsSupportPtrsystemMetricsSupport; -ADLX_RESULTres1=perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - -//Accumulateanddisplaycurrentmetricsforeachofthe10loops -IADLXSystemMetricsPtrsystemMetrics; -for(inti=0;i<10;++i) -{ -//Clearscreen -system("cls"); -//Getcurrentsystemmetrics -ADLX_RESULTres2=perfMonitoringServices->GetCurrentSystemMetrics(&systemMetrics); - -//Displaytimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<"Thecurrentsystemmetrics:"<<std::endl; -std::cout<<std::boolalpha;//Displaybooleanvariableastrueorfalse -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -ShowSmartShiftMax(systemMetricsSupport,systemMetrics); -std::cout<<std::noboolalpha; -} -Sleep(1000); -} - -MainMenu(); -} - -//Displayhistoricalsystemmetrics -voidShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtrperfMonitoringServices) -{ -//Clearhistoricalperformancemetricsdata -ADLX_RESULTres=perfMonitoringServices->ClearPerformanceMetricsHistory(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Clearhistoricaldatafailed"<<std::endl; -return; -} - -//Getcurrentmaxhistoricalsize(ins) -adlx_intmaxHistorySize=0; -res=perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thecurrentmaxhistoricalsizeis:"<<maxHistorySize<<"s"<<std::endl; -//Gettheconfigurablemaximumhistoricalsizerange -ADLX_IntRangerange; -res=perfMonitoringServices->GetMaxPerformanceMetricsHistorySizeRange(&range); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Therangeofmaxhistoricalsizeis:("<<range.minValue<<","<<range.maxValue<<")s"<<std::endl; -//Changemaxhistoricalsizetominimumvalue -res=perfMonitoringServices->SetMaxPerformanceMetricsHistorySize(range.minValue); -if(ADLX_SUCCEEDED(res)) -{ -perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize); -std::cout<<"Setmaxhistoricalsizetominimumvaluesuccessfully,thecurrentmaxhistoricalis:"<<maxHistorySize<<"s"<<std::endl; -} - -//Getcurrentsamplinginterval(inms) -adlx_intsamplingInterval=0; -res=perfMonitoringServices->GetSamplingInterval(&samplingInterval); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thecurrentsamplingintervalis:"<<samplingInterval<<"ms"<<std::endl; -//Getthesamplingintervalrange.Thesamplingintervalmustbesetwithinthisrange. -res=perfMonitoringServices->GetSamplingIntervalRange(&range); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Therangeofsamplingintervalis:("<<range.minValue<<","<<range.maxValue<<")ms"<<std::endl; -//Changesamplingintervaltominimumvalue -res=perfMonitoringServices->SetSamplingInterval(range.minValue); -if(ADLX_SUCCEEDED(res)) -{ -perfMonitoringServices->GetSamplingInterval(&samplingInterval); -std::cout<<"Setsamplingintervaltominimumvaluesuccessfully,thecurrentsamplingintervalis:"<<samplingInterval<<"ms"<<std::endl; -} - -//Starttrackingperformancemetrics -res=perfMonitoringServices->StartPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Starttrackingperformancemetricsfailed"<<std::endl; -return; -} - -//Waitfor10secondstoaccumulatemetrics -std::cout<<"Waitfor10secondstoaccumulatemetrics..."<<std::endl; -Sleep(10000); - -//Checkthecurrentperformancemetricshistoricalsize(ins)uponaccumulation -adlx_intcurrentHistorySize=0; -res=perfMonitoringServices->GetCurrentPerformanceMetricsHistorySize(&currentHistorySize); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Thecurrenthistoricalsizeis:"<<currentHistorySize<<"s"<<std::endl; - -//Getsystemmetricshistoryfrom10secondsago(10000ms:thefirstparameter)tothepresenttime(0ms:thesecondparameter) -IADLXSystemMetricsListPtrsystemMetricsList; -res=perfMonitoringServices->GetSystemMetricsHistory(10000,0,&systemMetricsList); -if(ADLX_SUCCEEDED(res)) -{ -//Getthesystemmetricssupport -IADLXSystemMetricsSupportPtrsystemMetricsSupport; -ADLX_RESULTres1=perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - -//Displayallthesystemmetricsinthelist -IADLXSystemMetricsPtrsystemMetrics; -for(inti=systemMetricsList->Begin();i!=systemMetricsList->End();++i) -{ -std::cout<<"**********historicalsystemmetrics"<<i+1<<":**********"<<std::endl; -ADLX_RESULTres2=systemMetricsList->At(i,&systemMetrics); -//Displayfirstsystemmetricstimestamp,CPUusage,systemRAM,andSmartShift -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -std::cout<<std::boolalpha;//Displaybooleanvariableastrueorfalse -GetTimeStamp(systemMetrics); -ShowCPUUsage(systemMetricsSupport,systemMetrics); -ShowSystemRAM(systemMetricsSupport,systemMetrics); -ShowSmartShift(systemMetricsSupport,systemMetrics); -ShowSmartShiftMax(systemMetricsSupport,systemMetrics); -std::cout<<std::noboolalpha; -} -std::cout<<std::endl; -} -} - -//Stoptrackingperformancemetrics -res=perfMonitoringServices->StopPerformanceMetricsTracking(); -if(ADLX_FAILED(res)) -{ -std::cout<<"Stoptrackingperformancemetricsfailed"<<std::endl; -return; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__r_s_r.xml b/vendor/adlx/SDKDoc/xml/cpp__r_s_r.xml deleted file mode 100644 index 62f5490..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__r_s_r.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - - cpp_RSR - RSR - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Radeon Super Resolution support</td></tr> - <tr><td>2</td><td> Get current Radeon Super Resolution state and additional information</td></tr> - <tr><td>3</td><td> Enable and configure sharpness</td></tr> - <tr><td>4</td><td> Disable Radeon Super Resolution</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/RSR</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> -#include<vector> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayRadeonSuperResolutionsupport -voidShowRadeonSuperResolutionSupport(constIADLX3DRadeonSuperResolutionPtr&rsr); - -//DisplaycurrentRadeonSuperResolutionstate -voidGetRadeonSuperResolutionState(constIADLX3DRadeonSuperResolutionPtr&rsr); - -//SetRadeonSuperResolutionstate -voidSetRadeonSuperResolutionState(constIADLX3DRadeonSuperResolutionPtr&rsr,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DRadeonSuperResolutionPtr&rsr); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetRadeonSuperResolutioninterface -IADLX3DRadeonSuperResolutionPtrrsr; -res=d3dSettingSrv->GetRadeonSuperResolution(&rsr); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(rsr); -} -else -{ -std::cout<<"GetRadeonSuperResolutionres:"<<res<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowRadeonSuperResolutionSupport(constIADLX3DRadeonSuperResolutionPtr&rsr) -{ -adlx_boolsupported=false; -ADLX_RESULTres=rsr->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidGetRadeonSuperResolutionState(constIADLX3DRadeonSuperResolutionPtr&rsr) -{ -adlx_boolenabled=false; -ADLX_RESULTres=rsr->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsEnabled:"<<enabled<<std::endl; -adlx_intsharpness; -ADLX_IntRangesharpnessRange; -res=rsr->GetSharpness(&sharpness); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tCurrentsharpness:"<<sharpness<<std::endl; -res=rsr->GetSharpnessRange(&sharpnessRange); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tSharpnesslimit["<<sharpnessRange.minValue<<","<<sharpnessRange.maxValue<<"],step:"<<sharpnessRange.step<<std::endl; -} - -voidSetRadeonSuperResolutionState(constIADLX3DRadeonSuperResolutionPtr&rsr,intindex) -{ -ADLX_RESULTres=rsr->SetEnabled(index==0); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -if(index==0&&ADLX_SUCCEEDED(res)) -{ -adlx_intsharpness; -ADLX_IntRangesharpnessRange; -ADLX_RESULTres1=rsr->GetSharpness(&sharpness); -ADLX_RESULTres2=rsr->GetSharpnessRange(&sharpnessRange); -if(ADLX_SUCCEEDED(res1)&&ADLX_SUCCEEDED(res2)) -{ -if(sharpness!=sharpnessRange.minValue) -{ -res=rsr->SetSharpness(sharpnessRange.minValue); -std::cout<<"\tSetminimumsharpnesslimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=rsr->SetSharpness(sharpnessRange.maxValue); -std::cout<<"\tSetmaximumsharpnesslimit:returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayRadeonSuperResolutionsupport"<<std::endl; -std::cout<<"\t->Press2todisplaycurrentRadeonSuperResolutionstate"<<std::endl; -std::cout<<"\t->Press3toenableRadeonSuperResolution"<<std::endl; -std::cout<<"\t->Press4todisableRadeonSuperResolution"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DRadeonSuperResolutionPtr&d3dRadeonSuperResolution) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayRadeonSuperResolutionsupport -case'1': -ShowRadeonSuperResolutionSupport(d3dRadeonSuperResolution); -break; - -//DisplaycurrentRadeonSuperResolutionstate -case'2': -GetRadeonSuperResolutionState(d3dRadeonSuperResolution); -break; - -//SetRadeonSuperResolution -case'3': -case'4': -SetRadeonSuperResolutionState(d3dRadeonSuperResolution,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__reset_shader_cache.xml b/vendor/adlx/SDKDoc/xml/cpp__reset_shader_cache.xml deleted file mode 100644 index dd9b063..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__reset_shader_cache.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - cpp_ResetShaderCache - ResetShaderCache - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display reset shader cache support</td></tr> - <tr><td>2</td><td> Reset GPU shader cache</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/ResetShaderCache</p> -</body> -</html> Code - -C++ -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displayresetshadercachesupport -voidShowSupport(constIADLX3DResetShaderCachePtr&resetShaderCache); - -//ResetGPUshadercache -voidResetShaderCache(constIADLX3DResetShaderCachePtr&resetShaderCache); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DResetShaderCachePtr&resetShaderCache); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetResetShaderCacheinterface -IADLX3DResetShaderCachePtrresetShaderCache; -res=d3dSettingSrv->GetResetShaderCache(gpuInfo,&resetShaderCache); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(resetShaderCache); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSupport(constIADLX3DResetShaderCachePtr&resetShaderCache) -{ -adlx_boolsupported=false; -ADLX_RESULTres=resetShaderCache->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidResetShaderCache(constIADLX3DResetShaderCachePtr&resetShaderCache) -{ -ADLX_RESULTres=resetShaderCache->ResetShaderCache(); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; -std::cout<<"\t->Press1todisplayresetshadercachesupport"<<std::endl; -std::cout<<"\t->Press2toresetGPUshadercache"<<std::endl; -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DResetShaderCachePtr&resetShaderCache) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displayresetshadercachesupport -case'1': -ShowSupport(resetShaderCache); -break; - -//ResetGPUshadercache -case'2': -ResetShaderCache(resetShaderCache); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__sync3_d_receive.xml b/vendor/adlx/SDKDoc/xml/cpp__sync3_d_receive.xml deleted file mode 100644 index d8f0a20..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__sync3_d_receive.xml +++ /dev/null @@ -1,413 +0,0 @@ - - - - cpp_Sync3DReceive - Sync3DReceive - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in 3D settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="cpp__anti_lag.html">AntiLag.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include"conio.h" -#include<iostream> -#include<string> -#include<map> -#include<thread> - -//UseADLXnamespace. -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Blockeventtoverifycallback. -HANDLEblockEvent=nullptr; -HANDLEquitEvent=nullptr; - -//AnisotropicFilteringlevelmap -staticconststd::map<ADLX_ANISOTROPIC_FILTERING_LEVEL,constchar*>levelMap= -{ -{AF_LEVEL_INVALID,"Invalid"}, -{AF_LEVEL_X2,"2X"}, -{AF_LEVEL_X4,"4X"}, -{AF_LEVEL_X8,"8X"}, -{AF_LEVEL_X16,"16X"}}; - -//WaitForVerticalRefreshmode -staticconststd::map<ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE,constchar*>vsyncMode= -{ -{WFVR_ALWAYS_OFF,"Alwaysoff"}, -{WFVR_OFF_UNLESS_APP_SPECIFIES,"Off,unlessapplicationspecifies"}, -{WFVR_ON_UNLESS_APP_SPECIFIES,"On,unlessapplicationspecifies"}, -{WFVR_ALWAYS_ON,"Alwayson"}}; - -//antiAliasingmode -staticconststd::map<ADLX_ANTI_ALIASING_MODE,constchar*>antiAliasingMode= -{ -{AA_MODE_USE_APP_SETTINGS,"Useapplicationsettings"}, -{AA_MODE_ENHANCE_APP_SETTINGS,"Enhanceapplicationsettings"}, -{AA_MODE_OVERRIDE_APP_SETTINGS,"Overrideapplicationsettings"}}; - -//antiAliasingmethod -staticconststd::map<ADLX_ANTI_ALIASING_METHOD,constchar*>antiAliasingMethod= -{ -{AA_METHOD_MULTISAMPLING,"Muti-Sampling"}, -{AA_METHOD_ADAPTIVE_MULTISAMPLING,"AdaptiveMuti-Sampling"}, -{AA_METHOD_SUPERSAMPLING,"SuperSampling"}}; - -//antiAliasinglevel -staticconststd::map<ADLX_ANTI_ALIASING_LEVEL,constchar*>antiAliasingLevel= -{ -{AA_LEVEL_INVALID,"LevelInvalid"}, -{AA_LEVEL_2X,"2X"}, -{AA_LEVEL_2XEQ,"2XEQ"}, -{AA_LEVEL_4X,"4X"}, -{AA_LEVEL_4XEQ,"4XEQ"}, -{AA_LEVEL_8X,"8X"}, -{AA_LEVEL_8XEQ,"8XEQ"}}; - -//TessellationModemode -staticconststd::map<ADLX_TESSELLATION_MODE,constchar*>Modes= -{ -{T_MODE_AMD_OPTIMIZED,"AMDoptimized"}, -{T_MODE_USE_APP_SETTINGS,"Useapplicationsettings"}, -{T_MODE_OVERRIDE_APP_SETTINGS,"Overrideapplicationsettings"}}; - -//TessellationModelevel -staticconststd::map<ADLX_TESSELLATION_LEVEL,constchar*>Levels= -{ -{T_LEVEL_OFF,"Off"}, -{T_LEVEL_2X,"2X"}, -{T_LEVEL_4X,"4X"}, -{T_LEVEL_6X,"6X"}, -{T_LEVEL_8X,"8X"}, -{T_LEVEL_16X,"16X"}, -{T_LEVEL_32X,"32X"}, -{T_LEVEL_64X,"64X"}}; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName); - -//Callbacktohandlchangedevents -classCallBack3DSettingsChanged:publicIADLX3DSettingsChangedListener -{ -public: -adlx_boolADLX_STD_CALLOn3DSettingsChanged(IADLX3DSettingsChangedEvent*p3DSettingsChangedEvent)override -{ -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -//GettheGPUinterface -IADLXGPUPtrgpu; -p3DSettingsChangedEvent->GetGPU(&gpu); -//RadeonSuperResolutionisaglobalfeature(theGPUinterfaceisnullptr);skipprintingitsname -if(!p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged()) -{ -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -std::cout<<"GPU:"<<uniqueName<<",Getsyncevent,3Dsettingschangedeventwasfired"<<std::endl; -} -ADLX_SYNC_ORIGINorigin=p3DSettingsChangedEvent->GetOrigin(); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -if(p3DSettingsChangedEvent->IsAntiLagChanged()) -{ -//GetAntiLaginterface -IADLX3DAntiLagPtrd3dAntiLag; -d3dSettingSrv->GetAntiLag(gpu,&d3dAntiLag); -adlx_boolenabled; -d3dAntiLag->IsEnabled(&enabled); -std::cout<<"\tAntiLagchanged\n\tIsEnabled:"<<enabled<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsChillChanged()) -{ -//GetChillinterface -IADLX3DChillPtrd3dChill; -d3dSettingSrv->GetChill(gpu,&d3dChill); -adlx_boolenabled; -d3dChill->IsEnabled(&enabled); -adlx_intminFPS,maxFPS; -d3dChill->GetMinFPS(&minFPS); -d3dChill->GetMaxFPS(&maxFPS); -std::cout<<"\tChillchanged\n\tIsEnabled:"<<enabled<<",FPS:["<<minFPS<<","<<maxFPS<<"]"<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsBoostChanged()) -{ -//GetBoostinterface -IADLX3DBoostPtrd3dBoost; -d3dSettingSrv->GetBoost(gpu,&d3dBoost); -adlx_boolenabled; -d3dBoost->IsEnabled(&enabled); -adlx_intminRes; -d3dBoost->GetResolution(&minRes); -std::cout<<"\tBoostchanged\n\tIsEnabled:"<<enabled<<",minResolution:"<<minRes<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsImageSharpeningChanged()) -{ -//GetImageSharpeninterface -IADLX3DImageSharpeningPtrd3dImageSharpen; -d3dSettingSrv->GetImageSharpening(gpu,&d3dImageSharpen); -adlx_boolenabled; -d3dImageSharpen->IsEnabled(&enabled); -adlx_intmin; -d3dImageSharpen->GetSharpness(&min); -std::cout<<"\tImageSharpeningchanged\n\tIsEnabled:"<<enabled<<",Sharpness:"<<min<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsEnhancedSyncChanged()) -{ -//GetEnhancedSyncinterface -IADLX3DEnhancedSyncPtrd3dEnhancedSync; -d3dSettingSrv->GetEnhancedSync(gpu,&d3dEnhancedSync); -adlx_boolenabled; -d3dEnhancedSync->IsEnabled(&enabled); -std::cout<<"\tEnhancedSyncchanged\n\tIsEnabled:"<<enabled<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsWaitForVerticalRefreshChanged()) -{ -//GetVsyncinterface -IADLX3DWaitForVerticalRefreshPtrvsync; -d3dSettingSrv->GetWaitForVerticalRefresh(gpu,&vsync); -adlx_boolenabled; -vsync->IsEnabled(&enabled); -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode=WFVR_ALWAYS_OFF; -vsync->GetMode(&mode); -std::cout<<"\tWaitForVerticalRefreshchanged\n\tIsEnabled:"<<enabled<<",Mode:"<<vsyncMode.find(mode)->second<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsFrameRateTargetControlChanged()) -{ -//GetFRTCinterface -IADLX3DFrameRateTargetControlPtrfrtc; -d3dSettingSrv->GetFrameRateTargetControl(gpu,&frtc); -adlx_boolenabled; -frtc->IsEnabled(&enabled); -adlx_intfps; -frtc->GetFPS(&fps); -std::cout<<"\tFRTCchanged\n\tIsEnabled:"<<enabled<<",fps:"<<fps<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsAntiAliasingChanged()) -{ -//GetAntiAliasinginterface -IADLX3DAntiAliasingPtrantiAliasing; -d3dSettingSrv->GetAntiAliasing(gpu,&antiAliasing); -ADLX_ANTI_ALIASING_MODEmode; -antiAliasing->GetMode(&mode); -ADLX_ANTI_ALIASING_METHODmethod; -antiAliasing->GetMethod(&method); -ADLX_ANTI_ALIASING_LEVELlevel; -antiAliasing->GetLevel(&level); -std::cout<<"\tAntiAliasingchanged\n"<<std::endl -<<"\tMode:"<<antiAliasingMode.find(mode)->second<<std::endl -<<"\tMethod:"<<antiAliasingMethod.find(method)->second<<std::endl -<<"\tLevel:"<<antiAliasingLevel.find(level)->second<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsMorphologicalAntiAliasingChanged()) -{ -//GetMorphologicAntiAliasinginterface -IADLX3DMorphologicalAntiAliasingPtrmAntiAliasing; -d3dSettingSrv->GetMorphologicalAntiAliasing(gpu,&mAntiAliasing); -adlx_boolenabled; -mAntiAliasing->IsEnabled(&enabled); -std::cout<<"\tMorphologicalAntiAliasingchanged\n\tIsEnabled:"<<enabled<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsAnisotropicFilteringChanged()) -{ -//GetAnisotropicFilteringPtrinterface -IADLX3DAnisotropicFilteringPtranisotropicFiltering; -d3dSettingSrv->GetAnisotropicFiltering(gpu,&anisotropicFiltering); -adlx_boolenabled; -anisotropicFiltering->IsEnabled(&enabled); -ADLX_ANISOTROPIC_FILTERING_LEVELlevel; -anisotropicFiltering->GetLevel(&level); -std::cout<<"\tAnisotropicFilteringchanged\n\tIsEnabled:"<<enabled<<std::endl -<<"\tLevel:"<<levelMap.find(level)->second<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsTessellationModeChanged()) -{ -//GetIADLX3DTessellationinterface -IADLX3DTessellationPtrtessellation; -d3dSettingSrv->GetTessellation(gpu,&tessellation); -ADLX_TESSELLATION_MODEmode; -tessellation->GetMode(&mode); -ADLX_TESSELLATION_LEVELlevel; -tessellation->GetLevel(&level); -std::cout<<"\tTessellationModechanged\n"<<std::endl -<<"\tMode:"<<Modes.find(mode)->second<<std::endl -<<"\tLevel:"<<Levels.find(level)->second<<std::endl; -} -elseif(p3DSettingsChangedEvent->IsResetShaderCache()) -{ -std::cout<<"\tResetShaderCache"<<std::endl; -} -} - -if(origin==SYNC_ORIGIN_UNKNOWN) -{ -if(p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged()) -{ -//GetIADLX3DRadeonSuperResolutioninterface -IADLX3DRadeonSuperResolutionPtrrsr; -d3dSettingSrv->GetRadeonSuperResolution(&rsr); -adlx_boolenabled=false; -rsr->IsEnabled(&enabled); -adlx_intsharpness; -rsr->GetSharpness(&sharpness); -std::cout<<"\tRSRchanged\n\tIsEnabled:"<<enabled<<",Sharpness:"<<sharpness<<std::endl; -} -} - -SetEvent(blockEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostopnotification -returntrue; -} -}; - -//Waitforquitsignal -voidQuitWait(adlx_bool*loopFlag) -{ -while(true) -{ -//Non-blockingcheckingiftheI/Ocachehascharacters -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(quitEvent); -break; -} -} -Sleep(100); -} -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createquitevent -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createeventarray -HANDLEeventArray[]={blockEvent,quitEvent}; - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetChangehandle -IADLX3DSettingsChangedHandlingPtrchangeHandle; -res=d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -IADLX3DSettingsChangedListener*call=newCallBack3DSettingsChanged; - -//Addcallback -changeHandle->Add3DSettingsEventListener(call); - -//Createathreadtocheckquitevent -boolloopFlag=true; -std::threadt{QuitWait,&loopFlag}; - -std::cout<<"\nWaitingfor3DSettingchangeevent...PressQ/qtoquit"<<std::endl; -while(true) -{ -//Waitforchangeeventorrequesttoquit -DWORDwaitRet=WaitForMultipleObjects(2,eventArray,FALSE,INFINITE); -if(!loopFlag) -{ -if(t.joinable()) -{ -t.join(); -} -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->Remove3DSettingsEventListener(call); - -//Deletecallback -deletecall; -call=nullptr; -} -} -else -{ -std::cout<<"Failedtogetthe3DSettingsServices"<<std::endl; -} -} -else -{ -std::cout<<"ADLXinitializationfailed"<<std::endl; -return0; -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); -if(quitEvent) -CloseHandle(quitEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName) -{ -if(nullptr!=gpu&&nullptr!=uniqueName) -{ -constchar*gpuName=nullptr; -gpu->Name(&gpuName); -adlx_intid; -gpu->UniqueId(&id); -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__sync_display_receive.xml b/vendor/adlx/SDKDoc/xml/cpp__sync_display_receive.xml deleted file mode 100644 index d4b8572..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__sync_display_receive.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - cpp_SyncDisplayReceive - SyncDisplayReceive - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in display settings using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="cpp_display__free_sync.html">DisplayFreeSync.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" -#include"SDK/Include/IDisplays1.h" -#include"SDK/Include/IDisplays2.h" -#include"SDK/Include/IDisplaySettings.h" -#include"conio.h" -#include<iostream> -#include<string> -#include<map> -#include<thread> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Blockeventtoverifycallback -HANDLEdisplaySettingsEvent=nullptr; -HANDLEdisplay3DLUTEvent=nullptr; -//Quiteventtoexit -HANDLEquitEvent=nullptr; - -//Getthedisplayuniquename -voidDisplayUniqueName(IADLXDisplayPtrdisplay,char*uniqueName); - -//Callbacktohandlechangedevents -classCallBackDisplaySettingsChanged:publicIADLXDisplaySettingsChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplaySettingsChanged(IADLXDisplaySettingsChangedEvent*pDisplaySettingsChangedEvent)override -{ -ADLX_SYNC_ORIGINorigin=pDisplaySettingsChangedEvent->GetOrigin(); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -IADLXDisplayServicesPtrdisplayServices; -g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices); -IADLXDisplayPtrdisplay; -pDisplaySettingsChangedEvent->GetDisplay(&display); -chardisplayName[128]="Unknown"; -DisplayUniqueName(display,displayName); -if(pDisplaySettingsChangedEvent->IsColorDepthChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,colordepthischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomColorBrightnessChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customcolorbrightnessischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomColorContrastChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customcolorcontrastischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomColorHueChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customcolorhueischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomColorSaturationChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customcolorsaturationischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomColorTemperatureChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customcolortemperatureischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsCustomResolutionChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,customresolutionischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsFreeSyncChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,freesyncischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsGPUScalingChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,GPUscalingischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsHDCPChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,HDCPischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsIntegerScalingChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,integerscalingischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsPixelFormatChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,pixelischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsScalingModeChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,scalingmodeischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsVariBrightChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,varibrightischanged"<<std::endl; -} -elseif(pDisplaySettingsChangedEvent->IsVSRChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,VSRischanged"<<std::endl; -} - -//GetIADLXDisplaySettingsChangedEvent1interface -IADLXDisplaySettingsChangedEvent1PtrpDisplaySettingChangedEvent1(pDisplaySettingsChangedEvent); -if(nullptr==pDisplaySettingChangedEvent1) -{ -std::cout<<"IADLXDisplaySettingsChangedEvent1notsupported"<<std::endl; -} -else -{ -if(pDisplaySettingChangedEvent1->IsDisplayBlankingChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,Displayblankingischanged"<<std::endl; -} -} - -//GetIADLXDisplaySettingsChangedEvent2interface -IADLXDisplaySettingsChangedEvent2PtrpDisplaySettingChangedEvent2(pDisplaySettingsChangedEvent); -if(nullptr==pDisplaySettingChangedEvent2) -{ -std::cout<<"IADLXDisplaySettingsChangedEvent2notsupported"<<std::endl; -} -else -{ -if(pDisplaySettingChangedEvent2->IsDisplayConnectivityExperienceChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,Displayconnectivityexperienceischanged"<<std::endl; -} -} -} -SetEvent(displaySettingsEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostop notification. -returntrue; -} -}; - -classCallBackDisplay3DLUTChanged:publicIADLXDisplay3DLUTChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent)override -{ -ADLX_SYNC_ORIGINorigin=pDisplay3DLUTChangedEvent->GetOrigin(); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -IADLXDisplayPtrdisplay; -pDisplay3DLUTChangedEvent->GetDisplay(&display); -chardisplayName[128]="Unknown"; -DisplayUniqueName(display,displayName); -if(pDisplay3DLUTChangedEvent->IsSCEChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,SCEischanged"<<std::endl; -} -elseif(pDisplay3DLUTChangedEvent->IsCustom3DLUTChanged()) -{ -std::cout<<"Display"<<displayName<<"Getsyncevent,custom3DLUTischanged"<<std::endl; -} -} -SetEvent(display3DLUTEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostop notification -returntrue; -} -}; - -//Waitforexitwitherrormessage -voidQuitWait(adlx_bool*loopFlag) -{ -while(true) -{ -//Non-blockingcheckingiftheI/Ocachehascharacters -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(quitEvent); -break; -} -} -Sleep(100); -} -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -displaySettingsEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -display3DLUTEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -//Createquitevent -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -//Createeventarray -HANDLEeventArray[]={displaySettingsEvent,display3DLUTEvent,quitEvent}; - -//Getdisplayservice -IADLXDisplayServicesPtrdisplayServices; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices); - -if(ADLX_SUCCEEDED(res)) -{ -//GetChangehandle -IADLXDisplayChangedHandlingPtrchangeHandle; -res=displayServices->GetDisplayChangedHandling(&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -IADLXDisplaySettingsChangedListener*displaySettingsChangedCallBack=newCallBackDisplaySettingsChanged; -IADLXDisplay3DLUTChangedListener*display3DLUTChangedCallBack=newCallBackDisplay3DLUTChanged; - -//Addcallback -changeHandle->AddDisplaySettingsEventListener(displaySettingsChangedCallBack); -changeHandle->AddDisplay3DLUTEventListener(display3DLUTChangedCallBack); - -//Createathreadtocheckquitevent -boolloopFlag=true; -std::threadt{QuitWait,&loopFlag}; - -std::cout<<"\nWaitingfordisplaychangeevent...PressQ/qtoquit\n"<<std::endl; -while(true) -{ -//Waitforchangeeventorrequesttoquit -DWORDwaitRet=WaitForMultipleObjects(3,eventArray,FALSE,INFINITE); -if(!loopFlag) -{ -if(t.joinable()) -{ -t.join(); -} -break; -} -} - -//Removecallback -changeHandle->RemoveDisplaySettingsEventListener(displaySettingsChangedCallBack); -changeHandle->RemoveDisplay3DLUTEventListener(display3DLUTChangedCallBack); - -//Deletecallback -deletedisplaySettingsChangedCallBack; -deletedisplay3DLUTChangedCallBack; -displaySettingsChangedCallBack=nullptr; -display3DLUTChangedCallBack=nullptr; -} -} -else -{ -std::cout<<"FailedtogettheDisplayServices"<<std::endl; -} -} -else -{ -std::cout<<"ADLXinitializationfailed"<<std::endl; -return0; -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(displaySettingsEvent) -CloseHandle(displaySettingsEvent); -if(display3DLUTEvent) -CloseHandle(display3DLUTEvent); -if(quitEvent) -CloseHandle(quitEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidDisplayUniqueName(IADLXDisplayPtrdisplay,char*uniqueName) -{ -if(nullptr!=display&&nullptr!=uniqueName) -{ -constchar*gpuName=nullptr; -display->Name(&gpuName); -adlx_sizeid; -display->UniqueId(&id); -sprintf_s(uniqueName,128,"name:%s,id:%zu",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__sync_g_p_u_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__sync_g_p_u_tuning.xml deleted file mode 100644 index 2d2179a..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__sync_g_p_u_tuning.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - cpp_SyncGPUTuning - SyncGPUTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in GPU tuning using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="cpp__g_p_u_auto_tuning.html">GPUAutoTuning.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IGPUTuning1.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Blockeventtoverifycallback -HANDLEblockEvent=nullptr; - -//GettheGPUuniquename -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName); - -//Callbacktohandlechangedevents -classCallBackGPUTuningChanged:publicIADLXGPUTuningChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnGPUTuningChanged(IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent)override -{ -IADLXGPUTuningChangedEvent1*pGPUTuningChangedEvent1=nullptr; -pGPUTuningChangedEvent->QueryInterface(L"IADLXGPUTuningChangedEvent1",reinterpret_cast<void**>(&pGPUTuningChangedEvent1)); -ADLX_SYNC_ORIGINorigin=pGPUTuningChangedEvent->GetOrigin(); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -//GetGPU -IADLXGPUPtrgpu; -pGPUTuningChangedEvent->GetGPU(&gpu); -charuniqueName[128]="Unknown"; -GPUUniqueName(gpu,uniqueName); -std::cout<<"GPU:"<<uniqueName<<"Getsyncevent,updaterequired"<<std::endl; - -if(pGPUTuningChangedEvent->IsAutomaticTuningChanged()) -{ -std::cout<<"\tAutomaticTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent->IsPresetTuningChanged()) -{ -std::cout<<"\tPresetTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent->IsManualGPUCLKTuningChanged()) -{ -std::cout<<"\tManualGPUCLKTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent->IsManualVRAMTuningChanged()) -{ -std::cout<<"\tManualVRAMTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent->IsManualFanTuningChanged()) -{ -std::cout<<"\tManualFanTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent->IsManualPowerTuningChanged()) -{ -std::cout<<"\tManualPowerTuningChanged"<<std::endl; -} -elseif(pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged()) -{ -std::cout<<"\tSmartAccessMemoryChanged"<<std::endl; -} -} -SetEvent(blockEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostopnotification. -returntrue; -} -}; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//GetGPUTuningservice -IADLXGPUTuningServicesPtrgpuTuningSrv; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningSrv); - -if(ADLX_SUCCEEDED(res)) -{ -//GetChangehandle -IADLXGPUTuningChangedHandlingPtrchangeHandle; -res=gpuTuningSrv->GetGPUTuningChangedHandling(&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -IADLXGPUTuningChangedListener*call=newCallBackGPUTuningChanged; - -//Addcallback -changeHandle->AddGPUTuningEventListener(call); - -//WaitsforGPUTuningsyncwithatimeoutof60s -while(true) -{ -std::cout<<"\nWaitingforGPUTuningchangeevent(60s)...\n"; -DWORDwaitRet=WaitForSingleObject(blockEvent,60000); -if(waitRet==WAIT_TIMEOUT) -{ -std::cout<<"===Waittimeout(60s),readytoquit===\n"; -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->RemoveGPUTuningEventListener(call); - -//Deletecallback -deletecall; -call=nullptr; -} -} -else -{ -std::cout<<"FailedtogetGPUTuningServices"<<std::endl; -} -} -else -{ -std::cout<<"FailedtoinitADLX"<<std::endl; -return0; -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - -voidGPUUniqueName(IADLXGPUPtrgpu,char*uniqueName) -{ -if(nullptr!=gpu&&nullptr!=uniqueName) -{ -constchar*gpuName=nullptr; -gpu->Name(&gpuName); -adlx_intid; -gpu->UniqueId(&id); -sprintf_s(uniqueName,128,"name:%s,id:%d",gpuName,id); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__sync_power_tuning.xml b/vendor/adlx/SDKDoc/xml/cpp__sync_power_tuning.xml deleted file mode 100644 index b1fa993..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__sync_power_tuning.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - cpp_SyncPowerTuning - SyncPowerTuning - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to receive notifications of changes in power tuning using ADLX.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="cpp_ssm.html">SmartShiftMax.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPowerTuning.h" -#include"SDK/Include/ISystem1.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Blockeventtoverifycallback -HANDLEblockEvent=nullptr; - -//Callbacktohandlechangedevents -classCallBackPowerTuningChanged:publicIADLXPowerTuningChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnPowerTuningChanged(IADLXPowerTuningChangedEvent*pPowerTuningChangedEvent) -{ -ADLX_SYNC_ORIGINorigin=pPowerTuningChangedEvent->GetOrigin(); -if(origin==SYNC_ORIGIN_EXTERNAL) -{ -if(pPowerTuningChangedEvent->IsSmartShiftMaxChanged()) -{ -std::cout<<"\tSmartShiftMaxChanged"<<std::endl; -} -} -SetEvent(blockEvent); - -//Returntruefor ADLXto continue notifyingthenextlistener,or falsetostopnotification. -returntrue; -} -}; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createblockevent -blockEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//GetIADLXSystem1interfaceviaIADLXSystem::QueryInterface -IADLXSystem1Ptrsystem1; -res=g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(),reinterpret_cast<void**>(&system1)); -if(ADLX_SUCCEEDED(res)) -{ -//Getpowertuningservice -IADLXPowerTuningServicesPtrpowerTuningService; -res=system1->GetPowerTuningServices(&powerTuningService); -if(ADLX_SUCCEEDED(res)) -{ -//GetChangehandle -IADLXPowerTuningChangedHandlingPtrchangeHandle; -res=powerTuningService->GetPowerTuningChangedHandling(&changeHandle); -if(ADLX_SUCCEEDED(res)) -{ -//Createcallback -IADLXPowerTuningChangedListener*call=newCallBackPowerTuningChanged; - -//Addcallback -changeHandle->AddPowerTuningEventListener(call); - -//Waitsforpowertuningsyncwithatimeoutof60s -while(true) -{ -std::cout<<"\nWaitingforpowertuningchangeevent(60s)...\n"; -DWORDwaitRet=WaitForSingleObject(blockEvent,60000); -if(waitRet==WAIT_TIMEOUT) -{ -std::cout<<"===Waittimeout(60s),readytoquit===\n"; -break; -} -ResetEvent(blockEvent); -} - -//Removecallback -changeHandle->RemovePowerTuningEventListener(call); - -//Deletecallback -deletecall; -call=nullptr; -} -else -std::cout<<"Failedtogetpowertuningchangedhandlinginterface"<<std::endl; -} -else -std::cout<<"Failedtogetpowertuningservice"<<std::endl; -} -else -std::cout<<"FailedtogetIADLXSystem1"<<std::endl; -} -else -{ -std::cout<<"FailedtoinitADLX"<<std::endl; -return0; -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(blockEvent) -CloseHandle(blockEvent); - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__tessellation.xml b/vendor/adlx/SDKDoc/xml/cpp__tessellation.xml deleted file mode 100644 index 9adf4ad..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__tessellation.xml +++ /dev/null @@ -1,259 +0,0 @@ - - - - cpp_Tessellation - Tessellation - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display tessellation support</td></tr> - <tr><td>2</td><td> Get GPU tessellation state, mode, and level</td></tr> - <tr><td>3</td><td> Set tesellation mode: AMD optimized</td></tr> - <tr><td>4</td><td> Set tesellation mode: Use application settings</td></tr> - <tr><td>5</td><td> Set tesellation mode: Override application settings</td></tr> - <tr><td>6</td><td> Set tesellation level</td></tr> - <tr><td>M/m</td><td> Display the main menu</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/Tessellation</p> -</body> -</html> - Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<map> -#include<string> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displaytessellationsupport -voidShowSupport(constIADLX3DTessellationPtr&tessellation); - -//Getcurrenttessellationstate -voidGetState(constIADLX3DTessellationPtr&tessellation); - -//Settessellationmode -voidSetMode(constIADLX3DTessellationPtr&tessellation,intindex); - -//Settessellationlevel -voidSetLevel(constIADLX3DTessellationPtr&tessellation); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DTessellationPtr&tessellation); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetIADLX3DTessellationinterface -IADLX3DTessellationPtrtessellation; -res=d3dSettingSrv->GetTessellation(gpuInfo,&tessellation); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(tessellation); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthe3DSettingsServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticconststd::map<ADLX_TESSELLATION_MODE,constchar*>Modes= -{ -{T_MODE_AMD_OPTIMIZED,"AMDoptimized"}, -{T_MODE_USE_APP_SETTINGS,"Useapplicationsettings"}, -{T_MODE_OVERRIDE_APP_SETTINGS,"Overrideapplicationsettings"}}; - -staticconststd::map<ADLX_TESSELLATION_LEVEL,constchar*>Levels= -{ -{T_LEVEL_OFF,"Off"}, -{T_LEVEL_2X,"2X"}, -{T_LEVEL_4X,"4X"}, -{T_LEVEL_6X,"6X"}, -{T_LEVEL_8X,"8X"}, -{T_LEVEL_16X,"16X"}, -{T_LEVEL_32X,"32X"}, -{T_LEVEL_64X,"64X"}}; - -voidShowSupport(constIADLX3DTessellationPtr&tessellation) -{ -adlx_boolsupported=false; -ADLX_RESULTres=tessellation->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetState(constIADLX3DTessellationPtr&tessellation) -{ -ADLX_TESSELLATION_MODEmode; -ADLX_RESULTres=tessellation->GetMode(&mode); -std::cout<<"\tMode:"<<Modes.find(mode)->second<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; - -ADLX_TESSELLATION_LEVELlevel; -res=tessellation->GetLevel(&level); -std::cout<<"\tLevel:"<<Levels.find(level)->second<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetMode(constIADLX3DTessellationPtr&tessellation,intindex) -{ -ADLX_RESULTres=ADLX_FAIL; -ADLX_TESSELLATION_MODEmode=T_MODE_AMD_OPTIMIZED; -mode=(ADLX_TESSELLATION_MODE)(mode+index); -res=tessellation->SetMode(mode); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetLevel(constIADLX3DTessellationPtr&tessellation) -{ -ADLX_TESSELLATION_LEVELlevel; -tessellation->GetLevel(&level); -level=(level==T_LEVEL_2X)?T_LEVEL_4X:T_LEVEL_2X; -ADLX_RESULTres=tessellation->SetLevel(level); -std::cout<<"\tSetlevel:"<<Levels.find(level)->second<<"resis"<<res<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplaytessellationsupport"<<std::endl; -std::cout<<"\t->Press2togettessellationstate"<<std::endl; -std::cout<<"\t->Press3tosettessellationmode:AMDoptimized"<<std::endl; -std::cout<<"\t->Press4tosettessellationmode:Useapplicationsettings"<<std::endl; -std::cout<<"\t->Press5tosettessellationmode:Overrideapplicationsettings"<<std::endl; - -std::cout<<"\t->Press6tosettessellationchangelevel"<<std::endl; - -std::cout<<"\t->PressQ/qquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DTessellationPtr&tessellation) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaytessellationsupport -case'1': -ShowSupport(tessellation); -break; - -//Getanddisplaycurrenttessellationstate -case'2': -GetState(tessellation); -break; - -//Settessellationmode -case'3': -case'4': -case'5': -SetMode(tessellation,num-'3'); -break; - -//Setanti-aliasinglevel -case'6': -SetLevel(tessellation); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp__wait_for_vertical_refresh.xml b/vendor/adlx/SDKDoc/xml/cpp__wait_for_vertical_refresh.xml deleted file mode 100644 index 5c2f01e..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp__wait_for_vertical_refresh.xml +++ /dev/null @@ -1,229 +0,0 @@ - - - - cpp_WaitForVerticalRefresh - WaitForVerticalRefresh - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to access VSync options, and perform related testing when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Get VSync capability</td></tr> - <tr><td>2</td><td> Get the current VSync state and mode</td></tr> - <tr><td>3</td><td> Set VSync to Always Off</td></tr> - <tr><td>4</td><td> Set VSync to Off (unless specified by the application)</td></tr> - <tr><td>5</td><td> Set VSync to On (unless specified by the application)</td></tr> - <tr><td>6</td><td> Set VSync to Always On</td></tr> - <tr><td>M/m</td><td> Display menu options</td></tr> - <tr><td>Q/q</td><td> Quit the application</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/3DGraphics/WaitForVerticalRefresh</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/I3DSettings.h" -#include<iostream> -#include<map> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayVSyncsupport -voidShowvsyncSupport(constIADLX3DWaitForVerticalRefreshPtr&vsync); - -//GetcurrentVSyncstate -voidGetvsyncState(constIADLX3DWaitForVerticalRefreshPtr&vsync); - -//SetVSyncmode -voidSetvsyncMode(constIADLX3DWaitForVerticalRefreshPtr&vsync,intindex); - -//Menu -voidMainMenu(); - -//Menucontrol -voidMenuControl(constIADLX3DWaitForVerticalRefreshPtr&vsync); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUs -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - -//Get3DSettingsservice -IADLX3DSettingsServicesPtrd3dSettingSrv; -res=g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -//GetGPUinterface -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -//GetVSyncinterface -IADLX3DWaitForVerticalRefreshPtrvsync; -res=d3dSettingSrv->GetWaitForVerticalRefresh(gpuInfo,&vsync); -if(ADLX_SUCCEEDED(res)) -{ -MainMenu(); -MenuControl(vsync); -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtoget3DSettingsservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -staticconststd::map<ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE,constchar*>vsyncMode= -{ -{WFVR_ALWAYS_OFF,"Alwaysoff"}, -{WFVR_OFF_UNLESS_APP_SPECIFIES,"Off(unlessspecifiedbytheapplication)"}, -{WFVR_ON_UNLESS_APP_SPECIFIES,"On(unlessspecifiedbytheapplication)"}, -{WFVR_ALWAYS_ON,"Alwayson"}}; - -voidShowvsyncSupport(constIADLX3DWaitForVerticalRefreshPtr&vsync) -{ -adlx_boolsupported=false; -ADLX_RESULTres=vsync->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidGetvsyncState(constIADLX3DWaitForVerticalRefreshPtr&vsync) -{ -adlx_boolenabled=false; -ADLX_RESULTres=vsync->IsEnabled(&enabled); -std::cout<<"\tIsEnabled:"<<enabled<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode=WFVR_ALWAYS_OFF; -res=vsync->GetMode(&mode); -std::cout<<"\tMode:"<<vsyncMode.find(mode)->second<<",returncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -voidSetvsyncMode(constIADLX3DWaitForVerticalRefreshPtr&vsync,intindex) -{ -ADLX_WAIT_FOR_VERTICAL_REFRESH_MODEmode=WFVR_ALWAYS_OFF; -mode=(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode+index); -ADLX_RESULTres=vsync->SetMode(mode); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayVSyncsupport"<<std::endl; -std::cout<<"\t->Press2togetcurrentVSyncstate"<<std::endl; -std::cout<<"\t->Press3tosetVSynctoAlwaysOff"<<std::endl; -std::cout<<"\t->Press4tosetVSynctoOff(unlessspecifiedbytheapplication)"<<std::endl; -std::cout<<"\t->Press5tosetVSynctoOn(unlessspecifiedbytheapplication)"<<std::endl; -std::cout<<"\t->Press6tosetVSynctoAlwaysOn"<<std::endl; - -std::cout<<"\t->PressQ/qtoquittheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymenuoptions"<<std::endl; -} - -voidMenuControl(constIADLX3DWaitForVerticalRefreshPtr&vsync) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayVSyncsupport -case'1': -ShowvsyncSupport(vsync); -break; - -//GetanddisplaycurrentVSyncstate -case'2': -GetvsyncState(vsync); -break; - -//SetVSyncmodel -case'3': -case'4': -case'5': -case'6': -SetvsyncMode(vsync,num-'3'); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__color_depth.xml b/vendor/adlx/SDKDoc/xml/cpp_display__color_depth.xml deleted file mode 100644 index 4471a66..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__color_depth.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - cpp_display_ColorDepth - DisplayColorDepth - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display color depth support.</td></tr> - <tr><td>2</td><td> Get color depth state.</td></tr> - <tr><td>3</td><td> Set current color depth to BPC_6.</td></tr> - <tr><td>4</td><td> Set current color depth to BPC_8.</td></tr> - <tr><td>5</td><td> Set current color depth to BPC_10.</td></tr> - <tr><td>6</td><td> Get support state for each color depth.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayColorDepth</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<unordered_map> -#include<algorithm> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface.  -staticADLXHelperg_ADLXHelp; - -//DisplayDisplayColorDepthSupport -voidShowDisplayColorDepthSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Displaycurrentdisplaycolordepthstate -voidGetColorDepthState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Setdisplaycolordepth -voidSetColorDepthState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetdisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pauseto seetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayColorDepthSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayColorDepthPtrdisplayColorDepth; -ADLX_RESULTres=displayService->GetColorDepth(display,&displayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getcolordepthsupportedstatus==="<<std::endl; -adlx_boolsupported=false; -res=displayColorDepth->IsSupported(&supported); -std::cout<<"\tIsSupported,res"<<res<<",supported:"<<supported<<std::endl; -} -} -voidGetSupportStateForEachColorDepth(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayColorDepthPtrdisplayColorDepth; -ADLX_RESULTres=displayService->GetColorDepth(display,&displayColorDepth); -if(ADLX_SUCCEEDED(res)&&displayColorDepth) -{ -std::cout<<"===Getcolordepthsupportlist==="<<std::endl; -adlx_boolisSupported=false; -res=displayColorDepth->IsSupportedBPC_6(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_6,result"<<res<<"BPC_6support:"<<isSupported<<std::endl; -res=displayColorDepth->IsSupportedBPC_8(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_6,result"<<res<<"BPC_8support:"<<isSupported<<std::endl; -res=displayColorDepth->IsSupportedBPC_10(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_10,result"<<res<<"BPC_10support:"<<isSupported<<std::endl; -res=displayColorDepth->IsSupportedBPC_12(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_12,result"<<res<<"BPC_12support:"<<isSupported<<std::endl; -res=displayColorDepth->IsSupportedBPC_14(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_14,result"<<res<<"BPC_14support:"<<isSupported<<std::endl; -res=displayColorDepth->IsSupportedBPC_16(&isSupported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedBPC_16,result"<<res<<"BPC_16support:"<<isSupported<<std::endl; - -conststd::unordered_map<ADLX_COLOR_DEPTH,std::string>colorDepthMap{ -{BPC_6,"BPC_6"}, -{BPC_8,"BPC_8"}, -{BPC_10,"BPC_10"}, -{BPC_12,"BPC_12"}, -{BPC_14,"BPC_14"}, -{BPC_16,"BPC_16"} -}; -for_each(colorDepthMap.begin(),colorDepthMap.end(),[&](autocolorDepth){ -res=displayColorDepth->IsSupportedColorDepth(colorDepth.first,&isSupported); -std::cout<<"\tIsSupported"<<colorDepth.second<<":"<<isSupported<<std::endl; -}); -} -} - -voidGetColorDepthState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -conststd::unordered_map<int,std::string>colorDepthMap={{0,"BPC_UNKNOWN"},{1,"BPC_6"},{2,"BPC_8"},{3,"BPC_10"}}; -IADLXDisplayColorDepthPtrdisplayColorDepth; -ADLX_RESULTres=displayService->GetColorDepth(display,&displayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getcolordepthenabledstatus==="<<std::endl; -ADLX_COLOR_DEPTHcd=BPC_UNKNOWN; -res=displayColorDepth->GetValue(&cd); -std::stringcdStr="BPC_Unknown"; -autosearchIter=colorDepthMap.find(cd); -if(searchIter!=colorDepthMap.end()) -{ -cdStr=searchIter->second; -} -std::cout<<"\tGetValue,result"<<res<<"colordepth:"<<cdStr.c_str()<<std::endl; -} -} - -voidSetColorDepthState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayColorDepthPtrdisplayColorDepth; -ADLX_RESULTres=displayService->GetColorDepth(display,&displayColorDepth); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Setcolordepth==="<<std::endl; -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//setColorDepthBPC_6 -case0: -res=displayColorDepth->SetValue(BPC_6); -break; -//setColorDepthBPC_8 -case1: -res=displayColorDepth->SetValue(BPC_8); -break; -//setColorDepthBPC_10 -case2: -res=displayColorDepth->SetValue(BPC_10); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplaycolordepthsupport"<<std::endl; - -std::cout<<"\t->Press2togetcolordepthstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentcolordepthtoBPC_6"<<std::endl; -std::cout<<"\t->Press4tosetcurrentcolordepthtoBPC_8"<<std::endl; -std::cout<<"\t->Press5tosetcurrentcolordepthtoBPC_10"<<std::endl; - -std::cout<<"\t->Press6togetsupportstateforeachcolordepth"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayDisplayColorDepthSupport -case'1': -ShowDisplayColorDepthSupport(displayService,display); -break; - -//Displaycurrentdisplaycolordepthstate -case'2': -GetColorDepthState(displayService,display); -break; - -//Setdisplaycolordepth -case'3': -case'4': -case'5': -SetColorDepthState(displayService,display,num-'3'); -break; - -case'6': -GetSupportStateForEachColorDepth(displayService,display); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__custom_color.xml b/vendor/adlx/SDKDoc/xml/cpp_display__custom_color.xml deleted file mode 100644 index e57b3ec..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__custom_color.xml +++ /dev/null @@ -1,385 +0,0 @@ - - - - cpp_display_CustomColor - DisplayCustomColor - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to use custom color for display when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Enter Hue settings.</td></tr> - <tr><td>2</td><td> Enter Saturation settings.</td></tr> - <tr><td>3</td><td> Enter Brightness settings.</td></tr> - <tr><td>4</td><td> Enter Contrast settings.</td></tr> - <tr><td>5</td><td> Enter Temperature settings.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayCustomColor</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<unordered_map> - -//UseADLXnamespace -usingnamespaceadlx; - -//TypesofCustomColor -constexprautoCUSTOM_COLOR_HUE=1; -constexprautoCUSTOM_COLOR_SATURATION=2; -constexprautoCUSTOM_COLOR_BRIGHTNESS=3; -constexprautoCUSTOM_COLOR_CONTRAST=4; -constexprautoCUSTOM_COLOR_TEMPERATURE=5; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//ExecutorclassforgettingandsettingCustomColorproperties -classCustomColorExecutor; - -//Handlerforuserinput -voidExecuteCommand(CustomColorExecutor&executor,conststd::string&colorTypeString); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetdisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pauseto seetheprintout -system("Pause"); - -return0; -} - -classCustomColorExecutor -{ -public: -CustomColorExecutor()=default; -CustomColorExecutor(IADLXDisplayCustomColorPtrpInst,intct) -:pDisplayColor_(pInst),colorType_(ct) -{ -if(pInst==nullptr) -{ -std::cout<<"customcolorexecutor:customcolorinstanceisnull!"<<std::endl; -std::exit(0); -} -} -ADLX_RESULTGetSupport(adlx_bool*supported) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->IsHueSupported(supported); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->IsSaturationSupported(supported); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->IsBrightnessSupported(supported); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->IsContrastSupported(supported); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->IsTemperatureSupported(supported); -} -returnADLX_FAIL; -} -ADLX_RESULTGetRange(ADLX_IntRange*range) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->GetHueRange(range); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->GetSaturationRange(range); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->GetBrightnessRange(range); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->GetContrastRange(range); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->GetTemperatureRange(range); -} -returnADLX_FAIL; -} -ADLX_RESULTGetValue(adlx_int*value) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->GetHue(value); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->GetSaturation(value); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->GetBrightness(value); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->GetContrast(value); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->GetTemperature(value); -} -returnADLX_FAIL; -} -ADLX_RESULTSetValue(adlx_intvalue) -{ -switch(colorType_) -{ -caseCUSTOM_COLOR_HUE: -returnpDisplayColor_->SetHue(value); -caseCUSTOM_COLOR_SATURATION: -returnpDisplayColor_->SetSaturation(value); -caseCUSTOM_COLOR_BRIGHTNESS: -returnpDisplayColor_->SetBrightness(value); -caseCUSTOM_COLOR_CONTRAST: -returnpDisplayColor_->SetContrast(value); -caseCUSTOM_COLOR_TEMPERATURE: -returnpDisplayColor_->SetTemperature(value); -} -returnADLX_FAIL; -} - -private: -intcolorType_; -IADLXDisplayCustomColorPtrpDisplayColor_; -}; - -voidExecuteCommand(CustomColorExecutor&executor,conststd::string&colorTypeString) -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<colorTypeString.c_str()<<"settings"<<std::endl; -std::cout<<"\t->Press1todisplaysupport"<<std::endl; -std::cout<<"\t->Press2togetrangedata"<<std::endl; -std::cout<<"\t->Press3todisplaycurrentvalue"<<std::endl; -std::cout<<"\t->Press4tosetcurrentvalue"<<std::endl; -std::cout<<"\t->PressX/xtogetbacktomainmenu"<<std::endl; - -intnum=0; -while((num=getchar())!='x'&&num!='X') -{ -switch(num) -{ -case'1': -{ -std::stringstr1="===Get"+colorTypeString+"Supported==="; -std::stringstr2="\tIs"+colorTypeString+"Supported:"; -adlx_boolsupported=false; -std::cout<<str1.c_str()<<std::endl; -executor.GetSupport(&supported); -std::cout<<str2.c_str()<<supported<<std::endl; -break; -} -case'2': -{ -std::stringstr1="===Get"+colorTypeString+"Rangedata==="; -std::stringstr2="\tGet"+colorTypeString+"Range:"; -ADLX_IntRangerange={0}; -std::cout<<"===GetHueRangedata==="<<std::endl; -executor.GetRange(&range); -std::cout<<str2.c_str()<<"min:"<<range.minValue<<"max:"<<range.maxValue<<"step:"<<range.step<<std::endl; -break; -} -case'3': -{ -std::stringstr1="===Getcurrent"+colorTypeString+"value==="; -std::stringstr2="\tGet"+colorTypeString+":"; -adlx_intvalue=0; -std::cout<<str1.c_str()<<std::endl; -executor.GetValue(&value); -std::cout<<str2.c_str()<<"value:"<<value<<std::endl; -break; -} -case'4': -{ -ADLX_IntRangerange={0}; -executor.GetRange(&range); -adlx_intcurrentValue=0; -executor.GetValue(&currentValue); -adlx_intbaseValue=(range.minValue+range.maxValue)/2; -adlx_intvalue=(currentValue==baseValue)?baseValue+range.step:baseValue; -std::stringstr1="\tSet"+colorTypeString+":"; -std::cout<<str1.c_str()<<"value:"<<value<<std::endl; -autores=executor.SetValue(value); -std::cout<<"\tReturncode(0isSuccess)is:"<<res<<"(0meanssuccess)"<<std::endl; -break; -} -default: -break; -} -} -MainMenu(); -} - -voidShowCustomColorSettings(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintcolorType) -{ -staticconststd::unordered_map<int,std::string>colorTypeStringMap= -{ -{CUSTOM_COLOR_HUE,"Hue"}, -{CUSTOM_COLOR_SATURATION,"Saturation"}, -{CUSTOM_COLOR_BRIGHTNESS,"Brightness"}, -{CUSTOM_COLOR_CONTRAST,"Contrast"}, -{CUSTOM_COLOR_TEMPERATURE,"Temperature"}}; - -IADLXDisplayCustomColorPtrdisplayCustomColor; -ADLX_RESULTres=displayService->GetCustomColor(display,&displayCustomColor); -if(ADLX_SUCCEEDED(res)) -{ -autoexecutor=CustomColorExecutor(displayCustomColor,colorType); -try -{ -ExecuteCommand(executor,colorTypeStringMap.at(colorType)); -}catch(...) -{ -std::cout<<"Showcustomcolorsettings:colortypeisinvalid!"<<std::endl; -} -} -else -{ -std::cout<<"GetCustomColor:failed."<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1toenterHuesettings"<<std::endl; -std::cout<<"\t->Press2toenterSaturationsettings"<<std::endl; -std::cout<<"\t->Press3toenterBrightnesssettings"<<std::endl; -std::cout<<"\t->Press4toenterContrastsettings"<<std::endl; -std::cout<<"\t->Press5toenterTemperaturesettings"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythecommandpromptmenu"<<std::endl; -} - -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -case'1': -ShowCustomColorSettings(displayService,display,CUSTOM_COLOR_HUE); -break; -//DisplaySaturationsettings -case'2': -ShowCustomColorSettings(displayService,display,CUSTOM_COLOR_SATURATION); -break; -//DisplayBrightnesssettings -case'3': -ShowCustomColorSettings(displayService,display,CUSTOM_COLOR_BRIGHTNESS); -break; -//DisplayContrastsettings -case'4': -ShowCustomColorSettings(displayService,display,CUSTOM_COLOR_CONTRAST); -break; -//DisplayTemperaturesettings -case'5': -ShowCustomColorSettings(displayService,display,CUSTOM_COLOR_TEMPERATURE); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__custom_resolution.xml b/vendor/adlx/SDKDoc/xml/cpp_display__custom_resolution.xml deleted file mode 100644 index 29c676c..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__custom_resolution.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - cpp_display_CustomResolution - DisplayCustomResolution - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display custom resolution support.</td></tr> - <tr><td>2</td><td> Get custom resolution list.</td></tr> - <tr><td>3</td><td> Get current applied resolution.</td></tr> - <tr><td>4</td><td> Create new customized resolution.</td></tr> - <tr><td>5</td><td> Delete available resolution.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayCustomResolution</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<unordered_map> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Displaycustomresolutionsupport -voidShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtrpCustomResolution); - -//Displayavailabledisplayresolutions -voidGetResolutionList(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionList**ppResolutionList); - -//Displaycurrentdisplayresolution -voidGetCurrentResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolution**ppResolution); - -//Createnewcustomizeddisplayresolution -voidCreateNewResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionPtrpResolution); - -//Deletedisplayresolution -voidDeleteResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionPtrpResolution); - -//Printoutspecifiedresolution -voidPrintResolution(IADLXDisplayResolutionPtrpResolution); - -//Printoutspecifiedresolutionlist -voidPrintResolutions(IADLXDisplayResolutionListPtrpResolutionList); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplayServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtrpCustomResolution) -{ -std::cout<<"===customresolutionsupported==="<<std::endl; -adlx_boolsupported=false; -ADLX_RESULTres=pCustomResolution->IsSupported(&supported); -std::cout<<"\tIsSupportedresult:"<<res<<",supported:"<<supported<<std::endl; -} - -voidGetResolutionList(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionList**ppResolutionList) -{ -ADLX_RESULTres=pCustomResolution->GetResolutionList(ppResolutionList); -if(ADLX_FAILED(res)) -std::cout<<"GetResolutionList:failed"<<std::endl; - -} - -voidGetCurrentResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolution**ppResolution) -{ -ADLX_RESULTres=pCustomResolution->GetCurrentAppliedResolution(ppResolution); -if(ADLX_FAILED(res)) -std::cout<<"GetCurrentAppliedResolution:failed"<<std::endl; -} - -voidCreateNewResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionPtrpResolution) -{ -ADLX_RESULTres=pCustomResolution->CreateNewResolution(pResolution); -if(ADLX_FAILED(res)) -std::cout<<"CreateNewResolution:failed."<<std::endl; -} - -voidDeleteResolution(IADLXDisplayCustomResolutionPtrpCustomResolution,IADLXDisplayResolutionPtrpResolution) -{ -PrintResolution(pResolution); -ADLX_RESULTres=pCustomResolution->DeleteResolution(pResolution); -if(ADLX_FAILED(res)) -std::cout<<"DeleteResolution:failed."<<std::endl; -} - -voidPrintResolution(IADLXDisplayResolutionPtrpResolution) -{ -ADLX_CustomResolutioncr; -pResolution->GetValue(&cr); - -std::stringsPresention=(cr.presentation==ADLX_DISPLAY_SCAN_TYPE::INTERLACED)?"Interlaced":"Progressive"; -std::stringsTimingStandard="Manual"; -std::stringsHPolarity=(cr.detailedTiming.hPolarity==ADLX_DISPLAY_TIMING_POLARITY::POSITIVE)?"Positive":"Negative"; -std::stringsVPolarity=(cr.detailedTiming.vPolarity==ADLX_DISPLAY_TIMING_POLARITY::POSITIVE)?"Positive":"Negative"; -try -{ -conststd::unordered_map<ADLX_TIMING_STANDARD,std::string>timingStandardMap= -{ -{MANUAL,"Manual"},{DMT,"DMT"},{GTF,"GTF"},{CVT_RB,"CVT-ReducedBlanking"},{CVT,"CVT"}}; - -sTimingStandard=timingStandardMap.at(cr.timingStandard); -}catch(...) -{ -std::cout<<"Timingstandardoutofrange!"<<std::endl; -return; -} - -charbuff[1024]={0}; -intoffset=std::snprintf(buff,sizeof(buff),"\nresolution(Px)\t\t%dx%d\n",cr.resWidth,cr.resHeight); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"RefreshRate(Hz)\t\t%d\n",cr.refreshRate); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"Presentation\t\t\t%s\n",sPresention.c_str()); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingStandard\t\t%s\n",sTimingStandard.c_str()); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"G.PixelClock(kHz)\t\t%d\n",cr.GPixelClock); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingInfo\t\t\tHorizontal\tVertical\n"); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingTotal\t\t\t%d\t%d\n",cr.detailedTiming.hTotal,cr.detailedTiming.vTotal); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingDisplay\t\t%d\t%d\n",cr.detailedTiming.hDisplay,cr.detailedTiming.vDisplay); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingFrontPorch\t\t%d\t%d\n",cr.detailedTiming.hFrontPorch,cr.detailedTiming.vFrontPorch); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingSyncWidth\t\t%d\t%d\n",cr.detailedTiming.hSyncWidth,cr.detailedTiming.vSyncWidth); -offset+=std::snprintf(buff+offset,sizeof(buff)-offset,"TimingPolarity\t\t%s%s\n",sHPolarity.c_str(),sVPolarity.c_str()); - -std::cout<<buff<<std::endl; -} - -voidPrintResolutions(IADLXDisplayResolutionListPtrpResolutionList) -{ -std::cout<<"Printoutresolutionlist=="<<std::endl; -if(pResolutionList==nullptr) -{ -std::cout<<"resolutionlistisnull"<<std::endl; -return; -} - -if(pResolutionList->Size()==0) -{ -std::cout<<"resolutionlistisempty!"<<std::endl; -return; -} - -ADLX_RESULTres=ADLX_FAIL; -for(adlx_uintcrt=0;crt<pResolutionList->Size();crt++) -{ -IADLXDisplayResolutionPtrpDispResolution=nullptr; -res=pResolutionList->At(crt,&pDispResolution); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"resolutionindex:"<<crt<<std::endl; -PrintResolution(pDispResolution); -} -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplaycustomResolutionsupport"<<std::endl; - -std::cout<<"\t->Press2togetcustomResolutionlist"<<std::endl; - -std::cout<<"\t->Press3togetcurrentappliedResolution"<<std::endl; -std::cout<<"\t->Press4tocreatenewcustomizedResolution"<<std::endl; -std::cout<<"\t->Press5todeleteavaibleResolution"<<std::endl; - -std::cout<<"\t->PressQ/qterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythecommandpromptmenu"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayCustomResolutionPtrpCustomResolution; -displayService->GetCustomResolution(display,&pCustomResolution); - -if(!pCustomResolution) -{ -std::cout<<"Menucontrol:cannotretrivecustomresolutioninstance!"<<std::endl; -return; -} - -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaycustomresolutionsupport -case'1': -ShowCustomResolutionSupport(pCustomResolution); -break; - -//Getcurrentresolution -case'2': -{ -std::cout<<"===Getresolutionlist:==="<<std::endl; -IADLXDisplayResolutionListPtrpResolutionList; -GetResolutionList(pCustomResolution,&pResolutionList); -PrintResolutions(pResolutionList); -break; -} - -//Getcurrentappliedresolution -case'3': -{ -std::cout<<"===Getcurrentresolution:==="<<std::endl; -IADLXDisplayResolutionPtrpDisplayResolution; -GetCurrentResolution(pCustomResolution,&pDisplayResolution); -PrintResolution(pDisplayResolution); -break; -} -//Createnewcustomizedresolution -case'4': -{ -std::cout<<"===Createnewresolution:==="<<std::endl; -IADLXDisplayResolutionPtrpDisplayResolution; -GetCurrentResolution(pCustomResolution,&pDisplayResolution); - -if(pDisplayResolution) -{ -ADLX_CustomResolutioncustomRes={}; -pDisplayResolution->GetValue(&customRes); - -customRes.resWidth=1920; -customRes.resHeight=1080; -customRes.detailedTiming.hDisplay=1920; -customRes.detailedTiming.vDisplay=1080; -pDisplayResolution->SetValue(customRes); - -PrintResolution(pDisplayResolution); -CreateNewResolution(pCustomResolution,pDisplayResolution); -} -break; -} -//Deleteavailableresolution -case'5': -{ -std::cout<<"===Deleteresolution:==="<<std::endl; -IADLXDisplayResolutionListPtrpResolutionList; -GetResolutionList(pCustomResolution,&pResolutionList); -if(pResolutionList->Size()>0) -{ -IADLXDisplayResolutionPtrpDisplayResolution; -ADLX_RESULTres=pResolutionList->At(0,&pDisplayResolution); -if(ADLX_SUCCEEDED(res)) -DeleteResolution(pCustomResolution,pDisplayResolution); -} -break; -} -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__display_connectivity_experience.xml b/vendor/adlx/SDKDoc/xml/cpp_display__display_connectivity_experience.xml deleted file mode 100644 index 03cb6e7..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__display_connectivity_experience.xml +++ /dev/null @@ -1,496 +0,0 @@ - - - - cpp_display_DisplayConnectivityExperience - DisplayConnectivityExperience - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable"> - <tr tyle=height=40px><th>Command Prompt</th><th>Description</th></tr> - <tr><td>1</td><td> Display HDMI quality detection support.</td></tr> - <tr><td>2</td><td> Display DP link support.</td></tr> - <tr><td>3</td><td> Get HDMI quality detection status.</td></tr> - <tr><td>4</td><td> Set HDMI quality detection status to "Enabled".</td></tr> - <tr><td>5</td><td> Set HDMI quality detection status to "Disabled".</td></tr> - <tr><td>6</td><td> Display DP link rate.</td></tr> - <tr><td>7</td><td> Display number of active lanes.</td></tr> - <tr><td>8</td><td> Display number of total lanes.</td></tr> - <tr><td>9</td><td> Display relative pre-emphasis.</td></tr> - <tr><td>a</td><td> Enter the Relative Pre-emphasis settings menu.</td></tr> - <tr><td>b</td><td> Display relative voltage swing.</td></tr> - <tr><td>c</td><td> Enter the Relative Voltage Swing settings menu.</td></tr> - <tr><td>d</td><td> Display if link protection enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </table> - <p> - <h2>Sample Path</h2> /Samples/CPP/Display/DisplayConnectivityExperience - </p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays2.h" -#include<iostream> -#include<unordered_map> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaysupportedHDMIqualitydetection -voidShowSupportedHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//DisplaysupportedDPlink -voidShowSupportedDPLink(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//DisplaycurrentHDMIqualitydetectionstate -voidGetEnabledHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//SetdisplayVariBrightstatustoenable/disable -voidSetEnabledHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,adlx_boolenableDisable); - -//DisplayDPlinkratevalue -voidGetDPLinkRate(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Displaynumberofactivelanes -voidGetNumberOfActiveLanes(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Displaynumberoftotallanes -voidGetNumberOfTotalLanes(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Displayrelativepre-emphasis -voidGetRelativePreEmphasis(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Relativepre-emphasissettingmenucontrol -voidRelativePreEmphasisSettingMenuControl(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Setrelativepre-emphasis -voidSetRelativePreEmphasis(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,intrelativePreEmphasis); - -//Displayrelativepre-emphasis -voidGetRelativeVoltageSwing(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Relativevoltageswingsettingmenucontrol -voidRelativeVoltageSwingSettingMenuControl(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Setrelativepre-emphasis -voidSetRelativeVoltageSwing(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,intrelativeVoltageSwing); - -//Displaycurrentlinkprotectionstatue -voidGetEnabledLinkProtection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServices2Ptr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -IADLXDisplayServices2PtrdisplayServices1(displayService); - -if(nullptr!=displayServices1) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplaylist",0); -} -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayServices1,display); -} -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowSupportedHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetHDMIqualitydetectionSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayConnectivityExperience->IsSupportedHDMIQualityDetection(&supported); -std::cout<<"\tHDMIqualitydetectionissupportedonthedisplay:"<<(supported?"true":"false")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidShowSupportedDPLink(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetDPLinkSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayConnectivityExperience->IsSupportedDPLink(&supported); -std::cout<<"\tDPLinkissupportedonthedisplay:"<<(supported?"true":"false")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidGetEnabledHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetHDMIqualitydetectionenabled==="<<std::endl; -adlx_boolenabled=false; -res=displayConnectivityExperience->IsEnabledHDMIQualityDetection(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetEnabledHDMIQualityDetection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,adlx_boolenableDisable) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -if(!enableDisable) -{ -res=displayConnectivityExperience->SetEnabledHDMIQualityDetection(false); -std::cout<<"\tSetenabledtofalse,result:"<<res<<"(0meanssuccess)"<<std::endl; -} -else -{ -res=displayConnectivityExperience->SetEnabledHDMIQualityDetection(true); -std::cout<<"\tSetenabledtotrue,result:"<<res<<"(0meanssuccess)"<<std::endl; -} -} -} - -voidGetDPLinkRate(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -conststd::unordered_map<int,std::string>DPLinkRateMap= -{ -{0,"DP_LINK_RATE_RBR"}, -{1,"DP_LINK_RATE_2_16GBPS"}, -{2,"DP_LINK_RATE_2_43GBPS"}, -{3,"DP_LINK_RATE_HBR"}, -{4,"DP_LINK_RATE_4_32GBPS"}, -{5,"DP_LINK_RATE_HBR2"}, -{6,"DP_LINK_RATE_HBR3"}, -{7,"DP_LINK_RATE_UHBR10"}, -{8,"DP_LINK_RATE_UHBR13D5"}, -{9,"DP_LINK_RATE_UHBR20"}}; - -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetDPlinkrate==="<<std::endl; -ADLX_DP_LINK_RATEDPLinkRate=ADLX_DP_LINK_RATE::DP_LINK_RATE_UNKNOWN; -res=displayConnectivityExperience->GetDPLinkRate(&DPLinkRate); -std::stringDPLinkRateStr=0!=DPLinkRateMap.count(DPLinkRate)?DPLinkRateMap.at(DPLinkRate):"DP_LINK_RATE_UNKNOWN"; -std::cout<<"\tGetValue,result:"<<res<<"mode:"<<DPLinkRateStr.c_str()<<std::endl; -} -} - -voidGetNumberOfActiveLanes(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getnumberofactivelanes==="<<std::endl; -adlx_uintnumberOfActiveLanes; -res=displayConnectivityExperience->GetNumberOfActiveLanes(&numberOfActiveLanes); -std::cout<<"\tGetValue,result:"<<res<<"value:"<<numberOfActiveLanes<<std::endl; -} -} - -voidGetNumberOfTotalLanes(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getnumberoftotallanes==="<<std::endl; -adlx_uintnumberOfTotalLanes; -res=displayConnectivityExperience->GetNumberOfTotalLanes(&numberOfTotalLanes); -std::cout<<"\tGetValue,result:"<<res<<"value:"<<numberOfTotalLanes<<std::endl; -} -} - -voidGetRelativePreEmphasis(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getrelativepre-emphasis==="<<std::endl; -adlx_intrelativePreEmphasis; -res=displayConnectivityExperience->GetRelativePreEmphasis(&relativePreEmphasis); -std::cout<<"\tGetValue,result:"<<res<<"value:"<<relativePreEmphasis<<std::endl; -} -} - -voidRelativePreEmphasisSettingMenuControl(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -printf("===relativepre-emphasissetting===\n"); -printf("\t->Pressintegerin[-2:2]tosetrelativepre-emphasisorreturnmainmenu\n"); -intnum=0; -if((std::cin>>num)&&(-2<=num&&num<=2)) -{ -SetRelativePreEmphasis(displayService2,display,num); -} -} - -voidSetRelativePreEmphasis(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,intrelativePreEmphasis) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Setrelativepre-emphasis==="<<std::endl; -res=displayConnectivityExperience->SetRelativePreEmphasis(relativePreEmphasis); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidGetRelativeVoltageSwing(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getrelativevoltageswing==="<<std::endl; -adlx_intrelativeVoltageSwing; -res=displayConnectivityExperience->GetRelativeVoltageSwing(&relativeVoltageSwing); -std::cout<<"\tGetValue,result:"<<relativeVoltageSwing<<std::endl; -} -} - -voidRelativeVoltageSwingSettingMenuControl(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -printf("===relativevoltageswingsetting===\n"); -printf("\t->Pressintegerin[-2:2]tosetrelativevoltageswingorreturnmainmenu\n"); -intnum=0; -if((std::cin>>num)&&(-2<=num&&num<=2)) -{ -SetRelativeVoltageSwing(displayService2,display,num); -} -} - -voidSetRelativeVoltageSwing(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display,intrelativeVoltageSwing) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Setrelativevoltageswing==="<<std::endl; -res=displayConnectivityExperience->SetRelativeVoltageSwing(relativeVoltageSwing); -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidGetEnabledLinkProtection(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -IADLXDisplayConnectivityExperiencePtrdisplayConnectivityExperience; -ADLX_RESULTres=displayService2->GetDisplayConnectivityExperience(display,&displayConnectivityExperience); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getlinkprotectionenabled==="<<std::endl; -adlx_boolenabled=false; -res=displayConnectivityExperience->IsEnabledLinkProtection(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayHDMIqualitydetectionsupport"<<std::endl; -std::cout<<"\t->Press2todisplayDPlinksupport"<<std::endl; -std::cout<<"\t->Press3togetHDMIqualitydetectionstatus"<<std::endl; -std::cout<<"\t->Press4tosetHDMIqualitydetectiontoEnable"<<std::endl; -std::cout<<"\t->Press5tosetHDMIqualitydetectionstatustoDisable"<<std::endl; -std::cout<<"\t->Press6todisplayDPlinkrate"<<std::endl; -std::cout<<"\t->Press7todisplaynumberofactivelanes"<<std::endl; -std::cout<<"\t->Press8todisplaynumberoftotallanes"<<std::endl; -std::cout<<"\t->Press9todisplayrelativepre-emphasis"<<std::endl; -std::cout<<"\t->PressatoentertheRelativePre-emphasissettingsmenu"<<std::endl; -std::cout<<"\t->Pressbtodisplayrelativevoltageswing"<<std::endl; -std::cout<<"\t->PressctoentertheRelativeVoltageSwingsettingsmenu"<<std::endl; -std::cout<<"\t->Pressdtodisplayiflinkprotectionisenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServices2Ptr&displayService2,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaysupportedHDMIqualitydetection -case'1': -ShowSupportedHDMIQualityDetection(displayService2,display); -break; - -//DisplayssupportedDPlink -case'2': -ShowSupportedDPLink(displayService2,display); -break; - -//GetHDMIqualitydetectionenable -case'3': -GetEnabledHDMIQualityDetection(displayService2,display); -break; - -//SetHDMIqualitydetectionenable -case'4': -SetEnabledHDMIQualityDetection(displayService2,display,true); -break; - -//SetHDMIqualitydetectiondisable -case'5': -SetEnabledHDMIQualityDetection(displayService2,display,false); -break; - -//DisplayDPlinkrate -case'6': -GetDPLinkRate(displayService2,display); -break; - -//Displaynumberofactivelanes -case'7': -GetNumberOfActiveLanes(displayService2,display); -break; - -//Displaynumberoftotlalanes -case'8': -GetNumberOfTotalLanes(displayService2,display); -break; - -//Displayrelativepre-emphasis -case'9': -GetRelativePreEmphasis(displayService2,display); -break; - -//Enterrelativepre-emphasissettingcontrol -case'a': -RelativePreEmphasisSettingMenuControl(displayService2,display); -break; - -//Displayrelativevoltageswing -case'b': -GetRelativeVoltageSwing(displayService2,display); -break; - -//Enterrelativevoltageswingsettingcontrol -case'c': -RelativeVoltageSwingSettingMenuControl(displayService2,display); -break; - -//Displaylinkprotectionstatus -case'd': -GetEnabledLinkProtection(displayService2,display); -break; - -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__display_vari_bright.xml b/vendor/adlx/SDKDoc/xml/cpp_display__display_vari_bright.xml deleted file mode 100644 index da90384..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__display_vari_bright.xml +++ /dev/null @@ -1,360 +0,0 @@ - - - - cpp_display_DisplayVariBright - DisplayVariBright - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain Vari-Bright when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display Vari-Bright support.</td></tr> - <tr><td>2</td><td> Get Vari-Bright Enable state.</td></tr> - <tr><td>3</td><td> Enable VariBright.</td></tr> - <tr><td>4</td><td> Disable VariBright.</td></tr> - <tr><td>5</td><td> Check if Vari-Bright mode is Maximized Brightness preset on a display.</td></tr> - <tr><td>6</td><td> Check if Vari-Bright mode is Optimized Brightness preset on a display.</td></tr> - <tr><td>7</td><td> Check if Vari-Bright mode is Balanced preset on a display.</td></tr> - <tr><td>8</td><td> Check if Vari-Bright mode is Optimized Battery preset on a display.</td></tr> - <tr><td>9</td><td> Check if Vari-Bright mode is Maximized Battery preset on a display.</td></tr> - <tr><td>a</td><td> Set the Vari-Bright mode to Maximized Brightness preset on a display.</td></tr> - <tr><td>b</td><td> Set the Vari-Bright mode to Optimized Brightness preset on a display.</td></tr> - <tr><td>c</td><td> Set the Vari-Bright mode to Balanced preset on a display.</td></tr> - <tr><td>d</td><td> Set the Vari-Bright mode to Optimized Battery preset on a display.</td></tr> - <tr><td>e</td><td> Set the Vari-Bright mode to Maximized Battery preset on a display.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayVariBright</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayVariBrightsupport -voidShowDisplayVariBrightSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayVariBrightstate -voidGetVariBrightEnabled(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayVariBrightenable/disable -voidSetVariBrightEnabled(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,adlx_boolenableDisable); - -//GetdisplayVariBrightcurrentstate -voidGetCurrentVariBright(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,intuserChoice); - -//GetdisplayVariBrightcurrentstate -voidSetCurrentVariBright(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,intuserChoice); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayVariBrightSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayVariBrightPtrdisplayVariBright; -ADLX_RESULTres=displayService->GetVariBright(display,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetVariBrightSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayVariBright->IsSupported(&supported); -std::cout<<"\tVari-Brightissupportedonthedisplay:"<<(supported?"true":"false")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidGetVariBrightEnabled(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayVariBrightPtrdisplayVariBright; -ADLX_RESULTres=displayService->GetVariBright(display,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetVariBrightenabled==="<<std::endl; -adlx_boolenabled=false; -res=displayVariBright->IsEnabled(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetVariBrightEnabled(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,adlx_boolenableDisable) -{ -IADLXDisplayVariBrightPtrdisplayVariBright; -ADLX_RESULTres=displayService->GetVariBright(display,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -if(!enableDisable) -{ -res=displayVariBright->SetEnabled(false); -std::cout<<"\tSetenabledtofalse,result:"<<res<<std::endl; -} -else -{ -res=displayVariBright->SetEnabled(true); -std::cout<<"\tSetenabledtotrue,result:"<<res<<std::endl; -} -} -} - -voidGetCurrentVariBright(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,intuserChoice) -{ -IADLXDisplayVariBrightPtrdisplayVariBright; -ADLX_RESULTres=displayService->GetVariBright(display,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolapplied=false; -switch(userChoice) -{ -case0: -res=displayVariBright->IsCurrentMaximizeBrightness(&applied); -std::cout<<"\tMaximizeBrightnesspresetisusedonthedisplay:"<<(applied?"Yes":"No")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -break; - -case1: -res=displayVariBright->IsCurrentOptimizeBrightness(&applied); -std::cout<<"\tOptimizeBrightnesspresetisusedonthedisplay:"<<(applied?"Yes":"No")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -break; - -case2: -res=displayVariBright->IsCurrentBalanced(&applied); -std::cout<<"\tBalancedpresetisusedonthedisplay:"<<(applied?"Yes":"No")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -break; - -case3: -res=displayVariBright->IsCurrentOptimizeBattery(&applied); -std::cout<<"\tOptimizeBatterypresetisusedonthedisplay:"<<(applied?"Yes":"No")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -break; - -case4: -res=displayVariBright->IsCurrentMaximizeBattery(&applied); -std::cout<<"\tMaximizeBatterypresetisusedonthedisplay:"<<(applied?"Yes":"No")<<",returncode:"<<res<<"(0meanssuccess)"<<std::endl; -break; -} -} -} - -voidSetCurrentVariBright(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,intuserChoice) -{ -IADLXDisplayVariBrightPtrdisplayVariBright; -ADLX_RESULTres=displayService->GetVariBright(display,&displayVariBright); -if(ADLX_SUCCEEDED(res)) -{ -switch(userChoice) -{ -case0: -res=displayVariBright->SetMaximizeBrightness(); -std::cout<<"\tSetMaximizeBrightness,result:"<<res<<std::endl; -break; - -case1: -res=displayVariBright->SetOptimizeBrightness(); -std::cout<<"\tSetOptimizeBrightness,result:"<<res<<std::endl; -break; - -case2: -res=displayVariBright->SetBalanced(); -std::cout<<"\tSetBalanced,result:"<<res<<std::endl; -break; -case3: -res=displayVariBright->SetOptimizeBattery(); -std::cout<<"\tSetOptimizeBattery,result:"<<res<<std::endl; -break; - -case4: -res=displayVariBright->SetMaximizeBattery(); -std::cout<<"\tSetMaximizeBattery,result:"<<res<<std::endl; -break; -} -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayVariBrightsupport"<<std::endl; -std::cout<<"\t->Press2togetVariBrightenablestate"<<std::endl; -std::cout<<"\t->Press3tosetVariBrightenable"<<std::endl; -std::cout<<"\t->Press4tosetVariBrightdisable"<<std::endl; -std::cout<<"\t->Press5tocheckifVari-BrightmodeisMaximizedBrightnesspresetonadisplay"<<std::endl; -std::cout<<"\t->Press6tocheckifVari-BrightmodeisOptimizedBrightnesspresetonadisplay"<<std::endl; -std::cout<<"\t->Press7tocheckifVari-BrightmodeisBalancedpresetonadisplay"<<std::endl; -std::cout<<"\t->Press8tocheckifVari-BrightmodeisOptimizedBatterypresetonadisplay"<<std::endl; -std::cout<<"\t->Press9tocheckifVari-BrightmodeisMaximizedBatterypresetonadisplay"<<std::endl; -std::cout<<"\t->PressatosettheVari-BrightmodetoMaximizedBrightnesspresetonadisplay"<<std::endl; -std::cout<<"\t->PressbtosettheVari-BrightmodetoOptimizedBrightnesspresetonadisplay"<<std::endl; -std::cout<<"\t->PressctosettheVari-BrightmodetoBalancedpresetonadisplay"<<std::endl; -std::cout<<"\t->PressdtosettheVari-BrightmodetoOptimizedBatterypresetonadisplay"<<std::endl; -std::cout<<"\t->PressetosettheVari-BrightmodetoMaximizedBatterypresetonadisplay"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayVariBrightsupport -case'1': -ShowDisplayVariBrightSupport(displayService,display); -break; - -//DisplaycurrentdisplayVariBrightstate -case'2': -GetVariBrightEnabled(displayService,display); -break; - -//SetdisplayVariBrightenable -case'3': -SetVariBrightEnabled(displayService,display,true); -break; - -//SetdisplayVariBrightenable -case'4': -SetVariBrightEnabled(displayService,display,false); -break; - -case'5': -case'6': -case'7': -case'8': -case'9': -GetCurrentVariBright(displayService,display,num-'5'); -break; - -case'a': -case'b': -case'c': -case'd': -case'e': -SetCurrentVariBright(displayService,display,num-'a'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__free_sync.xml b/vendor/adlx/SDKDoc/xml/cpp_display__free_sync.xml deleted file mode 100644 index 68473fd..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__free_sync.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - cpp_display_FreeSync - DisplayFreeSync - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display FreeSync support.</td></tr> - <tr><td>2</td><td> Get FreeSync state.</td></tr> - <tr><td>3</td><td> Set current FreeSync to disabled.</td></tr> - <tr><td>4</td><td> Set current FreeSync to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayFreeSync</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DispalaydisplayFreeSyncsupport -voidShowDisplayFreeSyncSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayFreeSyncstate -voidGetFreeSyncState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayFreeSync -voidSetFreeSyncState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayFreeSyncSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayFreeSyncPtrdisplayFreeSync; -ADLX_RESULTres=displayService->GetFreeSync(display,&displayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetFreeSyncSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayFreeSync->IsSupported(&supported); -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetFreeSyncState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayFreeSyncPtrdisplayFreeSync; -ADLX_RESULTres=displayService->GetFreeSync(display,&displayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetFreeSyncEnabled==="<<std::endl; -adlx_boolenabled=false; -res=displayFreeSync->IsEnabled(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<enabled<<std::endl; -} -} - -voidSetFreeSyncState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayFreeSyncPtrdisplayFreeSync; -ADLX_RESULTres=displayService->GetFreeSync(display,&displayFreeSync); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetFreeSyncdisabled -case0: -std::cout<<"===SetFreeSyncEnabled:false"<<std::endl; -res=displayFreeSync->SetEnabled(false); -break; -//SetFreeSyncenabled -case1: -std::cout<<"===SetFreeSyncEnabled:true"<<std::endl; -res=displayFreeSync->SetEnabled(true); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayFreeSyncsupport"<<std::endl; - -std::cout<<"\t->Press2togetFreeSyncstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentFreeSynctodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentFreeSynctoenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayFreeSyncsupport -case'1': -ShowDisplayFreeSyncSupport(displayService,display); -break; - -//DisplaycurrentdisplayFreeSyncstate -case'2': -GetFreeSyncState(displayService,display); -break; - -//SetdisplayFreeSync -case'3': -case'4': -SetFreeSyncState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__g_p_u_scaling.xml b/vendor/adlx/SDKDoc/xml/cpp_display__g_p_u_scaling.xml deleted file mode 100644 index 7ec54b4..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__g_p_u_scaling.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - cpp_display_GPUScaling - DisplayGPUScaling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display GPUScaling when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display GPUScaling support.</td></tr> - <tr><td>2</td><td> Get GPUScaling state.</td></tr> - <tr><td>3</td><td> Set current GPUScaling to disabled.</td></tr> - <tr><td>4</td><td> Set current GPUScaling to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayGPUScaling</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayGPUScalingsupport -voidShowDisplayGPUScalingSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayGPUScalingstate -voidGetGPUScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayGPUScaling -voidSetGPUScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayGPUScalingSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayGPUScalingPtrdisplayGPUScaling; -ADLX_RESULTres=displayService->GetGPUScaling(display,&displayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetGPUScalingSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayGPUScaling->IsSupported(&supported); -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetGPUScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayGPUScalingPtrdisplayGPUScaling; -ADLX_RESULTres=displayService->GetGPUScaling(display,&displayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetGPUScalingEnabled==="<<std::endl; -adlx_boolenabled=false; -res=displayGPUScaling->IsEnabled(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetGPUScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayGPUScalingPtrdisplayGPUScaling; -ADLX_RESULTres=displayService->GetGPUScaling(display,&displayGPUScaling); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetGPUScalingdisabled -case0: -std::cout<<"===SetGPUScalingenabled:false"<<std::endl; -res=displayGPUScaling->SetEnabled(false); -break; -//SetGPUScalingenabled -case1: -std::cout<<"===SetGPUScalingenabled:true"<<std::endl; -res=displayGPUScaling->SetEnabled(true); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayGPUScalingsupport"<<std::endl; - -std::cout<<"\t->Press2togetGPUScalingstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentGPUScalingtodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentGPUScalingtoenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//ShowdisplayGPUScalingsupport -case'1': -ShowDisplayGPUScalingSupport(displayService,display); -break; - -//DisplaycurrentdisplayGPUScalingstate -case'2': -GetGPUScalingState(displayService,display); -break; - -//SetdisplayGPUScaling -case'3': -case'4': -SetGPUScalingState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__h_d_c_p.xml b/vendor/adlx/SDKDoc/xml/cpp_display__h_d_c_p.xml deleted file mode 100644 index 63397c2..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__h_d_c_p.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - cpp_display_HDCP - DisplayHDCP - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display HDCP support.</td></tr> - <tr><td>2</td><td> Get HDCP state.</td></tr> - <tr><td>3</td><td> Set current HDCP to disabled.</td></tr> - <tr><td>4</td><td> Set current HDCP to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayHDCP</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayHDCPsupport -voidShowDisplayHDCPSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayHDCPstate -voidGetHDCPState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayHDCP -voidSetHDCPState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayHDCPSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayHDCPPtrdisplayHDCP; -ADLX_RESULTres=displayService->GetHDCP(display,&displayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetHDCPSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayHDCP->IsSupported(&supported); -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetHDCPState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayHDCPPtrdisplayHDCP; -ADLX_RESULTres=displayService->GetHDCP(display,&displayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetHDCPEnabled==="<<std::endl; -adlx_boolenabled=false; -res=displayHDCP->IsEnabled(&enabled); -std::cout<<"\tGetEnabled,result:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetHDCPState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayHDCPPtrdisplayHDCP; -ADLX_RESULTres=displayService->GetHDCP(display,&displayHDCP); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetHDCPdisabled -case0: -std::cout<<"===SetHDCPEnabled:false"<<std::endl; -res=displayHDCP->SetEnabled(false); -break; -//SetHDCPenabled -case1: -std::cout<<"===SetHDCPEnabled:true"<<std::endl; -res=displayHDCP->SetEnabled(true); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayHDCPsupport"<<std::endl; - -std::cout<<"\t->Press2togetHDCPstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentHDCPtodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentHDCPtoenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayHDCPsupport -case'1': -ShowDisplayHDCPSupport(displayService,display); -break; - -//DisplaycurrentdisplayHDCPstate -case'2': -GetHDCPState(displayService,display); -break; - -//SetdisplayHDCP -case'3': -case'4': -SetHDCPState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__integer_scaling.xml b/vendor/adlx/SDKDoc/xml/cpp_display__integer_scaling.xml deleted file mode 100644 index 8f432b3..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__integer_scaling.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - cpp_display_IntegerScaling - DisplayIntegerScaling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain integer scaling when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display integer scaling support.</td></tr> - <tr><td>2</td><td> Get integer scaling state.</td></tr> - <tr><td>3</td><td> Set current integer scaling to disabled.</td></tr> - <tr><td>4</td><td> Set current integer scaling to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayIntegerScaling</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayIntegerScalingsupport -voidShowDisplayIntegerScalingSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayIntegerScalingstate -voidGetIntegerScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayIntegerScaling -voidSetIntegerScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplayslist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayIntegerScalingSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayIntegerScalingPtrdisplayIntegerScaling; -ADLX_RESULTres=displayService->GetIntegerScaling(display,&displayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetIntegerScalingsupported==="<<std::endl; -adlx_boolsupported=false; -res=displayIntegerScaling->IsSupported(&supported); -std::cout<<"\tIsSupported,res:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetIntegerScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayIntegerScalingPtrdisplayIntegerScaling; -ADLX_RESULTres=displayService->GetIntegerScaling(display,&displayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetIntegerScalingenabled==="<<std::endl; -adlx_boolenabled=false; -res=displayIntegerScaling->IsEnabled(&enabled); -std::cout<<"\tGetEnabled,res:"<<res<<"enabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetIntegerScalingState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayIntegerScalingPtrdisplayIntegerScaling; -ADLX_RESULTres=displayService->GetIntegerScaling(display,&displayIntegerScaling); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//Setintegerscalingdisabled -case0: -std::cout<<"===SetIntegerScalingEnabled:false"<<std::endl; -res=displayIntegerScaling->SetEnabled(false); -break; -//Setintegerscalingenabled -case1: -std::cout<<"===SetIntegerScalingEnabled:true"<<std::endl; -res=displayIntegerScaling->SetEnabled(true); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayintegerscalingsupport"<<std::endl; - -std::cout<<"\t->Press2togetintegerscalingstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentintegerscalingtodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentintegerscalingtoenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayIntegerScalingsupport -case'1': -ShowDisplayIntegerScalingSupport(displayService,display); -break; - -//DisplaycurrentdisplayIntegerScalingstate -case'2': -GetIntegerScalingState(displayService,display); -break; - -//SetdisplayIntegerScaling -case'3': -case'4': -SetIntegerScalingState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__pixel_format.xml b/vendor/adlx/SDKDoc/xml/cpp_display__pixel_format.xml deleted file mode 100644 index 11498f8..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__pixel_format.xml +++ /dev/null @@ -1,327 +0,0 @@ - - - - cpp_display_PixelFormat - DisplayPixelFormat - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display pixel format support.</td></tr> - <tr><td>2</td><td> Get pixel format state.</td></tr> - <tr><td>3</td><td> Set current pixel format to RGB_444_FULL.</td></tr> - <tr><td>4</td><td> Set current pixel format to YCBCR_444.</td></tr> - <tr><td>5</td><td> Set current pixel format to YCBCR_422.</td></tr> - <tr><td>6</td><td> Set current pixel format to RGB_444_LIMITED.</td></tr> - <tr><td>7</td><td> Get support state for each pixel format.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayPixelFormat</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<unordered_map> -#include<algorithm> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayPixelFormatsupport -voidShowDisplayPixelFormatSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayPixelFormatstate -voidGetPixelFormatState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayPixelFormat -voidSetPixelFormatState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Getsupportstateforeachpixelformat -voidGetSupportStateForEachPixelFormat(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayPixelFormatSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayPixelFormatPtrdisplayPixelFormat; -ADLX_RESULTres=displayService->GetPixelFormat(display,&displayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getpixelformatsupported==="<<std::endl; -adlx_boolsupported=false; -res=displayPixelFormat->IsSupported(&supported); -std::cout<<"\tPixelformatissupportedonthedisplay:"<<supported<<",returncode:"<<res<<"(0meanssuccess)\n"<<std::endl; -} -} - -voidGetPixelFormatState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -conststd::unordered_map<int,std::string>PixelFormatMap={{0,"FORMAT_UNKNOWN"},{1,"RGB_444_FULL"},{2,"YCBCR_444"},{3,"YCBCR_422"},{4,"RGB_444_LIMITED"}}; -IADLXDisplayPixelFormatPtrdisplayPixelFormat; -ADLX_RESULTres=displayService->GetPixelFormat(display,&displayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getpixelformatenabled==="<<std::endl; -ADLX_PIXEL_FORMATpf=FORMAT_UNKNOWN; -res=displayPixelFormat->GetValue(&pf); -std::stringpfStr="FORMAT_UNKNOWN"; -autosearchIter=PixelFormatMap.find(pf); -if(searchIter!=PixelFormatMap.end()) -{ -pfStr=searchIter->second; -} -std::cout<<"\tGetValue,res"<<res<<"pixelformat:"<<pfStr.c_str()<<std::endl; -} -} - -voidSetPixelFormatState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayPixelFormatPtrdisplayPixelFormat; -ADLX_RESULTres=displayService->GetPixelFormat(display,&displayPixelFormat); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetpixelformattoRGB_444_FULL -case0: -std::cout<<"===SetpixelformattoRGB_444_FULL"<<std::endl; -res=displayPixelFormat->SetValue(RGB_444_FULL); -break; -//SetpixelformattoYCBCR_444 -case1: -std::cout<<"===SetpixelformattoYCBCR_444"<<std::endl; -res=displayPixelFormat->SetValue(YCBCR_444); -break; -//SetpixelformattoYCBCR_422 -case2: -std::cout<<"===SetpixelformattoYCBCR_422"<<std::endl; -res=displayPixelFormat->SetValue(YCBCR_422); -break; -//SetpixelformattoRGB_444_LIMITED -case3: -std::cout<<"===SetpixelformattoRGB_444_LIMITED"<<std::endl; -res=displayPixelFormat->SetValue(RGB_444_LIMITED); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -//Getsupportstateforeachpixelformat -voidGetSupportStateForEachPixelFormat(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayPixelFormatPtrdisplayPixelFormat; -ADLX_RESULTres=displayService->GetPixelFormat(display,&displayPixelFormat); -if(ADLX_SUCCEEDED(res)&&displayPixelFormat) -{ -std::cout<<"===Getpixelformatlist==="<<std::endl; -adlx_boolsupport=false; - -res=displayPixelFormat->IsSupportedRGB444Full(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupportRGB4:4:4PCStandard(FullRGB):"<<support<<std::endl; -res=displayPixelFormat->IsSupportedYCbCr444(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupportYCbCr4:4:4:"<<support<<std::endl; -res=displayPixelFormat->IsSupportedYCbCr422(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupportYCbCr4:2:2:"<<support<<std::endl; -res=displayPixelFormat->IsSupportedRGB444Limited(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupportRGB4:4:4Studio(LimitedRGB):"<<support<<std::endl; -res=displayPixelFormat->IsSupportedYCbCr420(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupportYCbCr4:2:0:"<<support<<std::endl; - -conststd::unordered_map<ADLX_PIXEL_FORMAT,std::string>PixelFormatMap{ -{RGB_444_FULL,"RGB4:4:4PCStandard(FullRGB)"}, -{YCBCR_444,"YCbCr4:4:4"}, -{YCBCR_422,"YCbCr4:2:2"}, -{RGB_444_LIMITED,"RGB4:4:4Studio(LimitedRGB)"}, -{YCBCR_420,"YCbCr4:2:0"} -}; -for_each(PixelFormatMap.begin(),PixelFormatMap.end(),[&](autopixelFormat){ -res=displayPixelFormat->IsSupportedPixelFormat(pixelFormat.first,&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIssupport"<<pixelFormat.second<<":"<<support<<std::endl; -}); -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayPixelFormatsupport"<<std::endl; - -std::cout<<"\t->Press2togetPixelFormatstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentpixelformattoRGB_444_FULL"<<std::endl; -std::cout<<"\t->Press4tosetcurrentpixelformattoYCBCR_444"<<std::endl; -std::cout<<"\t->Press5tosetcurrentpixelformattoYCBCR_422"<<std::endl; -std::cout<<"\t->Press6tosetcurrentpixelformattoRGB_444_LIMITED"<<std::endl; - -std::cout<<"\t->Press7togetsupportstateforeachpixelformat"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayPixelFormatsupport -case'1': -ShowDisplayPixelFormatSupport(displayService,display); -break; - -//DisplaycurrentdisplayPixelFormatstate -case'2': -GetPixelFormatState(displayService,display); -break; - -//SetdisplayPixelFormat -case'3': -case'4': -case'5': -case'6': -SetPixelFormatState(displayService,display,num-'3'); -break; - -//GetdisplayPixelFormatsupportlist -case'7': -GetSupportStateForEachPixelFormat(displayService,display); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__scaling_mode.xml b/vendor/adlx/SDKDoc/xml/cpp_display__scaling_mode.xml deleted file mode 100644 index 1063c39..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__scaling_mode.xml +++ /dev/null @@ -1,271 +0,0 @@ - - - - cpp_display_ScalingMode - DisplayScalingMode - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain scaling mode when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display scaling mode support.</td></tr> - <tr><td>2</td><td> Get scaling mode state.</td></tr> - <tr><td>3</td><td> Set current scaling mode to PRESERVE_ASPECT_RATIO.</td></tr> - <tr><td>4</td><td> Set current scaling mode to FULL_PANEL.</td></tr> - <tr><td>5</td><td> Set current scaling mode to CENTERED.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayScalingMode</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<unordered_map> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayScalingModesupport -voidShowDisplayScalingModeSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayScalingModestate -voidGetScalingModeState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayScalingMode -voidSetScalingModeState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayScalingModeSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayScalingModePtrdisplayScalingMode; -ADLX_RESULTres=displayService->GetScalingMode(display,&displayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetScalingModeSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayScalingMode->IsSupported(&supported); -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetScalingModeState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -conststd::unordered_map<int,std::string>scalingModeMap= -{ -{0,"PRESERVE_ASPECT_RATIO"}, -{1,"FULL_PANEL"}, -{2,"CENTERED"}}; - -IADLXDisplayScalingModePtrdisplayScalingMode; -ADLX_RESULTres=displayService->GetScalingMode(display,&displayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetScalingModeEnabled==="<<std::endl; -ADLX_SCALE_MODEsm=PRESERVE_ASPECT_RATIO; -res=displayScalingMode->GetMode(&sm); -std::stringsmStr="Unknown"; -autosearchIter=scalingModeMap.find(sm); -if(searchIter!=scalingModeMap.end()) -{ -smStr=searchIter->second; -} -std::cout<<"\tGetMode,result"<<res<<"mode:"<<smStr.c_str()<<std::endl; -} -} - -voidSetScalingModeState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayScalingModePtrdisplayScalingMode; -ADLX_RESULTres=displayService->GetScalingMode(display,&displayScalingMode); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetscalingmodetoPRESERVE_ASPECT_RATIO -case0: -std::cout<<"===SetScalingModePRESERVE_ASPECT_RATIO"<<std::endl; -res=displayScalingMode->SetMode(PRESERVE_ASPECT_RATIO); -break; -//SetscalingmodetoFULL_PANEL -case1: -std::cout<<"===SetScalingModeFULL_PANEL"<<std::endl; -res=displayScalingMode->SetMode(FULL_PANEL); -break; -//SetscalingmodetoCENTERED -case2: -std::cout<<"===SetScalingModeCENTERED"<<std::endl; -res=displayScalingMode->SetMode(CENTERED); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayscalingmodesupport"<<std::endl; - -std::cout<<"\t->Press2togetscalingmodestate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentscalingmodetoPRESERVE_ASPECT_RATIO"<<std::endl; -std::cout<<"\t->Press4tosetcurrentscalingmodetoFULL_PANEL"<<std::endl; -std::cout<<"\t->Press5tosetcurrentscalingmodetoCENTERED"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayScalingModesupport -case'1': -ShowDisplayScalingModeSupport(displayService,display); -break; - -//DisplaycurrentdisplayScalingModestate -case'2': -GetScalingModeState(displayService,display); -break; - -//SetdisplayScalingMode -case'3': -case'4': -case'5': -SetScalingModeState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_display__v_s_r.xml b/vendor/adlx/SDKDoc/xml/cpp_display__v_s_r.xml deleted file mode 100644 index 38b8663..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_display__v_s_r.xml +++ /dev/null @@ -1,250 +0,0 @@ - - - - cpp_display_VSR - DisplayVSR - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstartes how to obtain VSR when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display VSR support.</td></tr> - <tr><td>2</td><td> Get VSR state.</td></tr> - <tr><td>3</td><td> Set current VSR to disabled.</td></tr> - <tr><td>4</td><td> Set current VSR to enabled.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayVSR</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplaydisplayVSRsupport -voidShowDisplayVSRSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//DisplaycurrentdisplayVSRstate -voidGetVirtualSuperResolutionState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetdisplayVSR -voidSetVSRState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("Failedtogetthedisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayVSRSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayVSRPtrdisplayVSR; -ADLX_RESULTres=displayService->GetVirtualSuperResolution(display,&displayVSR); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetVSRSupported==="<<std::endl; -adlx_boolsupported=false; -res=displayVSR->IsSupported(&supported); -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetVirtualSuperResolutionState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -IADLXDisplayVSRPtrdisplayVSR; -ADLX_RESULTres=displayService->GetVirtualSuperResolution(display,&displayVSR); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetVSREnabled==="<<std::endl; -adlx_boolenabled=false; -res=displayVSR->IsEnabled(&enabled); -std::cout<<"\tGetEnabled:"<<(enabled?"true":"false")<<std::endl; -} -} - -voidSetVSRState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayVSRPtrdisplayVSR; -ADLX_RESULTres=displayService->GetVirtualSuperResolution(display,&displayVSR); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetVSRdisabled -case0: -std::cout<<"===SetVSRenabled:false"<<std::endl; -res=displayVSR->SetEnabled(false); -break; -//SetVSRenabled -case1: -std::cout<<"===SetVSRenabled:true"<<std::endl; -res=displayVSR->SetEnabled(true); -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1toDisplayVSRsupport"<<std::endl; - -std::cout<<"\t->Press2togetVSRstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentVSRtodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentVSRtoenabled"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Displayactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaydisplayVSRsupport -case'1': -ShowDisplayVSRSupport(displayService,display); -break; - -//DisplaycurrentdisplayVSRstate -case'2': -GetVirtualSuperResolutionState(displayService,display); -break; - -//SetdisplayVSR -case'3': -case'4': -SetVSRState(displayService,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sam.xml b/vendor/adlx/SDKDoc/xml/cpp_sam.xml deleted file mode 100644 index 9e61987..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sam.xml +++ /dev/null @@ -1,347 +0,0 @@ - - - - cpp_sam - SmartAccessMemory - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD SmartAccess Memory support status on a GPU.</td></tr> - <tr><td>2</td><td> Display AMD SmartAccess Memory enabled status.</td></tr> - <tr><td>3</td><td> Set AMD SmartAccess Memory state.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/GPUTuning/SmartAccessMemory</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/ISmartAccessMemory.h" -#include"SDK/Include/IGPUTuning1.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -staticHANDLESAMEvent=nullptr; - -classGPUTuningChangedListener:publicIADLXGPUTuningChangedListener -{ -public: - -boolADLX_STD_CALLOnGPUTuningChanged(IADLXGPUTuningChangedEvent*pGPUTuningChangedEvent) -{ -IADLXGPUTuningChangedEvent1PtrpGPUTuningChangedEvent1=IADLXGPUTuningChangedEvent1Ptr(pGPUTuningChangedEvent); -adlx_boolSAMChange=pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged(); -if(SAMChange) -{ -adlx_boolenabled=false,completed=false; -pGPUTuningChangedEvent1->GetSmartAccessMemoryStatus(&enabled,&completed); -} - -SetEvent(SAMEvent); -returntrue; -} -}; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//FindthefirstGPUindexthatsupportsAMDSmartAccessMemory.Return-1ifallGPUsarenotsupported -adlx_uintGetGPUIndexSupportSAM(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus); - -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -voidShowSmartAccessMemorySupport(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus); - -//DisplayAMDSmartAccessMemoryenabledstatus -voidShowSmartAccessMemoryState(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus); - -//SetAMDSmartAccessMemorystate -voidSetSmartAccessMemoryState(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); - -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningServicesPtrgpuTuningService; -res=g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); -if(ADLX_SUCCEEDED(res)) -{ -//GetgpuTuningService1viagpuTuningService::QueryInterface() -IADLXGPUTuningServices1PtrgpuTuningService1; -res=gpuTuningService->QueryInterface(gpuTuningService1->IID(),reinterpret_cast<void**>(&gpuTuningService1)); -if(ADLX_SUCCEEDED(res)) -{ -IADLXGPUTuningChangedHandlingPtrgpuTuningHandling; -res=gpuTuningService1->GetGPUTuningChangedHandling(&gpuTuningHandling); -if(ADLX_SUCCEEDED(res)) -{ -//Addlistener -SAMEvent=CreateEvent(NULL,FALSE,FALSE,NULL); -staticGPUTuningChangedListenerlistener; -ADLX_RESULTeventRes=gpuTuningHandling->AddGPUTuningEventListener(&listener); - -//Menu -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); - -//Getandexecutethechoice -MenuControl(gpuTuningService1,gpus); -} -else -std::cout<<"FailedtogetGPUlist"<<std::endl; - -//Removelistener -if(ADLX_SUCCEEDED(eventRes)) -eventRes=gpuTuningHandling->RemoveGPUTuningEventListener(&listener); -} -else -std::cout<<"FailedtogetGPUTuningChangedHandling"<<std::endl; -} -else -std::cout<<"FailedtogetgpuTuningService1"<<std::endl; -} -else -std::cout<<"FailedtogetgpuTuningService"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayAMDSmartAccessMemorysupportedGPUs"<<std::endl; -std::cout<<"\t->Press2todisplayAMDSmartAccessMemoryenabledstatus"<<std::endl; -std::cout<<"\t->Press3tosettheAMDSmartAccessMemorystate"<<std::endl; -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -case'1': -ShowSmartAccessMemorySupport(gpuTuningService1,gpus); -break; - -//DisplayAMDSmartAccessMemoryenabledstatus -case'2': -ShowSmartAccessMemoryState(gpuTuningService1,gpus); -break; - -//SetAMDSmartAccessMemorystate -case'3': -SetSmartAccessMemoryState(gpuTuningService1,gpus); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//FindthefirstGPUindexthatsupportsAMDSmartAccessMemory.Return-1ifallGPUsarenotsupported -adlx_uintGetGPUIndexSupportSAM(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus) -{ -adlx_uintsupportedIndex=-1; -IADLXGPUPtroneGPU; -IADLXSmartAccessMemoryPtrsmartAccessMemory; -for(autoindex=gpus->Begin();index!=gpus->End();++index) -{ -ADLX_RESULTres=gpus->At(index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -//GettheAMDSmartAccessMemoryinterface -res=gpuTuningService1->GetSmartAccessMemory(oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -ADLX_RESULTres=smartAccessMemory->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)&&supported) -{ -supportedIndex=index; -break; -} -} -} -} -returnsupportedIndex; -} - -//DisplayAMDSmartAccessMemorysupportstatusonaGPU -voidShowSmartAccessMemorySupport(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -std::cout<<"AllGPUsdoesn'tsupportAMDSmartAccessMemory"<<std::endl; -else -std::cout<<"The"<<(index+1)<<"thGPUsupportAMDSmartAccessMemory"<<std::endl; -} - -//DisplayAMDSmartAccessMemoryenabledstatus -voidShowSmartAccessMemoryState(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -std::cout<<"AllGPUsdoesn'tsupportAMDSmartAccessMemory"<<std::endl; -else -{ -IADLXGPUPtroneGPU; -ADLX_RESULTres=gpus->At(index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSmartAccessMemoryPtrsmartAccessMemory; -res=gpuTuningService1->GetSmartAccessMemory(oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolenabled=false; -res=smartAccessMemory->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"TheAMDSmartAccessMemoryis"<<(enabled?"enabled":"disabled")<<"onthe"<<(index+1)<<"thGPU"<<std::endl; -else -std::cout<<"CallIsEnabled()failed"<<std::endl; -} -else -std::cout<<"FailedtogetsmartAccessMemory"<<std::endl; -} -else -std::cout<<"FailedtogettheGPU"<<std::endl; -} -} - -//SetAMDSmartAccessMemorystate -voidSetSmartAccessMemoryState(IADLXGPUTuningServices1PtrgpuTuningService1,IADLXGPUListPtrgpus) -{ -autoindex=GetGPUIndexSupportSAM(gpuTuningService1,gpus); -if(index==-1) -std::cout<<"AllGPUsdoesn'tsupportAMDSmartAccessMemory"<<std::endl; -else -{ -IADLXGPUPtroneGPU; -ADLX_RESULTres=gpus->At(index,&oneGPU); -if(ADLX_SUCCEEDED(res)) -{ -IADLXSmartAccessMemoryPtrsmartAccessMemory; -res=gpuTuningService1->GetSmartAccessMemory(oneGPU,&smartAccessMemory); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolenabled=false; -res=smartAccessMemory->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"CurrentlyAMDSmartAccessMemoryis"<<(enabled?"enabled":"disabled")<<"on"<<(index+1)<<"thGPU"<<std::endl; -else -std::cout<<"CallIsEnabled()failed"<<std::endl; -res=smartAccessMemory->SetEnabled(!enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"SetAMDSmartAccessMemoryto"<<(!enabled?"enabled":"disabled")<<"for"<<(index+1)<<"thGPU"<<std::endl; -else -std::cout<<"CallSetEnabled()failed"<<std::endl; - -//FirsteventreceivedquicklybeforeSAMstart -WaitForSingleObject(SAMEvent,2000); - -//Whenreceivethefirstevent,avoidcallinganyotherADLXmethod,andifanyUIapplicationisrunning,wemustcloseittoavoidcrashing -//Close(application)...... - -//SecondeventreceivedafterSAMcompleted,themaximumconsumingtimelessthan20seconds. -WaitForSingleObject(SAMEvent,20000); - -//NowSAMcompleted,wecanrestarttheUIapplication,andcontinuetocallADLXfunction -//Start(application)...... - -res=smartAccessMemory->IsEnabled(&enabled); -if(ADLX_SUCCEEDED(res)) -std::cout<<"Aftersetting,AMDSmartAccessMemoryis"<<(enabled?"enabled":"disabled")<<"on"<<(index+1)<<"thGPU"<<std::endl; -else -std::cout<<"CallIsEnabled()failed"<<std::endl; -} -else -std::cout<<"FailedtogetsmartAccessMemory"<<std::endl; -} -else -std::cout<<"FailedtogettheGPU"<<std::endl; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__async_event_handling.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__async_event_handling.xml deleted file mode 100644 index f149ec1..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__async_event_handling.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - cpp_sample_AsyncEventHandling - AsyncEventHandling - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<thread> - -//UseADLXnamespace -usingnamespaceadlx; - -//HandlegamutChangedEevent -HANDLEgamutChangedEvent=nullptr; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//CallbackdisplayGamutinthread -classDisplayGamutCallBack:publicIADLXDisplayGamutChangedListener -{ -public: -~DisplayGamutCallBack() -{ -if(m_td) -{ -m_td->detach(); -} -} - -adlx_boolADLX_STD_CALLOnDisplayGamutChanged(IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent)override -{ -//Acquiretheinterfacebeforepassingtotheasynchronousthread -pDisplayGamutChangedEvent->Acquire(); -autorun=[](IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent){ - -//Sometime-consumingoperations -Sleep(5000); -std::cout<<"Ontheasynchronousthread:ThreadId:"<<GetCurrentThreadId()<<":Afterthetime-consumingoperations,getthedisplaygamutchangedevent:"<<std::endl; -std::cout<<"\tColorspacechange:"<<pDisplayGamutChangedEvent->IsColorSpaceChanged()<<std::endl -<<"\tWhitepointchange:"<<pDisplayGamutChangedEvent->IsWhitePointChanged()<<std::endl; - -//Releasetheinterfacewhenthetaskiscompleted. -pDisplayGamutChangedEvent->Release(); - -SetEvent(gamutChangedEvent); -}; - -m_td=std::make_shared<std::thread>(run,pDisplayGamutChangedEvent); -returntrue; -} - -private: -std::shared_ptr<std::thread>m_td=nullptr; -}; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createevent -gamutChangedEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaychangehandler -IADLXDisplayChangedHandlingPtrdisplayChangeHandler; -res=displayService->GetDisplayChangedHandling(&displayChangeHandler); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetdisplaychangehandler",0); -} -//Createthecallbacks -IADLXDisplayGamutChangedListener*gamutChangeCallBack=newDisplayGamutCallBack; - -//AddthecallbackstotheADLXeventhandler -ADLX_RESULTaddListenerRes=displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack); - -//Setgamutforthefirstdisplay -IADLXDisplayListPtrdisplays; -displayService->GetDisplays(&displays); -adlx_uintit=0; -IADLXDisplayPtrdisplay; -displays->At(it,&display); -IADLXDisplayGamutPtrdispGamut; -res=displayService->GetGamut(display,&dispGamut); -res=dispGamut->SetGamut(WHITE_POINT_5000K,GAMUT_SPACE_CIE_RGB); -std::cout<<"Setgamutret:"<<res<<std::endl; -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"Thiswilltriggergamutchangeandsendgamutchangeinthread:"<<GetCurrentThreadId()<<std::endl; -} - -if(ADLX_SUCCEEDED(addListenerRes)) -{ -//Waitforgamutchange -WaitForSingleObject(gamutChangedEvent,INFINITE); - -//Removeanddestroycallbacks -res=displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack); -if(ADLX_FAILED(res)) -std::cout<<"Removedisplaygamuteventlistenerfailed"<<std::endl; -} - -deletegamutChangeCallBack; -gamutChangeCallBack=nullptr; -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplayServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Closeevent -if(gamutChangedEvent) -CloseHandle(gamutChangedEvent); - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__g_p_u_service_call.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__g_p_u_service_call.xml deleted file mode 100644 index 0b62259..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__g_p_u_service_call.xml +++ /dev/null @@ -1,521 +0,0 @@ - - - - cpp_sample_GPUServiceCall - GPUServiceCall - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <h1 id="background">Background</h1> - <p>User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.</p> - <p>This documentation demonstrates how to call ADLX functionalities in windows service call.</p> - <p>We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.</p> - <h1 id="usage">Usage</h1> - <p>This executable is run as service (if you run it as a normal application it will abort with errors)</p> - <h2 id="install-this-service">Install this service</h2> - <ol type="1"> - <li><p>Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:</p> - </li> - </ol> - <blockquote> - <p>“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/CPP/build/bin/Debug/”</p> - </blockquote> - <ol start="2" type="1"> - <li><p>Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:</p></li> - </ol> - <blockquote> - <p><img src="media/image1.png" style="width:5.76806in;height:3.15in" alt="Text Description automatically generated" /></p> - </blockquote> - <ol start="3" type="1"> - <li><p>Check if the service is installed:</p></li> - </ol> - <blockquote> - <p>Open windows’ service settings by win+R with services.msc:</p> - <p><img src="media/image2.png" style="width:3.07557in;height:1.78705in" alt="Graphical user interface, text, application Description automatically generated" /></p> - <p>Check service with name “ADLX GPU Service”</p> - <p><img src="media/image3.png" style="width:5.15972in;height:3.05105in" /></p> - </blockquote> - <h2 id="uninstall-adlx-gpu-service">Uninstall “ADLX GPU Service”</h2> - <p>Open windows command line utility with administrator permission, enter “GPUService.exe -remove”</p> - <p><img src="media/image4.png" style="width:5.76389in;height:0.65278in" /></p> - <p>The service is removed in OS.</p> - <h2 id="debug-this-service">Debug this service</h2> - <ol type="1"> - <li><p>Start the service:</p></li> - </ol> - <p><img src="media/image5.png" style="width:5.76806in;height:2.38264in" alt="Graphical user interface, application Description automatically generated" /></p> - <ol start="2" type="1"> - <li><p>Run the debugging executable (compiled with debug configuration)</p></li> - </ol> - <p>Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.</p> - <ol start="3" type="1"> - <li><p>Set Dbgview.exe (admin mode) with below options:</p></li> - </ol> - <p><img src="media/image6.png" style="width:5.76806in;height:2.96111in" alt="Graphical user interface, text, application, email Description automatically generated" /></p> - <ol start="4" type="1"> - <li><p>Check the service outputs (with “ADLX Call Service:”prefix):</p></li> - </ol> - <p><img src="media/image7.png" style="width:5.76597in;height:1.89583in" /></p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#pragmawarning(suppress:6248) - -#include<Windows.h> -#include<TlHelp32.h> -#include<tchar.h> -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/ISystem.h" -#include"GlobalDefs.h" -#include<string> -#include<iostream> - -voidXTrace(wchar_t*lpszFormat,...) -{ -va_listargs; -va_start(args,lpszFormat); -intnBuf; -WCHARszBuffer[MAX_DEBUG_STR_LEN]; -nBuf=_vsnwprintf_s(szBuffer,MAX_DEBUG_STR_LEN,_TRUNCATE,lpszFormat,args); -::OutputDebugStringW(szBuffer); -va_end(args); -} - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//Soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Servicename -#defineADLX_SERVICE_NAMEL"ADLXGPUService" - -//Globalvariablesforserviceroutine -SERVICE_STATUS_HANDLEg_StatusHandle=NULL; -SERVICE_STATUSg_ServiceStatus={0}; -HANDLEg_ServiceStopEvent=INVALID_HANDLE_VALUE; - -//Serviceroutine -VOIDWINAPIServiceMain(DWORDargc,LPTSTR*argv); -VOIDWINAPIServiceCtrlHandler(DWORD); -DWORDWINAPIServiceWorkerThread(LPVOIDlpParam); - -//Install/unistallthisservice -//N.B:Needadminpermission -//Usercanalsoinstall/unistallthisservicebywindowscommandline -//Usage:SCCREATE"ADLXGPUService""GPUService.exe" -//SCDELETE"ADLXGPUService" -voidInstallService(); -voidRemoveService(); - -//InvokerGPUinformationwithADLXinuserprocessbysharememorycommunication -externBOOLGetUserProcessData(Messager*messager,ResponseData*responseData); - -//Convertstringtowstring -voidStrToWstr(std::string&sStr,std::wstring&wStr) -{ -wchar_t*buf=newwchar_t[sStr.size()+1]; -size_tnum_chars; -mbstowcs_s(&num_chars,buf,sStr.size()+1,sStr.c_str(),sStr.size()+1); -wStr=buf; -delete[]buf; -} - -//ADLXexecutortoberuninuserprocess -//RetrievethefirstavailableGPUvenderidandname -BOOLGetAdlxGpuInfo(WCHAR*resultBuffer) -{ -if(resultBuffer==NULL) -{ -XTrace(L"ADLXCallService:GetAdlxGpuInfo:invalidargument"); -returnFALSE; -} - -if(ADLX_FAILED(g_ADLXHelp.Initialize())) -{ -XTrace(L"ADLXCallService:GetAdlxGpuInfo:ADLXhelperinitalizefailed."); -returnFALSE; -} - -IADLXGPUListPtrgpus; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(!gpus->Empty()&&ADLX_SUCCEEDED(res)) -{ -IADLXGPUPtrgpuInfo; -adlx_uintindex=0; -res=gpus->At(index,&gpuInfo); - -if(ADLX_SUCCEEDED(res)) -{ -constchar*vendorId=nullptr; -res=gpuInfo->VendorId(&vendorId); -if(ADLX_SUCCEEDED(res)) -{ -swprintf_s(resultBuffer,MAX_RESULT_LEN,L"VenderId=%hs",vendorId); -} - -constchar*gpuName=nullptr; -res=gpuInfo->Name(&gpuName); -if(ADLX_SUCCEEDED(res)) -{ -swprintf_s(resultBuffer+wcslen(resultBuffer),MAX_RESULT_LEN-wcslen(resultBuffer),L"GpuName=%hs",gpuName); -} - -returnTRUE; -} -} - -returnFALSE; -} - -//GetanddumpGPUvenderidandname -voidShowGPUInfo() -{ -ResponseDataresult; -MessageroneMessager; -oneMessager.adlxEntityName=ADLX_FUNCTION_NAME; -oneMessager.exector=GetAdlxGpuInfo; - -if(GetUserProcessData(&oneMessager,&result)) -{ -//Dumpresults -XTrace(L"ADLXCallService:ShowGPUInfo:%s",result.executedResults); -} -} - -//Usage -voidUsage() -{ -std::cout<<std::endl; -std::cout<<"\tThisexeisaserviceexecutable,youcaninstall/unistallitwith:"<<std::endl; -std::cout<<"\tSCCREATE'ADLXGPUService''GPUService.exe'"<<std::endl; -std::cout<<"\tSCDELETE'ADLXGPUService'"<<std::endl; -std::cout<<std::endl; -std::cout<<"\tOrusetheexecutableitselftoinstall/uninstall:"<<std::endl; -std::cout<<"\tGPUService.exe-installorGPUService.exe/install"<<std::endl; -std::cout<<"\tGPUService.exe-removeorGPUService.exe/remove"<<std::endl; -std::cout<<std::endl; -std::cout<<"\tUseGPUService.exe-help,GPUService.exe/helptoshowthisusage,orGPUService.exe?"<<std::endl; -std::cout<<std::endl; -} - -intwmain(intargc,wchar_t*argv[]) -{ -XTrace(L"ADLXCallService:Main:Entry"); -XTrace(L"ADLXCallService:Main:Args:%s",GetCommandLineW()); - -if((argc>1)) -{ -if(((*argv[1]=='-')||(*argv[1]=='/'))) -{ -if(_wcsicmp(L"install",argv[1]+1)==0) -{ -InstallService(); -return0; -} -elseif(_wcsicmp(L"remove",argv[1]+1)==0) -{ -RemoveService(); -return0; -} -elseif(_wcsicmp(L"help",argv[1]+1)==0) -{ -Usage(); -return0; -} -} -elseif(_wcsicmp(L"?",argv[1])==0) -{ -Usage(); -return0; -} -} -elseif(_wcsicmp(L"GPUInfo",GetCommandLineW())==0) -{ -WCHAReventPath[MAX_PATH]={0}; -WCHARshmPath[MAX_PATH]={0}; - -swprintf_s(eventPath,ADXL_EVENT_NAME,ADLX_FUNCTION_NAME); -swprintf_s(shmPath,ADXL_SHAREMENORY_NAME,ADLX_FUNCTION_NAME); - -XTrace(L"ADLXCallService:Main:GPUInfoevt:%s,shmpath:%s\n",eventPath,shmPath); - -ShareMemshmf; -if(shmf.Create(SHARE_MEMORY_MAX_SIZE,shmPath)) -{ -Messagermessager; -if(shmf.ReadBuffer((PVOID)&messager,sizeof(Messager))) -{ -ResponseDataresult; -if(messager.exector(result.executedResults)) -{ -result.size=(int)wcslen(result.executedResults); -shmf.WriteBuffer((PVOID*)&result,(ULONG)sizeof(result)); - -HANDLEhEvent=OpenEventW(EVENT_ALL_ACCESS,FALSE,eventPath); -if(hEvent) -{ -SetEvent(hEvent); -CloseHandle(hEvent); -XTrace(L"ADLXCallService:Main:GPUInfo,userappfinished."); -} -} -} -} - -return0; -} - -SERVICE_TABLE_ENTRYWServiceTable[]= -{ -{ADLX_SERVICE_NAME,(LPSERVICE_MAIN_FUNCTIONW)ServiceMain}, -{NULL,NULL} -}; - -if(StartServiceCtrlDispatcherW(ServiceTable)==FALSE) -{ -XTrace(L"ADLXCallService:Main:StartServiceCtrlDispatcherreturnederror."); -returnGetLastError(); -} - -XTrace(L"ADLXCallService:Main:Exit"); -return0; -} - -VOIDWINAPIServiceMain(DWORDargc,LPTSTR*argv) -{ -DWORDStatus=E_FAIL; - -XTrace(L"ADLXCallService:ServiceMain:Entry"); - -g_StatusHandle=RegisterServiceCtrlHandlerW(ADLX_SERVICE_NAME,ServiceCtrlHandler); -if(g_StatusHandle==NULL) -{ -XTrace(L"ADLXCallService:ServiceMain:RegisterServiceCtrlHandlerreturnederror"); -gotoEXIT; -} - -//Telltheservicecontrollerwearestarting -ZeroMemory(&g_ServiceStatus,sizeof(g_ServiceStatus)); -g_ServiceStatus.dwServiceType=SERVICE_WIN32_OWN_PROCESS; -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_START_PENDING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwServiceSpecificExitCode=0; -g_ServiceStatus.dwCheckPoint=0; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -/* -*Performtasksneccesarytostarttheservicehere -*/ -XTrace(L"ADLXCallService:ServiceMain:PerformingServiceStartOperations"); - -//Createstopeventtowaitonlater. -g_ServiceStopEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -if(g_ServiceStopEvent==NULL) -{ -XTrace(L"ADLXCallService:ServiceMain:CreateEvent(g_ServiceStopEvent)returnederror"); - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOPPED; -g_ServiceStatus.dwWin32ExitCode=GetLastError(); -g_ServiceStatus.dwCheckPoint=1; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} -gotoEXIT; -} - -//Telltheservicecontrollerwearestarted -g_ServiceStatus.dwControlsAccepted=SERVICE_ACCEPT_STOP; -g_ServiceStatus.dwCurrentState=SERVICE_RUNNING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=0; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -//Startthethreadthatwillperformthemaintaskoftheservice -HANDLEhThread=CreateThread(NULL,0,ServiceWorkerThread,NULL,0,NULL); - -XTrace(L"ADLXCallService:ServiceMain:WaitingforWorkerThreadtocomplete"); - -//Waituntilourworkerthreadexitseffectivelysignalingthattheserviceneedstostop -WaitForSingleObject(hThread,INFINITE); - -XTrace(L"ADLXCallService:ServiceMain:WorkerThreadStopEventsignaled"); - -/* -*Performanycleanuptasks -*/ -XTrace(L"ADLXCallService:ServiceMain:PerformingCleanupOperations"); - -CloseHandle(g_ServiceStopEvent); - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOPPED; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=3; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceMain:SetServiceStatusreturnederror"); -} - -EXIT: -XTrace(L"ADLXCallService:ServiceMain:Exit"); - -return; -} - -VOIDWINAPIServiceCtrlHandler(DWORDCtrlCode) -{ -XTrace(L"ADLXCallService:ServiceCtrlHandler:Entry"); - -switch(CtrlCode) -{ -caseSERVICE_CONTROL_STOP: - -XTrace(L"ADLXCallService:ServiceCtrlHandler:SERVICE_CONTROL_STOPRequest"); - -if(g_ServiceStatus.dwCurrentState!=SERVICE_RUNNING) -break; - -/* -*Performtasksneccesarytostoptheservicehere -*/ - -g_ServiceStatus.dwControlsAccepted=0; -g_ServiceStatus.dwCurrentState=SERVICE_STOP_PENDING; -g_ServiceStatus.dwWin32ExitCode=0; -g_ServiceStatus.dwCheckPoint=4; - -if(SetServiceStatus(g_StatusHandle,&g_ServiceStatus)==FALSE) -{ -XTrace(L"ADLXCallService:ServiceCtrlHandler:SetServiceStatusreturnederror"); -} - -//Thiswillsignaltheworkerthreadtoshutdown -SetEvent(g_ServiceStopEvent); -break; - -default: -break; -} - -XTrace(L"ADLXCallService:ServiceCtrlHandler:Exit"); -} - -DWORDWINAPIServiceWorkerThread(LPVOIDlpParam) -{ -XTrace(L"ADLXCallService:ServiceWorkerThread:Entry"); - -//Periodicallycheckiftheservicehasbeenrequestedtostop -while(WaitForSingleObject(g_ServiceStopEvent,0)!=WAIT_OBJECT_0) -{ -ShowGPUInfo(); -Sleep(3*1000); -} - -XTrace(L"ADLXCallService:ServiceWorkerThread:Exit"); - -returnERROR_SUCCESS; -} - -voidInstallService() -{ -WCHARpath[512]={0}; -if(GetModuleFileNameW(NULL,path,512)==0) -{ -XTrace(L"ADLXCallService:InstallService:Cannotgetfilepath."); -return; -} - -SC_HANDLEserviceManager=OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT|SC_MANAGER_CREATE_SERVICE); -if(serviceManager) -{ -SC_HANDLEserviceHandle=CreateServiceW( -serviceManager,ADLX_SERVICE_NAME,ADLX_SERVICE_NAME,SERVICE_QUERY_STATUS, -SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS, -SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,path, -NULL,NULL,L"",NULL,NULL); - -if(serviceHandle) -{ -CloseServiceHandle(serviceHandle); -} -else -{ -XTrace(L"ADLXCallService:InstallService:Cannotcreateservice."); -} - -CloseServiceHandle(serviceManager); -} -else -{ -XTrace(L"ADLXCallService:InstallService:Cannotopenservice."); -} -} - -voidRemoveService() -{ -SC_HANDLEserviceManager=OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT); -if(!serviceManager) -{ -XTrace(L"ADLXCallService:RemoveService:Cannotopenservicemanager."); -return; -} - -SC_HANDLEserviceHandle=OpenServiceW(serviceManager,ADLX_SERVICE_NAME,DELETE|SERVICE_STOP); -if(!serviceHandle) -{ -CloseServiceHandle(serviceManager); -XTrace(L"ADLXCallService:RemoveService:Cannotopenservice."); -return; -} - -if(!DeleteService(serviceHandle)) -{ -CloseServiceHandle(serviceHandle); -CloseServiceHandle(serviceManager); -XTrace(L"ADLXCallService:RemoveService:Deleteservicefailed."); -return; -} - -XTrace(L"ADLXCallService:RemoveService:Deletedservice."); - -SERVICE_STATUSserviceStatus={0}; -ControlService(serviceHandle,SERVICE_CONTROL_STOP,(LPSERVICE_STATUS)&serviceStatus); - -CloseServiceHandle(serviceHandle); -CloseServiceHandle(serviceManager); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__invalid_object.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__invalid_object.xml deleted file mode 100644 index a600136..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__invalid_object.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - cpp_sample_InvalidObject - InvalidObject - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p>Demonstrates how to handle invalid objects when programming with ADLX. </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Generic/InvalidObject</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getthedisplaylistanditeratethroughthelist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_FAILED(res)) -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplaylist",0); -} -adlx_uintit=displayList->Begin(); -IADLXDisplayPtrdisplay; -for(;it!=displayList->End();it++) -{ -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -break; -} -} - -//Getthedisplaynameandprompttounplugthedisplay -constchar*dispName; -res=display->Name(&dispName); -std::cout<<"Within15seconds,unplugthedisplay"<<dispName<<std::endl; - -//Blockfor15s -Sleep(15*1000); - -//After15seconds,readingthedisplaynameagain.Ifthedisplaywasunplugged,themethodwillfailandreturnADLX_INVALID_OBJECT. -//Getdisplaynameagain. -res=display->Name(&dispName); -std::cout<<"Getdisplaynamereturncodeis:"<<res<<"("<<ADLX_INVALID_OBJECT<<"meansthatthemethodwascalledintoaninvalidobject)"<<std::endl; -if(ADLX_INVALID_OBJECT==res) -{ -//Todo:Handletheinvaliddisplay -std::cout<<"Thedisplayisinvalid."<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplayServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); -return0; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__primary_adapter.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__primary_adapter.xml deleted file mode 100644 index 9838298..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__primary_adapter.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - cpp_sample_PrimaryAdapter - PrimaryAdapter - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to get the primary adapter when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display the Primary Adapter.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Desktop/PrimaryAdapter</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(); - -//Displaytheprimaryadapter -voidShowPrimaryAdapter(); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplaythePrimaryAdapter"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl() -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplaythePrimaryAdapter -case'1': -ShowPrimaryAdapter(); -break; - -//Displaytheoptionsagain -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Displayhowtogetprimaryadapter -voidShowPrimaryAdapter() -{ -IADLXDesktopServicesPtrdesktopSrv; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopServicesinterface"<<std::endl; -return; -} -IADLXDesktopListPtrdesktops; -res=desktopSrv->GetDesktops(&desktops); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopListinterface"<<std::endl; -return; -} -for(adlx_uintcrt=desktops->Begin();crt!=desktops->End();++crt) -{ -IADLXDesktopPtrdesktop; -res=desktops->At(crt,&desktop); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopinterface"<<std::endl; -break; -} -ADLX_Pointpoint={0}; -res=desktop->TopLeft(&point); -if(ADLX_SUCCEEDED(res)&&0==point.x&&0==point.y) -{ -IADLXDisplayListPtrdisplays; -res=desktop->GetDisplays(&displays); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDisplayListinterface"<<std::endl; -return; -} -IADLXDisplayPtrdisplay; -res=displays->At(0,&display); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogetthefirstdisplay"<<std::endl; -return; -} -IADLXGPUPtrgpu; -res=display->GetGPU(&gpu); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheGPU"<<std::endl; -return; -} -constchar*gpuName; -gpu->Name(&gpuName); -std::cout<<"\tPrimaryAdapter:"<<gpuName<<std::endl; -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__share_memory.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__share_memory.xml deleted file mode 100644 index 1ba13f3..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__share_memory.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - cpp_sample_ShareMemory - ShareMemory - - - -Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include<Windows.h> -#include"GlobalDefs.h" - -//Constructor -ShareMem::ShareMem() -:file_(NULL),buffer_(NULL),size_(0) -{ -} - -//Destructor -ShareMem::~ShareMem() -{ -if(file_) -{ -CloseHandle(file_); -file_=NULL; -} - -if(buffer_) -{ -UnmapViewOfFile(buffer_); -buffer_=NULL; -} -} - -//Createsharedmemory -boolShareMem::Create(ULONGfilesize,PCWCHARfilename) -{ -DWORDerrCode=0; - -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; -size_=filesize; - -//Aftersettingthispermission,thegeneralapplicationdoesnothaveadministratorprivileges -//InordertostarttoopenmappingfileOtherwiseAccessDenny -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -//Createamappedfile -file_=CreateFileMappingW(INVALID_HANDLE_VALUE,&sa,PAGE_READWRITE,0,filesize,filename); -if(file_==NULL) -{ -XTrace(L"ADLXCallService:ShareMem::Create:CreateFileMappingW,error:%d\n",GetLastError()); -returnfalse; -} - -//Intheexternalfunctioncanbedirectlymanipulatethevariablestogetthememory-mappedfile. -if(buffer_) -{ -UnmapViewOfFile(buffer_); -buffer_=NULL; -} - -buffer_=MapViewOfFile(file_,FILE_MAP_ALL_ACCESS,0,0,filesize); -if(buffer_==NULL) -{ -XTrace(L"ADLXCallService:ShareMem::Create:MapViewOfFile,error:%d\n",GetLastError()); -returnfalse; -} - -XTrace(L"ADLXCallService:ShareMem::Create:OK\n"); - -returntrue; -} - -//Writedatatosharedmemory -boolShareMem::WriteBuffer(PVOIDbuffer,ULONGsize) -{ -if(buffer&&size>0) -{ -memcpy_s(buffer_,size,buffer,size); -returntrue; -} - -returnfalse; -} - -//Readdatafromsharedmemory -boolShareMem::ReadBuffer(PVOIDbuffer,ULONGsize) -{ -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; -boolret=false; -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -if(file_) -{ -if(buffer_) -{ -memcpy_s(buffer,size,buffer_,size); -ret=true; -} -} - -returnret; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample__work_with_a_d_l.xml b/vendor/adlx/SDKDoc/xml/cpp_sample__work_with_a_d_l.xml deleted file mode 100644 index 38cfbfe..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample__work_with_a_d_l.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - cpp_sample_WorkWithADL - WorkWithADL - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> - Demonstartes how to work with ADLX along ADL when programming with ADLX. - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Generic/WorkWithADL</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include<iostream> - -//ADLdllname -#ifndef_WIN64 -#defineADL_DLL_NameL"atiadlxy.dll" -#else//WIN32 -#defineADL_DLL_NameL"atiadlxx.dll" -#endif - -typedefvoid*(__stdcall*ADL_MALLOC_CALL)(int); -typedefint(*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL,intiEnumConnectedAdapter,void**context,int); -typedefint(*ADL_MAIN_CONTROL_DESTROY)(void*); - -//CallbackADLformemoryallocation -//iSize_-Numberofbytestobeallocated -staticvoid*__stdcallADL_Client_Main_Memory_Alloc(intiSize_) -{ -void*lpBuffer=malloc(iSize_); -returnlpBuffer; -} - -//CallbackADLformemoryrelease -//lpBuffer_-ThememorybuffertodealocateandtomakeNULL. -staticvoid__stdcallADL_Main_Memory_Free_Client(void**lpBuffer_) -{ -if(nullptr!=lpBuffer_&&nullptr!=*lpBuffer_) -{ -free(*lpBuffer_); -*lpBuffer_=nullptr; -} -} - -//UseADLXnamespace -usingnamespaceadlx; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//CreateADLXHelperinstance -ADLXHelperADLXHelp; - -//DefineADLcontextandADLdllhandl -void*adlContext=nullptr; -HINSTANCEadlDll=nullptr; - -//InitializeADL -adlDll=LoadLibraryW(ADL_DLL_Name); -if(nullptr==adlDll) -returnWaitAndExit("ADLinitializationfailed",0); -ADL_MAIN_CONTROL_CREATEadlCreate=(ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll,"ADL2_Main_ControlX2_Create"); -if(adlCreate) -adlCreate(ADL_Client_Main_Memory_Alloc,1,&adlContext,1); -std::cout<<"ADLinitializedsuccessfully"<<std::endl; - -//InitializeADLX -res=ADLXHelp.InitializeWithCallerAdl(adlContext,ADL_Main_Memory_Free_Client); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"ADLXinitializedsuccessfully"<<std::endl; -} -else -{ -std::cout<<"ADLXinitializationfailed"<<std::endl; -} - -constchar*adlxVersion=ADLXHelp.QueryVersion(); -std::cout<<"ADLXversion:"<<adlxVersion<<std::endl; -adlx_uint64adlxfullVersion=ADLXHelp.QueryFullVersion(); -std::cout<<"ADLXfullversion:"<<adlxfullVersion<<std::endl; - -//DemonstratesmappingbetweenADLandADLXdata -IADLXSystem*systemService=ADLXHelp.GetSystemServices(); -IADLMapping*adlMapping=ADLXHelp.GetAdlMapping(); - -if(systemService&&adlMapping) -{ -adlx_uinttotalRAM=0; -systemService->TotalSystemRAM(&totalRAM); -std::cout<<"TotalSystemRAM:"<<totalRAM<<"MB"<<std::endl; - -//MapADLXtoADL -IADLXGPUListPtrgpus; -systemService->GetGPUs(&gpus); -IADLXGPUPtrgpu; -adlx_uintit=0; -gpus->At(it,&gpu); -constchar*name=nullptr; -gpu->Name(&name); -adlx_intadapterIndex; -adlMapping->AdlAdapterIndexFromADLXGPU(gpu,&adapterIndex); -std::cout<<"ADLgetadapterIndexfromADLXGPUnamed:"<<name<<",adapterIndexis:"<<adapterIndex<<std::endl; - -//MapADLtoADLX,togetadapterIndexviaADL -IADLXGPUPtrgpuInfo; -adlMapping->GetADLXGPUFromAdlAdapterIndex(adapterIndex,&gpuInfo); -gpuInfo->Name(&name); -std::cout<<"ADLXgetADLXGPUfromadapterIndex:"<<adapterIndex<<",thegpunameis:"<<name<<std::endl; - -adlx_intbus=0; -adlx_intdevice=0; -adlx_intfunction=0; -res=adlMapping->BdfFromADLXGPU(gpu,&bus,&device,&function); -std::cout<<"GetBDFfromADLXGPUbus:"<<bus<<",device:"<<device<<",function:"<<function<<std::endl; -} - -//DestroyADLX -res=ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//DestroyADL -ADL_MAIN_CONTROL_DESTROYadlDestroy=(ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll,"ADL2_Main_Control_Destroy"); -if(nullptr!=adlDestroy) -adlDestroy(adlContext); -FreeLibrary(adlDll); -adlDll=nullptr; -adlContext=nullptr; -std::cout<<"DestroyADL"<<std::endl; - -//Pausetoseetheprintout -system("pause"); -return0; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_desktopevent.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_desktopevent.xml deleted file mode 100644 index bfec41f..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_desktopevent.xml +++ /dev/null @@ -1,209 +0,0 @@ - - - - cpp_sample_desktopevent - DesktopsEvent - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> This document describes how to obtain the desktops changed handle and add/remove call back for changed events through ADLX and perform related tests.</br> - To receive the event, another application must be used to change these settings, such as the <a class="el" href="cpp_sample_eyefinity.html">Eyefinity.</a> - </p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Desktop/DesktopsEvent</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" -#include"conio.h" -#include<iostream> -#include<string> -#include<thread> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//soweuseglobalvariablestoensurethevalidoftheinterface. -staticADLXHelperg_ADLXHelp; - -//eventtoverifycallback -HANDLEhDesktopChangedEvent=nullptr; -HANDLEhQuitSignal=nullptr; - -//Callbacktohandlechangedevents -classCallBackDesktopListChanged:publicIADLXDesktopListChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDesktopListChanged(IADLXDesktopList*pDesktopList)override -{ -std::cout<<"desktoplisthasbeenchanged\n"; -adlx_boolslsActive=false; -IADLXDesktopPtrdesktop=nullptr; -for(adlx_uintcrt=pDesktopList->Begin();crt!=pDesktopList->End();crt++) -{ -ADLX_RESULTres=pDesktopList->At(crt,&desktop); -if(ADLX_SUCCEEDED(res)&&nullptr!=desktop) -{ -ADLX_DESKTOP_TYPEdesktopType; -desktop->Type(&desktopType); -if(desktopType==DESKTOP_EYEFINITY) -{ -std::cout<<"EyefinityCreationEventisreceived"<<std::endl; -slsActive=true; -break; -} -} -} - -if(false==slsActive) -{ -std::cout<<"EyefinityDestructionEventisreceived"<<std::endl; -} -SetEvent(hDesktopChangedEvent); -//ReturnstruewillmakeADLXcontinuetonotifynextlistenerorfalsetostoptonotify -returntrue; -} -}; - -//threadtodetectuser'sinputforquit -voidQuitWait(adlx_bool*loopFlag); - -intmain() -{ -//TheADL_4KWORKAROUND_CANCELenvironmentvariableisamustforEyefinity -LPCSTREnvironmentVariable="ADL_4KWORKAROUND_CANCEL"; -SetEnvironmentVariableA(EnvironmentVariable,"TRUE"); - -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Createdesktopchangedevent -hDesktopChangedEvent=CreateEvent(NULL,TRUE,FALSE,NULL); -hQuitSignal=CreateEvent(NULL,TRUE,FALSE,NULL); -HANDLEhSignalArray[2]={hDesktopChangedEvent,hQuitSignal}; - -//Getdesktopservices -IADLXDesktopServicesPtrdesktopServices; -res=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopServices); -if(desktopServices!=nullptr&&ADLX_SUCCEEDED(res)) -{ -adlx_uintnumDesktop; -res=desktopServices->GetNumberOfDesktops(&numDesktop); -std::cout<<"Thenumberofdesktopis:"<<numDesktop<<std::endl; - -IADLXSimpleEyefinityPtreyefinity; -res=desktopServices->GetSimpleEyefinity(&eyefinity); -if(eyefinity!=nullptr&&ADLX_SUCCEEDED(res)) -{ -//Verifyifsupporteyefinity -adlx_boolsupported=false; -eyefinity->IsSupported(&supported); -if(supported) -{ -IADLXDesktopChangedHandlingPtreventHandling; -desktopServices->GetDesktopChangedHandling(&eventHandling); -IADLXDesktopListChangedListener*eventListener=newCallBackDesktopListChanged; -eventHandling->AddDesktopListEventListener(eventListener); - -std::cout<<"Waitingfordesktopevent...PressQ/qtoquit"<<std::endl; -//createathreadtodetectuser'sinputforquit -adlx_boolloopFlag=true; -std::threadrecvUserInput{QuitWait,&loopFlag}; -recvUserInput.detach(); - -IADLXEyefinityDesktopPtreyefinityDesktop; -res=eyefinity->Create(&eyefinityDesktop); -while(true) -{ -//Waitingforreceivingdesktopeventoruserexitevent -WaitForMultipleObjects(2,hSignalArray,FALSE,INFINITE); -if(!loopFlag) -break; -ResetEvent(hDesktopChangedEvent); -} -res=eyefinity->DestroyAll(); - -eventHandling->RemoveDesktopListEventListener(eventListener); -deleteeventListener; -eventListener=nullptr; -} -else -{ -std::cout<<"Donotsupporteyefinity"<<std::endl; -} -} -else -{ -std::cout<<"Getsimpleeyefinityfailed"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogetthedesktopServices"<<std::endl; -} -} -else -{ -std::cout<<"ADLXinitializefailed"<<std::endl; -return0; -} -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Closeevent -if(hDesktopChangedEvent) -CloseHandle(hDesktopChangedEvent); -if(hQuitSignal) -CloseHandle(hQuitSignal); - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - -voidQuitWait(adlx_bool*loopFlag) -{ -while(true) -{ -//Non-blockI/O,checkI/Ocachewhetherhavecharacters. -if(_kbhit()) -{ -charc; -if((c=getchar())=='q'||c=='Q') -{ -*loopFlag=false; -SetEvent(hQuitSignal); -} -} -Sleep(100); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_display3_d_l_u_t.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_display3_d_l_u_t.xml deleted file mode 100644 index e3cc990..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_display3_d_l_u_t.xml +++ /dev/null @@ -1,616 +0,0 @@ - - - - cpp_sample_display3DLUT - Display3DLUT - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related tests. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display 3DLUT support.</td></tr> - <tr><td>2</td><td> Get 3DLUT state.</td></tr> - <tr><td>3</td><td> Set current SCE to disabled.</td></tr> - <tr><td>4</td><td> Set current SCE feature to Vivid Gaming profile.</td></tr> - <tr><td>5</td><td> Set current SCE feature to Dynamic Contrast profile.</td></tr> - <tr><td>6</td><td> Display user 3DLUT support.</td></tr> - <tr><td>7</td><td> Clear user 3DLUT.</td></tr> - <tr><td>8</td><td> Demonstrates SDR user 3DLUT.</td></tr> - <tr><td>9</td><td> Demonstrates HDR user 3DLUT.</td></tr> - <tr><td>a</td><td> Demonstrates all user 3DLUT.</td></tr> - <tr><td>b</td><td> Get user 3DLUT index.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/Display3DLUT</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplay3DLUT.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Constantvalueusedtosetsizeofuser3DLUTdata -constexprautoDEFAULT_NUM_OF_POINTS=MAX_USER_3DLUT_NUM_POINTS; - -//Showdisplay3DLUTsupport -voidShowDisplay3DLUTSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//Getandshowcurrentdisplay3DLUTstate -voidGet3DLUTState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//Setdisplay3DLUT -voidSet3DLUTState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); -//Getuser3DLUTsupport -voidIsSupportedUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//Clearuser3DLUT -voidClearUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//GetorSetSDRuser3DLUT -voidDemoSDRUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//GetorSetHDRuser3DLUT -voidDemoHDRUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//GetorSetalluser3DLUT -voidDemoAllUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); -//Get3DLUTindex -voidGetUser3DLUTIndex(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Helperfunctions - -//Algorigthmtogenerateavaluewhichrangesfrom0to0xFFFF -inlinedoubleInputvalue(intindex,intbitDepth,intnumOfPoints) -{ -returnfmin(static_cast<float>(index*pow(2,bitDepth)/static_cast<float>(numOfPoints-1)),pow(2,bitDepth)-1); -} - -//The3DLUTarethreeaxesofa3-dimensionalcube -//Generate3DLutdatabitwise:17*17*17triplets/latticeofRGBvalues. -//EachtripletcontainsthecomponentofRGBvalues(16-bitdepth)from0to0xFFFF. -adlx_boolGenerateUser3DLUT_BW(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,adlx_intnumOfPoints,ADLX_3DLUT_Data*user3DLUT) -{ -adlx_boolret=true; - -constintbitDepth=16; - -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_UINT16_RGBrgbCoordinate={0,0,0}; -adlx_intindex=0; - -for(intr=0;r<numOfPoints;r++) -{ -for(intg=0;g<numOfPoints;g++) -{ -for(intb=0;b<numOfPoints;b++) -{ -rgbCoordinate.red=r; -rgbCoordinate.green=g; -rgbCoordinate.blue=b; - -//Recalculate3DLUTbasedonthe"Inputvalue"whichrangesfrom0to0xFFFF.Therecalculatedvaluefallsinthesamerangeof0to0xFFFFtobemore"random". -doubletemp=0.25*Inputvalue(r,bitDepth,numOfPoints)+0.625*Inputvalue(g,bitDepth,numOfPoints)+0.125*Inputvalue(b,bitDepth,numOfPoints); - -//Gettheindexinthe3DLUTbuffercorrespondingtotheRGBtriplet. -res=display3DLUT->GetUser3DLUTIndex(numOfPoints,&rgbCoordinate,&index); - -if(ADLX_SUCCEEDED(res)) -{ -adlx_uint16tValue=static_cast<adlx_uint16>(temp); -user3DLUT->data[index].red=tValue; -user3DLUT->data[index].green=tValue; -user3DLUT->data[index].blue=tValue; -} -else -{ -ret=false; -gotoEXIT; -} -} -} -} -} - -EXIT: -returnret; -} - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"FailedtogetDisplaylist"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogetDisplayServices"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Displaydisplay3DLUTsupport -voidShowDisplay3DLUTSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===3DLUTsupportedstatus==="<<std::endl; -adlx_boolsupported; -ADLX_RESULTres=display3DLUT->IsSupportedSCE(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedSCE:"<<supported<<std::endl; -res=display3DLUT->IsSupportedSCEVividGaming(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedSCE_VividGaming:"<<supported<<std::endl; -res=display3DLUT->IsSupportedSCEDynamicContrast(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedSCEDynamicContrast:"<<supported<<std::endl; -res=display3DLUT->IsSupportedUser3DLUT(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedUser3DLUT:"<<supported<<std::endl; -} -} - -//Getanddisplaycurrentdisplay3DLUTstate -voidGet3DLUTState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Get3DLUT==="<<std::endl; -adlx_boolapplied=false; -res=display3DLUT->IsCurrentSCEDisabled(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentSCEDisabled:"<<applied<<std::endl; -res=display3DLUT->IsCurrentSCEVividGaming(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentSCEVividGaming:"<<applied<<std::endl; -res=display3DLUT->IsCurrentSCEDynamicContrast(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentSCEDynamicContrast:"<<applied<<std::endl; -if(applied) -{ -ADLX_IntRangerange; -res=display3DLUT->GetSCEDynamicContrastRange(&range); -std::cout<<"\t\tDynamicContrastrangeis:["<<range.minValue<<","<<range.maxValue<<"]"<<std::endl; -adlx_intcontrast; -res=display3DLUT->GetSCEDynamicContrast(&contrast); -std::cout<<"\t\tDynamicContrastis:"<<contrast<<std::endl; -} -} -} - -//Setdisplay3DLUT -voidSet3DLUTState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Set3DLUT==="<<std::endl; -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//SetSCEdisabled -case0: -res=display3DLUT->SetSCEDisabled(); -break; - -//SetSCEVividGaming -case1: -res=display3DLUT->SetSCEVividGaming(); -break; -//SetSCEDynamicContrast -case2: -{ -ADLX_IntRangerange; -display3DLUT->GetSCEDynamicContrastRange(&range); -adlx_intcurContrast; -display3DLUT->GetSCEDynamicContrast(&curContrast); -adlx_intcontrast; -if(curContrast!=range.minValue) -{ -contrast=range.minValue; -res=display3DLUT->SetSCEDynamicContrast(contrast); -std::cout<<"\tUseminimumDynamicContrast"<<std::endl; -} -else -{ -contrast=range.maxValue; -res=display3DLUT->SetSCEDynamicContrast(contrast); -std::cout<<"\tUsemaximumDynamicContrast"<<std::endl; -} -} -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meansSuccess)"<<std::endl; -} -} - -//Getuser3DLUTsupport -voidIsSupportedUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===IsSupportedUser3DLUT==="<<std::endl; -adlx_boolsupported=false; -res=display3DLUT->IsSupportedUser3DLUT(&supported); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===IsSupportedUser3DLUT:"<<(supported?"True":"False")<<std::endl; -} -} -} - -//Clearuser3DLUT -voidClearUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===ClearUser3DLUT==="<<std::endl; -res=display3DLUT->ClearUser3DLUT(); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===ClearUser3DLUTsucceed==="<<std::endl; -} -else -std::cout<<"===ClearUser3DLUTfailed==="<<std::endl; -} -} - -//GetorSetSDRuser3DLUT -voidDemoSDRUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -//Generatenew3DLUTdata -if(GenerateUser3DLUT_BW(displayService,display,DEFAULT_NUM_OF_POINTS,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -std::cout<<"===SetSDRUser3DLUT==="<<std::endl; -res=display3DLUT->SetSDRUser3DLUT(tf,cs,DEFAULT_NUM_OF_POINTS,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===SetSDRUser3DLUTsucceed==="<<std::endl; -} -else -std::cout<<"===SetSDRUser3DLUTfailed==="<<std::endl; - -std::cout<<"===GetSDRUser3DLUT==="<<std::endl; -res=display3DLUT->GetSDRUser3DLUT(&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetSDRUser3DLUTsucceed==="<<std::endl; -} -else -std::cout<<"===GetSDRUser3DLUTfailed==="<<std::endl; - -//Clear3DLUT -res=display3DLUT->ClearUser3DLUT(); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Clearsucceed==="<<std::endl; -} -else -std::cout<<"===Clearfailed==="<<std::endl; -} -} -} - -//GetorSetHDRuser3DLUT -voidDemoHDRUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -std::cout<<"===SetHDRUser3DLUT==="<<std::endl; - -//Generatenew3DLUTdata -if(GenerateUser3DLUT_BW(displayService,display,DEFAULT_NUM_OF_POINTS,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -res=display3DLUT->SetHDRUser3DLUT(tf,cs,DEFAULT_NUM_OF_POINTS,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===SetHDRUser3DLUTsuccess==="<<std::endl; -} -else -std::cout<<"===SetHDRUser3DLUTfailed==="<<std::endl; - -std::cout<<"===GetHDRUser3DLUT==="<<std::endl; -res=display3DLUT->GetHDRUser3DLUT(&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetHDRUser3DLUTsuccess==="<<std::endl; -} -else -std::cout<<"===GetHDRUser3DLUTnotavaiable==="<<std::endl; - -//Clearnew3DLUTdata -res=display3DLUT->ClearUser3DLUT(); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Clearsuccess==="<<std::endl; -} -else -std::cout<<"===Clearfailed==="<<std::endl; -} -} -} - -//GetorSetalluser3DLUT -voidDemoAllUser3DLUT(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_3DLUT_TRANSFER_FUNCTIONtf; -ADLX_3DLUT_COLORSPACEcs; -ADLX_3DLUT_Datadata; -adlx_intnumOfPoints=0; - -//Generatedata -if(GenerateUser3DLUT_BW(displayService,display,DEFAULT_NUM_OF_POINTS,&data)) -{ -tf=TF_SRGB; -cs=CS_SRGB; - -std::cout<<"===SetAllUser3DLUT==="<<std::endl; -res=display3DLUT->SetAllUser3DLUT(tf,cs,DEFAULT_NUM_OF_POINTS,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===SetAllUser3DLUTsuccess==="<<std::endl; -} -else -std::cout<<"===SetAllUser3DLUTfailed==="<<std::endl; - -std::cout<<"===GetAllUser3DLUT==="<<std::endl; -res=display3DLUT->GetAllUser3DLUT(&tf,&cs,&numOfPoints,&data); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetAllUser3DLUTsuccess==="<<std::endl; -} -else -std::cout<<"===GetAllUser3DLUTfailed==="<<std::endl; - -//Cleardata -res=display3DLUT->ClearUser3DLUT(); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Clearsucceed==="<<std::endl; -} -else -std::cout<<"===Clearfailed==="<<std::endl; -} -else -{ -std::cout<<"===GenerateUser3DLUT_BWfailed==="<<std::endl; -} -} -} - -voidGetUser3DLUTIndex(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplay3DLUT -IADLXDisplay3DLUTPtrdisplay3DLUT; -ADLX_RESULTres=displayService->Get3DLUT(display,&display3DLUT); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetUser3DLUTIndex==="<<std::endl; - -adlx_intindex=0; -adlx_intlutSize=6;//5<=lutSize<=17 -ADLX_UINT16_RGBrgb={0,0,0}; - -res=display3DLUT->GetUser3DLUTIndex(lutSize,&rgb,&index); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===GetUser3DLUTIndexsuccess,index:==="<<index<<std::endl; -} -else -std::cout<<"===GetUser3DLUTIndexfailed==="<<std::endl; -} -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplay3DLUTsupport"<<std::endl; - -std::cout<<"\t->Press2toget3DLUTstate"<<std::endl; - -std::cout<<"\t->Press3tosetcurrentSCEtodisabled"<<std::endl; -std::cout<<"\t->Press4tosetcurrentSCEfeaturetoVividGamingprofile"<<std::endl; -std::cout<<"\t->Press5tosetcurrentSCEfeaturetoDynamicContrast"<<std::endl; - -std::cout<<"\t->Press6togetuser3DLUTsupport"<<std::endl; -std::cout<<"\t->Press7toclearuser3DLUT"<<std::endl; -std::cout<<"\t->Press8toshowhowtoset/getSDRuser3DLUT"<<std::endl; -std::cout<<"\t->Press9toshowhowtoset/getHDRuser3DLUT"<<std::endl; -std::cout<<"\t->Pressatoshowhowtoset/getalluser3DLUT"<<std::endl; -std::cout<<"\t->Pressbtoget3DLUTindex"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -case'1': -ShowDisplay3DLUTSupport(displayService,display); -break; -case'2': -Get3DLUTState(displayService,display); -break; -case'3': -case'4': -case'5': -Set3DLUTState(displayService,display,num-'3'); -break; -case'6': -IsSupportedUser3DLUT(displayService,display); -break; -case'7': -ClearUser3DLUT(displayService,display); -break; -case'8': -DemoSDRUser3DLUT(displayService,display); -break; -case'9': -DemoHDRUser3DLUT(displayService,display); -break; -case'a': -DemoAllUser3DLUT(displayService,display); -break; -case'b': -GetUser3DLUTIndex(displayService,display); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_display_blanking.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_display_blanking.xml deleted file mode 100644 index 9e94970..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_display_blanking.xml +++ /dev/null @@ -1,362 +0,0 @@ - - - - cpp_sample_displayBlanking - DisplayBlanking - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstartes how to obtain display blanking when programming with ADLX and perform related operations. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show display blanking support.</td></tr> - <tr><td>2</td><td> Get display blanking state.</td></tr> - <tr><td>3</td><td> Set display blank.</td></tr> - <tr><td>4</td><td> Set display unblank.</td></tr> - <tr><td>5</td><td> Set display blanked for 20 seconds.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayBlanking</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplaySettings.h" -#include"SDK/Include/IDisplays.h" -#include"SDK/Include/IDisplays1.h" -#include<iostream> -#include<string> -#include<thread> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//soweuseglobalvariablestoensurethevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//threadquitevent -staticHANDLEquitEvent=nullptr; - -//threadquitflag -staticstd::atomic<bool>g_quit=false; - -//threadfortimeout -staticstd::thread*g_thread=nullptr; - -//threadtounblankdisplay -staticvoidThreadUnBlankDisplay(IADLXDisplayBlankingPtrdisplayBlanking); - -//Displaydisplayblankingsupport -voidShowDisplayBlankingSupport(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display); - -//Displaycurrentdisplayblankingstate -voidGetDisplayBlankingState(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display); - -//Setdisplayblankedorunblaned -voidSetDisplayBlankingState(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display); - -//Selectdisplay -IADLXDisplayPtrSelectDisplay(constIADLXDisplayListPtr&displays); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -quitEvent=CreateEvent(NULL,TRUE,FALSE,NULL); - -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -//Converttodisplayservice1 -IADLXDisplayServices1PtrdisplayService1(displayService); -if(ADLX_SUCCEEDED(res)&&displayService1) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService1->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Selectthedisplaytoconfig -IADLXDisplayPtrdisplay=SelectDisplay(displayList); -if(display) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService1,display); -} -} -else -{ -std::cout<<"FailedtogettheDisplayslist"<<std::endl; -} -} -else -{ -std::cout<<"Failedtogetthedisplayservices1"<<std::endl; -} - -//quitthread -if(g_thread&&g_thread->joinable()) -{ -SetEvent(quitEvent); -g_quit=true; -g_thread->join(); -deleteg_thread; -g_thread=nullptr; -} -CloseHandle(quitEvent); -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("Pause"); - -return0; -} - -voidShowDisplayBlankingSupport(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display) -{ -IADLXDisplayBlankingPtrdisplayBlanking; -ADLX_RESULTres=displayService1->GetDisplayBlanking(display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getdisplayblankingsupported==="<<std::endl; -adlx_boolsupported=false; -res=displayBlanking->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupported,result:"<<res<<"supported:"<<(supported?"true":"false")<<std::endl; -} -} - -voidGetDisplayBlankingState(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display) -{ -IADLXDisplayBlankingPtrdisplayBlanking; -ADLX_RESULTres=displayService1->GetDisplayBlanking(display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Getdisplayblankingstate==="<<std::endl; -adlx_boolblanked=false; -res=displayBlanking->IsCurrentBlanked(&blanked); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentBlanked:"<<(blanked?"true":"false")<<std::endl; -adlx_boolunBlanked=false; -res=displayBlanking->IsCurrentUnblanked(&unBlanked); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentUnblanked:"<<(unBlanked?"true":"false")<<std::endl; -} -} - -voidSetDisplayBlankingState(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display,constintkey) -{ -IADLXDisplayBlankingPtrdisplayBlanking; -ADLX_RESULTres=displayService1->GetDisplayBlanking(display,&displayBlanking); -if(ADLX_SUCCEEDED(res)) -{ -ADLX_RESULTres=ADLX_FAIL; -switch(key) -{ -//Setdisplayblanked -case0: -if(g_thread&&g_thread->joinable()) -{ -SetEvent(quitEvent); -g_quit=true; -g_thread->join(); -deleteg_thread; -g_thread=nullptr; -} -std::cout<<"===Setdisplayblanked==="<<std::endl; -res=displayBlanking->SetBlanked(); -break; - -//Setdisplayunblanked -case1: -std::cout<<"===SetdisplayunBlanked==="<<std::endl; -res=displayBlanking->SetUnblanked(); -break; - -//Setdisplayblankedandrestoreafter20sec -case2: -if(g_thread&&g_thread->joinable()) -{ -SetEvent(quitEvent); -g_quit=true; -g_thread->join(); -deleteg_thread; -g_thread=nullptr; -} -std::cout<<"===Setdisplayblankedfor20seconds==="<<std::endl; -res=displayBlanking->SetBlanked(); -g_thread=newstd::thread(ThreadUnBlankDisplay,displayBlanking); -g_quit=false; -break; -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -voidThreadUnBlankDisplay(IADLXDisplayBlankingPtrdisplayBlanking) -{ -boolopt=false; -while(!g_quit) -{ -DWORDr=WaitForSingleObject(quitEvent,20000); -//quitthethread -if(r==WAIT_OBJECT_0) -{ -ResetEvent(quitEvent); -std::cout<<"\tThreadquit."<<std::endl; -break; -} -//Restoredisplayafter20seconds -if(r==WAIT_TIMEOUT&&displayBlanking&&!opt) -{ -ADLX_RESULTres=displayBlanking->SetUnblanked(); -std::cout<<"\tRestoredisplayafter20seconds,returncodeis:"<<res<<"(0meanssuccess)."<<std::endl; -opt=true; -} -} -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromfollowingoptions"<<std::endl; - -std::cout<<"\t->Press1toshowdisplayblankingsupport"<<std::endl; - -std::cout<<"\t->Press2togetdisplayblankingstate"<<std::endl; - -std::cout<<"\t->Press3tosetdisplayblanked"<<std::endl; -std::cout<<"\t->Press4tosetdisplayunblanked"<<std::endl; -std::cout<<"\t->Press5tosetdisplayblankedfor20seconds"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -IADLXDisplayPtrSelectDisplay(constIADLXDisplayListPtr&displays) -{ -adlx_uintlen=displays->Size(); -if(len==0) -returnnullptr; - -IADLXDisplayPtrdisplay; -if(len<2) -displays->At(0,&display); -else -{ -std::cout<<"\tYoucanselectthedisplaybythekey(from1to"<<len<<")."<<std::endl; -for(adlx_uintit=0;it<len;it++) -{ -displays->At(it,&display); -constchar*dispName; -display->Name(&dispName); -std::cout<<"\t->Press"<<it+1<<"toselect"<<dispName<<"."<<std::endl; -} -intnum=0; -num=getchar()-48; -if(num<1||num>len) -std::cout<<"\tInvalidkey.Thefirstdisplaywillbeused."<<std::endl; -else -displays->At(num-1,&display); -} -returndisplay; -} -//Displayactioncontrol -voidMenuControl(constIADLXDisplayServices1Ptr&displayService1,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//Displaydisplayblankingsupport -case'1': -ShowDisplayBlankingSupport(displayService1,display); -break; - -//Displaycurrentdisplayblankingstate -case'2': -GetDisplayBlankingState(displayService1,display); -break; - -//Setdisplayblankingorunblanking -case'3': -case'4': -case'5': -SetDisplayBlankingState(displayService1,display,num-'3'); -break; - -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("Pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_display_events.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_display_events.xml deleted file mode 100644 index 6cce577..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_display_events.xml +++ /dev/null @@ -1,225 +0,0 @@ - - - - cpp_sample_displayEvents - DisplayEvents - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demontrates how to handle notifications about display change when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayEvents</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplay3DLUT.h" -#include"SDK/Include/IDisplayGamma.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<thread> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//CallbackfordisplayListChanged -classDisplayListChangedCallBack:publicIADLXDisplayListChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplayListChanged(IADLXDisplayList*pNewDisplays)override -{ -std::cout<<"Displaylisthasbeenchanged"<<std::endl; - -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} -}; - -//CallbackfordisplayGamutChanged -classDisplayGamutCallBack:publicIADLXDisplayGamutChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplayGamutChanged(IADLXDisplayGamutChangedEvent*pDisplayGamutChangedEvent)override -{ -std::cout<<"Displaygamutischanged"<<std::endl; -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} -}; - -//CallbackfordisplayGammaChanged -classDisplayGammaCallBack:publicIADLXDisplayGammaChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplayGammaChanged(IADLXDisplayGammaChangedEvent*pDisplayGammaChangedEvent)override -{ -std::cout<<"Displaygammaischanged"<<std::endl; - -IADLXDisplayPtrdisplay; -ADLX_RESULTres=pDisplayGammaChangedEvent->GetDisplay(&display); -if(ADLX_SUCCEEDED(res)) -{ -constchar*displayName=nullptr; -display->Name(&displayName); -adlx_boolchanged=pDisplayGammaChangedEvent->IsDeGammaChanged(); -std::cout<<"\tDisplay:"<<displayName<<"DeGammachanged:"<<changed<<std::endl; -changed=pDisplayGammaChangedEvent->IsReGammaChanged(); -std::cout<<"\tDisplay:"<<displayName<<"ReGammachanged:"<<changed<<std::endl; -changed=pDisplayGammaChangedEvent->IsGammaCoefficientChanged(); -std::cout<<"\tDisplay:"<<displayName<<"GammaCoefficientchanged:"<<changed<<std::endl; -changed=pDisplayGammaChangedEvent->IsGammaRampChanged(); -std::cout<<"\tDisplay:"<<displayName<<"GammaRampchanged:"<<changed<<std::endl; -} -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} -}; - -//Callbackfordisplay3DLUT -classDisplay3DLUTCallBack:publicIADLXDisplay3DLUTChangedListener -{ -public: -adlx_boolADLX_STD_CALLOnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent*pDisplay3DLUTChangedEvent)override -{ -std::cout<<"Display3DLUTischanged"<<std::endl; -//IftrueisreturnedADLXcontinuestonotifynextlistenerelseiffalseisretunedADLXstopsthenotification. -returntrue; -} -}; - -//Loopthread -voidLoopThread(); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservices -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaychangehandler -IADLXDisplayChangedHandlingPtrdisplayChangeHandler; -res=displayService->GetDisplayChangedHandling(&displayChangeHandler); -if(ADLX_FAILED(res)) -returnWaitAndExit("Failedtogetdisplaychangehandler",0); - -//Createthecallbacks -IADLXDisplayListChangedListener*listChangeCallBack=newDisplayListChangedCallBack; -IADLXDisplayGammaChangedListener*gammaChangeCallBack=newDisplayGammaCallBack; -IADLXDisplayGamutChangedListener*gamutChangeCallBack=newDisplayGamutCallBack; -IADLXDisplay3DLUTChangedListener*display3DLUTChangeCallBack=newDisplay3DLUTCallBack; - -//AddthecallbackstotheADLXeventhandler -{ -displayChangeHandler->AddDisplayListEventListener(listChangeCallBack); -displayChangeHandler->AddDisplayGammaEventListener(gammaChangeCallBack); -displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack); -displayChangeHandler->AddDisplay3DLUTEventListener(display3DLUTChangeCallBack); -} - -//Createloopthreadforwaitevent -std::threadloop(&LoopThread); -loop.join(); - -//Removeanddestroycallbacks -displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack); -displayChangeHandler->RemoveDisplayListEventListener(listChangeCallBack); -displayChangeHandler->RemoveDisplay3DLUTEventListener(display3DLUTChangeCallBack); -displayChangeHandler->RemoveDisplayGammaEventListener(gammaChangeCallBack); - -deletelistChangeCallBack; -listChangeCallBack=nullptr; -deletegamutChangeCallBack; -gamutChangeCallBack=nullptr; -deletegammaChangeCallBack; -gammaChangeCallBack=nullptr; -deletedisplay3DLUTChangeCallBack; -display3DLUTChangeCallBack=nullptr; -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; -returnWaitAndExit("Failedtogetdisplayservices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pauseto seetheprintout -system("pause"); - -return0; -} - -//Loopthread -voidLoopThread() -{ -std::cout<<"Loopthreadiscurrentlyrunning."<<std::endl; -std::cout<<"->PlugorunplugthedisplaytotriggerDisplayListChange,whichwillfurthertriggerotherchanges."<<std::endl; -std::cout<<"->PressQ/qtoterminatetheloop."<<std::endl; -intnum=0; -std::chrono::secondsdura(1); -while((num=getchar())!='q'&&num!='Q') -{ -std::cout<<"Waitfortheeventtogettriggered.ThedisplaycanbeplugedorunplugedtotriggerDisplayListChange."<<std::endl; -std::this_thread::sleep_for(dura); -num=getchar(); -if(num=='q'||num=='Q') -break; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamma.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamma.xml deleted file mode 100644 index e50e877..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamma.xml +++ /dev/null @@ -1,450 +0,0 @@ - - - - cpp_sample_displayGamma - DisplayGamma - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display Gamma when programming with ADLX and perform related tests. </p> - - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Show display gamma support.</td></tr> - <tr><td>2</td><td> Display current gamma information.</td></tr> - <tr><td>3</td><td> Set ReGammaSRGB using predefined coefficients.</td></tr> - <tr><td>4</td><td> Set ReGamma using custom coefficients.</td></tr> - <tr><td>5</td><td> Set ReGamma using ramp from file[file path: output-night-light.txt].</td></tr> - <tr><td>6</td><td> ReGamma using ramp from memory.</td></tr> - <tr><td>7</td><td> Reset Gamma ramp.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayGamma</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplayGamma.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> -#include<vector> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXdestory. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//PrintGammaramp -staticvoidShowGammaRamp(constADLX_GammaRamp&gammaRamp); - -//DisplayGammasupport -voidShowDisplayGammaSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//GetcurrentGammastate -voidGetCurrentGammaState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -// Setgammabycoefficient;ifreturnvalueis0,gammacoefficientissuccessfullyset.Elseanerroroccured. -ADLX_RESULTSetGammaWithCustomCoeffs(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//SetGamma -voidSetGamma(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Createregammaramp -ADLX_GammaRampCreateReGammaRamp(constfloatfGamma); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"Failedtogetthedisplaylist"<<std::endl; -} -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplayServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Printgammaramp -staticvoidShowGammaRamp(constADLX_GammaRamp&gammaRamp) -{ -for(intj=0;j<3;j++) -{ -printf("\nGetGammaRamp[%c]:\n",(j==0)?'R':((j==1)?'G':(j==2)?'B' -:'E')); -for(inti=0;i<256;i++) -{ -printf("%05d",gammaRamp.gamma[i+j*256]); -if(i%10==9) -printf("\n"); -} -} -printf("\n"); -} - -//Displaygammasupportstatus -voidShowDisplayGammaSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplaygamma -IADLXDisplayGammaPtrdisplayGamma; -ADLX_RESULTres=displayService->GetGamma(display,&displayGamma); -adlx_boolsupport=false; -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Re-Gammasupportedstatus==="<<std::endl; -res=displayGamma->IsSupportedReGammaSRGB(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedReGammaSRGB:"<<support<<std::endl; -res=displayGamma->IsSupportedReGammaBT709(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedReGammaBT709:"<<support<<std::endl; -res=displayGamma->IsSupportedReGammaPQ(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedReGammaPQ:"<<support<<std::endl; -res=displayGamma->IsSupportedReGammaPQ2084Interim(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedReGammaPQ2084Interim:"<<support<<std::endl; -res=displayGamma->IsSupportedReGamma36(&support); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedReGamma36:"<<support<<std::endl; -} -} - -//Getcurrentgammastate -voidGetCurrentGammaState(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplaygamma -IADLXDisplayGammaPtrdisplayGamma; -ADLX_RESULTres=displayService->GetGamma(display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Currentgammastate==="<<std::endl; -adlx_boolapplied=false; -ADLX_RESULTres=ADLX_FAIL; -ADLX_GammaRampramp; -ADLX_RegammaCoeffcoeff; - -res=displayGamma->IsCurrentReGammaSRGB(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentReGammaSRGB"<<applied<<std::endl; -res=displayGamma->IsCurrentReGammaBT709(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentReGammaBT709"<<applied<<std::endl; -res=displayGamma->IsCurrentReGammaPQ(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentReGammaPQ"<<applied<<std::endl; -res=displayGamma->IsCurrentReGammaPQ2084Interim(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentReGammaPQ2084Interim"<<applied<<std::endl; -res=displayGamma->IsCurrentReGamma36(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentReGamma36"<<applied<<std::endl; - -adlx_boolcurCoeff; -res=displayGamma->IsCurrentRegammaCoefficient(&curCoeff); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentRegammaCoefficient"<<curCoeff<<std::endl; - -adlx_boolreGammaRamp=false; -adlx_booldeGammaRamp=false; -res=displayGamma->IsCurrentReGammaRamp(&reGammaRamp); -res=displayGamma->IsCurrentDeGammaRamp(&deGammaRamp); -if(reGammaRamp) -{ -displayGamma->GetGammaRamp(&ramp); -std::cout<<"\tcurrentreGammaRamp"<<std::endl; -ShowGammaRamp(ramp); -} -elseif(deGammaRamp) -{ -displayGamma->GetGammaRamp(&ramp); -std::cout<<"\tcurrentdeGammaRamp"<<std::endl; -ShowGammaRamp(ramp); -} -elseif(curCoeff) -{ -displayGamma->GetGammaCoefficient(&coeff); -std::cout<<"\tcurrentcoefficient"<<std::endl; -std::cout<<"\tGetGammaCoefficient:\n" -<<"\tCoefficientA0"<<coeff.coefficientA0<<"," -<<"CoefficientA1"<<coeff.coefficientA1<<"," -<<"CoefficientA2"<<coeff.coefficientA2<<"," -<<"CoefficientA3"<<coeff.coefficientA3<<"," -<<"Gamma"<<coeff.gamma<<std::endl; -} -} -} - -//Setgammabycoefficient;ifreturnvalueis0,gammacoefficientissuccessfullyset.Elseanerroroccured. -ADLX_RESULTSetGammaWithCustomCoeffs(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//Getdisplaygamma -IADLXDisplayGammaPtrdisplayGamma; -ADLX_RESULTres=displayService->GetGamma(display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"\t\tPleaseenterfiveintegernumbers,separatedbyspaces.(eg:313081292055552400)"<<std::endl; - -ADLX_RESULTres=ADLX_OK; -ADLX_RegammaCoeffcoeff; -intuserKey=0; -std::vector<int>coeffs; -while(std::cin>>userKey) -{ -coeffs.push_back(userKey); -if(coeffs.size()>4) -break; -} -std::cin.clear(); -std::cin.ignore(INT_MAX,'\n'); - -if(coeffs.size()>4) -{ -coeff.coefficientA0=coeffs[0];//31308; -coeff.coefficientA1=coeffs[1];//12920; -coeff.coefficientA2=coeffs[2];//55; -coeff.coefficientA3=coeffs[3];//55; -coeff.gamma=coeffs[4];//2400; -} -else -{ -std::cout<<"\t\tInvalidinput,defaultvaluewillbeused."<<std::endl; -coeff.coefficientA0=31308; -coeff.coefficientA1=12920; -coeff.coefficientA2=55; -coeff.coefficientA3=55; -coeff.gamma=2400; -} -res=displayGamma->SetReGammaCoefficient(coeff); -} -returnres; -} - -//SetGamma -voidSetGamma(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -//GetdisplayGamma -IADLXDisplayGammaPtrdisplayGamma; -ADLX_RESULTres=displayService->GetGamma(display,&displayGamma); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"===Setgamma==="<<std::endl; -ADLX_RESULTres=ADLX_OK; - -switch(key) -{ -//UsepresetcoefficientsforReGammaSRGB -case0: -res=displayGamma->SetReGammaSRGB(); -break; - -//UsepresetcoefficientsforDeGammaSRGB -case1: -res=SetGammaWithCustomCoeffs(displayService,display); -break; - -//userampformfile,filepath:output-night-light.txt -case2: -res=displayGamma->SetReGammaRamp("output-night-light.txt"); -break; - -//Userampfrommemory -case3: -{ -constfloatreGammaF=2.4f; -ADLX_GammaRampramp=CreateReGammaRamp(reGammaF); -res=displayGamma->SetReGammaRamp(ramp); -} -break; - -//Resetramp -case4: -res=displayGamma->ResetGammaRamp(); -break; - -default: -break; -} -std::cout<<"\tReturncodeis:"<<res<<"(0meanssuccess)"<<std::endl; -} -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1toshowdisplaygammasupport"<<std::endl; - -std::cout<<"\t->Press2todisplaycurrentgammainfo"<<std::endl; - -std::cout<<"\t->Press3tosetReGammaSRGBusingpredefinedcoefficients"<<std::endl; -std::cout<<"\t->Press4tosetReGammausingcustomcoefficients"<<std::endl; -std::cout<<"\t->Press5tosetReGammausingrampfromfile[filepath:../output-night-light.txt]"<<std::endl; -std::cout<<"\t->Press6tosetReGammausingrampfrommemory"<<std::endl; -std::cout<<"\t->Press7toresetGammaramp"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//ShowGammasupport -case'1': -ShowDisplayGammaSupport(displayService,display); -break; - -//GetcurrentGammastate -case'2': -GetCurrentGammaState(displayService,display); -break; - -//SetGamma -case'3': -case'4': -case'5': -case'6': -case'7': -SetGamma(displayService,display,num-'3'); -break; - -//Showoptionsagain -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -ADLX_GammaRampCreateReGammaRamp(constfloatfGamma) -{ -ADLX_GammaRampramp; -doubleg_fGammaRemapRGB[3]={1,1,0.5}; -for(intj=0;j<3;j++) -{ -for(inti=0;i<256;i++) -{ - -floatnAdj=i/255.0f; -if(nAdj<0.0031308f) -{ -nAdj=nAdj*12.92f; -} -else -{ -nAdj=(1+0.055f)*powf(nAdj,1/fGamma)-0.055f; -if(nAdj<0.0f) -nAdj=0.0f; -} -ramp.gamma[i+j*256]=(unsignedshort)(1*g_fGammaRemapRGB[j]*(int)(nAdj*0xFFFF)); -} -} -returnramp; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamut.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamut.xml deleted file mode 100644 index 0dfa651..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_display_gamut.xml +++ /dev/null @@ -1,351 +0,0 @@ - - - - cpp_sample_displayGamut - DisplayGamut - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display Gamut when programming with ADLX and perform related tests. </p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display gamut support.</td></tr> - <tr><td>2</td><td> Get current display gamut information.</td></tr> - <tr><td>3</td><td> Set predefined white point and predefined gamut space.</td></tr> - <tr><td>4</td><td> Set custom white point and predefined gamut space.</td></tr> - <tr><td>5</td><td> Set predefined white point and custom gamut space.</td></tr> - <tr><td>6</td><td> Set custom white point and custom gamut space.</td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayGamut</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplayGamut.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<string> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed.  -//Useglobalvariablestoensurevalidityoftheinterface.  -staticADLXHelperg_ADLXHelp; - -//Showdisplaygamutsupport -voidShowDisplayGamutSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Getanddisplaygamutinformation,itcontainswhitepointandcolorspace -voidGetCurrentGamutInfo(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Setgamut(whitepointandcolorspace) -voidSetGamut(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey); - -//mainmenu -voidMainMenu(); - -//menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -//Inspectforthefirstdisplayinthelist -adlx_uintit=0; -IADLXDisplayPtrdisplay; -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Showamenuwithoptionstochosefrom -MainMenu(); -//Getandexecutethechoice -MenuControl(displayService,display); -} -} -else -{ -std::cout<<"FailedtogettheDisplayslist"<<std::endl; -} -} -else -{ -std::cout<<"FailedtogettheDisplayServices"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pauseforuserseetheprintout -system("pause"); - -return0; -} - -//ShowdisplayGamutsupport -voidShowDisplayGamutSupport(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//GetdisplayGamut -IADLXDisplayGamutPtrdisplayGamut; -ADLX_RESULTres=displayService->GetGamut(display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolsupported=false; -std::cout<<"===GamutSpacesupportedstatus==="<<std::endl; -res=displayGamut->IsSupportedCCIR709ColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedGamut_CCIR_709:"<<supported<<std::endl; -res=displayGamut->IsSupportedCCIR601ColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedGamut_CCIR_601:"<<supported<<std::endl; -res=displayGamut->IsSupportedAdobeRgbColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedGamut_Adobe_RGB:"<<supported<<std::endl; -res=displayGamut->IsSupportedCIERgbColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedGamut_CIE_RGB:"<<supported<<std::endl; -res=displayGamut->IsSupportedCCIR2020ColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedCCIR2020ColorSpace:"<<supported<<std::endl; -res=displayGamut->IsSupportedCustomColorSpace(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedGamut_Custom:"<<supported<<std::endl; - -std::cout<<"===Whitepointsupportedstatus==="<<std::endl; -res=displayGamut->IsSupported5000kWhitePoint(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedWhitePoint_5000k:"<<supported<<std::endl; -res=displayGamut->IsSupported6500kWhitePoint(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedWhitePoint_6500k:"<<supported<<std::endl; -res=displayGamut->IsSupported7500kWhitePoint(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedWhitePoint_7500k:"<<supported<<std::endl; -res=displayGamut->IsSupported9300kWhitePoint(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedWhitePoint_9300k:"<<supported<<std::endl; -res=displayGamut->IsSupportedCustomWhitePoint(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsSupportedWhitePoint_Custom:"<<supported<<std::endl; -} -} - -//GetandshowGamutinformation,itcontainswhitepointandcolorspace -voidGetCurrentGamutInfo(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -//GetdisplayGamut -IADLXDisplayGamutPtrdisplayGamut; -ADLX_RESULTres=displayService->GetGamut(display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ -adlx_boolapplied=false; -ADLX_RESULTres=ADLX_FAIL; -std::cout<<"===CurrntWhitepointstatus==="<<std::endl; -res=displayGamut->IsCurrent5000kWhitePoint(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentWhitePoint_5000k:"<<applied<<std::endl; -res=displayGamut->IsCurrent6500kWhitePoint(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentWhitePoint_6500k:"<<applied<<std::endl; -res=displayGamut->IsCurrent7500kWhitePoint(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentWhitePoint_7500k:"<<applied<<std::endl; -res=displayGamut->IsCurrent9300kWhitePoint(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentWhitePoint_9300k:"<<applied<<std::endl; -res=displayGamut->IsCurrentCustomWhitePoint(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentWhitePoint_Custom:"<<applied<<std::endl; -ADLX_Pointpoint={0}; -res=displayGamut->GetWhitePoint(&point); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tGetWhitePoint:("<<point.x<<","<<point.y<<")"<<std::endl; - -std::cout<<"===Currntgamutspacestatus==="<<std::endl; -res=displayGamut->IsCurrentCCIR709ColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentGamut_CCIR_709:"<<applied<<std::endl; -res=displayGamut->IsCurrentCCIR601ColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentGamut_CCIR_601:"<<applied<<std::endl; -res=displayGamut->IsCurrentAdobeRgbColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentGamut_Adobe_RGB:"<<applied<<std::endl; -res=displayGamut->IsCurrentCIERgbColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentGamut_CIE_RGB:"<<applied<<std::endl; -res=displayGamut->IsCurrentCCIR2020ColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentCCIR2020ColorSpace:"<<applied<<std::endl; -res=displayGamut->IsCurrentCustomColorSpace(&applied); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsCurrentCustomColorSpace:"<<applied<<std::endl; -ADLX_GamutColorSpacegamutCoordinates={0}; -res=displayGamut->GetGamutColorSpace(&gamutCoordinates); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tGetGamutColorSpace:R("<<gamutCoordinates.red.x<<","<<gamutCoordinates.red.y<<")" -<<"G("<<gamutCoordinates.green.x<<","<<gamutCoordinates.green.y<<")" -<<"B("<<gamutCoordinates.blue.x<<","<<gamutCoordinates.blue.y<<")"<<std::endl; -} -} - -//SetGamut(whitepointandcolorspace) -voidSetGamut(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display,constintkey) -{ -std::cout<<"===Setwhitepointandgamutspace==="<<std::endl; - -ADLX_RESULTres=ADLX_FAIL; -ADLX_WHITE_POINTpredefinedWhitePoint=WHITE_POINT_6500K; -ADLX_GAMUT_SPACEpredefinedGamutSpace=GAMUT_SPACE_ADOBE_RGB; -ADLX_RGBcustomWhitePoint={0.654108,0.767112,1}; -ADLX_GamutColorSpacecustomGamutSpace= -{ -{6400,3300},{3000,6000},{1500,600} -}; - -//GetdisplayGamut -IADLXDisplayGamutPtrdisplayGamut; -res=displayService->GetGamut(display,&displayGamut); -if(ADLX_SUCCEEDED(res)) -{ -switch(key) -{ -case0: -res=displayGamut->SetGamut(predefinedWhitePoint,predefinedGamutSpace); -break; -case1: -res=displayGamut->SetGamut(customWhitePoint,predefinedGamutSpace); -break; -case2: -res=displayGamut->SetGamut(predefinedWhitePoint,customGamutSpace); -break; -case3: -res=displayGamut->SetGamut(customWhitePoint,customGamutSpace); -break; - -default: -break; -} -std::cout<<"\treturncode(0isSuccess)is:"<<res<<std::endl; -} -} - -//mainmenu -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1toshowGamutsupport"<<std::endl; - -std::cout<<"\t->Press2togetcurrentdisplayGamutinfo"<<std::endl; - -std::cout<<"\t->Press3tosetpredefinedwhitepointandpredefinedGamutspace"<<std::endl; -std::cout<<"\t->Press4tosetcustomwhitepointandpredefinedGamutspace"<<std::endl; -std::cout<<"\t->Press5tosetpredefinedwhitepointandcustomGamutspace"<<std::endl; -std::cout<<"\t->Press6tosetcustomwhitepointandcustomGamutspace"<<std::endl; - -std::cout<<"\t->PressQ/qtoquit"<<std::endl; -std::cout<<"\t->PressM/mtoshowtheoptionsagain"<<std::endl; -} - -//menuactioncontrol -voidMenuControl(constIADLXDisplayServicesPtr&displayService,constIADLXDisplayPtr&display) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//ShowdisplayGamutsupport -case'1': -ShowDisplayGamutSupport(displayService,display); -break; - -//GetGamutinformation(whitepointandcolorspace) -case'2': -GetCurrentGamutInfo(displayService,display); -break; - -//SetGamut(whitepointandcolorspace) -case'3': -case'4': -case'5': -case'6': -SetGamut(displayService,display,num-'3'); -break; - -//Showoptionsagain -case'm': -case'M': -MainMenu(); -break; - -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpauseforusertoseeitthenreturnthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_displayinfo.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_displayinfo.xml deleted file mode 100644 index ea08149..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_displayinfo.xml +++ /dev/null @@ -1,222 +0,0 @@ - - - - cpp_sample_displayinfo - DisplayInfo - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display information when programming with ADLX to perform related tests.</p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Display/DisplayInfo</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> -#include<map> -#include<string> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//PrintdiplayInfoinformation -voidShowDisplayInfo(constIADLXDisplayPtr&display); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplayservice -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -//Getdisplaylistanditeratethroughthelist -IADLXDisplayListPtrdisplayList; -res=displayService->GetDisplays(&displayList); -if(ADLX_SUCCEEDED(res)) -{ -adlx_uintit=displayList->Begin(); -IADLXDisplayPtrdisplay; -for(;it!=displayList->End();it++) -{ -res=displayList->At(it,&display); -if(ADLX_SUCCEEDED(res)) -{ -//Getdataforeachdisplaydeviceandprintitontheconsole -ShowDisplayInfo(display); -} -} -} -else -{ -std::cout<<"FailedtogettheDisplayslist"<<std::endl; -} - -} -else -{ -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; -returnWaitAndExit("FailedtogettheDisplayServices",0); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pauseto seetheprintout -system("pause"); - -return0; -} - -//Extradata -//Mapwiththedisplaytypeandassociatedstring -staticconststd::map<ADLX_DISPLAY_TYPE,constchar*>displayTypeMap= -{ -{DISPLAY_TYPE_MONITOR,"CRT"}, -{DISPLAY_TYPE_TELEVISION,"TV"}, -{DISPLAY_TYPE_LCD_PANEL,"LCD"}, -{DISPLAY_TYPE_DIGITAL_FLAT_PANEL,"DFP"}, -{DISPLAY_TYPE_COMPONENT_VIDEO,"CV"}}; - -//Mapwiththedisplayconnectortypeandassociatedstring -staticconststd::map<ADLX_DISPLAY_CONNECTOR_TYPE,constchar*>displayConnectorMap= -{ -{DISPLAY_CONTYPE_UNKNOWN,"UNKNOWN"}, -{DISPLAY_CONTYPE_VGA,"VGA"}, -{DISPLAY_CONTYPE_DVI_D,"DVID"}, -{DISPLAY_CONTYPE_DVI_I,"DVII"}, -{DISPLAY_CONTYPE_CVDONGLE_NTSC,"ATICVDONGLENTSC"}, -{DISPLAY_CONTYPE_CVDONGLE_JPN,"ATICVDONGLEJPN"}, -{DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN,"ATICVDONGLENONI2CJPN"}, -{DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC,"ATICVDONGLENONI2CNTSC"}, -{DISPLAY_CONTYPE_PROPRIETARY,"PROPRIETARY"}, -{DISPLAY_CONTYPE_HDMI_TYPE_A,"HDMITYPEA"}, -{DISPLAY_CONTYPE_HDMI_TYPE_B,"HDMITYPEB"}, -{DISPLAY_CONTYPE_SVIDEO,"SVIDEO"}, -{DISPLAY_CONTYPE_COMPOSITE,"COMPOSITE"}, -{DISPLAY_CONTYPE_RCA_3COMPONENT,"RCA3COMPONENT"}, -{DISPLAY_CONTYPE_DISPLAYPORT,"DISPLAYPORT"}, -{DISPLAY_CONTYPE_EDP,"EDP"}, -{DISPLAY_CONTYPE_WIRELESSDISPLAY,"WIRELESSDISPLAY"}, -{DISPLAY_CONTYPE_USB_TYPE_C,"USBTYPEC"}}; - -//Mapwiththescantypeandassociatedstring -staticconststd::map<ADLX_DISPLAY_SCAN_TYPE,constchar*>scanTypeMap= -{ -{PROGRESSIVE,"PROGRESSIVE"}, -{INTERLACED,"INTERLACED"} -}; - -//PrintdiplayInfoinformation -voidShowDisplayInfo(constIADLXDisplayPtr&display) -{ -ADLX_RESULTres=ADLX_OK; - -std::cout<<"\n===Displayinfo==="<<std::endl; -constchar*dispName; -res=display->Name(&dispName); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tDisplayname:"<<dispName<<std::endl; - -adlx_uintmanufacturerID; -res=display->ManufacturerID(&manufacturerID); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tManufacturerid:"<<manufacturerID<<std::endl; - -ADLX_DISPLAY_TYPEdisplayType; -res=display->DisplayType(&displayType); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tDisplaytype:"<<displayTypeMap.find(displayType)->second<<std::endl; - -ADLX_DISPLAY_CONNECTOR_TYPEconnectType; -res=display->ConnectorType(&connectType); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tConnectortype:"<<displayConnectorMap.find(connectType)->second<<std::endl; - -constchar*edid; -res=display->EDID(&edid); -if(ADLX_OK!=res) -std::cout<<"\tDisplayEDID,errorcodeis:"<<res<<std::endl; -else -std::cout<<"\tEDID:"<<edid<<std::endl; - -adlx_doublerefreshRate; -res=display->RefreshRate(&refreshRate); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tRefreshrate:"<<refreshRate<<std::endl; - -adlx_uintpixelClock; -res=display->PixelClock(&pixelClock); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tPixelclock:"<<pixelClock<<std::endl; - -adlx_intmaxHResolution=0; -adlx_intmaxVResolution=0; -res=display->NativeResolution(&maxHResolution,&maxVResolution); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tNativeresolution[h*v]:"<<maxHResolution<<""<<maxVResolution<<std::endl; - -ADLX_DISPLAY_SCAN_TYPEscanType; -res=display->ScanType(&scanType); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tScantype:"<<scanTypeMap.find(scanType)->second<<std::endl; - -adlx_sizeid; -res=display->UniqueId(&id); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tUniqueId:"<<id<<std::endl; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode  -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_eyefinity.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_eyefinity.xml deleted file mode 100644 index 81ce488..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_eyefinity.xml +++ /dev/null @@ -1,282 +0,0 @@ - - - - cpp_sample_eyefinity - Eyefinity - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD Eyefinity support.</td></tr> - <tr><td>2</td><td> Create an AMD Eyefinity desktop with all the enabled displays.</td></tr> - <tr><td>3</td><td> Destroy all the AMD Eyefinity desktops.</td></tr> - <tr><td>4</td><td> Destroy the specified AMD Eyefinity desktop. </td></tr> - <tr><td>M/m</td><td> Display the command prompt menu.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Desktop/Eyefinity</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDesktops.h" -#include"SDK/Include/IDisplays.h" -#include<iostream> - -//Useadlxnamespace -usingnamespaceadlx; - -//ADLXHelperinstance. -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(); - -//DisplayEyefinitysupport -voidShowEyefinitySupport(); - -//CreateanEyefinitydesktop -voidCreateEyefinityDesktop(); - -//DestroyalltheEyefinitydesktops -voidDestroyAllEyefinityDesktop(); - -//DestroythespecifiedEyefinitydesktop -voidDestroyGivenEyefinityDesktop(); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(); -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXresult:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; - -std::cout<<"\t->Press1todisplayEyefinitysupport"<<std::endl; -std::cout<<"\t->Press2tocreateanEyefinitydesktopwithalltheenableddisplays"<<std::endl; -std::cout<<"\t->Press3todestroyalltheEyefinitydesktops"<<std::endl; -std::cout<<"\t->Press4todestroythespecifiedEyefinitydesktop"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl() -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayEyefinitysupport -case'1': -ShowEyefinitySupport(); -break; - -//CreateanEyefinitydesktop -case'2': -CreateEyefinityDesktop(); -break; - -//DestroyalltheEyefinitydesktops -case'3': -DestroyAllEyefinityDesktop(); -break; - -//DestroythespecifiedEyefinitydesktop -case'4': -DestroyGivenEyefinityDesktop(); -break; - -//Displaytheoptionsagain -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//DisplayEyefinitysupportstatus -voidShowEyefinitySupport() -{ -IADLXDesktopServicesPtrdesktopSrv; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopServicesinterface"<<std::endl; -return; -} -IADLXSimpleEyefinityPtreyefinity; -res=desktopSrv->GetSimpleEyefinity(&eyefinity); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogetthesimpleEyefinityinterface"<<std::endl; -return; -} -adlx_boolsupported=false; -res=eyefinity->IsSupported(&supported); -if(ADLX_SUCCEEDED(res)) -std::cout<<"\tIsEyefinitysupported:"<<supported<<std::endl; -} - -//CreateanEyefinitydesktop -voidCreateEyefinityDesktop() -{ -IADLXDesktopServicesPtrdesktopSrv; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopServicesinterface"<<std::endl; -return; -} -IADLXSimpleEyefinityPtreyefinity; -res=desktopSrv->GetSimpleEyefinity(&eyefinity); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogetthesimpleEyefinityinterface"<<std::endl; -return; -} -IADLXEyefinityDesktopPtreyefinityDesktop; -res=eyefinity->Create(&eyefinityDesktop); -std::cout<<"\tReturncodeis:"<<res<<"(0meansSuccess)"<<std::endl; -} - -//DestroyalltheEyefinitydesktops -voidDestroyAllEyefinityDesktop() -{ -IADLXDesktopServicesPtrdesktopSrv; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopServicesinterface"<<std::endl; -return; -} -IADLXSimpleEyefinityPtreyefinity; -res=desktopSrv->GetSimpleEyefinity(&eyefinity); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogetthesimpleEyefinityinterface"<<std::endl; -return; -} -res=eyefinity->DestroyAll(); -std::cout<<"\tReturncodeis:"<<res<<"(0meansSuccess)"<<std::endl; - -} - -//DestroythespecifiedEyefinitydesktop -voidDestroyGivenEyefinityDesktop() -{ -IADLXDesktopServicesPtrdesktopSrv; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopServicesinterface"<<std::endl; -return; -} -IADLXSimpleEyefinityPtreyefinity; -res=desktopSrv->GetSimpleEyefinity(&eyefinity); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogetthesimpleEyefinityinterface"<<std::endl; -return; -} -IADLXDesktopListPtrdesktops; -res=desktopSrv->GetDesktops(&desktops); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopListinterface"<<std::endl; -return; -} -for(adlx_uintcrt=desktops->Begin();crt!=desktops->End();++crt) -{ -IADLXDesktopPtrdesktop; -res=desktops->At(crt,&desktop); -if(ADLX_FAILED(res)) -{ -std::cout<<"\tFailedtogettheDesktopinterface"<<std::endl; -break; -} -IADLXEyefinityDesktopPtreyefinityDesktop(desktop); -if(eyefinityDesktop==nullptr) -{ -std::cout<<"\tfailedtogettheEyefinityDesktopinterface"<<std::endl; -break; -} -res=eyefinity->Destroy(eyefinityDesktop); -std::cout<<"\tReturncodefordestroyingDesktop"<<crt<<"is:"<<res<<"(0meansSuccess)"<<std::endl; -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbefore returningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_gpus.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_gpus.xml deleted file mode 100644 index 16d7de6..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_gpus.xml +++ /dev/null @@ -1,304 +0,0 @@ - - - - cpp_sample_gpus - GPUs - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/CPP/Generic/GPUs</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/ISystem1.h" -#include<chrono> -#include<iostream> -#include<thread> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayGPUinformation -voidShowGPUInfo(constIADLXGPUPtr&gpu); - -//DisplayGPUhybridgraphictype -voidShowHybridGraphicType(); - -//AddGPUchangeeventlistener -voidAddGPUEventListener(constIADLXGPUPtr&gpu); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXGPUPtr&gpu); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//GPUeventchangehandlerdefinition -classGPUEventListener:publicIADLXGPUsEventListener -{ -adlx_boolADLX_STD_CALLOnGPUListChanged(IADLXGPUList*pNewGPUs) -{ -std::cout<<"GPUlistchangeeventreceived"<<std::endl; -if(pNewGPUs==nullptr) -{ -std::cout<<"GPUlistdoesnotexist"<<std::endl; -returnfalse; -} - -std::cout<<"GPUlistsize:"<<pNewGPUs->Size()<<std::endl; - -returntrue; -} -}; - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetGPUlist -IADLXGPUListPtrgpus; -res=g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); -if(ADLX_SUCCEEDED(res)&&!gpus->Empty()) -{ -//InspectforthefirstGPUinthelist -IADLXGPUPtrgpu; -res=gpus->At(0,&gpu); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandparsetheselection -MenuControl(gpu); -} -} -else -{ -std::cout<<"FailedtogettheGPUlist"<<std::endl; -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -//DisplayGPUinformation -voidShowGPUInfo(constIADLXGPUPtr&gpu) -{ -std::cout<<"\n====GPUinfo===="<<std::endl; -//DisplayGPUinfo -constchar*vendorId=nullptr; -ADLX_RESULTret=gpu->VendorId(&vendorId); -std::cout<<"VendorId:"<<vendorId<<"returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -ADLX_ASIC_FAMILY_TYPEasicFamilyType=ASIC_UNDEFINED; -ret=gpu->ASICFamilyType(&asicFamilyType); -std::cout<<"ASICFamilyType:"<<asicFamilyType<<"returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -ADLX_GPU_TYPEgpuType=GPUTYPE_UNDEFINED; -ret=gpu->Type(&gpuType); -std::cout<<"Type:"<<gpuType<<std::endl; - -adlx_boolisExternal=false; -ret=gpu->IsExternal(&isExternal); -std::cout<<"IsExternal:"<<isExternal<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -constchar*gpuName=nullptr; -ret=gpu->Name(&gpuName); -std::cout<<"Name:"<<gpuName<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -constchar*driverPath=nullptr; -ret=gpu->DriverPath(&driverPath); -std::cout<<"DriverPath:"<<driverPath<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -constchar*pnpString=nullptr; -ret=gpu->PNPString(&pnpString); -std::cout<<"PNPString:"<<pnpString<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -adlx_boolhasDesktops=false; -ret=gpu->HasDesktops(&hasDesktops); -std::cout<<"HasDesktops:"<<hasDesktops<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -adlx_uinttotalVRAM; -ret=gpu->TotalVRAM(&totalVRAM); -std::cout<<"TotalVRAM:"<<totalVRAM<<"MB"<<",returncodeis:"<<ret<<"(0meanssuccess)"<<std::endl; - -adlx_intid; -ret=gpu->UniqueId(&id); -std::cout<<"UniqueId:"<<id<<std::endl; - -IADLXGPU1Ptrgpu1(gpu); -if(gpu1) -{ -constchar*productName=nullptr; -ret=gpu1->ProductName(&productName); -std::cout<<"ProductName:"<<productName<<std::endl; - -ADLX_MGPU_MODEmode=MGPU_NONE; -ret=gpu1->MultiGPUMode(&mode); -printf("Multi-GPUMode:"); -if(mode==MGPU_PRIMARY) -std::cout<<"GPUistheprimaryGPU"<<std::endl; -elseif(mode==MGPU_SECONDARY) -std::cout<<"GPUisthesecondaryGPU"<<std::endl; -else -std::cout<<"GPUisnotinMulti-GPU"<<std::endl; - -ADLX_PCI_BUS_TYPEbusType=UNDEFINED; -ret=gpu1->PCIBusType(&busType); -std::cout<<"PCIBusType:"<<busType<<std::endl; - -adlx_uintlaneWidth=0; -ret=gpu1->PCIBusLaneWidth(&laneWidth); -std::cout<<"PCIBusLaneWidth:"<<laneWidth<<std::endl; -} -} - -voidShowHybridGraphicType() -{ -ADLX_HG_TYPEhgType=ADLX_HG_TYPE::NONE; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->HybridGraphicsType(&hgType); -if(ADLX_SUCCEEDED(res)) -{ -switch(hgType) -{ -caseADLX_HG_TYPE::NONE: -std::cout<<"GPUhybridtypeis:" -<<"ADLX_HG_TYPE::NONE"<<std::endl; -break; -caseADLX_HG_TYPE::AMD: -std::cout<<"GPUhybridtypeis:" -<<"ADLX_HG_TYPE::AMD"<<std::endl; -break; -caseADLX_HG_TYPE::OTHER: -std::cout<<"GPUhybridtypeis:" -<<"ADLX_HG_TYPE::OTHER"<<std::endl; -break; -} -} -} - -//AddGPUchangeeventlistener -voidAddGPUEventListener(constIADLXGPUPtr&gpu) -{ -GPUEventListenergpuListener; -IADLXGPUsChangedHandlingPtrgpusChangedHandling; -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->GetGPUsChangedHandling(&gpusChangedHandling); -if(ADLX_SUCCEEDED(res)&&gpusChangedHandling) -{ -res=gpusChangedHandling->AddGPUsListEventListener(&gpuListener); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"AdditionofGPUeventlistenersuccessful"<<std::endl; -} - -//EnableordisableaGPUdeviceusingWindowsDeviceManager -std::this_thread::sleep_for(std::chrono::seconds(15)); - -res=gpusChangedHandling->RemoveGPUsListEventListener(&gpuListener); -if(ADLX_SUCCEEDED(res)) -{ -std::cout<<"RemovalofGPUeventlistenersuccessful"<<std::endl; -} -} -} - -voidMainMenu() -{ -std::cout<<"\tChooseonefromthefollowingoptions"<<std::endl; - -std::cout<<"\t->Press1todisplayGPUinformation"<<std::endl; - -std::cout<<"\t->Press2toaddGPUeventlistener"<<std::endl; - -std::cout<<"\t->Press3todisplayGPUhybridgraphictype"<<std::endl; - -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaythemainmenuoptions"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl(constIADLXGPUPtr&gpu) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayGPUinformation -case'1': -ShowGPUInfo(gpu); -break; -//AddGPUchangeeventlistener -case'2': -AddGPUEventListener(gpu); -break; -//DisplayGPUhybridgraphictype -case'3': -ShowHybridGraphicType(); -break; -//Displaymainmenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_log.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_log.xml deleted file mode 100644 index 410fb9a..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_log.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - cpp_sample_log - Log - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to enable log and get log data when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Enable log with local file, file [./ADLX.log] is created.</td></tr> - <tr><td>2</td><td> Enable log with DebugView.</td></tr> - <tr><td>3</td><td> Enable log with application handle.</td></tr> - <tr><td>Q/q</td><td> Terminate the application.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/Generic/Log</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IDisplays.h" -#include"SDK/Include/ILog.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestoryed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DemonstrateshowapplicationscaptureADLXlog -//ThelogclassmaygetusedthroughouttheliftimeofADLX. -//GlobalvariablesareusedastheyholdtheirvaluethroughoutthelifetimeofADLX. -classAppHandlLog:publicIADLXLog -{ -public: -ADLX_RESULTADLX_STD_CALLWriteLog(constwchar_t*msg) -{ -wprintf(L"%s",msg); -returnADLX_OK; -} -}; - -//ApplicationcreatesobjecttohandleADLXlog -staticAppHandlLogg_appHandlLog; - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -//Localfile -voidUseLocalFile(); - -//Outputwindowoftheapplicationdebugger -voidUseWindowDebugger(); - -//Applicationhandlelog -voidUseAppHandlLog(); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(); - -intmain() -{ -//Definereturncode -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//Menu -MainMenu(); -MenuControl(); - -//CallADLXmethodstogeneratelogentries -//Getdisplayserviceandthenumberofdisplays -IADLXDisplayServicesPtrdisplayService; -res=g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); -if(ADLX_SUCCEEDED(res)) -{ -adlx_uintdisplayNum; -displayService->GetNumberOfDisplays(&displayNum); -} -} -else -{ -returnWaitAndExit("ADLXinitializationfailed",0); -} - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); -return0; -} - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseebeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - -//Localfile,ADLXlogdatawillbesavedtofile -voidUseLocalFile() -{ -//Logdestination,severity,logfile -ADLX_LOG_DESTINATIONmode=LOCALFILE; -ADLX_LOG_SEVERITYseverity=LDEBUG; -wchar_tlogfile[]=L"./ADLX.log"; - -//Enablelog -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->EnableLog(mode,severity,nullptr,logfile); -std::cout<<"Enabledlogres:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//ConfigureADLXlogtosenderrors,warningsanddebuginformationmessagestotheDebugView. -voidUseDebugView() -{ -//Logdestination,severity -ADLX_LOG_DESTINATIONmode=DBGVIEW; -ADLX_LOG_SEVERITYseverity=LDEBUG; - -//Enablelog -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->EnableLog(mode,severity,nullptr,nullptr); -std::cout<<"Enabledlogresult:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//Applicationhandlelog,app'scallbackwillhandletheADLXlog -voidUseAppHandlLog() -{ -//Logdestination,severity -ADLX_LOG_DESTINATIONmode=APPLICATION; -ADLX_LOG_SEVERITYseverity=LDEBUG; - -//Enablelog -ADLX_RESULTres=g_ADLXHelp.GetSystemServices()->EnableLog(mode,severity,&g_appHandlLog,nullptr); -std::cout<<"Enabledlogresult:"<<res<<"(0meanssuccess)"<<std::endl; -} - -//Mainmenu -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; -std::cout<<"\t->Press1toenablelogwithlocalfile,file[./ADLX.log]willbecreated."<<std::endl; -std::cout<<"\t->Press2toenablelogwithDebugView"<<std::endl; -std::cout<<"\t->Press3toenablelogwithapphandle"<<std::endl; -} - -//Menuactioncontrol -voidMenuControl() -{ -intnum=0; -num=getchar(); -switch(num) -{ -//Localfile -case'1': -UseLocalFile(); -break; - -//DebugView -case'2': -UseDebugView(); -break; - -//Applicationhandle -case'3': -UseAppHandlLog(); -break; - -default: -std::cout<<"Invalidinput"<<std::endl; -break; -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_sample_userprocess.xml b/vendor/adlx/SDKDoc/xml/cpp_sample_userprocess.xml deleted file mode 100644 index 5b5bbc9..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_sample_userprocess.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - cpp_sample_userprocess - UserProcess - - - -Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include<Windows.h> -#include<TlHelp32.h> -#include<TCHAR.H> -#include"GlobalDefs.h" - -//Getprocessid -staticDWORDGetProcessIdOfWinLogon(DWORDid); - -//Gettokenbyname -staticBOOLGetTokenByName(HANDLE&hToken); - -//Invokeprocess -staticBOOLInvokeProcess(LPCWSTRimage,LPWSTRcmd); - -//Thethreadtocreateuserprocess -staticDWORDWINAPICreateUserProcess(LPVOIDlpParam); - -DWORDGetProcessIdOfWinLogon(DWORDid) -{ -HANDLEhSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); -if(hSnap==INVALID_HANDLE_VALUE) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetProcessIdOfWinLogon:'CreateToolhelp32Snapshot'failed."); -return0; -} - -PROCESSENTRY32ProcEntry={0}; -ProcEntry.dwSize=sizeof(PROCESSENTRY32); - -if(!::Process32First(hSnap,&ProcEntry)) -{ -::CloseHandle(hSnap); -XTrace(L"ADLXCallService:InvokeUserProcess::GetProcessIdOfWinLogon:'Process32First'failed."); -return0; -} - -DWORDprocessId=0; -for(;;) -{ -if(_tcscmp(ProcEntry.szExeFile,L"winlogon.exe")==0) -{ -DWORDlogonSessionId=0; -if(!::ProcessIdToSessionId(ProcEntry.th32ProcessID,&logonSessionId)) -continue; - -if(logonSessionId==id) -{ -processId=ProcEntry.th32ProcessID; -break; -} -} - -if(!Process32Next(hSnap,&ProcEntry)) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetProcessIdOfWinLogon:'Process32Next'failed."); -break; -} -} -::CloseHandle(hSnap); - -returnprocessId; -} - -BOOLGetTokenByName(HANDLE&hToken) -{ -BOOLret=FALSE; - -typedefBOOL(WINAPI*LPWTSQUERYUSERTOKEN)(DWORD,PHANDLE); -LPWTSQUERYUSERTOKENfWTSQueryUserTokenPtr=NULL; - -HMODULEhLib=NULL; - -do -{ -DWORDsessionId=WTSGetActiveConsoleSessionId(); -if(sessionId==0xFFFFFFFF) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:WTSGetActiveConsoleSessionId:failed."); -break; -} - -if(fWTSQueryUserTokenPtr==NULL) -{ -if(hLib==NULL) -hLib=LoadLibrary(L"WtsApi32.dll"); - -if(hLib) -fWTSQueryUserTokenPtr=(LPWTSQUERYUSERTOKEN)GetProcAddress(hLib,"WTSQueryUserToken"); - -if(!fWTSQueryUserTokenPtr) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:Getsymbol'WTSQueryUserToken'failed."); -break; -} -} - -if(!fWTSQueryUserTokenPtr(sessionId,&hToken)) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'fWTSQueryUserTokenPtr'failed,errorcode:%d.",GetLastError()); -break; -} - -DWORDwinLogonProcessId=GetProcessIdOfWinLogon(sessionId); -HANDLEhWinlogon=::OpenProcess(MAXIMUM_ALLOWED,FALSE,winLogonProcessId); -if(hWinlogon==NULL) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'OpenProcess'failed."); -break; -} - -BOOLbResult=::OpenProcessToken(hWinlogon,TOKEN_ALL_ACCESS,&hToken); -::CloseHandle(hWinlogon); - -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'OpenProcessToken'failed."); -break; -} - -HANDLEhTokenDup=NULL; -bResult=::DuplicateTokenEx(hToken,MAXIMUM_ALLOWED,NULL,SecurityIdentification,TokenPrimary,&hTokenDup); -::CloseHandle(hToken); -hToken=NULL; - -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'DuplicateTokenEx'failed."); -break; -} - -bResult=::SetTokenInformation(hTokenDup,TokenSessionId,(void*)&sessionId,sizeof(DWORD)); -if(!bResult) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::GetTokenByName:'SetTokenInformation'failed."); -break; -} - -TOKEN_PRIVILEGESTokenPriv={0}; -::LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&TokenPriv.Privileges[0].Luid); - -TokenPriv.PrivilegeCount=0; -TokenPriv.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; -::AdjustTokenPrivileges(hTokenDup,FALSE,&TokenPriv,sizeof(TokenPriv),NULL,NULL); - -hToken=hTokenDup; -ret=true; - -}while(0); - -if(hLib) -FreeLibrary(hLib); - -returnret; -} - -BOOLInvokeProcess(LPCWSTRimage,LPWSTRcmd) -{ -if(image==NULL||cmd==NULL) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::InvokeProcess:parameter(s)invalid."); -returnFALSE; -} - -HANDLEhToken=NULL; -if(!GetTokenByName(hToken)||hToken==NULL)//"SVCHOST.EXE" -{ -XTrace(L"ADLXCallService:InvokeUserProcess::InvokeProcess:GetTokenByNamefailed."); -returnFALSE; -} - -XTrace(L"ADLXCallService:InvokeUserProcess::InvokeProcess:'GetTokenByName',hToken:%d.",hToken); -XTrace(L"ADLXCallService:InvokeUserProcess::InvokeProcess:'GetTokenByName',image:%s,cmd:%s",image,cmd); - -STARTUPINFOWsi; -ZeroMemory(&si,sizeof(STARTUPINFOW)); -si.cb=sizeof(STARTUPINFOW); -si.lpDesktop=L"winsta0\\default"; - -PROCESS_INFORMATIONpi; -BOOLret=CreateProcessAsUserW(hToken,image,cmd,NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi); -if(!ret) -{ -XTrace(L"ADLXCallService:InvokeUserProcess::InvokeProcess:'CreateProcessAsUserW'failed,errorcode:%d.",GetLastError()); -returnFALSE; -} - -returnret; -} - -DWORDWINAPICreateUserProcess(LPVOIDlpParam) -{ -if(lpParam==NULL) -returnFALSE; - -wchar_timagePath[MAX_RESULT_LEN]={0}; -GetModuleFileNameW(NULL,imagePath,MAX_RESULT_LEN); - -InvokeProcess(imagePath,(WCHAR*)lpParam); - -returnTRUE; -} - -BOOLGetUserProcessData(Messager*messager,ResponseData*responseData) -{ -if(messager==NULL) -{ -XTrace(L"ADLXCallService:GetUserProcessData:invalidmessager"); -returnFALSE; -} - -if(responseData==NULL) -{ -XTrace(L"ADLXCallService:GetUserProcessData:NULLresponseData"); -returnFALSE; -} - -WCHAReventPath[MAX_PATH]={0}; -WCHARshmPath[MAX_PATH]={0}; - -swprintf_s(eventPath,ADXL_EVENT_NAME,messager->adlxEntityName); -swprintf_s(shmPath,ADXL_SHAREMENORY_NAME,messager->adlxEntityName); - -SECURITY_DESCRIPTORsd; -SECURITY_ATTRIBUTESsa; - -InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION); -SetSecurityDescriptorDacl(&sd,TRUE,(PACL)NULL,FALSE); - -sa.nLength=sizeof(SECURITY_ATTRIBUTES); -sa.bInheritHandle=TRUE; -sa.lpSecurityDescriptor=&sd; - -HANDLEfinishEvent=CreateEventW(&sa,FALSE,FALSE,eventPath); - -XTrace(L"ADLXCallService:Main:GetUserProcessData,evt:%s,shmpath:%s\n",eventPath,shmPath); - -ShareMemshmf; -if(shmf.Create(SHARE_MEMORY_MAX_SIZE,shmPath)) -{ -if(shmf.WriteBuffer((PVOID)messager,sizeof(Messager))) -{ -//CreateuserprocesstocallADLXfunction -DWORDthreadId=0; -CreateThread(NULL,0,CreateUserProcess,(LPVOID)messager->adlxEntityName,0,&threadId); -//Waituserprocesstowriteresulttosharedmemory -if(WAIT_TIMEOUT==WaitForSingleObject(finishEvent,INFINITE)) -{ -returnFALSE; -} -//Gettemplatestructurefromsharedmemory -if(shmf.ReadBuffer((PVOID)responseData,sizeof(ResponseData))) -{ -XTrace(L"ADLXCallService:Main:GetUserProcessData:Readbackresult:%s",responseData->executedResults); -returnTRUE; -} -} -} -returnFALSE; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpp_ssm.xml b/vendor/adlx/SDKDoc/xml/cpp_ssm.xml deleted file mode 100644 index f48bda0..0000000 --- a/vendor/adlx/SDKDoc/xml/cpp_ssm.xml +++ /dev/null @@ -1,242 +0,0 @@ - - - - cpp_ssm - SmartShiftMax - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to control AMD SmartShift Max when programming with ADLX.</p> - <h2>Command Prompts</h2> - <table class="doxtable docTable"> - <thead> - <tr style="height:40px"><th>Command Prompt</th><th>Description</th></tr> - </thead> - <tbody> - <tr><td>1</td><td> Display AMD SmartShift Max support.</td></tr> - <tr><td>2</td><td> Display AMD SmartShift Max bias value, bias mode, and bias range.</td></tr> - <tr><td>3</td><td> Set SmartShift Max bias mode to Manual.</td></tr> - <tr><td>4</td><td> Set SmartShift Max bias mode to Auto.</td></tr> - <tr><td>5</td><td> Set SmartShift Max bias value.</td></tr> - <tr><td>M/m</td><td> Show this menu.</td></tr> - <tr><td>Q/q</td><td> Quit.</td></tr> - </tbody> - </table> - <h2>Sample Path</h2> - <p>/Samples/CPP/PowerTuning/SmartShiftMax</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - - -#include"SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"SDK/Include/IPowerTuning.h" -#include"SDK/Include/ISystem1.h" -#include<iostream> - -//UseADLXnamespace -usingnamespaceadlx; - -//ADLXHelperinstance -//NooutstandinginterfacesfromADLXmustexistwhenADLXisdestroyed. -//Useglobalvariablestoensurevalidityoftheinterface. -staticADLXHelperg_ADLXHelp; - -//DisplayAMDSmartShiftMaxsupport -voidShowSmartShiftMaxSupport(constIADLXSmartShiftMaxPtr&ssm); - -//DisplaycurrentAMDSmartShiftMaxstate -voidShowSmartShiftMaxSate(constIADLXSmartShiftMaxPtr&ssm); - -//SetAMDSmartShiftMaxbiasmode -voidSetSmartShiftMaxBiasMode(constIADLXSmartShiftMaxPtr&ssm,intindex); - -//SetAMDSmartShiftMaxbiasvalue -voidSetSmartShiftMaxBiasValue(constIADLXSmartShiftMaxPtr&ssm); - -//Mainmenu -voidMainMenu(); - -//Menuactioncontrol -voidMenuControl(constIADLXSmartShiftMaxPtr&ssm); - -//Waitforexitwitherrormessage -intWaitAndExit(constchar*msg,constintretCode); - -intmain() -{ -ADLX_RESULTres=ADLX_FAIL; - -//InitializeADLX -res=g_ADLXHelp.Initialize(); -if(ADLX_SUCCEEDED(res)) -{ -//GetIADLXSystem1interfaceviaIADLXSystem::QueryInterface -IADLXSystem1Ptrsystem1; -res=g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(),reinterpret_cast<void**>(&system1)); -if(ADLX_SUCCEEDED(res)) -{ -//Getpowertuningservice -IADLXPowerTuningServicesPtrpowerTuningService; -res=system1->GetPowerTuningServices(&powerTuningService); -if(ADLX_SUCCEEDED(res)) -{ -//GetAMDSmartShiftMaxinterface -IADLXSmartShiftMaxPtrssm; -res=powerTuningService->GetSmartShiftMax(&ssm); -if(ADLX_SUCCEEDED(res)) -{ -//Displaymainmenuoptions -MainMenu(); -//Getandexecutethechoice -MenuControl(ssm); -} -else -std::cout<<"FailedtogetAMDSmartShiftMaxinterface"<<std::endl; -} -else -std::cout<<"Failedtogetpowertuningservice"<<std::endl; -} -else -std::cout<<"FailedtogetIADLXSystem1"<<std::endl; -} -else -returnWaitAndExit("\tg_ADLXHelpinitializefailed",0); - -//DestroyADLX -res=g_ADLXHelp.Terminate(); -std::cout<<"DestroyADLXres:"<<res<<std::endl; - -//Pausetoseetheprintout -system("pause"); - -return0; -} - -voidShowSmartShiftMaxSupport(constIADLXSmartShiftMaxPtr&ssm) -{ -adlx_boolsupported=false; -ssm->IsSupported(&supported); -std::cout<<"\tIsSupported:"<<supported<<std::endl; -} - -voidShowSmartShiftMaxSate(constIADLXSmartShiftMaxPtr&ssm) -{ -ADLX_SSM_BIAS_MODEmode; -ADLX_RESULTret=ssm->GetBiasMode(&mode); -if(ADLX_SUCCEEDED(ret)) -std::cout<<"\tBiasmode:"<<(mode==ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL?"manual":"auto")<<std::endl; -else -std::cout<<"\tFailedtogetbiasmode,errorcode:"<<ret<<std::endl; - -adlx_intbias=0; -ret=ssm->GetBias(&bias); -if(ADLX_SUCCEEDED(ret)) -std::cout<<"\tBiasvalue:"<<bias<<std::endl; -else -std::cout<<"\tFailedtogetbiasvalue,errorcode:"<<ret<<std::endl; - -ADLX_IntRangerange; -ret=ssm->GetBiasRange(&range); -if(ADLX_SUCCEEDED(ret)) -std::cout<<"\tBiasrange:["<<range.minValue<<","<<range.maxValue<<"],step:"<<range.step<<std::endl; -else -std::cout<<"\tFailedtogetbiasrange,errorcode:"<<ret<<std::endl; -} - -voidSetSmartShiftMaxBiasMode(constIADLXSmartShiftMaxPtr&ssm,intindex) -{ -ADLX_SSM_BIAS_MODEmode=index==0?ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL:ADLX_SSM_BIAS_MODE::SSM_BIAS_AUTO; -ADLX_RESULTres=ssm->SetBiasMode(mode); -std::cout<<"\tSetbiasmode"<<(mode==ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL?"manual":"auto")<<",returncode:"<<res<<std::endl; -} - -voidSetSmartShiftMaxBiasValue(constIADLXSmartShiftMaxPtr&ssm) -{ -adlx_intbias=0; -ssm->GetBias(&bias); -ADLX_IntRangerange; -ssm->GetBiasRange(&range); -adlx_intbase=(range.maxValue+range.minValue)/2; -adlx_intvalue=bias==base?base+range.step:base; -ADLX_RESULTres=ssm->SetBias(value); -std::cout<<"\tSetbiasvalue:"<<value<<",returncode:"<<res<<std::endl; -} - -voidMainMenu() -{ -std::cout<<"\tChoosefromthefollowingoptions:"<<std::endl; -std::cout<<"\t->Press1todisplayAMDSmartShiftMaxsupport"<<std::endl; -std::cout<<"\t->Press2todisplayAMDSmartShiftMaxbiasvalue,biasmode,andbiasrange"<<std::endl; -std::cout<<"\t->Press3tosetAMDSmartShiftMaxbiasmodetoManual"<<std::endl; -std::cout<<"\t->Press4tosetAMDSmartShiftMaxbiasmodetoAuto"<<std::endl; -std::cout<<"\t->Press5tosetAMDSmartShiftMaxbiasvalue"<<std::endl; -std::cout<<"\t->PressQ/qtoterminatetheapplication"<<std::endl; -std::cout<<"\t->PressM/mtodisplaymainmenuoptions"<<std::endl; -} - -voidMenuControl(constIADLXSmartShiftMaxPtr&ssm) -{ -intnum=0; -while((num=getchar())!='q'&&num!='Q') -{ -switch(num) -{ -//DisplayAMDSmartShiftmaxsupport -case'1': -ShowSmartShiftMaxSupport(ssm); -break; - -//DisplaycurrentAMDSmartShiftmaxstate -case'2': -ShowSmartShiftMaxSate(ssm); -break; - -//SetAMDSmartShiftmaxbiasmode -case'3': -case'4': -SetSmartShiftMaxBiasMode(ssm,num-'3'); -break; - -//SetAMDSmartShiftmaxbiasvalue -case'5': -SetSmartShiftMaxBiasValue(ssm); -break; - -//Displaymenuoptions -case'm': -case'M': -MainMenu(); -break; -default: -break; -} -} -} - -intWaitAndExit(constchar*msg,constintretCode) -{ -//Printoutthemessageandpausetoseeitbeforereturningthedesiredcode -if(nullptr!=msg) -std::cout<<msg<<std::endl; - -system("pause"); -returnretCode; -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppdesktop_8md.xml b/vendor/adlx/SDKDoc/xml/cppdesktop_8md.xml deleted file mode 100644 index 3248c02..0000000 --- a/vendor/adlx/SDKDoc/xml/cppdesktop_8md.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - cppdesktop.md - - - - - -#Desktop{#domain_cpp_sample_Desktop} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_sample_desktopevent|Sampledemonstratinghowtoobtainthedesktopschangedhandleandadd/removecallbackforchangedevents.| -|@refcpp_sample_eyefinity|SampledemonstratinghowtocreateanEyefinitydesktop.| -|@refcpp_sample_PrimaryAdapter|SampledemonstratinghowtogettheprimaryadapterwhenprogrammingwithADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppdisplay_8md.xml b/vendor/adlx/SDKDoc/xml/cppdisplay_8md.xml deleted file mode 100644 index 0e27165..0000000 --- a/vendor/adlx/SDKDoc/xml/cppdisplay_8md.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - cppdisplay.md - - - - - -#Display{#domain_cpp_sample_Display} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_sample_display3DLUT|SampledemonstratingSet/Get3DLUT.| -|@refcpp_sample_displayBlanking|SampledemonstratingSet/GetDisplayBlanking.| -|@refcpp_display_ColorDepth|SampledemonstratinghowtoSet/GetColorDepth.| -|@refcpp_display_DisplayConnectivityExperience|SampledemonstratinghowtoSet/GetConnectivity-Experience.| -|@refcpp_display_CustomColor|SampledemonstratinghowtoSet/GetCustomColor.| -|@refcpp_display_CustomResolution|SampledemonstratinghowtoSet/GetCustomResolution.| -|@refcpp_sample_displayEvents|Sampledemonstratinghowtomonitoreventchanges.| -|@refcpp_display_FreeSync|SampledemonstratinghowtoSet/GetFreeSync.| -|@refcpp_sample_displayGamma|SampledemonstratingSet/GetGamma.| -|@refcpp_sample_displayGamut|SampledemonstratingSet/GetGamut.| -|@refcpp_display_GPUScaling|SampledemonstratinghowtoSet/GetGPUScaling.| -|@refcpp_display_HDCP|SampledemonstratinghowtoSet/GetHDCP.| -|@refcpp_sample_displayinfo|Sampledemonstratinghowtogetdisplayandoutputinformation.| -|@refcpp_display_IntegerScaling|SampledemonstratinghowtoSet/GetIntegerScaling.| -|@refcpp_display_PixelFormat|SampledemonstratinghowtoSet/GetPixelFormat.| -|@refcpp_display_ScalingMode|SampledemonstratinghowtoSet/Getscalingmode.| -|@refcpp_display_DisplayVariBright|SampledemonstratinghowtoSet/GetVariBright.| -|@refcpp_display_VSR|SampledemonstratinghowtoSet/Getvirtualsuperresolution.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppgeneral_8md.xml b/vendor/adlx/SDKDoc/xml/cppgeneral_8md.xml deleted file mode 100644 index 6e23ae3..0000000 --- a/vendor/adlx/SDKDoc/xml/cppgeneral_8md.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - cppgeneral.md - - - - - -#Miscellaneous{#domain_cpp_sample_Generic} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_sample_gpus|SampledemonstratinghowtoenumerateGPUs.| -|@refcpp_sample_InvalidObject|Sampledemonstratinghowtohandleinvalidobject.| -|@refcpp_sample_log|Sampledemonstratinghowtoenablelogandgetlogdata.| -|@refcpp_sample_WorkWithADL|SampledemonstratinghowtoworkwithADLXalongADL(includingmappingbetweenADLXandADLdatawiththe@refDOX_IADLMappinginterface).| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppgputuning_8md.xml b/vendor/adlx/SDKDoc/xml/cppgputuning_8md.xml deleted file mode 100644 index ab1b60e..0000000 --- a/vendor/adlx/SDKDoc/xml/cppgputuning_8md.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - cppgputuning.md - - - - - -#GPUTuning{#domain_cpp_sample_GPUTuning} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -@ifPARTNER_V1 -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_GPUAutoTuning|SampledemonstratinghowtocontrolGPUAutoTuning.| -|@refcpp_GPUPresetTuning|SampledemonstratinghowtocontrolGPUPresetTuning.| -|@refcpp_ManualFanTuning|SampledemonstratinghowtocontrolGPUManualFanTuning.| -|@refcpp_ManualGraphicsTuning|SampledemonstratinghowtocontrolGPUManualGraphicsTuning.| -|@refcpp_ManualPowerTuning|SampledemonstratinghowtocontrolGPUManualPowerTuning.| -|@refcpp_ManualVRAMTuning|SampledemonstratinghowtocontrolGPUVRAMTuning.| -|@refcpp_PartnerTuningServices|SampledemonstratinghowtogetpartnertuningserviceandcontrolMobileGPUTuning.| -|@refcpp_sam|SampledemonstratinghowtocontrolSmartAccessMemory.| -@else -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_GPUAutoTuning|SampledemonstratinghowtocontrolGPUAutoTuning.| -|@refcpp_GPUPresetTuning|SampledemonstratinghowtocontrolGPUPresetTuning.| -|@refcpp_ManualFanTuning|SampledemonstratinghowtocontrolGPUManualFanTuning.| -|@refcpp_ManualGraphicsTuning|SampledemonstratinghowtocontrolGPUManualGraphicsTuning.| -|@refcpp_ManualPowerTuning|SampledemonstratinghowtocontrolGPUManualPowerTuning.| -|@refcpp_ManualVRAMTuning|SampledemonstratinghowtocontrolGPUVRAMTuning.| -|@refcpp_sam|SampledemonstratinghowtocontrolSmartAccessMemory.| -@endif - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppi2c_8md.xml b/vendor/adlx/SDKDoc/xml/cppi2c_8md.xml deleted file mode 100644 index f0dd895..0000000 --- a/vendor/adlx/SDKDoc/xml/cppi2c_8md.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - cppi2c.md - - - - - -#I2C{#domain_cpp_sample_I2C} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_I2C|Sampledemonstratingshowhowtouse@refDOX_IADLXI2Cinterfacetoreadandwritedata.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppperformance_8md.xml b/vendor/adlx/SDKDoc/xml/cppperformance_8md.xml deleted file mode 100644 index d0ee742..0000000 --- a/vendor/adlx/SDKDoc/xml/cppperformance_8md.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - cppperformance.md - - - - - -#PerformanceMonitoring{#domain_cpp_sample_PerformanceMonitoring} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_PerfAllMetrics|Sampledemonstratinghowtocontrolallmetrics.| -|@refcpp_PerfFPSMetrics|SampledemonstratinghowtocontrolFPSmetrics.| -|@refcpp_PerfGPUMetrics|SampledemonstratinghowtocontrolGPUmetrics.| -|@refcpp_PerfSystemMetrics|Sampledemonstratinghowtocontrolsystemmetrics.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cpppowertuning_8md.xml b/vendor/adlx/SDKDoc/xml/cpppowertuning_8md.xml deleted file mode 100644 index 616dd75..0000000 --- a/vendor/adlx/SDKDoc/xml/cpppowertuning_8md.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - cpppowertuning.md - - - - - -#PowerTuning{#domain_cpp_sample_powertuning} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_ssm|SampledemonstratinghowtocontrolAMDSmartShiftMax.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppservicecall_8md.xml b/vendor/adlx/SDKDoc/xml/cppservicecall_8md.xml deleted file mode 100644 index 7d498ca..0000000 --- a/vendor/adlx/SDKDoc/xml/cppservicecall_8md.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - cppservicecall.md - - - - - -#ServiceCall{#domain_cpp_sample_servicecall} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_sample_GPUServiceCall|SampledemonstratinghowtousewindowsservicecalltogetGPUinformation.| -|@refcpp_sample_ShareMemory|SampledemonstratinghowtocreateashareMemory.| -|@refcpp_sample_userprocess|Sampledemonstratinghowtohowtocreateauserprocess.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cppsync_8md.xml b/vendor/adlx/SDKDoc/xml/cppsync_8md.xml deleted file mode 100644 index 0fdb7f7..0000000 --- a/vendor/adlx/SDKDoc/xml/cppsync_8md.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - cppsync.md - - - - - - -#ReceivingEventsNotifications{#domain_cpp_sample_globalsync} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refcpp_sample_AsyncEventHandling|Sampledemonstratinghowtohandlelongprocessingforaneventonaseparatethread.| -|@refcpp_Sync3DReceive|Sampledemonstratinghowtoreceivenotificationsofchangesin3DsettingsusingADLX.| -|@refcpp_SyncDisplayReceive|SampledemonstratinghowtoreceivenotificationsofchangesindisplaysettingsusingADLX.| -|@refcpp_SyncGPUTuning|SampledemonstratinghowtoreceivenotificationsofchangesinGPUtuningusingADLX.| -|@refcpp_SyncPowerTuning|SampledemonstratinghowtoreceivenotificationsofchangesinpowertuningusingADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/cs_sample_adlxcsharpbind.xml b/vendor/adlx/SDKDoc/xml/cs_sample_adlxcsharpbind.xml deleted file mode 100644 index ecdfafe..0000000 --- a/vendor/adlx/SDKDoc/xml/cs_sample_adlxcsharpbind.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - cs_sample_adlxcsharpbind - ADLXCSharpBind - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to wrap ADLX with SWIG when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/csharp/ADLXCSharpBind</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -%module(directors="1")ADLX -%{ -#include<Windows.h> -#include"../../../../SDK/Include/ADLXDefines.h" -#include"../../../../SDK/Include/ICollections.h" -#include"../../../../SDK/Include/IDisplays.h" -#include"../../../../SDK/Include/ISystem.h" -#include"../../../../SDK/Include/ILog.h" -#include"../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" - -typedefint64_tadlx_int64; -typedefint32_tadlx_int32; -typedefint16_tadlx_int16; -typedefint8_tadlx_int8; -typedefuint64_tadlx_uint64; -typedefuint32_tadlx_uint32; -typedefuint16_tadlx_uint16; -typedefuint8_tadlx_uint8; -typedefsize_tadlx_size; -typedefvoid*adlx_handle; -typedefdoubleadlx_double; -typedeffloatadlx_float; -typedefvoidadlx_void; -typedeflongadlx_long; -typedefadlx_int32adlx_int; -typedefunsignedlongadlx_ulong; -typedefadlx_uint32adlx_uint; -typedefbooladlx_bool; -typedefwchar_tWCHAR;//wc,16-bitUNICODEcharacter -typedefWCHARTCHAR; - -//Microsoft -#defineADLX_CORE_LINK__declspec(dllexport) -#defineADLX_STD_CALL__stdcall -#defineADLX_CDECL_CALL__cdecl -#defineADLX_FAST_CALL__fastcall -#defineADLX_INLINE__inline -#defineADLX_FORCEINLINE__forceinline -#defineADLX_NO_VTABLE__declspec(novtable) - -//IID's -#defineADLX_DECLARE_IID(X)staticADLX_INLINEconstwchar_t*IID(){returnX;} -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) -#defineADLX_DECLARE_ITEM_IID(X)staticADLX_INLINEconstwchar_t*ITEM_IID(){returnX;} - -usingnamespaceadlx; -%} - -typedefint64_tadlx_int64; -typedefint32_tadlx_int32; -typedefint16_tadlx_int16; -typedefint8_tadlx_int8; -typedefuint64_tadlx_uint64; -typedefuint32_tadlx_uint32; -typedefuint16_tadlx_uint16; -typedefuint8_tadlx_uint8; -typedefsize_tadlx_size; -typedefvoid*adlx_handle; -typedefdoubleadlx_double; -typedeffloatadlx_float; -typedefvoidadlx_void; -typedeflongadlx_long; -typedefadlx_int32adlx_int; -typedefunsignedlongadlx_ulong; -typedefadlx_uint32adlx_uint; -typedefbooladlx_bool; -typedefwchar_tWCHAR;//wc,16-bitUNICODEcharacter -typedefWCHARTCHAR; - -//Microsoft -#defineADLX_CORE_LINK__declspec(dllexport) -#defineADLX_STD_CALL__stdcall -#defineADLX_CDECL_CALL__cdecl -#defineADLX_FAST_CALL__fastcall -#defineADLX_INLINE__inline -#defineADLX_FORCEINLINE__forceinline -#defineADLX_NO_VTABLE__declspec(novtable) - -//IID's -#defineADLX_DECLARE_IID(X)staticADLX_INLINEconstwchar_t*IID(){returnX;} -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) - -#defineADLX_DECLARE_ITEM_IID(X)staticADLX_INLINEconstwchar_t*ITEM_IID(){returnX;} - -/*Callbacktoturnondirectorwrapping*/ -%feature("director")IADLXDisplayListChangedListener; - -%includestdint.i -%includecarrays.i -%includewindows.i -%includetypemaps.i - -%include"../../../../SDK/Include/ADLXDefines.h" -%include"../../../../SDK/Include/ICollections.h" -%include"../../../../SDK/Include/IDisplays.h" -%include"../../../../SDK/Include/ISystem.h" -%include"../../../../SDK/Include/ILog.h" -%include"../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -usingnamespaceadlx; - -//T*pointer -%includecpointer.i -%pointer_functions(adlx_int,intP); -%pointer_functions(double,doubleP); -%pointer_functions(adlx_uint,uintP); -%pointer_functions(ADLX_DISPLAY_TYPE,displayTypeP); -%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE,disConnectTypeP); -%pointer_functions(ADLX_DISPLAY_SCAN_TYPE,disScanTypeP); -%pointer_functions(adlx_size,adlx_sizeP); - -//T**ppointer -%define%ppointer_functions(TYPE,NAME) -%{ -staticTYPE*new_##NAME(){%} -%{returnnewTYPE();%} -%{} - -staticTYPE*copy_##NAME(TYPEvalue){%} -%{returnnewTYPE(value);%} -%{} - -staticvoiddelete_##NAME(TYPE*obj){%} -%{if(*obj)delete*obj;%} -%{} - -staticvoidNAME##_assign(TYPE*obj,TYPEvalue){ -*obj=value; -} - -staticTYPENAME##_value(TYPE*obj){ -return*obj; -} -%} - -TYPE*new_##NAME(); -TYPE*copy_##NAME(TYPEvalue); -voiddelete_##NAME(TYPE*obj); -voidNAME##_assign(TYPE*obj,TYPEvalue); -TYPENAME##_value(TYPE*obj); - -%enddef - -%define%pointer_cast(TYPE1,TYPE2,NAME) -%inline%{ -TYPE2NAME(TYPE1x){ -return(TYPE2)x; -} -%} -%enddef -%ppointer_functions(IADLXDisplayServices*,displaySerP_Ptr); -%ppointer_functions(IADLXDisplayList*,displayListP_Ptr); -%ppointer_functions(IADLXDisplay*,displayP_Ptr); -%ppointer_functions(IADLXDisplayChangedHandling*,displayChangeHandlP_Ptr); -%ppointer_functions(char*,charP_Ptr); - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cs_sample_display_events.xml b/vendor/adlx/SDKDoc/xml/cs_sample_display_events.xml deleted file mode 100644 index f0a944b..0000000 --- a/vendor/adlx/SDKDoc/xml/cs_sample_display_events.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - cs_sample_displayEvents - DisplayEvents - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demontrates how to handle notifications about display change when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/csharp/DisplayEvents</p> -</body> -</html> Code - -C# // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -usingSystem; -usingSystem.Collections.Generic; -usingSystem.Linq; -usingSystem.Text; -usingSystem.Threading.Tasks; -usingSystem.Threading; - -namespaceDisplayEvents -{ -classmainDisplayEvents -{ -staticvoidMain(string[]args) -{ -//InitializeADLXwithADLXHelper -ADLXHelperhelp=newADLXHelper(); -ADLX_RESULTres=help.Initialize(); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//Getsystemservices -IADLXSystemsys=help.GetSystemServices(); - -if(sys!=null) -{ -//Getdisplayservices -SWIGTYPE_p_p_adlx__IADLXDisplayServicess=ADLX.new_displaySerP_Ptr(); -res=sys.GetDisplaysServices(s); -IADLXDisplayServicesdisplayService=ADLX.displaySerP_Ptr_value(s); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//Getdisplaychangedhandling -SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandlingppDisChangeHand=ADLX.new_displayChangeHandlP_Ptr(); -res=displayService.GetDisplayChangedHandling(ppDisChangeHand); -IADLXDisplayChangedHandlinghand=ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//CallbackfordisplayListChanged -DisplayListCallBackcall=newDisplayListCallBack(); -hand.AddDisplayListEventListener(call); -Console.WriteLine(String.Format("\n\nPlugorunplugadisplaywithin20seconds.")); -try -{ -Thread.Sleep(20000); -} -catch(Exceptione) -{ -//Exception -} -hand.RemoveDisplayListEventListener(call); - -//Releasedisplaychangehandlinginterface -hand.Release(); -} - -//Releasedisplayservicesinterface -displayService.Release(); -} -} -} -else -{ -Console.WriteLine(String.Format("ADLXhelperinitializationresult:{0}",res)); -} - -//TerminateADLX -res=help.Terminate(); -Console.WriteLine(String.Format("ADLXTerminateresult:{0}",res)); -Console.ReadKey(); -} -} - -//Callbackfordisplaylistchanged -publicclassDisplayListCallBack:IADLXDisplayListChangedListener -{ -publicDisplayListCallBack() -:base(){} - -//Overridefunction -publicoverrideboolOnDisplayListChanged(IADLXDisplayListpNewDisplay) -{ -uintsize=pNewDisplay.Size(); -Console.WriteLine(String.Format("\nDisplaylistchanged,displaylistsize:{0}",size)); -uintit=pNewDisplay.Begin(); -for(;it!=pNewDisplay.Size();it++) -{ -SWIGTYPE_p_p_adlx__IADLXDisplayppDisplay=ADLX.new_displayP_Ptr(); -pNewDisplay.At(it,ppDisplay); -IADLXDisplaydisplay=ADLX.displayP_Ptr_value(ppDisplay); - -SWIGTYPE_p_p_charppName=ADLX.new_charP_Ptr(); -display.Name(ppName); -Stringname=ADLX.charP_Ptr_value(ppName); - -Console.WriteLine(String.Format("Thedisplay[{0}]:",it)); -Console.WriteLine(String.Format("\tname:{0}",name)); - -display.Release(); -} - -returntrue; -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cs_sample_displayinfo.xml b/vendor/adlx/SDKDoc/xml/cs_sample_displayinfo.xml deleted file mode 100644 index 8f9b5f8..0000000 --- a/vendor/adlx/SDKDoc/xml/cs_sample_displayinfo.xml +++ /dev/null @@ -1,159 +0,0 @@ - - - - cs_sample_displayinfo - DisplayInfo - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display information when programming with ADLX to perform related tests.</p> - <h2>Sample Path</h2> - <p>/Samples/csharp/DisplayInfo</p> -</body> -</html> Code - -C# // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -usingSystem; -usingSystem.Collections.Generic; -usingSystem.Linq; -usingSystem.Text; -usingSystem.Threading.Tasks; - -namespaceDisplayInfo -{ -classmainDisplayInfo -{ -staticvoidMain(string[]args){ - -//InitializeADLXwithADLXHelper -ADLXHelperhelp=newADLXHelper(); -ADLX_RESULTres=help.Initialize(); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//Getsystemservices -IADLXSystemsys=help.GetSystemServices(); - -if(sys!=null) -{ -//Getdisplayservices -SWIGTYPE_p_p_adlx__IADLXDisplayServicess=ADLX.new_displaySerP_Ptr(); -res=sys.GetDisplaysServices(s); -IADLXDisplayServicesdisplayService=ADLX.displaySerP_Ptr_value(s); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//Getdisplaylist -SWIGTYPE_p_p_adlx__IADLXDisplayListppDisplayList=ADLX.new_displayListP_Ptr(); -res=displayService.GetDisplays(ppDisplayList); -IADLXDisplayListdisplayList=ADLX.displayListP_Ptr_value(ppDisplayList); - -if(res==ADLX_RESULT.ADLX_OK) -{ -//Iteratethroughthedisplaylist -uintit=displayList.Begin(); -for(;it!=displayList.Size();it++) -{ -SWIGTYPE_p_p_adlx__IADLXDisplayppDisplay=ADLX.new_displayP_Ptr(); -res=displayList.At(it,ppDisplay); -IADLXDisplaydisplay=ADLX.displayP_Ptr_value(ppDisplay); - -if(res==ADLX_RESULT.ADLX_OK) -{ -SWIGTYPE_p_p_charppName=ADLX.new_charP_Ptr(); -display.Name(ppName); -Stringname=ADLX.charP_Ptr_value(ppName); - -SWIGTYPE_p_ADLX_DISPLAY_TYPEpDisType=ADLX.new_displayTypeP(); -display.DisplayType(pDisType); -ADLX_DISPLAY_TYPEdisType=ADLX.displayTypeP_value(pDisType); - -SWIGTYPE_p_unsigned_intpMID=ADLX.new_uintP(); -display.ManufacturerID(pMID); -longmid=ADLX.uintP_value(pMID); - -SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPEpConnect=ADLX.new_disConnectTypeP(); -display.ConnectorType(pConnect); -ADLX_DISPLAY_CONNECTOR_TYPEconnect=ADLX.disConnectTypeP_value(pConnect); - -SWIGTYPE_p_p_charppEDIE=ADLX.new_charP_Ptr(); -display.EDID(ppEDIE); -Stringedid=ADLX.charP_Ptr_value(ppEDIE); - -SWIGTYPE_p_intpH=ADLX.new_intP(); -SWIGTYPE_p_intpV=ADLX.new_intP(); -display.NativeResolution(pH,pV); -inth=ADLX.intP_value(pH); -intv=ADLX.intP_value(pV); - -SWIGTYPE_p_doublepRefRate=ADLX.new_doubleP(); -display.RefreshRate(pRefRate); -doublerefRate=ADLX.doubleP_value(pRefRate); - -SWIGTYPE_p_unsigned_intpPixClock=ADLX.new_uintP(); -display.PixelClock(pPixClock); -longpixClock=ADLX.uintP_value(pPixClock); - -SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPEpScanType=ADLX.new_disScanTypeP(); -display.ScanType(pScanType); -ADLX_DISPLAY_SCAN_TYPEscanType=ADLX.disScanTypeP_value(pScanType); - -SWIGTYPE_p_size_tpID=ADLX.new_adlx_sizeP(); -display.UniqueId(pID); -uintid=ADLX.adlx_sizeP_value(pID); - -Console.WriteLine(String.Format("\nThedisplay[{0}]:",it)); -Console.WriteLine(String.Format("\tName:{0}",name)); -Console.WriteLine(String.Format("\tType:{0}",disType)); -Console.WriteLine(String.Format("\tConnectortype:{0}",connect)); -Console.WriteLine(String.Format("\tManufacturerid:{0}",mid)); -Console.WriteLine(String.Format("\tEDID:{0}",edid)); -Console.WriteLine(String.Format("\tResolution:h:{0}v:{1}",h,v)); -Console.WriteLine(String.Format("\tRefreshrate:{0}",refRate)); -Console.WriteLine(String.Format("\tPixelclock:{0}",pixClock)); -Console.WriteLine(String.Format("\tScantype:{0}",scanType)); -Console.WriteLine(String.Format("\tUniqueid:{0}",id)); - -//Releasedisplayinterface -display.Release(); -} -} - -//Releasedisplaylistinterface -displayList.Release(); -} - -//Releasedisplayservicesinterface -displayService.Release(); -} -} -} -else -{ -Console.WriteLine(String.Format("ADLXhelperinitres::{0}",res)); -} - -//TerminateADLX -res=help.Terminate(); -Console.WriteLine(String.Format("ADLXTerminateres:{0}",res)); -Console.ReadKey(); -} -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/cservicecall_8md.xml b/vendor/adlx/SDKDoc/xml/cservicecall_8md.xml deleted file mode 100644 index b1cfc16..0000000 --- a/vendor/adlx/SDKDoc/xml/cservicecall_8md.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - cservicecall.md - - - - - -#ServiceCall{#domain_c_sample_servicecall} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_sample_GPUServiceCall|SampledemonstratinghowtousewindowsservicecalltogetGPUinformation.| -|@refc_sample_ShareMemory|SampledemonstratinghowtocreateashareMemory.| -|@refc_sample_userprocess|Sampledemonstratinghowtohowtocreateauserprocess.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/csharp_2_read_me_8md.xml b/vendor/adlx/SDKDoc/xml/csharp_2_read_me_8md.xml deleted file mode 100644 index 341e142..0000000 --- a/vendor/adlx/SDKDoc/xml/csharp_2_read_me_8md.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - ReadMe.md - - - - - -@pagepage_sample_csC#Samples -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisdocumentdescribeshowtobuildtheC#bindingsforADLX,andtheADLXC#samples,aswellastheenvironmentinwhichtheycanbeexecuted.TheADLXC#samplesdemonstratehowtoprogramwithADLXinaC#application. - -<h2>SupportedOperatingSystems</h2> -Windows®10(32-and64-bitversions)andup. - -<h2>BuildTool</h2> -VisualStudio2019withCandC++componentsfordesktop,andwithC#componentsfordesktop. - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. --<b>swigwin4.0.2</b>isinstalled,andthepathtotheswigwin4.0.2installationisaddedtothe<b>Path</b>userenvironmentvariable. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>Open`~ADLX\drivers\ADLX\Samples\csharp\sample.sln`withVisualStudio2019.</li> -<li>Selectthebuildconfiguration,forexample,<b>Release</b>,and<b>x64</b>.</li> -<li>Setthesampleasstartupproject.</li> -<li>Rebuildtheproject.\n</li> -<b>Note:</b>Thisprocedurealsobuildsthe`ADLXCSharpBind`projectinVisualStudio,whichisrequiredforanyALDXC#sample. -<li>Runthesamplefromthepath`~ADLX\Samples\csharp`forthecorrespondingbuildconfigurationandsample,forexample`~ADLX\Samples\csharp\x64\Release\DisplayInfo.exe`.</li> -</ol> - - - - diff --git a/vendor/adlx/SDKDoc/xml/csync_8md.xml b/vendor/adlx/SDKDoc/xml/csync_8md.xml deleted file mode 100644 index db45d23..0000000 --- a/vendor/adlx/SDKDoc/xml/csync_8md.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - csync.md - - - - - - -#ReceivingEventsNotifications{#domain_c_sample_globalsync} -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -|**Filename**|**Description**| -|--------------------------|------------------------------| -|@refc_sample_AsyncEventHandling|Sampledemonstratinghowtohandlelongprocessingforaneventonaseparatethread.| -|@refc_Sync3DReceive|Sampledemonstratinghowtoreceivenotificationsofchangesin3DsettingsusingADLX.| -|@refc_SyncDisplayReceive|SampledemonstratinghowtoreceivenotificationsofchangesindisplaysettingsusingADLX.| -|@refc_SyncGPUTuning|SampledemonstratinghowtoreceivenotificationsofchangesinGPUtuningusingADLX.| -|@refc_SyncPowerTuning|SampledemonstratinghowtoreceivenotificationsofchangesinpowertuningusingADLX.| - - - - diff --git a/vendor/adlx/SDKDoc/xml/desktop.xml b/vendor/adlx/SDKDoc/xml/desktop.xml deleted file mode 100644 index a8715d7..0000000 --- a/vendor/adlx/SDKDoc/xml/desktop.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - desktop - Desktop - IADLXDesktop - IADLXDesktopChangedHandling - IADLXDesktopList - IADLXDesktopListChangedListener - IADLXDesktopServices - IADLXEyefinityDesktop - IADLXSimpleEyefinity - - - -The Desktop domain contains interfaces related to desktop functionality. Examples include obtaining the list of desktops, registering for desktop-related notifications, and gaining access to various desktop information and configuration. - -IADLXDesktop -IADLXDesktopChangedHandling -IADLXDesktopList -IADLXDesktopListChangedListener -IADLXDesktopServices -IADLXEyefinityDesktop -IADLXSimpleEyefinity - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_027b3822e68cea2333c40389ff559349.xml b/vendor/adlx/SDKDoc/xml/dir_027b3822e68cea2333c40389ff559349.xml deleted file mode 100644 index 52068c9..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_027b3822e68cea2333c40389ff559349.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C - ADLXHelper.c - ADLXHelper.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_16efc9621f5d2e1cb4bad055b0f276b2.xml b/vendor/adlx/SDKDoc/xml/dir_16efc9621f5d2e1cb4bad055b0f276b2.xml deleted file mode 100644 index 8119375..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_16efc9621f5d2e1cb4bad055b0f276b2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_24e107d8aaaa0f0fb9ce89773de45c08.xml b/vendor/adlx/SDKDoc/xml/dir_24e107d8aaaa0f0fb9ce89773de45c08.xml deleted file mode 100644 index 9be89df..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_24e107d8aaaa0f0fb9ce89773de45c08.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/C - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/CPP - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/csharp - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/java - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/python - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_32f501a9a44fa5b987b82f09ad085bbe.xml b/vendor/adlx/SDKDoc/xml/dir_32f501a9a44fa5b987b82f09ad085bbe.xml deleted file mode 100644 index bde37de..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_32f501a9a44fa5b987b82f09ad085bbe.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXProgrammingGuide - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_38661bf1cff6bbf8d643288778f7dda5.xml b/vendor/adlx/SDKDoc/xml/dir_38661bf1cff6bbf8d643288778f7dda5.xml deleted file mode 100644 index 6245ae0..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_38661bf1cff6bbf8d643288778f7dda5.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXSamplesPage - zADLXSamplePage.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_42276f7418706d1ade0d3bc4e4f60731.xml b/vendor/adlx/SDKDoc/xml/dir_42276f7418706d1ade0d3bc4e4f60731.xml deleted file mode 100644 index 62627ca..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_42276f7418706d1ade0d3bc4e4f60731.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_537881034b1f7d49233316885f2cd2ce.xml b/vendor/adlx/SDKDoc/xml/dir_537881034b1f7d49233316885f2cd2ce.xml deleted file mode 100644 index 4ef03d6..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_537881034b1f7d49233316885f2cd2ce.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp - ADLXHelper.cpp - ADLXHelper.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_66c87b55badc78d3b4aa518cd95dfa04.xml b/vendor/adlx/SDKDoc/xml/dir_66c87b55badc78d3b4aa518cd95dfa04.xml deleted file mode 100644 index cf1037a..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_66c87b55badc78d3b4aa518cd95dfa04.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/csharp - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_6e22ff5a6df353352cbcbff529ec7bf5.xml b/vendor/adlx/SDKDoc/xml/dir_6e22ff5a6df353352cbcbff529ec7bf5.xml deleted file mode 100644 index 488097c..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_6e22ff5a6df353352cbcbff529ec7bf5.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/python - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_902de48ee18c71cf36cb2c92b94e2165.xml b/vendor/adlx/SDKDoc/xml/dir_902de48ee18c71cf36cb2c92b94e2165.xml deleted file mode 100644 index 14b1501..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_902de48ee18c71cf36cb2c92b94e2165.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXInterfacePage - ADLX3DSettingsPage.h - ADLXDesktopPage.h - ADLXDisplayPage.h - ADLXGPUPage.h - ADLXGPUTuningPage.h - ADLXI2CPage.h - ADLXMiscellaneousPage.h - ADLXPage.h - ADLXPerformancePage.h - ADLXPowerTuningPage.h - ADLXSystem1Page.h - ADLXSystemPage.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.xml b/vendor/adlx/SDKDoc/xml/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.xml deleted file mode 100644 index 1c6e2f5..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_9dd9cbaa815e0fb4350c0e1dee7fc28f.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXLegal - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_a12a240c2aa7d26dd72e7a22857dd4bb.xml b/vendor/adlx/SDKDoc/xml/dir_a12a240c2aa7d26dd72e7a22857dd4bb.xml deleted file mode 100644 index e6f3f92..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_a12a240c2aa7d26dd72e7a22857dd4bb.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include - ADLX.h - ADLXDefines.h - ADLXStructures.h - ADLXVersion.h - I3DSettings.h - IChangedEvent.h - ICollections.h - IDesktops.h - IDisplay3DLUT.h - IDisplayGamma.h - IDisplayGamut.h - IDisplays.h - IDisplays1.h - IDisplays2.h - IDisplaySettings.h - IGPUAutoTuning.h - IGPUManualFanTuning.h - IGPUManualGFXTuning.h - IGPUManualPowerTuning.h - IGPUManualVRAMTuning.h - IGPUPresetTuning.h - IGPUTuning.h - IGPUTuning1.h - II2C.h - ILog.h - IPerformanceMonitoring.h - IPerformanceMonitoring1.h - IPowerTuning.h - ISmartAccessMemory.h - ISystem.h - ISystem1.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_c5db9f0563fe1d2d90e845bf2fbf723c.xml b/vendor/adlx/SDKDoc/xml/dir_c5db9f0563fe1d2d90e845bf2fbf723c.xml deleted file mode 100644 index 5382f3c..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_c5db9f0563fe1d2d90e845bf2fbf723c.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/CPP - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_c8ab53e67140eaecfb977988f71b2a99.xml b/vendor/adlx/SDKDoc/xml/dir_c8ab53e67140eaecfb977988f71b2a99.xml deleted file mode 100644 index 7f3a522..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_c8ab53e67140eaecfb977988f71b2a99.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/java - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_ca6309d378ceffb9970caf11a0592736.xml b/vendor/adlx/SDKDoc/xml/dir_ca6309d378ceffb9970caf11a0592736.xml deleted file mode 100644 index 7390917..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_ca6309d378ceffb9970caf11a0592736.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_e722523abc32cefc280070c505cb9f82.xml b/vendor/adlx/SDKDoc/xml/dir_e722523abc32cefc280070c505cb9f82.xml deleted file mode 100644 index caa1cc8..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_e722523abc32cefc280070c505cb9f82.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXInterfacePage - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXLegal - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXProgrammingGuide - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXSamplesPage - ADLXDox.h - interfacereqtable.h - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.xml b/vendor/adlx/SDKDoc/xml/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.xml deleted file mode 100644 index 591a83d..0000000 --- a/vendor/adlx/SDKDoc/xml/dir_e8f4cbcc6a2aa4d47ef9f831f2e336d4.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/C - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/display.xml b/vendor/adlx/SDKDoc/xml/display.xml deleted file mode 100644 index 8babaa5..0000000 --- a/vendor/adlx/SDKDoc/xml/display.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - display - Display - IADLXDisplay - IADLXDisplay3DLUT - IADLXDisplay3DLUTChangedEvent - IADLXDisplay3DLUTChangedListener - IADLXDisplayBlanking - IADLXDisplayChangedHandling - IADLXDisplayColorDepth - IADLXDisplayConnectivityExperience - IADLXDisplayCustomColor - IADLXDisplayCustomResolution - IADLXDisplayFreeSync - IADLXDisplayGPUScaling - IADLXDisplayGamma - IADLXDisplayGammaChangedEvent - IADLXDisplayGammaChangedListener - IADLXDisplayGamut - IADLXDisplayGamutChangedEvent - IADLXDisplayGamutChangedListener - IADLXDisplayHDCP - IADLXDisplayIntegerScaling - IADLXDisplayList - IADLXDisplayListChangedListener - IADLXDisplayPixelFormat - IADLXDisplayResolution - IADLXDisplayResolutionList - IADLXDisplayScalingMode - IADLXDisplayServices - IADLXDisplayServices1 - IADLXDisplayServices2 - IADLXDisplaySettingsChangedEvent - IADLXDisplaySettingsChangedEvent1 - IADLXDisplaySettingsChangedEvent2 - IADLXDisplaySettingsChangedListener - IADLXDisplayVSR - IADLXDisplayVariBright - - - -The Display domain contains interfaces that provide display functionalities. Examples include obtaining the list of displays, registering for display related notifications, and gaining access to various display information and configuration. -Note: Many display settings when changed will cause the display to become blank for a moment. - -IADLXDisplay -IADLXDisplay3DLUT -IADLXDisplay3DLUTChangedEvent -IADLXDisplay3DLUTChangedListener -IADLXDisplayBlanking -IADLXDisplayChangedHandling -IADLXDisplayColorDepth -IADLXDisplayConnectivityExperience -IADLXDisplayCustomColor -IADLXDisplayCustomResolution -IADLXDisplayFreeSync -IADLXDisplayGPUScaling -IADLXDisplayGamma -IADLXDisplayGammaChangedEvent -IADLXDisplayGammaChangedListener -IADLXDisplayGamut -IADLXDisplayGamutChangedEvent -IADLXDisplayGamutChangedListener -IADLXDisplayHDCP -IADLXDisplayIntegerScaling -IADLXDisplayList -IADLXDisplayListChangedListener -IADLXDisplayPixelFormat -IADLXDisplayResolution -IADLXDisplayResolutionList -IADLXDisplayScalingMode -IADLXDisplayServices -IADLXDisplayServices1 -IADLXDisplayServices2 -IADLXDisplaySettingsChangedEvent -IADLXDisplaySettingsChangedEvent1 -IADLXDisplaySettingsChangedEvent2 -IADLXDisplaySettingsChangedListener -IADLXDisplayVSR -IADLXDisplayVariBright - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample_3_d_graphics.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample_3_d_graphics.xml deleted file mode 100644 index e405c52..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample_3_d_graphics.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - domain_c_sample_3DGraphics - 3D Graphics - 3DSettingsEvent - AnisotropicFiltering - AntiAliasing - AntiLag - Boost - Chill - EnhancedSync - FRTC - ImageSharpening - MorphologicAntiAliasing - ResetShaderCache - RSR - Tessellation - WaitForVerticalRefresh - - - - - -Filename -Description - - -3DSettingsEvent -Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX. - - -AnisotropicFiltering -Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - - -AntiAliasing -Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - - -AntiLag -Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX. - - -Boost -Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX. - - -Chill -Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX. - - -EnhancedSync -Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX. - - -FRTC -Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX. - - -ImageSharpening -Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX. - - -MorphologicAntiAliasing -Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX. - - -ResetShaderCache -Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX. - - -RSR -Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX. - - -Tessellation -Demonstrates how to access tessellation options, and perform related testing when programming with ADLX. - - -WaitForVerticalRefresh -Demonstrates how to access VSync options, and perform related testing when programming with ADLX. - -
-
- -3DSettingsEvent -AnisotropicFiltering -AntiAliasing -AntiLag -Boost -Chill -EnhancedSync -FRTC -ImageSharpening -MorphologicAntiAliasing -ResetShaderCache -RSR -Tessellation -WaitForVerticalRefresh - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__desktop.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__desktop.xml deleted file mode 100644 index cbb40c8..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__desktop.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - domain_c_sample_Desktop - Desktop - Eyefinity - PrimaryAdapter - - - - - -Filename -Description - - -DesktopsEvent -Sample demonstrating how to obtain the desktops changed handle and add/remove call back for changed events. - - -Eyefinity -Sample demonstrating how to create an Eyefinity desktop. - - -PrimaryAdapter -Sample demonstrating how to get the primary adapter when programming with ADLX. - -
-
- -Eyefinity -PrimaryAdapter - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__display.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__display.xml deleted file mode 100644 index 62e60cb..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__display.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - domain_c_sample_Display - Display - Display3DLUT - DisplayBlanking - DisplayColorDepth - DisplayConnectivityExperience - DisplayCustomColor - DisplayCustomResolution - DisplayEvents - DisplayFreeSync - DisplayGamma - DisplayGamut - DisplayGPUScaling - DisplayHDCP - DisplayInfo - DisplayIntegerScaling - DisplayPixelFormat - DisplayScalingMode - DisplayVariBright - DisplayVSR - - - - - -Filename -Description - - -Display3DLUT -Sample demonstrating Set/Get 3DLUT. - - -DisplayBlanking -Sample demonstrating Set/Get DisplayBlanking. - - -DisplayColorDepth -Sample demonstrating how to Set/Get Color Depth. - - -DisplayConnectivityExperience -Sample demonstrating how to Set/Get Connectivity-Experience. - - -DisplayCustomColor -Sample demonstrating how to Set/Get Custom Color. - - -DisplayCustomResolution -Sample demonstrating how to Set/Get Custom Resolution. - - -DisplayEvents -Sample demonstrating how to monitor event changes. - - -DisplayFreeSync -Sample demonstrating how to Set/Get FreeSync. - - -DisplayGamma -Sample demonstrating Set/Get Gamma. - - -DisplayGamut -Sample demonstrating Set/Get Gamut. - - -DisplayGPUScaling -Sample demonstrating how to Set/Get GPU Scaling. - - -DisplayHDCP -Sample demonstrating how to Set/Get HDCP. - - -DisplayInfo -Sample demonstrating how to get display and output information. - - -DisplayIntegerScaling -Sample demonstrating how to Set/Get Integer Scaling. - - -DisplayPixelFormat -Sample demonstrating how to Set/Get Pixel Format. - - -DisplayScalingMode -Sample demonstrating how to Set/Get scaling mode. - - -DisplayVariBright -Sample demonstrating how to Set/Get VariBright. - - -DisplayVSR -Sample demonstrating how to Set/Get virtual super resolution. - -
-
- -Display3DLUT -DisplayBlanking -DisplayColorDepth -DisplayConnectivityExperience -DisplayCustomColor -DisplayCustomResolution -DisplayEvents -DisplayFreeSync -DisplayGamma -DisplayGamut -DisplayGPUScaling -DisplayHDCP -DisplayInfo -DisplayIntegerScaling -DisplayPixelFormat -DisplayScalingMode -DisplayVariBright -DisplayVSR - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__g_p_u_tuning.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__g_p_u_tuning.xml deleted file mode 100644 index fa1d5ff..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__g_p_u_tuning.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - domain_c_sample_GPUTuning - GPU Tuning - GPUAutoTuning - GPUPresetTuning - ManualFanTuning - ManualGraphicsTuning - ManualPowerTuning - ManualVRAMTuning - SmartAccessMemory - - - - - -Filename -Description - - -GPUAutoTuning -Sample demonstrating how to control GPU Auto Tuning. - - -GPUPresetTuning -Sample demonstrating how to control GPU Preset Tuning. - - -ManualFanTuning -Sample demonstrating how to control GPU Manual Fan Tuning. - - -ManualGraphicsTuning -Sample demonstrating how to control GPU Manual Graphics Tuning. - - -ManualPowerTuning -Sample demonstrating how to control GPU Manual Power Tuning. - - -ManualVRAMTuning -Sample demonstrating how to control GPU VRAM Tuning. - - -SmartAccessMemory -Sample demonstrating how to control SmartAccessMemory. - -
-
- -GPUAutoTuning -GPUPresetTuning -ManualFanTuning -ManualGraphicsTuning -ManualPowerTuning -ManualVRAMTuning -SmartAccessMemory - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__generic.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__generic.xml deleted file mode 100644 index f02a46d..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__generic.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - domain_c_sample_Generic - Miscellaneous - GPUs - InvalidObject - Log - WorkWithADL - - - - - -Filename -Description - - -GPUs -Sample demonstrating how to enumerate GPUs. - - -InvalidObject -Sample demonstrating how to handle invalid object. - - -Log -Sample demonstrating how to enable log and get log data. - - -WorkWithADL -Sample demonstrating how to work with ADLX along ADL (including mapping between ADLX and ADL data with the IADLMapping interface). - -
-
- -GPUs -InvalidObject -Log -WorkWithADL - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__i2_c.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__i2_c.xml deleted file mode 100644 index 0d1eb28..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__i2_c.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - domain_c_sample_I2C - I2C - I2C - - - - - -Filename -Description - - -I2C -Sample demonstrating show how to use IADLXI2C interface to read and write data. - -
-
- -I2C - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample__performance_monitoring.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample__performance_monitoring.xml deleted file mode 100644 index c02cbac..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample__performance_monitoring.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - domain_c_sample_PerformanceMonitoring - Performance Monitoring - PerfAllMetrics - PerfFPSMetrics - PerfGPUMetrics - PerfSystemMetrics - - - - - -Filename -Description - - -PerfAllMetrics -Sample demonstrating how to control all metrics. - - -PerfFPSMetrics -Sample demonstrating how to control FPS metrics. - - -PerfGPUMetrics -Sample demonstrating how to control GPU metrics. - - -PerfSystemMetrics -Sample demonstrating how to control system metrics. - -
-
- -PerfAllMetrics -PerfFPSMetrics -PerfGPUMetrics -PerfSystemMetrics - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample_globalsync.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample_globalsync.xml deleted file mode 100644 index 89b640e..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample_globalsync.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - domain_c_sample_globalsync - Receiving Events Notifications - AsyncEventHandling - DesktopsEvent - Sync3DReceive - SyncDisplayReceive - SyncGPUTuning - SyncPowerTuning - - - - - -Filename -Description - - -AsyncEventHandling -Sample demonstrating how to handle long processing for an event on a separate thread. - - -Sync3DReceive -Sample demonstrating how to receive notifications of changes in 3D settings using ADLX. - - -SyncDisplayReceive -Sample demonstrating how to receive notifications of changes in display settings using ADLX. - - -SyncGPUTuning -Sample demonstrating how to receive notifications of changes in GPU tuning using ADLX. - - -SyncPowerTuning -Sample demonstrating how to receive notifications of changes in power tuning using ADLX. - -
-
- -AsyncEventHandling -DesktopsEvent -Sync3DReceive -SyncDisplayReceive -SyncGPUTuning -SyncPowerTuning - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample_powertuning.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample_powertuning.xml deleted file mode 100644 index 66a5a1e..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample_powertuning.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - domain_c_sample_powertuning - Power Tuning - SmartShiftMax - - - - - -Filename -Description - - -SmartShiftMax -Sample demonstrating how to control AMD SmartShift Max. - -
-
- -SmartShiftMax - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_c_sample_servicecall.xml b/vendor/adlx/SDKDoc/xml/domain_c_sample_servicecall.xml deleted file mode 100644 index f110d32..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_c_sample_servicecall.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - domain_c_sample_servicecall - ServiceCall - GPUServiceCall - ShareMemory - UserProcess - - - - - -Filename -Description - - -GPUServiceCall -Sample demonstrating how to use windows service call to get GPU information. - - -ShareMemory -Sample demonstrating how to create a shareMemory. - - -UserProcess -Sample demonstrating how to how to create a userprocess. - -
-
- -GPUServiceCall -ShareMemory -UserProcess - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_3_d_graphics.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample_3_d_graphics.xml deleted file mode 100644 index bd1c4c9..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_3_d_graphics.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - domain_cpp_sample_3DGraphics - 3D Graphics - 3DSettingsEvent - AnisotropicFiltering - AntiAliasing - AntiLag - Boost - Chill - EnhancedSync - FRTC - ImageSharpening - MorphologicAntiAliasing - ResetShaderCache - RSR - Tessellation - WaitForVerticalRefresh - - - - - -Filename -Description - - -3DSettingsEvent -Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX. - - -AnisotropicFiltering -Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - - -AntiAliasing -Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - - -AntiLag -Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX. - - -Boost -Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX. - - -Chill -Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX. - - -EnhancedSync -Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX. - - -FRTC -Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX. - - -ImageSharpening -Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX. - - -MorphologicAntiAliasing -Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX. - - -ResetShaderCache -Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX. - - -RSR -Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX. - - -Tessellation -Demonstrates how to access tessellation options, and perform related testing when programming with ADLX. - - -WaitForVerticalRefresh -Demonstrates how to access VSync options, and perform related testing when programming with ADLX. - -
-
- -3DSettingsEvent -AnisotropicFiltering -AntiAliasing -AntiLag -Boost -Chill -EnhancedSync -FRTC -ImageSharpening -MorphologicAntiAliasing -ResetShaderCache -RSR -Tessellation -WaitForVerticalRefresh - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__desktop.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__desktop.xml deleted file mode 100644 index c8ee40b..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__desktop.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - domain_cpp_sample_Desktop - Desktop - Eyefinity - PrimaryAdapter - - - - - -Filename -Description - - -DesktopsEvent -Sample demonstrating how to obtain the desktops changed handle and add/remove call back for changed events. - - -Eyefinity -Sample demonstrating how to create an Eyefinity desktop. - - -PrimaryAdapter -Sample demonstrating how to get the primary adapter when programming with ADLX. - -
-
- -Eyefinity -PrimaryAdapter - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__display.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__display.xml deleted file mode 100644 index 80507da..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__display.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - domain_cpp_sample_Display - Display - Display3DLUT - DisplayBlanking - DisplayColorDepth - DisplayConnectivityExperience - DisplayCustomColor - DisplayCustomResolution - DisplayEvents - DisplayFreeSync - DisplayGamma - DisplayGamut - DisplayGPUScaling - DisplayHDCP - DisplayInfo - DisplayIntegerScaling - DisplayPixelFormat - DisplayScalingMode - DisplayVariBright - DisplayVSR - - - - - -Filename -Description - - -Display3DLUT -Sample demonstrating Set/Get 3DLUT. - - -DisplayBlanking -Sample demonstrating Set/Get DisplayBlanking. - - -DisplayColorDepth -Sample demonstrating how to Set/Get Color Depth. - - -DisplayConnectivityExperience -Sample demonstrating how to Set/Get Connectivity-Experience. - - -DisplayCustomColor -Sample demonstrating how to Set/Get Custom Color. - - -DisplayCustomResolution -Sample demonstrating how to Set/Get Custom Resolution. - - -DisplayEvents -Sample demonstrating how to monitor event changes. - - -DisplayFreeSync -Sample demonstrating how to Set/Get FreeSync. - - -DisplayGamma -Sample demonstrating Set/Get Gamma. - - -DisplayGamut -Sample demonstrating Set/Get Gamut. - - -DisplayGPUScaling -Sample demonstrating how to Set/Get GPU Scaling. - - -DisplayHDCP -Sample demonstrating how to Set/Get HDCP. - - -DisplayInfo -Sample demonstrating how to get display and output information. - - -DisplayIntegerScaling -Sample demonstrating how to Set/Get Integer Scaling. - - -DisplayPixelFormat -Sample demonstrating how to Set/Get Pixel Format. - - -DisplayScalingMode -Sample demonstrating how to Set/Get scaling mode. - - -DisplayVariBright -Sample demonstrating how to Set/Get VariBright. - - -DisplayVSR -Sample demonstrating how to Set/Get virtual super resolution. - -
-
- -Display3DLUT -DisplayBlanking -DisplayColorDepth -DisplayConnectivityExperience -DisplayCustomColor -DisplayCustomResolution -DisplayEvents -DisplayFreeSync -DisplayGamma -DisplayGamut -DisplayGPUScaling -DisplayHDCP -DisplayInfo -DisplayIntegerScaling -DisplayPixelFormat -DisplayScalingMode -DisplayVariBright -DisplayVSR - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__g_p_u_tuning.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__g_p_u_tuning.xml deleted file mode 100644 index f54968b..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__g_p_u_tuning.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - domain_cpp_sample_GPUTuning - GPU Tuning - GPUAutoTuning - GPUPresetTuning - ManualFanTuning - ManualGraphicsTuning - ManualPowerTuning - ManualVRAMTuning - SmartAccessMemory - - - - - -Filename -Description - - -GPUAutoTuning -Sample demonstrating how to control GPU Auto Tuning. - - -GPUPresetTuning -Sample demonstrating how to control GPU Preset Tuning. - - -ManualFanTuning -Sample demonstrating how to control GPU Manual Fan Tuning. - - -ManualGraphicsTuning -Sample demonstrating how to control GPU Manual Graphics Tuning. - - -ManualPowerTuning -Sample demonstrating how to control GPU Manual Power Tuning. - - -ManualVRAMTuning -Sample demonstrating how to control GPU VRAM Tuning. - - -SmartAccessMemory -Sample demonstrating how to control SmartAccessMemory. - -
-
- -GPUAutoTuning -GPUPresetTuning -ManualFanTuning -ManualGraphicsTuning -ManualPowerTuning -ManualVRAMTuning -SmartAccessMemory - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__generic.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__generic.xml deleted file mode 100644 index 106adb8..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__generic.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - domain_cpp_sample_Generic - Miscellaneous - GPUs - InvalidObject - Log - WorkWithADL - - - - - -Filename -Description - - -GPUs -Sample demonstrating how to enumerate GPUs. - - -InvalidObject -Sample demonstrating how to handle invalid object. - - -Log -Sample demonstrating how to enable log and get log data. - - -WorkWithADL -Sample demonstrating how to work with ADLX along ADL (including mapping between ADLX and ADL data with the IADLMapping interface). - -
-
- -GPUs -InvalidObject -Log -WorkWithADL - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__i2_c.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__i2_c.xml deleted file mode 100644 index ffee4c9..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__i2_c.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - domain_cpp_sample_I2C - I2C - I2C - - - - - -Filename -Description - - -I2C -Sample demonstrating show how to use IADLXI2C interface to read and write data. - -
-
- -I2C - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__performance_monitoring.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample__performance_monitoring.xml deleted file mode 100644 index c93cfa4..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample__performance_monitoring.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - domain_cpp_sample_PerformanceMonitoring - Performance Monitoring - PerfAllMetrics - PerfFPSMetrics - PerfGPUMetrics - PerfSystemMetrics - - - - - -Filename -Description - - -PerfAllMetrics -Sample demonstrating how to control all metrics. - - -PerfFPSMetrics -Sample demonstrating how to control FPS metrics. - - -PerfGPUMetrics -Sample demonstrating how to control GPU metrics. - - -PerfSystemMetrics -Sample demonstrating how to control system metrics. - -
-
- -PerfAllMetrics -PerfFPSMetrics -PerfGPUMetrics -PerfSystemMetrics - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_globalsync.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample_globalsync.xml deleted file mode 100644 index 823487b..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_globalsync.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - domain_cpp_sample_globalsync - Receiving Events Notifications - AsyncEventHandling - DesktopsEvent - Sync3DReceive - SyncDisplayReceive - SyncGPUTuning - SyncPowerTuning - - - - - -Filename -Description - - -AsyncEventHandling -Sample demonstrating how to handle long processing for an event on a separate thread. - - -Sync3DReceive -Sample demonstrating how to receive notifications of changes in 3D settings using ADLX. - - -SyncDisplayReceive -Sample demonstrating how to receive notifications of changes in display settings using ADLX. - - -SyncGPUTuning -Sample demonstrating how to receive notifications of changes in GPU tuning using ADLX. - - -SyncPowerTuning -Sample demonstrating how to receive notifications of changes in power tuning using ADLX. - -
-
- -AsyncEventHandling -DesktopsEvent -Sync3DReceive -SyncDisplayReceive -SyncGPUTuning -SyncPowerTuning - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_powertuning.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample_powertuning.xml deleted file mode 100644 index 4256048..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_powertuning.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - domain_cpp_sample_powertuning - Power Tuning - SmartShiftMax - - - - - -Filename -Description - - -SmartShiftMax -Sample demonstrating how to control AMD SmartShift Max. - -
-
- -SmartShiftMax - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_servicecall.xml b/vendor/adlx/SDKDoc/xml/domain_cpp_sample_servicecall.xml deleted file mode 100644 index 0ff6c58..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_cpp_sample_servicecall.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - domain_cpp_sample_servicecall - ServiceCall - GPUServiceCall - ShareMemory - UserProcess - - - - - -Filename -Description - - -GPUServiceCall -Sample demonstrating how to use windows service call to get GPU information. - - -ShareMemory -Sample demonstrating how to create a shareMemory. - - -UserProcess -Sample demonstrating how to how to create a userprocess. - -
-
- -GPUServiceCall -ShareMemory -UserProcess - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/domain_powertuning.xml b/vendor/adlx/SDKDoc/xml/domain_powertuning.xml deleted file mode 100644 index 49c44f4..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_powertuning.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - domain_powertuning - Power Tuning - IADLXPowerTuningServices - IADLXPowerTuningChangedEvent - IADLXPowerTuningChangedHandling - IADLXPowerTuningChangedListener - IADLXSmartShiftMax - - - -The Power Tuning domain contains interfaces to configure power. - -IADLXPowerTuningServices -IADLXPowerTuningChangedEvent -IADLXPowerTuningChangedHandling -IADLXPowerTuningChangedListener -IADLXSmartShiftMax - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/domain_sample_page.xml b/vendor/adlx/SDKDoc/xml/domain_sample_page.xml deleted file mode 100644 index 43098c6..0000000 --- a/vendor/adlx/SDKDoc/xml/domain_sample_page.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - domain_samplePage - ADLX Samples - C++ Samples - C Samples - C# Samples - Java Samples - Python Samples - - - -In this section - -The ADLX Samples section provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly. - -C++ Samples -C Samples -C# Samples -Java Samples -Python Samples - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/event_8md.xml b/vendor/adlx/SDKDoc/xml/event_8md.xml deleted file mode 100644 index 6b684f5..0000000 --- a/vendor/adlx/SDKDoc/xml/event_8md.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - event.md - - - - - -@pagepage_guide_eventSubscribingtoEventNotificationsusingADLX -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -ADLXhasaneventnotificationmechanismspecifictoeachADLXdomain,buttheeventnotificationinallthedomainsusethesameapproach. - -TheapplicationimplementsalistenerinterfaceasdefinedintheADLXSDK.AninstanceofthelistenerinterfaceispassedtoADLXtoregisterfornotificationwhentherespectivesettingsarechanged. - -Whenachangeoccurs,ADLXcallsthemethodinthislistenerinstanceandpassesthenewsettingsasparameters. - -Wheneventsnotificationsarenolongerrequiredbytheapplication,theapplicationunregistersthelistenerinstancefromADLX,andtheinstanceofthelistenerinterfacecanbedestroyedbytheapplication. - -Example:TheDesktopdomainprovidesnotificationswhenthereisachangetothedesktoplist. - -UsetheADLXeventnotificationmanagementfunctionalitywhenprogramminganewapplication,orwhenprogramminganexistingapplicationthatusesADL.Themechanismremainsthesameforalltheprogramminglanguages,buttherearelanguage-specificdifferencesinimplementation. - -Youcanprogramanapplicationtogetnotifiedaboutchangessuchaswhendesktopsare: --Created --Removed --Changed-Sizesettings --Changed-Locationsettings - -Toprogramanapplicationtoreceivedesktoplistchangenotification, -1.Implement,andthencreateaninstanceoftheimplemented@refDOX_IADLXDesktopListChangedListenerinterface. - -**Note:**TheADLXDesktopListChangedListenerinstanceispassedtoADLXandmustexistfortheentiredurationoftheapplication’sdesktoplistchangedeventregistration. - -2.Call@refDOX_IADLXSystem_GetDesktopsServices"IADLXSystem::GetDesktopServices"intheADLXSysteminterface. - -**Result:**Getsthe@refDOX_IADLXDesktopServicesinterface. - -3.Call@refDOX_IADLXDesktopServices_GetDesktopChangedHandling"IADLXDesktopServices::GetDesktopChangedHandling"intheADLXDesktopServicesinterface. - -**Result:**Getsthe@refDOX_IADLXDesktopChangedHandlinginterface. - -4.PasstheADLXDesktopListChangedListenerinstanceastheparameterinto@refDOX_IADLXDesktopChangedHandling_AddDesktopListEventListener"IADLXDesktopChangedHandling::AddDesktopListEventListener". - -**Note:**Whenachangetothedesktopoccurs,the@refDOX_IADLXDesktopListChangedListener_OnDesktopListChangediscalledintotheADLXDesktopListChangedListenerinstance,withthenewdesktoplistasthe@refDOX_IADLXDesktopListparameter. - -TounsubscribetheDesktopListChangednotification: -1.UnregistertheADLXDesktopListChangedListenerinstancefromADLXusing@refDOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener. - -2.Discardthedesktoplistchangedlistenerinstanceaftertheregistrationisremoved. - -**Note:**OtherADLXdomainsthatsupporteventsubscriptionusethesamemechanismforeventnotifications. - -Formoreinformation,forC++see@refdomain_cpp_sample_globalsync"ReceivingEventsNotificationsC++samples". - -ForCsee@refdomain_c_sample_globalsync"ReceivingEventsNotificationsCsamples". - -ForC#see@refcs_sample_displayEvents"DisplayEventsC#samples". - -ForJavasee@refjava_sample_displayEvents"DisplayEventsJavasamples". - -ForPythonsee@refpy_sample_displayEvents"DisplayEventsPythonsamples". - - - - diff --git a/vendor/adlx/SDKDoc/xml/funpage.xml b/vendor/adlx/SDKDoc/xml/funpage.xml deleted file mode 100644 index fae3e57..0000000 --- a/vendor/adlx/SDKDoc/xml/funpage.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - funpage - ADLX Functions - ADLXInitializeWithCallerAdl_Fn - ADLXInitialize_Fn - ADLXQueryFullVersion_Fn - ADLXQueryVersion_Fn - ADLXTerminate_Fn - adlx_atomic_dec - adlx_atomic_inc - adlx_free_library - adlx_get_proc_address - adlx_load_library - - - -In this section - -This section contains the function pointers required to initialize ADLX, as outlined in the Initializing ADLX with function pointers section. - -To use ADLX functions in a C++ application, refer to the implementation of the ADLXHelper class in ~SDK\ADLXHelper\Windows\Cpp. -For a C application, refer to the implementation of the ADLX Helper functions in ~SDK\ADLXHelper\Windows\C. - - -Note: ADLX can either be initialized with the ADLX Helpers or with function pointers. AMD recommends using ADLX Helpers when initializing ADLX. -Functions - - -Functions -Description - - -ADLXInitializeWithCallerAdl_Fn -A pointer to the function to initialize ADLX with an ADL context. - - -ADLXInitialize_Fn -A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver. - - -ADLXQueryFullVersion_Fn -A pointer to the function to query the full version of ADLX. - - -ADLXQueryVersion_Fn -A pointer to the function to query the version of ADLX. - - -ADLXTerminate_Fn -A pointer to the function to terminate ADLX. - - -adlx_atomic_dec -An atomic decrement of a variable in multithreading environments. - - -adlx_atomic_inc -An atomic increment of a variable in multithreading environments. - - -adlx_free_library -Frees a loaded module. - - -adlx_get_proc_address -Retrieves the address of a function from a module. - - -adlx_load_library -Loads a module into the address space of the calling process. - -
-Requirements -
- -Header -include "ADLX.h" - - -Minimum version -1.0 - -
- -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
- -ADLXInitializeWithCallerAdl_Fn -ADLXInitialize_Fn -ADLXQueryFullVersion_Fn -ADLXQueryVersion_Fn -ADLXTerminate_Fn -adlx_atomic_dec -adlx_atomic_inc -adlx_free_library -adlx_get_proc_address -adlx_load_library - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/gfx3dgraphics.xml b/vendor/adlx/SDKDoc/xml/gfx3dgraphics.xml deleted file mode 100644 index d4b51a3..0000000 --- a/vendor/adlx/SDKDoc/xml/gfx3dgraphics.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - gfx3dgraphics - 3D Graphics - IADLX3DAnisotropicFiltering - IADLX3DAntiAliasing - IADLX3DAntiLag - IADLX3DAntiLag1 - IADLX3DBoost - IADLX3DChill - IADLX3DEnhancedSync - IADLX3DFrameRateTargetControl - IADLX3DImageSharpening - IADLX3DMorphologicalAntiAliasing - IADLX3DRadeonSuperResolution - IADLX3DResetShaderCache - IADLX3DSettingsChangedEvent - IADLX3DSettingsChangedHandling - IADLX3DSettingsChangedListener - IADLX3DSettingsServices - IADLX3DTessellation - IADLX3DWaitForVerticalRefresh - - - -The 3D Graphics domain contains interfaces to control 3D graphics settings of the GPUs in the system that affect 3D content quality and GPU performance. Examples include obtaining 3D graphics settings interfaces, registering for 3D graphics settings notifications, and accessing 3D graphics settings configurations. -Note: Many 3D graphic settings when changed will cause the displays connected to this GPU to become blank for a moment. - -IADLX3DAnisotropicFiltering -IADLX3DAntiAliasing -IADLX3DAntiLag -IADLX3DAntiLag1 -IADLX3DBoost -IADLX3DChill -IADLX3DEnhancedSync -IADLX3DFrameRateTargetControl -IADLX3DImageSharpening -IADLX3DMorphologicalAntiAliasing -IADLX3DRadeonSuperResolution -IADLX3DResetShaderCache -IADLX3DSettingsChangedEvent -IADLX3DSettingsChangedHandling -IADLX3DSettingsChangedListener -IADLX3DSettingsServices -IADLX3DTessellation -IADLX3DWaitForVerticalRefresh - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/gpu.xml b/vendor/adlx/SDKDoc/xml/gpu.xml deleted file mode 100644 index a366d43..0000000 --- a/vendor/adlx/SDKDoc/xml/gpu.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - gpu - GPU - IADLXGPU - IADLXGPU1 - IADLXGPUList - IADLXGPUsChangedHandling - IADLXGPUsEventListener - - - -The GPU domain contains interfaces to retrieve GPU properties, and handle GPU hot plug or unplug notifications. - -IADLXGPU -IADLXGPU1 -IADLXGPUList -IADLXGPUsChangedHandling -IADLXGPUsEventListener - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/gputuning.xml b/vendor/adlx/SDKDoc/xml/gputuning.xml deleted file mode 100644 index d7ee370..0000000 --- a/vendor/adlx/SDKDoc/xml/gputuning.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - gputuning - GPU Tuning - IADLXGPUAutoTuning - IADLXGPUAutoTuningCompleteEvent - IADLXGPUAutoTuningCompleteListener - IADLXGPUPresetTuning - IADLXGPUTuningChangedEvent - IADLXGPUTuningChangedEvent1 - IADLXGPUTuningChangedHandling - IADLXGPUTuningChangedListener - IADLXGPUTuningServices - IADLXGPUTuningServices1 - IADLXManualFanTuning - IADLXManualFanTuningState - IADLXManualFanTuningStateList - IADLXManualGraphicsTuning1 - IADLXManualGraphicsTuning2 - IADLXManualPowerTuning - IADLXManualTuningState - IADLXManualTuningStateList - IADLXManualVRAMTuning1 - IADLXManualVRAMTuning2 - IADLXMemoryTimingDescription - IADLXMemoryTimingDescriptionList - IADLXSmartAccessMemory - - - -The GPU Tuning domain contains interfaces to configure GPU tuning, and monitor power and thermal behavior of GPUs on the system. -WARNING: AMD processors are intended to be operated only within their associated specifications and factory settings. Operating your AMD processor outside of official AMD specifications or outside of factory settings, including but not limited to the conducting of overclocking (including use of this GPU tuning interface, even if such software has been directly or indirectly provided by AMD or otherwise affiliated in any way with AMD), may damage your processor and/or lead to other problems, including but not limited to, damage to your system components (including your motherboard and components thereon (e.g. memory)), system instabilities (e.g. data loss and corrupted images), reduction in system performance, shortened processor, system component and/or system life and in extreme cases, total system failure. AMD does not provide support or service for issues or damages related to use of an AMD processor outside of official AMD specifications or outside of factory settings, unless when using the software’s Performance Tuning Presets. You may also not receive support or service from your board or system manufacturer. Please make sure you have saved all important data before using this GPU tuning interface. - -IADLXGPUAutoTuning -IADLXGPUAutoTuningCompleteEvent -IADLXGPUAutoTuningCompleteListener -IADLXGPUPresetTuning -IADLXGPUTuningChangedEvent -IADLXGPUTuningChangedEvent1 -IADLXGPUTuningChangedHandling -IADLXGPUTuningChangedListener -IADLXGPUTuningServices -IADLXGPUTuningServices1 -IADLXManualFanTuning -IADLXManualFanTuningState -IADLXManualFanTuningStateList -IADLXManualGraphicsTuning1 -IADLXManualGraphicsTuning2 -IADLXManualPowerTuning -IADLXManualTuningState -IADLXManualTuningStateList -IADLXManualVRAMTuning1 -IADLXManualVRAMTuning2 -IADLXMemoryTimingDescription -IADLXMemoryTimingDescriptionList -IADLXSmartAccessMemory - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/group___a_d_l_x_defs.xml b/vendor/adlx/SDKDoc/xml/group___a_d_l_x_defs.xml deleted file mode 100644 index bcaa9eb..0000000 --- a/vendor/adlx/SDKDoc/xml/group___a_d_l_x_defs.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - ADLXDefs - ADLX Typedefs - - - void(ADLX_STD_CALL * - ADLX_ADL_Main_Memory_Free - )(void **buffer) - ADLX_ADL_Main_Memory_Free - - - -The typedef of ADLX_ADL_Main_Memory_Free function. Definition - - - typedef void (ADLX_STD_CALL* ADLX_ADL_Main_Memory_Free)(void** buffer) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXQueryFullVersion_Fn - )(adlx_uint64 *fullVersion) - ADLXQueryFullVersion_Fn - - - -The typedef of QueryFullVersion function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryFullVersion_Fn)(adlx_uint64* fullVersion) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXQueryVersion_Fn - )(const char **version) - ADLXQueryVersion_Fn - - - -The typedef of QueryVersion function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *QueryVersion_Fn)(const char** version) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXInitialize_Fn - )(adlx_uint64 version, adlx::IADLXSystem **ppSystem) - ADLXInitialize_Fn - - - -The typedef of ADLXInitialize function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXInitializeWithCallerAdl_Fn - )(adlx_uint64 version, adlx::IADLXSystem **ppSystem, adlx::IADLMapping **ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - ADLXInitializeWithCallerAdl_Fn - - - -The typedef of ADLXInitializeWithCallerAdl function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - - - - - - - - ADLX_RESULT(ADLX_CDECL_CALL * - ADLXTerminate_Fn - )() - ADLXTerminate_Fn - - - -The typedef of ADLXTerminate function. Definition - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)() - - - - - - - - - - -This section provides ADLX typedef definitions for various ADLX functionalities. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
-
-
diff --git a/vendor/adlx/SDKDoc/xml/group___a_d_l_x_macro.xml b/vendor/adlx/SDKDoc/xml/group___a_d_l_x_macro.xml deleted file mode 100644 index 3272431..0000000 --- a/vendor/adlx/SDKDoc/xml/group___a_d_l_x_macro.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - ADLXMacro - ADLX Macro - - - ADLX_DLL_NAMEW - L"amdadlx64.dll" - - - -Unicode name for 64-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEW L"amdadlx64.dll" - - - - - - - - ADLX_DLL_NAMEA - "amdadlx64.dll" - - - -ANSI name for 64-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEA "amdadlx64.dll" - - - - - - - - ADLX_DLL_NAME - ADLX_DLL_NAMEW - - - -ADLX dll name in Unicode applications Definition - - - #define ADLX_DLL_NAME ADLX_DLL_NAMEW - - - - - - - - ADLX_QUERY_FULL_VERSION_FUNCTION_NAME - "ADLXQueryFullVersion" - - - -The function name of QueryFullVersion Definition - - - #define ADLX_QUERY_FULL_VERSION_FUNCTION_NAME "ADLXQueryFullVersion" - - - - - - - - ADLX_QUERY_VERSION_FUNCTION_NAME - "ADLXQueryVersion" - - - -The function name of QueryVersion Definition - - - #define ADLX_QUERY_VERSION_FUNCTION_NAME "ADLXQueryVersion" - - - - - - - - ADLX_INIT_FUNCTION_NAME - "ADLXInitialize" - - - -The function name of ADLXInitialize Definition - - - #define ADLX_INIT_FUNCTION_NAME "ADLXInitialize" - - - - - - - - ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME - "ADLXInitializeWithIncompatibleDriver" - - - -The function name of ADLXInitializeWithIncompatibleDriver Definition - - - #define ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME "ADLXInitializeWithIncompatibleDriver" - - - - - - - - ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME - "ADLXInitializeWithCallerAdl" - - - -The function name of ADLXInitializeWithCallerAdl Definition - - - #define ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME "ADLXInitializeWithCallerAdl" - - - - - - - - ADLX_TERMINATE_FUNCTION_NAME - "ADLXTerminate" - - - -The function name of ADLXTerminate Definition - - - #define ADLX_TERMINATE_FUNCTION_NAME "ADLXTerminate" - - - - - - - - ADLX_SUCCEEDED - x - (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - - - -Checks if the result code passed as parameter indicates a successful operation. Definition - - - #define ADLX_SUCCEEDED(x) (ADLX_OK == (x) || ADLX_ALREADY_ENABLED == (x) || ADLX_ALREADY_INITIALIZED == (x)) - - - - - - - - ADLX_FAILED - x - (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - - - -Checks if the result code passed as parameter indicates an unsuccessful operation. Definition - - - #define ADLX_FAILED(x) (ADLX_OK != (x) && ADLX_ALREADY_ENABLED != (x) && ADLX_ALREADY_INITIALIZED != (x)) - - - - - - - - MAX_USER_3DLUT_NUM_POINTS - 17 - - - -Constant value used to set size of user 3D LUT data Definition - - - #define MAX_USER_3DLUT_NUM_POINTS 17 - - - - - - - - ADLX_DLL_NAMEW - L"amdadlx32.dll" - - - -Unicode name for 32-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEW L"amdadlx32.dll" - - - - - - - - ADLX_DLL_NAMEA - "amdadlx32.dll" - - - -ANSI name for 32-bit ADLX dll Definition - - - #define ADLX_DLL_NAMEA "amdadlx32.dll" - - - - - - - - ADLX_DLL_NAME - ADLX_DLL_NAMEA - - - -ADLX dll name in ANSI applications Definition - - - #define ADLX_DLL_NAME ADLX_DLL_NAMEA - - - - - - - - - - -This section provides ADLX macro definitions for various ADLX functionalities. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
-
-
diff --git a/vendor/adlx/SDKDoc/xml/group__enumerations.xml b/vendor/adlx/SDKDoc/xml/group__enumerations.xml deleted file mode 100644 index f486bc6..0000000 --- a/vendor/adlx/SDKDoc/xml/group__enumerations.xml +++ /dev/null @@ -1,2278 +0,0 @@ - - - - enumerations - ADLX Enums - - - - ADLX_RESULT - - ADLX_OK - = 0 - - - -This result indicates success. - - - - - ADLX_ALREADY_ENABLED - - - -This result indicates that the asked action is already enabled. - - - - - ADLX_ALREADY_INITIALIZED - - - -This result indicates that ADLX has a unspecified type of initialization. - - - - - ADLX_FAIL - - - -This result indicates an unspecified failure. - - - - - ADLX_INVALID_ARGS - - - -This result indicates that the arguments are invalid. - - - - - ADLX_BAD_VER - - - -This result indicates that the asked version is incompatible with the current version. - - - - - ADLX_UNKNOWN_INTERFACE - - - -This result indicates that an unknown interface was asked. - - - - - ADLX_TERMINATED - - - -This result indicates that the calls were made in an interface after ADLX was terminated. - - - - - ADLX_ADL_INIT_ERROR - - - -This result indicates that the ADL initialization failed. - - - - - ADLX_NOT_FOUND - - - -This result indicates that the item is not found. - - - - - ADLX_INVALID_OBJECT - - - -This result indicates that the method was called into an invalid object. - - - - - ADLX_ORPHAN_OBJECTS - - - -This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. - - - - - ADLX_NOT_SUPPORTED - - - -This result indicates that the asked feature is not supported. - - - - - ADLX_PENDING_OPERATION - - - -This result indicates a failure due to an operation currently in progress. - - - - - ADLX_GPU_INACTIVE - - - -This result indicates that the GPU is inactive. - - - - -Indicates the result returned from an ADLX function or from an ADLX method. - - - - - - - - - - ADLX_HG_TYPE - - NONE - = 0 - - - -This is not a Hybrid Graphics system. - - - - - AMD - - - -This is an AMD integrated GPU. - - - - - OTHER - - - -This is a non-AMD integrated GPU. - - - - -Indicates the type of Hybrid Graphic. - - - - - - - - - - ADLX_ASIC_FAMILY_TYPE - - ASIC_UNDEFINED - = 0 - - - -The ASIC family type is not defined. - - - - - ASIC_RADEON - - - -The ASIC family type is discrete. - - - - - ASIC_FIREPRO - - - -The ASIC family type is Firepro. - - - - - ASIC_FIREMV - - - -The ASIC family type is FireMV. - - - - - ASIC_FIRESTREAM - - - -The ASIC family type is FireStream. - - - - - ASIC_FUSION - - - -The ASIC family type is Fusion. - - - - - ASIC_EMBEDDED - - - -The ASIC family type is Embedded. - - - - -Indicates the ASIC family type. - - - - - - - - - - ADLX_PCI_BUS_TYPE - - UNDEFINED - = 0 - - - -The PCI bus type is not defined. - - - - - PCI - - - -The PCI bus type is PCI bus. - - - - - AGP - - - -The PCI bus type is AGP bus. - - - - - PCIE - - - -The PCI bus type is PCI Express bus. - - - - - PCIE_2_0 - - - -The PCI bus type is PCI Express 2nd generation bus. - - - - - PCIE_3_0 - - - -The PCI bus type is PCI Express 3rd generation bus. - - - - - PCIE_4_0 - - - -The PCI bus type is PCI Express 4th generation bus. - - - - -Indicates the PCI bus type. - - - - - - - - - - ADLX_DP_LINK_RATE - - DP_LINK_RATE_UNKNOWN - = 0 - - - -The DP link rate is unknown. - - - - - DP_LINK_RATE_RBR - - - -The DP link rate is 1.62 Gbps/Lane. - - - - - DP_LINK_RATE_2_16GBPS - - - -The DP link rate is 2.16 Gbps/Lane. - - - - - DP_LINK_RATE_2_43GBPS - - - -The DP link rate is 2.43 Gbps/Lane. - - - - - DP_LINK_RATE_HBR - - - -The DP link rate is 2.70 Gbps/Lane. - - - - - DP_LINK_RATE_4_32GBPS - - - -The DP link rate is 4.32 Gbps/Lane. - - - - - DP_LINK_RATE_HBR2 - - - -The DP link rate is 5.40 Gbps/Lane. - - - - - DP_LINK_RATE_HBR3 - - - -The DP link rate is 8.10 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR10 - - - -The DP link rate is 10 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR13D5 - - - -The DP link rate is 13.5 Gbps/Lane. - - - - - DP_LINK_RATE_UHBR20 - - - -The DP link rate is 20 Gbps/Lane. - - - - -Indicates the DP link rate. - - - - - - - - - - ADLX_GPU_TYPE - - GPUTYPE_UNDEFINED - = 0 - - - -The GPU type is unknown. - - - - - GPUTYPE_INTEGRATED - - - -The GPU type is an integrated GPU. - - - - - GPUTYPE_DISCRETE - - - -The GPU type is a discrete GPU. - - - - -Indicates the GPU type. - - - - - - - - - - ADLX_DISPLAY_CONNECTOR_TYPE - - DISPLAY_CONTYPE_UNKNOWN - = 0 - - - -The display connector type is unknown. - - - - - DISPLAY_CONTYPE_VGA - - - -The display connector type is VGA. - - - - - DISPLAY_CONTYPE_DVI_D - - - -The display connector type is DVI-D. - - - - - DISPLAY_CONTYPE_DVI_I - - - -The display connector type is DVI-I. - - - - - DISPLAY_CONTYPE_CVDONGLE_NTSC - - - -The display connector type is NTSC. - - - - - DISPLAY_CONTYPE_CVDONGLE_JPN - - - -The display connector type is JPN. - - - - - DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN - - - -The display connector type is NONI2C-JPN. - - - - - DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC - - - -The display connector type is NONI2C-NTSC. - - - - - DISPLAY_CONTYPE_PROPRIETARY - - - -The display connector type is PROPRIETARY. - - - - - DISPLAY_CONTYPE_HDMI_TYPE_A - - - -The display connector type is HDMI A. - - - - - DISPLAY_CONTYPE_HDMI_TYPE_B - - - -The display connector type is HDMI B. - - - - - DISPLAY_CONTYPE_SVIDEO - - - -The display connector type is SVIDEO. - - - - - DISPLAY_CONTYPE_COMPOSITE - - - -The display connector type is COMPOSITE. - - - - - DISPLAY_CONTYPE_RCA_3COMPONENT - - - -The display connector type is RCA. - - - - - DISPLAY_CONTYPE_DISPLAYPORT - - - -The display connector type is DISPLAYPORT. - - - - - DISPLAY_CONTYPE_EDP - - - -The display connector type is EDP. - - - - - DISPLAY_CONTYPE_WIRELESSDISPLAY - - - -The display connector type is WIRELESSDISPLAY. - - - - - DISPLAY_CONTYPE_USB_TYPE_C - - - -The display connector type is USB Type-C. - - - - -Indicates the display connector type. - - - - - - - - - - ADLX_DISPLAY_TYPE - - DISPLAY_TYPE_UNKOWN - = 0 - - - -The display type is an unknown display. - - - - - DISPLAY_TYPE_MONITOR - - - -The display type is a monitor display. - - - - - DISPLAY_TYPE_TELEVISION - - - -The display type is a TV display. - - - - - DISPLAY_TYPE_LCD_PANEL - - - -The display type is an LCD display. - - - - - DISPLAY_TYPE_DIGITAL_FLAT_PANEL - - - -The display type is a DFP display. - - - - - DISPLAY_TYPE_COMPONENT_VIDEO - - - -The display type is a component video display. - - - - - DISPLAY_TYPE_PROJECTOR - - - -The display type is a projector display. - - - - -Indicates the display type. - - - - - - - - - - ADLX_DISPLAY_SCAN_TYPE - - PROGRESSIVE - = 0 - - - -The display scan type is progressive mode. - - - - - INTERLACED - - - -The display scan type is interlaced mode. - - - - -Indicates the display scan type. - - - - - - - - - - ADLX_DISPLAY_TIMING_POLARITY - - POSITIVE - = 0 - - - -Positive Polarity - - - - - NEGATIVE - - - -Negative Polarity - - - - -Display timing polarity. - - - - - - - - - - ADLX_DISPLAY_TIMING_LIMITATION - - PIXEL_CLOCK_MAX - = 650000 - - - -Maximum pixel clock - - - - - PIXEL_CLOCK_MIN - = 0 - - - -Minimum pixel clock - - - - - REFRESH_RATE_MAX - = 200 - - - -Maximum refresh rate - - - - - REFRESH_RATE_MIN - = 1 - - - -Minimum refresh rate - - - - - RESOLUTION_MAX - = 9999 - - - -Maximum resolution - - - - - RESOLUTION_MIN - = 1 - - - -Minimum resolution - - - - -Display timing limitation. - - - - - - - - - - ADLX_GAMUT_SPACE - - GAMUT_SPACE_CCIR_709 - = 0 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_709. - - - - - GAMUT_SPACE_CCIR_601 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_601. - - - - - GAMUT_SPACE_ADOBE_RGB - - - -The predefined gamut space is GAMUT_SPACE_ADOBE_RGB. - - - - - GAMUT_SPACE_CIE_RGB - - - -The predefined gamut space is GAMUT_SPACE_CIE_RGB. - - - - - GAMUT_SPACE_CCIR_2020 - - - -The predefined gamut space is GAMUT_SPACE_CCIR_2020. - - - - - GAMUT_SPACE_CUSTOM - - - -The predefined gamut space is GAMUT_SPACE_CUSTOM. - - - - -Indicates the predefined gamut space. - - - - - - - - - - ADLX_WHITE_POINT - - WHITE_POINT_5000K - = 0 - - - -The white point setting is 5000k. - - - - - WHITE_POINT_6500K - - - -The white point setting is 6500k. - - - - - WHITE_POINT_7500K - - - -The white point setting is 7500k. - - - - - WHITE_POINT_9300K - - - -The white point setting is 9300k. - - - - - WHITE_POINT_CUSTOM - - - -The white point setting is customized. - - - - -Indicates the standardized white point setting. - - - - - - - - - - ADLX_GAMMA_TYPE - - UNKNOW - = 0 - - - -The gamma type is unknown. - - - - - DEGAMMA_RAMP - - - -The gamma type is Degamma Ramp way. - - - - - REGAMMA_RAMP - - - -The gamma type is Regamma Ramp way. - - - - - DEGAMMA_COEFFICIENTS - - - -The gamma type is Degamma coefficients way. - - - - - REGAMMA_COEFFICIENTS - - - -The gamma type is Regamma coefficients way. - - - - -Indicates the gamma type. - - - - - - - - - - ADLX_ORIENTATION - - ORIENTATION_LANDSCAPE - = 0 - - - -The orientation is landscape. - - - - - ORIENTATION_PORTRAIT - = 90 - - - -The orientation is Portrait. - - - - - ORIENTATION_LANDSCAPE_FLIPPED - = 180 - - - -The orientation is landscape (flipped). - - - - - ORIENTATION_PORTRAIT_FLIPPED - = 270 - - - -the orientation is Portrait (flipped). - - - - -Indicates the orientation. - - - - - - - - - - ADLX_DESKTOP_TYPE - - DESKTOP_SINGLE - = 0 - - - -Single display desktop: one display showing the entire desktop - - - - - DESKTOP_DUPLCATE - = 1 - - - -Duplicate desktop: two or more displays each show the entire desktop - - - - - DESKTOP_EYEFINITY - = 2 - - - -AMD Eyefinity desktop: two or more displays each show a portion of the desktop - - - - -Types of desktops in respect to display composition. - - - - - - - - - - ADLX_LOG_SEVERITY - - LDEBUG - = 0 - - - -The log captures errors, warnings and debug information. - - - - - LWARNING - - - -The log captures errors and warnings. - - - - - LERROR - - - -The log captures errors. - - - - -Indicates the severity level for ADLX logs. - - - - - - - - - - ADLX_LOG_DESTINATION - - LOCALFILE - = 0 - - - -The log destination is a file. - - - - - DBGVIEW - - - -The log destination is the application debugger. - - - - - APPLICATION - - - -The log destination is the application. - - - - -Indicates the location of the log traces that are generated from the internal code execution of ADLX. - - - - - - - - - - ADLX_SCALE_MODE - - PRESERVE_ASPECT_RATIO - = 0 - - - -The scale mode preserves aspect ratio. - - - - - FULL_PANEL - - - -The scale mode extends to full panel. - - - - - CENTERED - - - -The scale mode is centered on screen. - - - - -Indicates the methods to stretch and position the image to fit on the display. - - - - - - - - - - ADLX_COLOR_DEPTH - - BPC_UNKNOWN - = 0 - - - - - - - BPC_6 - - - -A color component/pixel with 6 bits - - - - - BPC_8 - - - -A color component/pixel with 8 bits - - - - - BPC_10 - - - -A color component/pixel with 10 bits - - - - - BPC_12 - - - -A color component/pixel with 12 bits - - - - - BPC_14 - - - -A color component/pixel with 14 bits - - - - - BPC_16 - - - -A color component/pixel with 16 bits - - - - -Indicates the color/bit depth, which is the number of bits used to indicate the color of a single pixel. - - - - - - - - - - ADLX_PIXEL_FORMAT - - FORMAT_UNKNOWN - = 0 - - - -The pixel format is unknown. - - - - - RGB_444_FULL - - - -The pixel format is RGB 4:4:4 PC Standard (Full RGB). - - - - - YCBCR_444 - - - -The pixel format is YCbCr 4:4:4. - - - - - YCBCR_422 - - - -The pixel format is YCbCr 4:2:2. - - - - - RGB_444_LIMITED - - - -The pixel format is RGB 4:4:4 Studio (Limited RGB). - - - - - YCBCR_420 - - - -The pixel format is YCbCr 4:2:0 Pixel Format. - - - - -Indicates the pixel format to encode images for the display. - - - - - - - - - - ADLX_TIMING_STANDARD - - CVT - = 0 - - - -Coordinated Video Timings(CVT) VESA standard for generating and defining the display timings. - - - - - CVT_RB - - - -Coordinated Video Timings-Reduced Blanking(CVT-RB).Reduces horizontal and vertical blanking periods and allows a lower pixel clock rate and higher frame rates. - - - - - GTF - - - -Generalized Timing Formula(GTF). A method of generating industry standard display timings. - - - - - DMT - - - -Display Monitor Timmings(DMT). VESA standard that lists pre-defined display timings for various resolutions and display sizes. - - - - - MANUAL - - - -Manual control - - - - -Timing standard for custom resolution. - - - - - - - - - - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - - WFVR_ALWAYS_OFF - = 0 - - - -VSync is always off. - - - - - WFVR_OFF_UNLESS_APP_SPECIFIES - - - -VSync is off, unless specified by the application. - - - - - WFVR_ON_UNLESS_APP_SPECIFIES - - - -VSync is on, unless specified by application. - - - - - WFVR_ALWAYS_ON - - - -VSync is always on. - - - - -Indicates the modes of VSync settings. - - - - - - - - - - ADLX_ANTI_ALIASING_MODE - - AA_MODE_USE_APP_SETTINGS - = 0 - - - -The anti-aliasing mode uses application settings. - - - - - AA_MODE_ENHANCE_APP_SETTINGS - - - -The anti-aliasing mode enhances the application settings. - - - - - AA_MODE_OVERRIDE_APP_SETTINGS - - - -The anti-aliasing mode overrides the application settings. - - - - -Indicates the anti-aliasing mode. - - - - - - - - - - ADLX_ANTI_ALIASING_LEVEL - - AA_LEVEL_INVALID - = 0 - - - -The anti-aliasing level is invalid. - - - - - AA_LEVEL_2X - = 2 - - - -The anti-aliasing level is 2X. - - - - - AA_LEVEL_2XEQ - = 3 - - - -The anti-aliasing level is 2XEQ. - - - - - AA_LEVEL_4X - = 4 - - - -The anti-aliasing level is 4X. - - - - - AA_LEVEL_4XEQ - = 5 - - - -The anti-aliasing level is 4XEQ. - - - - - AA_LEVEL_8X - = 8 - - - -The anti-aliasing level is 8X. - - - - - AA_LEVEL_8XEQ - = 9 - - - -The anti-aliasing level is 8XEQ. - - - - -Indicates the anti-aliasing level. - - - - - - - - - - ADLX_ANTI_ALIASING_METHOD - - AA_METHOD_MULTISAMPLING - = 0 - - - -The multi-sampling method. - - - - - AA_METHOD_ADAPTIVE_MULTISAMPLING - - - -The adaptive multi-sampling method. - - - - - AA_METHOD_SUPERSAMPLING - - - -The super-sampling method. - - - - -Indicates the anti-aliasing method. - - - - - - - - - - ADLX_ANISOTROPIC_FILTERING_LEVEL - - AF_LEVEL_INVALID - = 0 - - - -The Anisotropic Filtering level is invalid. - - - - - AF_LEVEL_X2 - = 2 - - - -The Anisotropic Filtering level is 2X. - - - - - AF_LEVEL_X4 - = 4 - - - -The Anisotropic Filtering level is 4X. - - - - - AF_LEVEL_X8 - = 8 - - - -The Anisotropic Filtering level is 8X. - - - - - AF_LEVEL_X16 - = 16 - - - -The Anisotropic Filtering level is 16X. - - - - -Indicates the Anisotropic Filtering level. - - - - - - - - - - ADLX_TESSELLATION_MODE - - T_MODE_AMD_OPTIMIZED - = 0 - - - -This mode uses AMD optimization. - - - - - T_MODE_USE_APP_SETTINGS - - - -This mode uses application settings. - - - - - T_MODE_OVERRIDE_APP_SETTINGS - - - -This mode uses override application settings. - - - - -Indicates the tessellation setting on a GPU. - - - - - - - - - - ADLX_TESSELLATION_LEVEL - - T_LEVEL_OFF - = 1 - - - -The tessellation level is Off. - - - - - T_LEVEL_2X - = 2 - - - -The tessellation level is 2X. - - - - - T_LEVEL_4X - = 4 - - - -The tessellation level is 4X. - - - - - T_LEVEL_6X - = 6 - - - -The tessellation level is 6X. - - - - - T_LEVEL_8X - = 8 - - - -The tessellation level is 8X. - - - - - T_LEVEL_16X - = 16 - - - -The tessellation level is 16X. - - - - - T_LEVEL_32X - = 32 - - - -The tessellation level is 32X. - - - - - T_LEVEL_64X - = 64 - - - -The tessellation level is 64X. - - - - -Indicates the tessellation level on a GPU. - - - - - - - - - - ADLX_MEMORYTIMING_DESCRIPTION - - MEMORYTIMING_DEFAULT - = 0 - - - -The memory timing is default. - - - - - MEMORYTIMING_FAST_TIMING - - - -The memory timing is fast timing. - - - - - MEMORYTIMING_FAST_TIMING_LEVEL_2 - - - -The memory timing is fast timing level 2. - - - - - MEMORYTIMING_AUTOMATIC - - - -The memory timing is automatic. - - - - - MEMORYTIMING_MEMORYTIMING_LEVEL_1 - - - -The memory timing is level 1. - - - - - MEMORYTIMING_MEMORYTIMING_LEVEL_2 - - - -The memory timing is level 2. - - - - -Indicates the priority of the log entry. - - - - - - - - - - ADLX_I2C_LINE - - I2C_LINE_OEM - = 1 - - - -The I2C line is OEM. - - - - - I2C_LINE_OD_CONTROL - - - -The I2C line is Over Driver Control. - - - - - I2C_LINE_OEM2 - - - -The I2C line is OEM2. - - - - - I2C_LINE_OEM3 - - - -The I2C line is OEM3. - - - - - I2C_LINE_OEM4 - - - -The I2C line is OEM4. - - - - - I2C_LINE_OEM5 - - - -The I2C line is OEM5. - - - - - I2C_LINE_OEM6 - - - -The I2C line is OEM6. - - - - -Indicates the I2C line options. - - - - - - - - - - ADLX_SYNC_ORIGIN - - SYNC_ORIGIN_UNKNOWN - = 1 - - - -The event has an unknown trigger. - - - - - SYNC_ORIGIN_INTERNAL - - - -The event is triggered by a change in settings using ADLX in this application. - - - - - SYNC_ORIGIN_EXTERNAL - - - -The event is triggered by a change in settings using ADLX in another application. - - - - -Indicates the origin of an event. - - - - - - - - - - ADLX_3DLUT_TRANSFER_FUNCTION - - TF_SRGB - = 1 - - - -The transfer function is sRGB. - - - - - TF_PQ - - - -The transfer function is PQ. - - - - - TF_G22 - - - -The transfer function is G22. - - - - -Indicates the User 3D LUT transfer function. - - - - - - - - - - ADLX_3DLUT_COLORSPACE - - CS_SRGB - = 1 - - - -The color space is sRGB. - - - - - CS_BT2020 - - - -The color space is BT2020. - - - - - CS_DCIP3 - - - -The color space is DCIP3. - - - - - CS_NATIVE - - - -The color space is native. - - - - -Indicates the custom 3D LUT color space. - - - - - - - - - - ADLX_SSM_BIAS_MODE - - SSM_BIAS_AUTO - = 0 - - - -The bias control type is auto. - - - - - SSM_BIAS_MANUAL - - - -The bias control type is manual. - - - - -AMD SmartShift Max bias mode. - - - - - - - - - - ADLX_ANTILAG_STATE - - ANTILAG - = 0 - - - -The Antilag level is AntiLag. - - - - - ANTILAGNEXT - - - -The Antilag level is AntiLag Next. - - - - -Indicates the state of Anti Lag. - - - - - - - - - - ADLX_MGPU_MODE - - MGPU_NONE - = 0 - - - -The GPU is not part of an AMD MGPU configuration. - - - - - MGPU_PRIMARY - - - -The GPU is the primary GPU in an AMD MGPU configuration. - - - - - MGPU_SECONDARY - - - -The GPU is the secondary GPU in an AMD MGPU configuration. - - - - -Indicates the AMD MGPU mode. - - - - - - - - - - - -This section indicates the enumerator values for various ADLX functionalities. -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
-
-
-
diff --git a/vendor/adlx/SDKDoc/xml/group__structures_val.xml b/vendor/adlx/SDKDoc/xml/group__structures_val.xml deleted file mode 100644 index 786f92c..0000000 --- a/vendor/adlx/SDKDoc/xml/group__structures_val.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - structuresVal - ADLX Structs - ADLX_RGB - ADLX_Point - ADLX_GamutColorSpace - ADLX_GammaRamp - ADLX_RegammaCoeff - ADLX_TimingInfo - ADLX_CustomResolution - ADLX_IntRange - ADLX_UINT16_RGB - ADLX_3DLUT_Data - - - -This section provides structure information in the form of member data documentation for various ADLX functionalities. -Requirements - - -Header -include "ADLXStructures.h" - - -Minimum version -1.0 - -
-
-
-
-
diff --git a/vendor/adlx/SDKDoc/xml/group__typedefs.xml b/vendor/adlx/SDKDoc/xml/group__typedefs.xml deleted file mode 100644 index 522816a..0000000 --- a/vendor/adlx/SDKDoc/xml/group__typedefs.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - typedefs - ADLX Primitive Data Types - -This section provides definitions for ADLX primitive data types. - - -Requirements - - -Header -include "ADLXDefines.h" - - -Minimum version -1.0 - -
-
- -ADLX Type -Description - - -adlx_int64 -adlx_int64 is typedef of int64_t - - -adlx_int32 -adlx_int32 is typedef of int32_t - - -adlx_int16 -adlx_int16 is typedef of int16_t - - -adlx_int8 -adlx_int8 is typedef of int8_t - - -adlx_uint64 -adlx_uint64 is typedef of uint64_t - - -adlx_uint32 -adlx_uint32 is typedef of uint32_t - - -adlx_uint16 -adlx_uint16 is typedef of uint16_t - - -adlx_uint8 -adlx_uint8 is typedef of uint8_t - - -adlx_size -adlx_size is typedef of size_t - - -adlx_handle -adlx_handle is typedef of void* - - -adlx_double -adlx_double is typedef of double - - -adlx_float -adlx_float is typedef of float - - -adlx_void -adlx_void is typedef of void - - -adlx_int -adlx_int is typedef of adlx_int32 - - -adlx_uint -adlx_uint is typedef of adlx_uint32 - - -adlx_ulong -adlx_ulong is typedef of unsigned long - - -adlx_bool -adlx_bool is typedef of bool - -
-
-
-
-
diff --git a/vendor/adlx/SDKDoc/xml/i2c.xml b/vendor/adlx/SDKDoc/xml/i2c.xml deleted file mode 100644 index 4c07396..0000000 --- a/vendor/adlx/SDKDoc/xml/i2c.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - i2c - I2C - IADLXI2C - - - -The I2C domain contains interfaces that are related to I2C settings. Examples include obtaining the I2C version, read and write I2C. - -IADLXI2C - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/index.xml b/vendor/adlx/SDKDoc/xml/index.xml deleted file mode 100644 index a632992..0000000 --- a/vendor/adlx/SDKDoc/xml/index.xml +++ /dev/null @@ -1,3901 +0,0 @@ - - - ADLX_3DLUT_Data - data - - ADLX_CustomResolution - resWidth - resHeight - refreshRate - presentation - timingStandard - GPixelClock - detailedTiming - - ADLX_GammaRamp - gamma - - ADLX_GamutColorSpace - red - green - blue - - ADLX_IntRange - minValue - maxValue - step - - ADLX_Point - x - y - - ADLX_RegammaCoeff - coefficientA0 - coefficientA1 - coefficientA2 - coefficientA3 - gamma - - ADLX_RGB - gamutR - gamutG - gamutB - - ADLX_TimingInfo - timingFlags - hTotal - vTotal - hDisplay - vDisplay - hFrontPorch - vFrontPorch - hSyncWidth - vSyncWidth - hPolarity - vPolarity - - ADLX_UINT16_RGB - red - green - blue - - ADLXHelper - m_hDLLHandle - m_ADLXFullVersion - m_ADLXVersion - m_pSystemServices - m_pAdlMapping - m_fullVersionFn - m_versionFn - m_initWithADLFn - m_initFnEx - m_initFn - m_terminateFn - m_pSystemServices - m_pAdlMapping - ADLXHelper - ~ADLXHelper - InitializeWithCallerAdl - Initialize - InitializeWithIncompatibleDriver - Terminate - QueryFullVersion - QueryVersion - GetSystemServices - GetAdlMapping - LoadADLXDll - InitializePrivate - - adlx::IADLMapping - GetADLXGPUFromBdf - GetADLXGPUFromAdlAdapterIndex - BdfFromADLXGPU - AdlAdapterIndexFromADLXGPU - GetADLXDisplayFromADLIds - ADLIdsFromADLXDisplay - GetADLXDesktopFromADLIds - ADLIdsFromADLXDesktop - - adlx::IADLX3DAnisotropicFiltering - IsSupported - IsEnabled - GetLevel - SetEnabled - SetLevel - - adlx::IADLX3DAntiAliasing - IsSupported - GetMode - GetLevel - GetMethod - SetMode - SetLevel - SetMethod - - adlx::IADLX3DAntiLag - IsSupported - IsEnabled - SetEnabled - - adlx::IADLX3DAntiLag1 - GetLevel - SetLevel - - adlx::IADLX3DBoost - IsSupported - IsEnabled - GetResolutionRange - GetResolution - SetEnabled - SetResolution - - adlx::IADLX3DChill - IsSupported - IsEnabled - GetFPSRange - GetMinFPS - GetMaxFPS - SetEnabled - SetMinFPS - SetMaxFPS - - adlx::IADLX3DEnhancedSync - IsSupported - IsEnabled - SetEnabled - - adlx::IADLX3DFrameRateTargetControl - IsSupported - IsEnabled - GetFPSRange - GetFPS - SetEnabled - SetFPS - - adlx::IADLX3DImageSharpening - IsSupported - IsEnabled - GetSharpnessRange - GetSharpness - SetEnabled - SetSharpness - - adlx::IADLX3DMorphologicalAntiAliasing - IsSupported - IsEnabled - SetEnabled - - adlx::IADLX3DRadeonSuperResolution - IsSupported - IsEnabled - SetEnabled - GetSharpnessRange - GetSharpness - SetSharpness - - adlx::IADLX3DResetShaderCache - IsSupported - ResetShaderCache - - adlx::IADLX3DSettingsChangedEvent - GetGPU - IsAntiLagChanged - IsChillChanged - IsBoostChanged - IsImageSharpeningChanged - IsEnhancedSyncChanged - IsWaitForVerticalRefreshChanged - IsFrameRateTargetControlChanged - IsAntiAliasingChanged - IsMorphologicalAntiAliasingChanged - IsAnisotropicFilteringChanged - IsTessellationModeChanged - IsRadeonSuperResolutionChanged - IsResetShaderCache - - adlx::IADLX3DSettingsChangedHandling - Add3DSettingsEventListener - Remove3DSettingsEventListener - - adlx::IADLX3DSettingsChangedListener - On3DSettingsChanged - - adlx::IADLX3DSettingsServices - GetAntiLag - GetChill - GetBoost - GetImageSharpening - GetEnhancedSync - GetWaitForVerticalRefresh - GetFrameRateTargetControl - GetAntiAliasing - GetMorphologicalAntiAliasing - GetAnisotropicFiltering - GetTessellation - GetRadeonSuperResolution - GetResetShaderCache - Get3DSettingsChangedHandling - - adlx::IADLX3DTessellation - IsSupported - GetMode - GetLevel - SetMode - SetLevel - - adlx::IADLX3DWaitForVerticalRefresh - IsSupported - IsEnabled - GetMode - SetMode - - adlx::IADLXAllMetrics - TimeStamp - GetSystemMetrics - GetFPS - GetGPUMetrics - - adlx::IADLXAllMetricsList - At - Add_Back - - adlx::IADLXChangedEvent - GetOrigin - - adlx::IADLXDesktop - Orientation - Size - TopLeft - Type - GetNumberOfDisplays - GetDisplays - - adlx::IADLXDesktopChangedHandling - AddDesktopListEventListener - RemoveDesktopListEventListener - - adlx::IADLXDesktopList - At - Add_Back - - adlx::IADLXDesktopListChangedListener - OnDesktopListChanged - - adlx::IADLXDesktopServices - GetNumberOfDesktops - GetDesktops - GetDesktopChangedHandling - GetSimpleEyefinity - - adlx::IADLXDisplay - ManufacturerID - DisplayType - ConnectorType - Name - EDID - NativeResolution - RefreshRate - PixelClock - ScanType - GetGPU - UniqueId - - adlx::IADLXDisplay3DLUT - IsSupportedSCE - IsSupportedSCEVividGaming - IsCurrentSCEDisabled - IsCurrentSCEVividGaming - SetSCEDisabled - SetSCEVividGaming - IsSupportedSCEDynamicContrast - IsCurrentSCEDynamicContrast - GetSCEDynamicContrastRange - GetSCEDynamicContrast - SetSCEDynamicContrast - IsSupportedUser3DLUT - ClearUser3DLUT - GetSDRUser3DLUT - SetSDRUser3DLUT - GetHDRUser3DLUT - SetHDRUser3DLUT - GetAllUser3DLUT - SetAllUser3DLUT - GetUser3DLUTIndex - - adlx::IADLXDisplay3DLUTChangedEvent - GetDisplay - IsSCEChanged - IsCustom3DLUTChanged - - adlx::IADLXDisplay3DLUTChangedListener - OnDisplay3DLUTChanged - - adlx::IADLXDisplayBlanking - IsSupported - IsCurrentBlanked - IsCurrentUnblanked - SetBlanked - SetUnblanked - - adlx::IADLXDisplayChangedHandling - AddDisplayListEventListener - RemoveDisplayListEventListener - AddDisplayGamutEventListener - RemoveDisplayGamutEventListener - AddDisplayGammaEventListener - RemoveDisplayGammaEventListener - AddDisplay3DLUTEventListener - RemoveDisplay3DLUTEventListener - AddDisplaySettingsEventListener - RemoveDisplaySettingsEventListener - - adlx::IADLXDisplayColorDepth - IsSupported - GetValue - SetValue - IsSupportedColorDepth - IsSupportedBPC_6 - IsSupportedBPC_8 - IsSupportedBPC_10 - IsSupportedBPC_12 - IsSupportedBPC_14 - IsSupportedBPC_16 - - adlx::IADLXDisplayConnectivityExperience - IsSupportedHDMIQualityDetection - IsSupportedDPLink - IsEnabledHDMIQualityDetection - SetEnabledHDMIQualityDetection - GetDPLinkRate - GetNumberOfActiveLanes - GetNumberOfTotalLanes - GetRelativePreEmphasis - SetRelativePreEmphasis - GetRelativeVoltageSwing - SetRelativeVoltageSwing - IsEnabledLinkProtection - - adlx::IADLXDisplayCustomColor - IsHueSupported - GetHueRange - GetHue - SetHue - IsSaturationSupported - GetSaturationRange - GetSaturation - SetSaturation - IsBrightnessSupported - GetBrightnessRange - GetBrightness - SetBrightness - IsContrastSupported - GetContrastRange - GetContrast - SetContrast - IsTemperatureSupported - GetTemperatureRange - GetTemperature - SetTemperature - - adlx::IADLXDisplayCustomResolution - IsSupported - GetResolutionList - GetCurrentAppliedResolution - CreateNewResolution - DeleteResolution - - adlx::IADLXDisplayFreeSync - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXDisplayGamma - IsCurrentReGammaRamp - IsCurrentDeGammaRamp - IsCurrentRegammaCoefficient - GetGammaRamp - GetGammaCoefficient - IsSupportedReGammaSRGB - IsSupportedReGammaBT709 - IsSupportedReGammaPQ - IsSupportedReGammaPQ2084Interim - IsSupportedReGamma36 - IsCurrentReGammaSRGB - IsCurrentReGammaBT709 - IsCurrentReGammaPQ - IsCurrentReGammaPQ2084Interim - IsCurrentReGamma36 - SetReGammaSRGB - SetReGammaBT709 - SetReGammaPQ - SetReGammaPQ2084Interim - SetReGamma36 - SetReGammaCoefficient - SetDeGammaRamp - SetDeGammaRamp - SetReGammaRamp - SetReGammaRamp - ResetGammaRamp - - adlx::IADLXDisplayGammaChangedEvent - GetDisplay - IsGammaRampChanged - IsGammaCoefficientChanged - IsReGammaChanged - IsDeGammaChanged - - adlx::IADLXDisplayGammaChangedListener - OnDisplayGammaChanged - - adlx::IADLXDisplayGamut - IsSupportedCCIR709ColorSpace - IsSupportedCCIR601ColorSpace - IsSupportedAdobeRgbColorSpace - IsSupportedCIERgbColorSpace - IsSupportedCCIR2020ColorSpace - IsSupportedCustomColorSpace - IsSupported5000kWhitePoint - IsSupported6500kWhitePoint - IsSupported7500kWhitePoint - IsSupported9300kWhitePoint - IsSupportedCustomWhitePoint - IsCurrent5000kWhitePoint - IsCurrent6500kWhitePoint - IsCurrent7500kWhitePoint - IsCurrent9300kWhitePoint - IsCurrentCustomWhitePoint - GetWhitePoint - IsCurrentCCIR709ColorSpace - IsCurrentCCIR601ColorSpace - IsCurrentAdobeRgbColorSpace - IsCurrentCIERgbColorSpace - IsCurrentCCIR2020ColorSpace - IsCurrentCustomColorSpace - GetGamutColorSpace - SetGamut - SetGamut - SetGamut - SetGamut - - adlx::IADLXDisplayGamutChangedEvent - GetDisplay - IsWhitePointChanged - IsColorSpaceChanged - - adlx::IADLXDisplayGamutChangedListener - OnDisplayGamutChanged - - adlx::IADLXDisplayGPUScaling - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXDisplayHDCP - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXDisplayIntegerScaling - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXDisplayList - At - Add_Back - - adlx::IADLXDisplayListChangedListener - OnDisplayListChanged - - adlx::IADLXDisplayPixelFormat - IsSupported - GetValue - SetValue - IsSupportedPixelFormat - IsSupportedRGB444Full - IsSupportedYCbCr444 - IsSupportedYCbCr422 - IsSupportedRGB444Limited - IsSupportedYCbCr420 - - adlx::IADLXDisplayResolution - GetValue - SetValue - - adlx::IADLXDisplayResolutionList - At - Add_Back - - adlx::IADLXDisplayScalingMode - IsSupported - GetMode - SetMode - - adlx::IADLXDisplayServices - GetNumberOfDisplays - GetDisplays - Get3DLUT - GetGamut - GetGamma - GetDisplayChangedHandling - GetFreeSync - GetVirtualSuperResolution - GetGPUScaling - GetScalingMode - GetIntegerScaling - GetColorDepth - GetPixelFormat - GetCustomColor - GetHDCP - GetCustomResolution - GetVariBright - - adlx::IADLXDisplayServices1 - GetDisplayBlanking - - adlx::IADLXDisplayServices2 - GetDisplayConnectivityExperience - - adlx::IADLXDisplaySettingsChangedEvent - GetDisplay - IsFreeSyncChanged - IsVSRChanged - IsGPUScalingChanged - IsScalingModeChanged - IsIntegerScalingChanged - IsColorDepthChanged - IsPixelFormatChanged - IsHDCPChanged - IsCustomColorHueChanged - IsCustomColorSaturationChanged - IsCustomColorBrightnessChanged - IsCustomColorTemperatureChanged - IsCustomColorContrastChanged - IsCustomResolutionChanged - IsVariBrightChanged - - adlx::IADLXDisplaySettingsChangedEvent1 - IsDisplayBlankingChanged - - adlx::IADLXDisplaySettingsChangedEvent2 - IsDisplayConnectivityExperienceChanged - - adlx::IADLXDisplaySettingsChangedListener - OnDisplaySettingsChanged - - adlx::IADLXDisplayVariBright - IsSupported - IsEnabled - SetEnabled - IsCurrentMaximizeBrightness - IsCurrentOptimizeBrightness - IsCurrentBalanced - IsCurrentOptimizeBattery - IsCurrentMaximizeBattery - SetMaximizeBrightness - SetOptimizeBrightness - SetBalanced - SetOptimizeBattery - SetMaximizeBattery - - adlx::IADLXDisplayVSR - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXEyefinityDesktop - GridSize - GetDisplay - DisplayOrientation - DisplaySize - DisplayTopLeft - - adlx::IADLXFPS - TimeStamp - FPS - - adlx::IADLXFPSList - At - Add_Back - - adlx::IADLXGPU - VendorId - ASICFamilyType - Type - IsExternal - Name - DriverPath - PNPString - HasDesktops - TotalVRAM - VRAMType - BIOSInfo - DeviceId - RevisionId - SubSystemId - SubSystemVendorId - UniqueId - - adlx::IADLXGPU1 - PCIBusType - PCIBusLaneWidth - MultiGPUMode - ProductName - - adlx::IADLXGPUAutoTuning - IsSupportedUndervoltGPU - IsSupportedOverclockGPU - IsSupportedOverclockVRAM - IsCurrentUndervoltGPU - IsCurrentOverclockGPU - IsCurrentOverclockVRAM - StartUndervoltGPU - StartOverclockGPU - StartOverclockVRAM - - adlx::IADLXGPUAutoTuningCompleteEvent - IsUndervoltGPUCompleted - IsOverclockGPUCompleted - IsOverclockVRAMCompleted - - adlx::IADLXGPUAutoTuningCompleteListener - OnGPUAutoTuningComplete - - adlx::IADLXGPUList - At - Add_Back - - adlx::IADLXGPUMetrics - TimeStamp - GPUUsage - GPUClockSpeed - GPUVRAMClockSpeed - GPUTemperature - GPUHotspotTemperature - GPUPower - GPUTotalBoardPower - GPUFanSpeed - GPUVRAM - GPUVoltage - GPUIntakeTemperature - - adlx::IADLXGPUMetricsList - At - Add_Back - - adlx::IADLXGPUMetricsSupport - IsSupportedGPUUsage - IsSupportedGPUClockSpeed - IsSupportedGPUVRAMClockSpeed - IsSupportedGPUTemperature - IsSupportedGPUHotspotTemperature - IsSupportedGPUPower - IsSupportedGPUTotalBoardPower - IsSupportedGPUFanSpeed - IsSupportedGPUVRAM - IsSupportedGPUVoltage - GetGPUUsageRange - GetGPUClockSpeedRange - GetGPUVRAMClockSpeedRange - GetGPUTemperatureRange - GetGPUHotspotTemperatureRange - GetGPUPowerRange - GetGPUFanSpeedRange - GetGPUVRAMRange - GetGPUVoltageRange - GetGPUTotalBoardPowerRange - GetGPUIntakeTemperatureRange - IsSupportedGPUIntakeTemperature - - adlx::IADLXGPUPresetTuning - IsSupportedPowerSaver - IsSupportedQuiet - IsSupportedBalanced - IsSupportedTurbo - IsSupportedRage - IsCurrentPowerSaver - IsCurrentQuiet - IsCurrentBalanced - IsCurrentTurbo - IsCurrentRage - SetPowerSaver - SetQuiet - SetBalanced - SetTurbo - SetRage - - adlx::IADLXGPUsChangedHandling - AddGPUsListEventListener - RemoveGPUsListEventListener - - adlx::IADLXGPUsEventListener - OnGPUListChanged - - adlx::IADLXGPUTuningChangedEvent - GetGPU - IsAutomaticTuningChanged - IsPresetTuningChanged - IsManualGPUCLKTuningChanged - IsManualVRAMTuningChanged - IsManualFanTuningChanged - IsManualPowerTuningChanged - - adlx::IADLXGPUTuningChangedEvent1 - IsSmartAccessMemoryChanged - GetSmartAccessMemoryStatus - - adlx::IADLXGPUTuningChangedHandling - AddGPUTuningEventListener - RemoveGPUTuningEventListener - - adlx::IADLXGPUTuningChangedListener - OnGPUTuningChanged - - adlx::IADLXGPUTuningServices - GetGPUTuningChangedHandling - IsAtFactory - ResetToFactory - IsSupportedAutoTuning - IsSupportedPresetTuning - IsSupportedManualGFXTuning - IsSupportedManualVRAMTuning - IsSupportedManualFanTuning - IsSupportedManualPowerTuning - GetAutoTuning - GetPresetTuning - GetManualGFXTuning - GetManualVRAMTuning - GetManualFanTuning - GetManualPowerTuning - - adlx::IADLXGPUTuningServices1 - GetSmartAccessMemory - - adlx::IADLXI2C - Version - IsSupported - Read - RepeatedStartRead - Write - - adlx::IADLXInterface - Acquire - Release - QueryInterface - - adlx::IADLXInterfacePtr_T - m_pInterf - InternalAcquire - InternalRelease - IADLXInterfacePtr_T - IADLXInterfacePtr_T - IADLXInterfacePtr_T - IADLXInterfacePtr_T - IADLXInterfacePtr_T - ~IADLXInterfacePtr_T - operator= - operator= - Attach - Detach - Release - operator _Interf * - operator* - operator& - operator-> - operator== - operator== - operator!= - operator!= - GetPtr - GetPtr - - adlx::IADLXList - Size - Empty - Begin - End - At - Clear - Remove_Back - Add_Back - - adlx::IADLXLog - WriteLog - - adlx::IADLXManualFanTuning - GetFanTuningRanges - GetFanTuningStates - GetEmptyFanTuningStates - IsValidFanTuningStates - SetFanTuningStates - IsSupportedZeroRPM - GetZeroRPMState - SetZeroRPMState - IsSupportedMinAcousticLimit - GetMinAcousticLimitRange - GetMinAcousticLimit - SetMinAcousticLimit - IsSupportedMinFanSpeed - GetMinFanSpeedRange - GetMinFanSpeed - SetMinFanSpeed - IsSupportedTargetFanSpeed - GetTargetFanSpeedRange - GetTargetFanSpeed - SetTargetFanSpeed - - adlx::IADLXManualFanTuningState - GetFanSpeed - SetFanSpeed - GetTemperature - SetTemperature - - adlx::IADLXManualFanTuningStateList - At - Add_Back - - adlx::IADLXManualGraphicsTuning1 - GetGPUTuningRanges - GetGPUTuningStates - GetEmptyGPUTuningStates - IsValidGPUTuningStates - SetGPUTuningStates - - adlx::IADLXManualGraphicsTuning2 - GetGPUMinFrequencyRange - GetGPUMinFrequency - SetGPUMinFrequency - GetGPUMaxFrequencyRange - GetGPUMaxFrequency - SetGPUMaxFrequency - GetGPUVoltageRange - GetGPUVoltage - SetGPUVoltage - - adlx::IADLXManualPowerTuning - GetPowerLimitRange - GetPowerLimit - SetPowerLimit - IsSupportedTDCLimit - GetTDCLimitRange - GetTDCLimit - SetTDCLimit - - adlx::IADLXManualTuningState - GetFrequency - SetFrequency - GetVoltage - SetVoltage - - adlx::IADLXManualTuningStateList - At - Add_Back - - adlx::IADLXManualVRAMTuning1 - IsSupportedMemoryTiming - GetSupportedMemoryTimingDescriptionList - GetMemoryTimingDescription - SetMemoryTimingDescription - GetVRAMTuningRanges - GetVRAMTuningStates - GetEmptyVRAMTuningStates - IsValidVRAMTuningStates - SetVRAMTuningStates - - adlx::IADLXManualVRAMTuning2 - IsSupportedMemoryTiming - GetSupportedMemoryTimingDescriptionList - GetMemoryTimingDescription - SetMemoryTimingDescription - GetMaxVRAMFrequencyRange - GetMaxVRAMFrequency - SetMaxVRAMFrequency - - adlx::IADLXMemoryTimingDescription - GetDescription - - adlx::IADLXMemoryTimingDescriptionList - At - Add_Back - - adlx::IADLXPerformanceMonitoringServices - GetSamplingIntervalRange - SetSamplingInterval - GetSamplingInterval - GetMaxPerformanceMetricsHistorySizeRange - SetMaxPerformanceMetricsHistorySize - GetMaxPerformanceMetricsHistorySize - ClearPerformanceMetricsHistory - GetCurrentPerformanceMetricsHistorySize - StartPerformanceMetricsTracking - StopPerformanceMetricsTracking - GetAllMetricsHistory - GetGPUMetricsHistory - GetSystemMetricsHistory - GetFPSHistory - GetCurrentAllMetrics - GetCurrentGPUMetrics - GetCurrentSystemMetrics - GetCurrentFPS - GetSupportedGPUMetrics - GetSupportedSystemMetrics - - adlx::IADLXPowerTuningChangedEvent - IsSmartShiftMaxChanged - - adlx::IADLXPowerTuningChangedHandling - AddPowerTuningEventListener - RemovePowerTuningEventListener - - adlx::IADLXPowerTuningChangedListener - OnPowerTuningChanged - - adlx::IADLXPowerTuningServices - GetPowerTuningChangedHandling - GetSmartShiftMax - - adlx::IADLXSimpleEyefinity - IsSupported - Create - DestroyAll - Destroy - - adlx::IADLXSmartAccessMemory - IsSupported - IsEnabled - SetEnabled - - adlx::IADLXSmartShiftMax - IsSupported - GetBiasMode - SetBiasMode - GetBiasRange - GetBias - SetBias - - adlx::IADLXSystem - HybridGraphicsType - GetGPUs - QueryInterface - GetDisplaysServices - GetDesktopsServices - GetGPUsChangedHandling - EnableLog - Get3DSettingsServices - GetGPUTuningServices - GetPerformanceMonitoringServices - TotalSystemRAM - GetI2C - - adlx::IADLXSystem1 - GetPowerTuningServices - - adlx::IADLXSystemMetrics - TimeStamp - CPUUsage - SystemRAM - SmartShift - - adlx::IADLXSystemMetrics1 - PowerDistribution - - adlx::IADLXSystemMetricsList - At - Add_Back - - adlx::IADLXSystemMetricsSupport - IsSupportedCPUUsage - IsSupportedSystemRAM - IsSupportedSmartShift - GetCPUUsageRange - GetSystemRAMRange - GetSmartShiftRange - - adlx::IADLXSystemMetricsSupport1 - IsSupportedPowerDistribution - - adlx - IADLXInterfacePtr - IADLX3DAntiLagPtr - IADLX3DAntiLag1Ptr - IADLX3DChillPtr - IADLX3DBoostPtr - IADLX3DImageSharpeningPtr - IADLX3DEnhancedSyncPtr - IADLX3DWaitForVerticalRefreshPtr - IADLX3DFrameRateTargetControlPtr - IADLX3DAntiAliasingPtr - IADLX3DMorphologicalAntiAliasingPtr - IADLX3DAnisotropicFilteringPtr - IADLX3DTessellationPtr - IADLX3DRadeonSuperResolutionPtr - IADLX3DResetShaderCachePtr - IADLX3DSettingsChangedEventPtr - IADLX3DSettingsChangedHandlingPtr - IADLX3DSettingsServicesPtr - IADLXChangedEventPtr - IADLXListPtr - IADLXDesktopPtr - IADLXEyefinityDesktopPtr - IADLXDesktopListPtr - IADLXDesktopChangedHandlingPtr - IADLXSimpleEyefinityPtr - IADLXDesktopServicesPtr - IADLXDisplay3DLUTPtr - IADLXDisplayGammaPtr - IADLXDisplayGamutPtr - IADLXDisplayPtr - IADLXDisplayListPtr - IADLXDisplayGamutChangedEventPtr - IADLXDisplayGammaChangedEventPtr - IADLXDisplay3DLUTChangedEventPtr - IADLXDisplaySettingsChangedEventPtr - IADLXDisplayChangedHandlingPtr - IADLXDisplayServicesPtr - IADLXDisplayServices1Ptr - IADLXDisplaySettingsChangedEvent1Ptr - IADLXDisplayServices2Ptr - IADLXDisplaySettingsChangedEvent2Ptr - IADLXDisplayFreeSyncPtr - IADLXDisplayVSRPtr - IADLXDisplayGPUScalingPtr - IADLXDisplayScalingModePtr - IADLXDisplayIntegerScalingPtr - IADLXDisplayColorDepthPtr - IADLXDisplayPixelFormatPtr - IADLXDisplayCustomColorPtr - IADLXDisplayHDCPPtr - IADLXDisplayResolutionPtr - IADLXDisplayResolutionListPtr - IADLXDisplayCustomResolutionPtr - IADLXDisplayVariBrightPtr - IADLXDisplayConnectivityExperiencePtr - IADLXDisplayBlankingPtr - IADLXGPUAutoTuningCompleteEventPtr - IADLXGPUAutoTuningPtr - IADLXManualFanTuningStatePtr - IADLXManualFanTuningStateListPtr - IADLXManualFanTuningPtr - IADLXManualGraphicsTuning1Ptr - IADLXManualGraphicsTuning2Ptr - IADLXManualPowerTuningPtr - IADLXManualVRAMTuning1Ptr - IADLXManualVRAMTuning2Ptr - IADLXGPUPresetTuningPtr - IADLXManualTuningStatePtr - IADLXMemoryTimingDescriptionPtr - IADLXManualTuningStateListPtr - IADLXMemoryTimingDescriptionListPtr - IADLXGPUTuningChangedEventPtr - IADLXGPUTuningChangedHandlingPtr - IADLXGPUTuningServicesPtr - IADLXGPUTuningServices1Ptr - IADLXGPUTuningChangedEvent1Ptr - IADLXI2CPtr - IADLXGPUMetricsSupportPtr - IADLXSystemMetricsSupportPtr - IADLXGPUMetricsPtr - IADLXGPUMetricsListPtr - IADLXSystemMetricsPtr - IADLXSystemMetricsListPtr - IADLXFPSPtr - IADLXFPSListPtr - IADLXAllMetricsPtr - IADLXAllMetricsListPtr - IADLXPerformanceMonitoringServicesPtr - IADLXSystemMetricsSupport1Ptr - IADLXSystemMetrics1Ptr - IADLXSmartShiftMaxPtr - IADLXPowerTuningChangedEventPtr - IADLXPowerTuningChangedHandlingPtr - IADLXPowerTuningServicesPtr - IADLXSmartAccessMemoryPtr - IADLXGPUPtr - IADLXGPUListPtr - IADLXGPUsChangedHandlingPtr - IADLXGPU1Ptr - IADLXSystem1Ptr - IADLXGPU - IADLXDisplayList - IADLXDisplay - IADLXDisplayGamut - IADLXDisplayGamma - IADLXDisplay3DLUT - IADLXDisplayFreeSync - IADLXDisplayVSR - IADLXDisplayGPUScaling - IADLXDisplayScalingMode - IADLXDisplayIntegerScaling - IADLXDisplayColorDepth - IADLXDisplayPixelFormat - IADLXDisplayCustomColor - IADLXDisplayHDCP - IADLXDisplayCustomResolution - IADLXDisplayVariBright - IADLXDisplayConnectivityExperience - IADLXDisplayBlanking - IADLXManualTuningStateList - IADLXMemoryTimingDescriptionList - IADLXSmartAccessMemory - IADLXDesktopServices - IADLXDisplayServices - IADLXLog - IADLX3DSettingsServices - IADLXGPUTuningServices - IADLXPerformanceMonitoringServices - IADLXI2C - IADLXDesktop - IADLXPowerTuningServices - - ADLXDox.h - - ADLX3DSettingsPage.h - - ADLXDesktopPage.h - - ADLXDisplayPage.h - - ADLXGPUPage.h - - ADLXGPUTuningPage.h - - ADLXI2CPage.h - - ADLXMiscellaneousPage.h - - ADLXPage.h - ADLX_DLL_NAMEW - ADLX_DLL_NAMEA - ADLX_DLL_NAME - - ADLXPerformancePage.h - - ADLXPowerTuningPage.h - - ADLXSystem1Page.h - - ADLXSystemPage.h - - Disclaimer.md - - legalinfo.md - - Trademark.md - - ADLXCSharpBind.md - - ADLXJavaBind.md - - ADLXPyBind.md - - benefits.md - - compatibility.md - - event.md - - initADLXwithHelp.md - - initADLXwithPointer.md - - languages.md - - prerequisites.md - - servicecall.md - - useADLXinApp.md - - c3d.md - - cdesktop.md - - cdisplay.md - - cgeneral.md - - cgputuning.md - - ci2c.md - - cperformance.md - - cpowertuning.md - - cpp3d.md - - cppdesktop.md - - cppdisplay.md - - cppgeneral.md - - cppgputuning.md - - cppi2c.md - - cppperformance.md - - cpppowertuning.md - - cppservicecall.md - - cppsync.md - - cservicecall.md - - csync.md - - zADLXSamplePage.h - - interfacereqtable.h - - ReadMe.md - - ReadMe.md - - ReadMe.md - - ReadMe.md - - ReadMe.md - - ADLXHelper.c - ADLXHelper - g_ADLX - InitializePrivate - ADLXHelper_Initialize - ADLXHelper_InitializeWithIncompatibleDriver - ADLXHelper_InitializeWithCallerAdl - ADLXHelper_Terminate - ADLXHelper_QueryFullVersion - ADLXHelper_QueryVersion - ADLXHelper_GetSystemServices - ADLXHelper_GetAdlMapping - LoadADLXDll - - ADLXHelper.h - ADLXHelper_Initialize - ADLXHelper_InitializeWithIncompatibleDriver - ADLXHelper_InitializeWithCallerAdl - ADLXHelper_Terminate - ADLXHelper_GetSystemServices - ADLXHelper_GetAdlMapping - ADLXHelper_QueryFullVersion - ADLXHelper_QueryVersion - - ADLXHelper.h - g_ADLX - - ADLXHelper.cpp - g_ADLX - - ADLX.h - ADLX_DLL_NAMEW - ADLX_DLL_NAMEA - ADLX_DLL_NAME - ADLX_QUERY_FULL_VERSION_FUNCTION_NAME - ADLX_QUERY_VERSION_FUNCTION_NAME - ADLX_INIT_FUNCTION_NAME - ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME - ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME - ADLX_TERMINATE_FUNCTION_NAME - ADLXQueryFullVersion_Fn - ADLXQueryVersion_Fn - ADLX_ADL_Main_Memory_Free - ADLXInitialize_Fn - ADLXInitializeWithCallerAdl_Fn - ADLXTerminate_Fn - - ADLXDefines.h - ADLX_MAKE_FULL_VER - ADLX_FULL_VERSION - ADLX_VERSION_STR - ADLX_CORE_LINK - ADLX_STD_CALL - ADLX_CDECL_CALL - ADLX_FAST_CALL - ADLX_INLINE - ADLX_FORCEINLINE - ADLX_NO_VTABLE - ADLX_SUCCEEDED - ADLX_FAILED - MAX_USER_3DLUT_NUM_POINTS - ADLX_DECLARE_IID - ADLX_IS_IID - ADLX_DECLARE_ITEM_IID - ADLX_RESULT - ADLX_OK - ADLX_ALREADY_ENABLED - ADLX_ALREADY_INITIALIZED - ADLX_FAIL - ADLX_INVALID_ARGS - ADLX_BAD_VER - ADLX_UNKNOWN_INTERFACE - ADLX_TERMINATED - ADLX_ADL_INIT_ERROR - ADLX_NOT_FOUND - ADLX_INVALID_OBJECT - ADLX_ORPHAN_OBJECTS - ADLX_NOT_SUPPORTED - ADLX_PENDING_OPERATION - ADLX_GPU_INACTIVE - ADLX_HG_TYPE - NONE - AMD - OTHER - ADLX_ASIC_FAMILY_TYPE - ASIC_UNDEFINED - ASIC_RADEON - ASIC_FIREPRO - ASIC_FIREMV - ASIC_FIRESTREAM - ASIC_FUSION - ASIC_EMBEDDED - ADLX_PCI_BUS_TYPE - UNDEFINED - PCI - AGP - PCIE - PCIE_2_0 - PCIE_3_0 - PCIE_4_0 - ADLX_DP_LINK_RATE - DP_LINK_RATE_UNKNOWN - DP_LINK_RATE_RBR - DP_LINK_RATE_2_16GBPS - DP_LINK_RATE_2_43GBPS - DP_LINK_RATE_HBR - DP_LINK_RATE_4_32GBPS - DP_LINK_RATE_HBR2 - DP_LINK_RATE_HBR3 - DP_LINK_RATE_UHBR10 - DP_LINK_RATE_UHBR13D5 - DP_LINK_RATE_UHBR20 - ADLX_GPU_TYPE - GPUTYPE_UNDEFINED - GPUTYPE_INTEGRATED - GPUTYPE_DISCRETE - ADLX_DISPLAY_CONNECTOR_TYPE - DISPLAY_CONTYPE_UNKNOWN - DISPLAY_CONTYPE_VGA - DISPLAY_CONTYPE_DVI_D - DISPLAY_CONTYPE_DVI_I - DISPLAY_CONTYPE_CVDONGLE_NTSC - DISPLAY_CONTYPE_CVDONGLE_JPN - DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN - DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC - DISPLAY_CONTYPE_PROPRIETARY - DISPLAY_CONTYPE_HDMI_TYPE_A - DISPLAY_CONTYPE_HDMI_TYPE_B - DISPLAY_CONTYPE_SVIDEO - DISPLAY_CONTYPE_COMPOSITE - DISPLAY_CONTYPE_RCA_3COMPONENT - DISPLAY_CONTYPE_DISPLAYPORT - DISPLAY_CONTYPE_EDP - DISPLAY_CONTYPE_WIRELESSDISPLAY - DISPLAY_CONTYPE_USB_TYPE_C - ADLX_DISPLAY_TYPE - DISPLAY_TYPE_UNKOWN - DISPLAY_TYPE_MONITOR - DISPLAY_TYPE_TELEVISION - DISPLAY_TYPE_LCD_PANEL - DISPLAY_TYPE_DIGITAL_FLAT_PANEL - DISPLAY_TYPE_COMPONENT_VIDEO - DISPLAY_TYPE_PROJECTOR - ADLX_DISPLAY_SCAN_TYPE - PROGRESSIVE - INTERLACED - ADLX_DISPLAY_TIMING_POLARITY - POSITIVE - NEGATIVE - ADLX_DISPLAY_TIMING_LIMITATION - PIXEL_CLOCK_MAX - PIXEL_CLOCK_MIN - REFRESH_RATE_MAX - REFRESH_RATE_MIN - RESOLUTION_MAX - RESOLUTION_MIN - ADLX_GAMUT_SPACE - GAMUT_SPACE_CCIR_709 - GAMUT_SPACE_CCIR_601 - GAMUT_SPACE_ADOBE_RGB - GAMUT_SPACE_CIE_RGB - GAMUT_SPACE_CCIR_2020 - GAMUT_SPACE_CUSTOM - ADLX_WHITE_POINT - WHITE_POINT_5000K - WHITE_POINT_6500K - WHITE_POINT_7500K - WHITE_POINT_9300K - WHITE_POINT_CUSTOM - ADLX_GAMMA_TYPE - UNKNOW - DEGAMMA_RAMP - REGAMMA_RAMP - DEGAMMA_COEFFICIENTS - REGAMMA_COEFFICIENTS - ADLX_ORIENTATION - ORIENTATION_LANDSCAPE - ORIENTATION_PORTRAIT - ORIENTATION_LANDSCAPE_FLIPPED - ORIENTATION_PORTRAIT_FLIPPED - ADLX_DESKTOP_TYPE - DESKTOP_SINGLE - DESKTOP_DUPLCATE - DESKTOP_EYEFINITY - ADLX_LOG_SEVERITY - LDEBUG - LWARNING - LERROR - ADLX_LOG_DESTINATION - LOCALFILE - DBGVIEW - APPLICATION - ADLX_SCALE_MODE - PRESERVE_ASPECT_RATIO - FULL_PANEL - CENTERED - ADLX_COLOR_DEPTH - BPC_UNKNOWN - BPC_6 - BPC_8 - BPC_10 - BPC_12 - BPC_14 - BPC_16 - ADLX_PIXEL_FORMAT - FORMAT_UNKNOWN - RGB_444_FULL - YCBCR_444 - YCBCR_422 - RGB_444_LIMITED - YCBCR_420 - ADLX_TIMING_STANDARD - CVT - CVT_RB - GTF - DMT - MANUAL - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - WFVR_ALWAYS_OFF - WFVR_OFF_UNLESS_APP_SPECIFIES - WFVR_ON_UNLESS_APP_SPECIFIES - WFVR_ALWAYS_ON - ADLX_ANTI_ALIASING_MODE - AA_MODE_USE_APP_SETTINGS - AA_MODE_ENHANCE_APP_SETTINGS - AA_MODE_OVERRIDE_APP_SETTINGS - ADLX_ANTI_ALIASING_LEVEL - AA_LEVEL_INVALID - AA_LEVEL_2X - AA_LEVEL_2XEQ - AA_LEVEL_4X - AA_LEVEL_4XEQ - AA_LEVEL_8X - AA_LEVEL_8XEQ - ADLX_ANTI_ALIASING_METHOD - AA_METHOD_MULTISAMPLING - AA_METHOD_ADAPTIVE_MULTISAMPLING - AA_METHOD_SUPERSAMPLING - ADLX_ANISOTROPIC_FILTERING_LEVEL - AF_LEVEL_INVALID - AF_LEVEL_X2 - AF_LEVEL_X4 - AF_LEVEL_X8 - AF_LEVEL_X16 - ADLX_TESSELLATION_MODE - T_MODE_AMD_OPTIMIZED - T_MODE_USE_APP_SETTINGS - T_MODE_OVERRIDE_APP_SETTINGS - ADLX_TESSELLATION_LEVEL - T_LEVEL_OFF - T_LEVEL_2X - T_LEVEL_4X - T_LEVEL_6X - T_LEVEL_8X - T_LEVEL_16X - T_LEVEL_32X - T_LEVEL_64X - ADLX_MEMORYTIMING_DESCRIPTION - MEMORYTIMING_DEFAULT - MEMORYTIMING_FAST_TIMING - MEMORYTIMING_FAST_TIMING_LEVEL_2 - MEMORYTIMING_AUTOMATIC - MEMORYTIMING_MEMORYTIMING_LEVEL_1 - MEMORYTIMING_MEMORYTIMING_LEVEL_2 - ADLX_I2C_LINE - I2C_LINE_OEM - I2C_LINE_OD_CONTROL - I2C_LINE_OEM2 - I2C_LINE_OEM3 - I2C_LINE_OEM4 - I2C_LINE_OEM5 - I2C_LINE_OEM6 - ADLX_SYNC_ORIGIN - SYNC_ORIGIN_UNKNOWN - SYNC_ORIGIN_INTERNAL - SYNC_ORIGIN_EXTERNAL - ADLX_3DLUT_TRANSFER_FUNCTION - TF_SRGB - TF_PQ - TF_G22 - ADLX_3DLUT_COLORSPACE - CS_SRGB - CS_BT2020 - CS_DCIP3 - CS_NATIVE - ADLX_SSM_BIAS_MODE - SSM_BIAS_AUTO - SSM_BIAS_MANUAL - ADLX_ANTILAG_STATE - ANTILAG - ANTILAGNEXT - ADLX_MGPU_MODE - MGPU_NONE - MGPU_PRIMARY - MGPU_SECONDARY - adlx_int64 - adlx_int32 - adlx_int16 - adlx_int8 - adlx_uint64 - adlx_uint32 - adlx_uint16 - adlx_uint8 - adlx_size - adlx_handle - adlx_double - adlx_float - adlx_void - adlx_long - adlx_int - adlx_ulong - adlx_uint - adlx_byte - adlx_bool - adlx_atomic_inc - adlx_atomic_dec - adlx_load_library - adlx_free_library - adlx_get_proc_address - - ADLXStructures.h - ADLX_UINT16_RGB - ADLX_3DLUT_Data - - ADLXVersion.h - ADLX_VER_MAJOR - ADLX_VER_MINOR - ADLX_VER_RELEASE - ADLX_VER_BUILD_NUM - STRING - STRING_EXPAND - - I3DSettings.h - - IChangedEvent.h - - ICollections.h - - IDesktops.h - - IDisplay3DLUT.h - - IDisplayGamma.h - - IDisplayGamut.h - - IDisplays.h - - IDisplays1.h - - IDisplays2.h - - IDisplaySettings.h - - IGPUAutoTuning.h - - IGPUManualFanTuning.h - - IGPUManualGFXTuning.h - - IGPUManualPowerTuning.h - - IGPUManualVRAMTuning.h - - IGPUPresetTuning.h - - IGPUTuning.h - - IGPUTuning1.h - - II2C.h - - ILog.h - - IPerformanceMonitoring.h - - IPerformanceMonitoring1.h - - IPowerTuning.h - - ISmartAccessMemory.h - - ISystem.h - - ISystem1.h - - enumerations - ADLX_RESULT - ADLX_OK - ADLX_ALREADY_ENABLED - ADLX_ALREADY_INITIALIZED - ADLX_FAIL - ADLX_INVALID_ARGS - ADLX_BAD_VER - ADLX_UNKNOWN_INTERFACE - ADLX_TERMINATED - ADLX_ADL_INIT_ERROR - ADLX_NOT_FOUND - ADLX_INVALID_OBJECT - ADLX_ORPHAN_OBJECTS - ADLX_NOT_SUPPORTED - ADLX_PENDING_OPERATION - ADLX_GPU_INACTIVE - ADLX_HG_TYPE - NONE - AMD - OTHER - ADLX_ASIC_FAMILY_TYPE - ASIC_UNDEFINED - ASIC_RADEON - ASIC_FIREPRO - ASIC_FIREMV - ASIC_FIRESTREAM - ASIC_FUSION - ASIC_EMBEDDED - ADLX_PCI_BUS_TYPE - UNDEFINED - PCI - AGP - PCIE - PCIE_2_0 - PCIE_3_0 - PCIE_4_0 - ADLX_DP_LINK_RATE - DP_LINK_RATE_UNKNOWN - DP_LINK_RATE_RBR - DP_LINK_RATE_2_16GBPS - DP_LINK_RATE_2_43GBPS - DP_LINK_RATE_HBR - DP_LINK_RATE_4_32GBPS - DP_LINK_RATE_HBR2 - DP_LINK_RATE_HBR3 - DP_LINK_RATE_UHBR10 - DP_LINK_RATE_UHBR13D5 - DP_LINK_RATE_UHBR20 - ADLX_GPU_TYPE - GPUTYPE_UNDEFINED - GPUTYPE_INTEGRATED - GPUTYPE_DISCRETE - ADLX_DISPLAY_CONNECTOR_TYPE - DISPLAY_CONTYPE_UNKNOWN - DISPLAY_CONTYPE_VGA - DISPLAY_CONTYPE_DVI_D - DISPLAY_CONTYPE_DVI_I - DISPLAY_CONTYPE_CVDONGLE_NTSC - DISPLAY_CONTYPE_CVDONGLE_JPN - DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN - DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC - DISPLAY_CONTYPE_PROPRIETARY - DISPLAY_CONTYPE_HDMI_TYPE_A - DISPLAY_CONTYPE_HDMI_TYPE_B - DISPLAY_CONTYPE_SVIDEO - DISPLAY_CONTYPE_COMPOSITE - DISPLAY_CONTYPE_RCA_3COMPONENT - DISPLAY_CONTYPE_DISPLAYPORT - DISPLAY_CONTYPE_EDP - DISPLAY_CONTYPE_WIRELESSDISPLAY - DISPLAY_CONTYPE_USB_TYPE_C - ADLX_DISPLAY_TYPE - DISPLAY_TYPE_UNKOWN - DISPLAY_TYPE_MONITOR - DISPLAY_TYPE_TELEVISION - DISPLAY_TYPE_LCD_PANEL - DISPLAY_TYPE_DIGITAL_FLAT_PANEL - DISPLAY_TYPE_COMPONENT_VIDEO - DISPLAY_TYPE_PROJECTOR - ADLX_DISPLAY_SCAN_TYPE - PROGRESSIVE - INTERLACED - ADLX_DISPLAY_TIMING_POLARITY - POSITIVE - NEGATIVE - ADLX_DISPLAY_TIMING_LIMITATION - PIXEL_CLOCK_MAX - PIXEL_CLOCK_MIN - REFRESH_RATE_MAX - REFRESH_RATE_MIN - RESOLUTION_MAX - RESOLUTION_MIN - ADLX_GAMUT_SPACE - GAMUT_SPACE_CCIR_709 - GAMUT_SPACE_CCIR_601 - GAMUT_SPACE_ADOBE_RGB - GAMUT_SPACE_CIE_RGB - GAMUT_SPACE_CCIR_2020 - GAMUT_SPACE_CUSTOM - ADLX_WHITE_POINT - WHITE_POINT_5000K - WHITE_POINT_6500K - WHITE_POINT_7500K - WHITE_POINT_9300K - WHITE_POINT_CUSTOM - ADLX_GAMMA_TYPE - UNKNOW - DEGAMMA_RAMP - REGAMMA_RAMP - DEGAMMA_COEFFICIENTS - REGAMMA_COEFFICIENTS - ADLX_ORIENTATION - ORIENTATION_LANDSCAPE - ORIENTATION_PORTRAIT - ORIENTATION_LANDSCAPE_FLIPPED - ORIENTATION_PORTRAIT_FLIPPED - ADLX_DESKTOP_TYPE - DESKTOP_SINGLE - DESKTOP_DUPLCATE - DESKTOP_EYEFINITY - ADLX_LOG_SEVERITY - LDEBUG - LWARNING - LERROR - ADLX_LOG_DESTINATION - LOCALFILE - DBGVIEW - APPLICATION - ADLX_SCALE_MODE - PRESERVE_ASPECT_RATIO - FULL_PANEL - CENTERED - ADLX_COLOR_DEPTH - BPC_UNKNOWN - BPC_6 - BPC_8 - BPC_10 - BPC_12 - BPC_14 - BPC_16 - ADLX_PIXEL_FORMAT - FORMAT_UNKNOWN - RGB_444_FULL - YCBCR_444 - YCBCR_422 - RGB_444_LIMITED - YCBCR_420 - ADLX_TIMING_STANDARD - CVT - CVT_RB - GTF - DMT - MANUAL - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE - WFVR_ALWAYS_OFF - WFVR_OFF_UNLESS_APP_SPECIFIES - WFVR_ON_UNLESS_APP_SPECIFIES - WFVR_ALWAYS_ON - ADLX_ANTI_ALIASING_MODE - AA_MODE_USE_APP_SETTINGS - AA_MODE_ENHANCE_APP_SETTINGS - AA_MODE_OVERRIDE_APP_SETTINGS - ADLX_ANTI_ALIASING_LEVEL - AA_LEVEL_INVALID - AA_LEVEL_2X - AA_LEVEL_2XEQ - AA_LEVEL_4X - AA_LEVEL_4XEQ - AA_LEVEL_8X - AA_LEVEL_8XEQ - ADLX_ANTI_ALIASING_METHOD - AA_METHOD_MULTISAMPLING - AA_METHOD_ADAPTIVE_MULTISAMPLING - AA_METHOD_SUPERSAMPLING - ADLX_ANISOTROPIC_FILTERING_LEVEL - AF_LEVEL_INVALID - AF_LEVEL_X2 - AF_LEVEL_X4 - AF_LEVEL_X8 - AF_LEVEL_X16 - ADLX_TESSELLATION_MODE - T_MODE_AMD_OPTIMIZED - T_MODE_USE_APP_SETTINGS - T_MODE_OVERRIDE_APP_SETTINGS - ADLX_TESSELLATION_LEVEL - T_LEVEL_OFF - T_LEVEL_2X - T_LEVEL_4X - T_LEVEL_6X - T_LEVEL_8X - T_LEVEL_16X - T_LEVEL_32X - T_LEVEL_64X - ADLX_MEMORYTIMING_DESCRIPTION - MEMORYTIMING_DEFAULT - MEMORYTIMING_FAST_TIMING - MEMORYTIMING_FAST_TIMING_LEVEL_2 - MEMORYTIMING_AUTOMATIC - MEMORYTIMING_MEMORYTIMING_LEVEL_1 - MEMORYTIMING_MEMORYTIMING_LEVEL_2 - ADLX_I2C_LINE - I2C_LINE_OEM - I2C_LINE_OD_CONTROL - I2C_LINE_OEM2 - I2C_LINE_OEM3 - I2C_LINE_OEM4 - I2C_LINE_OEM5 - I2C_LINE_OEM6 - ADLX_SYNC_ORIGIN - SYNC_ORIGIN_UNKNOWN - SYNC_ORIGIN_INTERNAL - SYNC_ORIGIN_EXTERNAL - ADLX_3DLUT_TRANSFER_FUNCTION - TF_SRGB - TF_PQ - TF_G22 - ADLX_3DLUT_COLORSPACE - CS_SRGB - CS_BT2020 - CS_DCIP3 - CS_NATIVE - ADLX_SSM_BIAS_MODE - SSM_BIAS_AUTO - SSM_BIAS_MANUAL - ADLX_ANTILAG_STATE - ANTILAG - ANTILAGNEXT - ADLX_MGPU_MODE - MGPU_NONE - MGPU_PRIMARY - MGPU_SECONDARY - - structuresVal - - ADLXMacro - ADLX_DLL_NAMEW - ADLX_DLL_NAMEA - ADLX_DLL_NAME - ADLX_QUERY_FULL_VERSION_FUNCTION_NAME - ADLX_QUERY_VERSION_FUNCTION_NAME - ADLX_INIT_FUNCTION_NAME - ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME - ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME - ADLX_TERMINATE_FUNCTION_NAME - ADLX_SUCCEEDED - ADLX_FAILED - MAX_USER_3DLUT_NUM_POINTS - ADLX_DLL_NAMEW - ADLX_DLL_NAMEA - ADLX_DLL_NAME - - ADLXDefs - ADLX_ADL_Main_Memory_Free - ADLXQueryFullVersion_Fn - ADLXQueryVersion_Fn - ADLXInitialize_Fn - ADLXInitializeWithCallerAdl_Fn - ADLXTerminate_Fn - - typedefs - - page_programwithadlx - - page_adlxprogrammingguide - - page_guide_spe - - page_guide_qs - - page_guide_advanced - - page_sdk - - funpage - - page_ADLXHelps - - page_ADLXCHelp - - page_ADLXCppHelp - - page_interfaces - - display - - desktop - - misc - - gpu - - system - - gfx3dgraphics - - gputuning - - perfmonitoring - - domain_powertuning - - i2c - - page_guide_bindcsharp - - page_guide_bindjava - - page_guide_bindpy - - page_guide_bef - - page_guide_Compatibility - - page_guide_event - - page_guide_init_help - - page_guide_init_pointer - - page_guide_languages - - page_guide_os - - page_guide_usingservice - - page_guide_use_ADLX - - page_ADLXQueryFullVersion_Fn - - page_ADLXQueryVersion_Fn - - page_ADLXInitialize_Fn - - page_ADLXInitializeWithCallerAdl_Fn - - page_ADLXTerminate_Fn - - adlx_atomic_inc - - adlx_atomic_dec - - adlx_load_library - - adlx_free_library - - adlx_get_proc_address - - DOX_IADLXInterface_Acquire - - DOX_IADLXInterface_Release - - DOX_IADLXInterface_QueryInterface - - DOX_IADLX3DAntiLag_IsSupported - - DOX_IADLX3DAntiLag_IsEnabled - - DOX_IADLX3DAntiLag_SetEnabled - - DOX_IADLX3DAntiLag1_GetLevel - - DOX_IADLX3DAntiLag1_SetLevel - - DOX_IADLX3DChill_IsSupported - - DOX_IADLX3DChill_IsEnabled - - DOX_IADLX3DChill_GetFPSRange - - DOX_IADLX3DChill_GetMinFPS - - DOX_IADLX3DChill_GetMaxFPS - - DOX_IADLX3DChill_SetEnabled - - DOX_IADLX3DChill_SetMinFPS - - DOX_IADLX3DChill_SetMaxFPS - - DOX_IADLX3DBoost_IsSupported - - DOX_IADLX3DBoost_IsEnabled - - DOX_IADLX3DBoost_GetResolutionRange - - DOX_IADLX3DBoost_GetResolution - - DOX_IADLX3DBoost_SetEnabled - - DOX_IADLX3DBoost_SetResolution - - DOX_IADLX3DImageSharpening_IsSupported - - DOX_IADLX3DImageSharpening_IsEnabled - - DOX_IADLX3DImageSharpening_GetSharpnessRange - - DOX_IADLX3DImageSharpening_GetSharpness - - DOX_IADLX3DImageSharpening_SetEnabled - - DOX_IADLX3DImageSharpening_SetSharpness - - DOX_IADLX3DEnhancedSync_IsSupported - - DOX_IADLX3DEnhancedSync_IsEnabled - - DOX_IADLX3DEnhancedSync_SetEnabled - - DOX_IADLX3DWaitForVerticalRefresh_IsSupported - - DOX_IADLX3DWaitForVerticalRefresh_IsEnabled - - DOX_IADLX3DWaitForVerticalRefresh_GetMode - - DOX_IADLX3DWaitForVerticalRefresh_SetMode - - DOX_IADLX3DFrameRateTargetControl_IsSupported - - DOX_IADLX3DFrameRateTargetControl_IsEnabled - - DOX_IADLX3DFrameRateTargetControl_GetFPSRange - - DOX_IADLX3DFrameRateTargetControl_GetFPS - - DOX_IADLX3DFrameRateTargetControl_SetEnabled - - DOX_IADLX3DFrameRateTargetControl_SetFPS - - DOX_IADLX3DAntiAliasing_IsSupported - - DOX_IADLX3DAntiAliasing_GetMode - - DOX_IADLX3DAntiAliasing_GetLevel - - DOX_IADLX3DAntiAliasing_GetMethod - - DOX_IADLX3DAntiAliasing_SetMode - - DOX_IADLX3DAntiAliasing_SetLevel - - DOX_IADLX3DAntiAliasing_SetMethod - - DOX_IADLX3DMorphologicalAntiAliasing_IsSupported - - DOX_IADLX3DMorphologicalAntiAliasing_IsEnabled - - DOX_IADLX3DMorphologicalAntiAliasing_SetEnabled - - DOX_IADLX3DAnisotropicFiltering_IsSupported - - DOX_IADLX3DAnisotropicFiltering_IsEnabled - - DOX_IADLX3DAnisotropicFiltering_GetLevel - - DOX_IADLX3DAnisotropicFiltering_SetEnabled - - DOX_IADLX3DAnisotropicFiltering_SetLevel - - DOX_IADLX3DTessellation_IsSupported - - DOX_IADLX3DTessellation_GetMode - - DOX_IADLX3DTessellation_GetLevel - - DOX_IADLX3DTessellation_SetMode - - DOX_IADLX3DTessellation_SetLevel - - DOX_IADLX3DRadeonSuperResolution_IsSupported - - DOX_IADLX3DRadeonSuperResolution_IsEnabled - - DOX_IADLX3DRadeonSuperResolution_SetEnabled - - DOX_IADLX3DRadeonSuperResolution_GetSharpnessRange - - DOX_IADLX3DRadeonSuperResolution_GetSharpness - - DOX_IADLX3DRadeonSuperResolution_SetSharpness - - DOX_IADLX3DResetShaderCache_IsSupported - - DOX_IADLX3DResetShaderCache_ResetShaderCache - - DOX_IADLX3DSettingsChangedEvent_GetGPU - - DOX_IADLX3DSettingsChangedEvent_IsAntiLagChanged - - DOX_IADLX3DSettingsChangedEvent_IsChillChanged - - DOX_IADLX3DSettingsChangedEvent_IsBoostChanged - - DOX_IADLX3DSettingsChangedEvent_IsImageSharpeningChanged - - DOX_IADLX3DSettingsChangedEvent_IsEnhancedSyncChanged - - DOX_IADLX3DSettingsChangedEvent_IsWaitForVerticalRefreshChanged - - DOX_IADLX3DSettingsChangedEvent_IsFrameRateTargetControlChanged - - DOX_IADLX3DSettingsChangedEvent_IsAntiAliasingChanged - - DOX_IADLX3DSettingsChangedEvent_IsMorphologicalAntiAliasingChanged - - DOX_IADLX3DSettingsChangedEvent_IsAnisotropicFilteringChanged - - DOX_IADLX3DSettingsChangedEvent_IsTessellationModeChanged - - DOX_IADLX3DSettingsChangedEvent_IsRadeonSuperResolutionChanged - - DOX_IADLX3DSettingsChangedEvent_IsResetShaderCache - - DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged - - DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener - - DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener - - DOX_IADLX3DSettingsServices_GetAntiLag - - DOX_IADLX3DSettingsServices_GetChill - - DOX_IADLX3DSettingsServices_GetBoost - - DOX_IADLX3DSettingsServices_GetImageSharpening - - DOX_IADLX3DSettingsServices_GetEnhancedSync - - DOX_IADLX3DSettingsServices_GetWaitForVerticalRefresh - - DOX_IADLX3DSettingsServices_GetFrameRateTargetControl - - DOX_IADLX3DSettingsServices_GetAntiAliasing - - DOX_IADLX3DSettingsServices_GetMorphologicalAntiAliasing - - DOX_IADLX3DSettingsServices_GetAnisotropicFiltering - - DOX_IADLX3DSettingsServices_GetTessellation - - DOX_IADLX3DSettingsServices_GetRadeonSuperResolution - - DOX_IADLX3DSettingsServices_GetResetShaderCache - - DOX_IADLX3DSettingsServices_Get3DSettingsChangedHandling - - DOX_IADLXChangedEvent_GetOrigin - - DOX_IADLXList_Size - - DOX_IADLXList_Empty - - DOX_IADLXList_Begin - - DOX_IADLXList_End - - DOX_IADLXList_At - - DOX_IADLXList_Clear - - DOX_IADLXList_Remove_Back - - DOX_IADLXList_Add_Back - - DOX_IADLXDesktop_Orientation - - DOX_IADLXDesktop_Size - - DOX_IADLXDesktop_TopLeft - - DOX_IADLXDesktop_Type - - DOX_IADLXDesktop_GetNumberOfDisplays - - DOX_IADLXDesktop_GetDisplays - - DOX_IADLXEyefinityDesktop_GridSize - - DOX_IADLXEyefinityDesktop_GetDisplay - - DOX_IADLXEyefinityDesktop_DisplayOrientation - - DOX_IADLXEyefinityDesktop_DisplaySize - - DOX_IADLXEyefinityDesktop_DisplayTopLeft - - DOX_IADLXDesktopList_At - - DOX_IADLXDesktopList_Add_Back - - DOX_IADLXDesktopListChangedListener_OnDesktopListChanged - - DOX_IADLXDesktopChangedHandling_AddDesktopListEventListener - - DOX_IADLXDesktopChangedHandling_RemoveDesktopListEventListener - - DOX_IADLXSimpleEyefinity_IsSupported - - DOX_IADLXSimpleEyefinity_Create - - DOX_IADLXSimpleEyefinity_DestroyAll - - DOX_IADLXSimpleEyefinity_Destroy - - DOX_IADLXDesktopServices_GetNumberOfDesktops - - DOX_IADLXDesktopServices_GetDesktops - - DOX_IADLXDesktopServices_GetDesktopChangedHandling - - DOX_IADLXDesktopServices_GetSimpleEyefinity - - DOX_IADLXDisplay3DLUT_IsSupportedSCE - - DOX_IADLXDisplay3DLUT_IsSupportedSCEVividGaming - - DOX_IADLXDisplay3DLUT_IsCurrentSCEDisabled - - DOX_IADLXDisplay3DLUT_IsCurrentSCEVividGaming - - DOX_IADLXDisplay3DLUT_SetSCEDisabled - - DOX_IADLXDisplay3DLUT_SetSCEVividGaming - - DOX_IADLXDisplay3DLUT_IsSupportedSCEDynamicContrast - - DOX_IADLXDisplay3DLUT_IsCurrentSCEDynamicContrast - - DOX_IADLXDisplay3DLUT_GetSCEDynamicContrastRange - - DOX_IADLXDisplay3DLUT_GetSCEDynamicContrast - - DOX_IADLXDisplay3DLUT_SetSCEDynamicContrast - - DOX_IADLXDisplay3DLUT_IsSupportedUser3DLUT - - DOX_IADLXDisplay3DLUT_ClearUser3DLUT - - DOX_IADLXDisplay3DLUT_GetSDRUser3DLUT - - DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT - - DOX_IADLXDisplay3DLUT_GetHDRUser3DLUT - - DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT - - DOX_IADLXDisplay3DLUT_GetAllUser3DLUT - - DOX_IADLXDisplay3DLUT_SetAllUser3DLUT - - DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex - - DOX_IADLXDisplayGamma_IsCurrentReGammaRamp - - DOX_IADLXDisplayGamma_IsCurrentDeGammaRamp - - DOX_IADLXDisplayGamma_IsCurrentRegammaCoefficient - - DOX_IADLXDisplayGamma_GetGammaRamp - - DOX_IADLXDisplayGamma_GetGammaCoefficient - - DOX_IADLXDisplayGamma_IsSupportedReGammaSRGB - - DOX_IADLXDisplayGamma_IsSupportedReGammaBT709 - - DOX_IADLXDisplayGamma_IsSupportedReGammaPQ - - DOX_IADLXDisplayGamma_IsSupportedReGammaPQ2084Interim - - DOX_IADLXDisplayGamma_IsSupportedReGamma36 - - DOX_IADLXDisplayGamma_IsCurrentReGammaSRGB - - DOX_IADLXDisplayGamma_IsCurrentReGammaBT709 - - DOX_IADLXDisplayGamma_IsCurrentReGammaPQ - - DOX_IADLXDisplayGamma_IsCurrentReGammaPQ2084Interim - - DOX_IADLXDisplayGamma_IsCurrentReGamma36 - - DOX_IADLXDisplayGamma_SetReGammaSRGB - - DOX_IADLXDisplayGamma_SetReGammaBT709 - - DOX_IADLXDisplayGamma_SetReGammaPQ - - DOX_IADLXDisplayGamma_SetReGammaPQ2084Interim - - DOX_IADLXDisplayGamma_SetReGamma36 - - DOX_IADLXDisplayGamma_SetReGammaCoefficient - - DOX_IADLXDisplayGamma_SetDeGammaRampFile - - DOX_IADLXDisplayGamma_SetDeGammaRampMemory - - DOX_IADLXDisplayGamma_SetReGammaRampFile - - DOX_IADLXDisplayGamma_SetReGammaRampMemory - - DOX_IADLXDisplayGamma_ResetGammaRamp - - DOX_IADLXDisplayGamut_IsSupportedCCIR709ColorSpace - - DOX_IADLXDisplayGamut_IsSupportedCCIR601ColorSpace - - DOX_IADLXDisplayGamut_IsSupportedAdobeRgbColorSpace - - DOX_IADLXDisplayGamut_IsSupportedCIERgbColorSpace - - DOX_IADLXDisplayGamut_IsSupportedCCIR2020ColorSpace - - DOX_IADLXDisplayGamut_IsSupportedCustomColorSpace - - DOX_IADLXDisplayGamut_IsSupported5000kWhitePoint - - DOX_IADLXDisplayGamut_IsSupported6500kWhitePoint - - DOX_IADLXDisplayGamut_IsSupported7500kWhitePoint - - DOX_IADLXDisplayGamut_IsSupported9300kWhitePoint - - DOX_IADLXDisplayGamut_IsSupportedCustomWhitePoint - - DOX_IADLXDisplayGamut_IsCurrent5000kWhitePoint - - DOX_IADLXDisplayGamut_IsCurrent6500kWhitePoint - - DOX_IADLXDisplayGamut_IsCurrent7500kWhitePoint - - DOX_IADLXDisplayGamut_IsCurrent9300kWhitePoint - - DOX_IADLXDisplayGamut_IsCurrentCustomWhitePoint - - DOX_IADLXDisplayGamut_GetWhitePoint - - DOX_IADLXDisplayGamut_IsCurrentCCIR709ColorSpace - - DOX_IADLXDisplayGamut_IsCurrentCCIR601ColorSpace - - DOX_IADLXDisplayGamut_IsCurrentAdobeRgbColorSpace - - DOX_IADLXDisplayGamut_IsCurrentCIERgbColorSpace - - DOX_IADLXDisplayGamut_IsCurrentCCIR2020ColorSpace - - DOX_IADLXDisplayGamut_IsCurrentCustomColorSpace - - DOX_IADLXDisplayGamut_GetGamutColorSpace - - DOX_IADLXDisplayGamut_SetGamut_PW_PG - - DOX_IADLXDisplayGamut_SetGamut_CW_PG - - DOX_IADLXDisplayGamut_SetGamut_PW_CG - - DOX_IADLXDisplayGamut_SetGamut_CW_CG - - DOX_IADLXDisplay_ManufacturerID - - DOX_IADLXDisplay_DisplayType - - DOX_IADLXDisplay_ConnectorType - - DOX_IADLXDisplay_Name - - DOX_IADLXDisplay_EDID - - DOX_IADLXDisplay_NativeResolution - - DOX_IADLXDisplay_RefreshRate - - DOX_IADLXDisplay_PixelClock - - DOX_IADLXDisplay_ScanType - - DOX_IADLXDisplay_GetGPU - - DOX_IADLXDisplay_UniqueId - - DOX_IADLXDisplayList_At - - DOX_IADLXDisplayList_Add_Back - - DOX_IADLXDisplayListChangedListener_OnDisplayListChanged - - DOX_IADLXDisplayGamutChangedEvent_GetDisplay - - DOX_IADLXDisplayGamutChangedEvent_IsWhitePointChanged - - DOX_IADLXDisplayGamutChangedEvent_IsColorSpaceChanged - - DOX_IADLXDisplayGamutChangedListener_OnDisplayGamutChanged - - DOX_IADLXDisplayGammaChangedEvent_GetDisplay - - DOX_IADLXDisplayGammaChangedEvent_IsGammaRampChanged - - DOX_IADLXDisplayGammaChangedEvent_IsGammaCoefficientChanged - - DOX_IADLXDisplayGammaChangedEvent_IsReGammaChanged - - DOX_IADLXDisplayGammaChangedEvent_IsDeGammaChanged - - DOX_IADLXDisplayGammaChangedListener_OnDisplayGammaChanged - - DOX_IADLXDisplay3DLUTChangedEvent_GetDisplay - - DOX_IADLXDisplay3DLUTChangedEvent_IsSCEChanged - - DOX_IADLXDisplay3DLUTChangedEvent_IsCustom3DLUTChanged - - DOX_IADLXDisplay3DLUTChangedListener_OnDisplay3DLUTChanged - - DOX_IADLXDisplaySettingsChangedEvent_GetDisplay - - DOX_IADLXDisplaySettingsChangedEvent_IsFreeSyncChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsVSRChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsGPUScalingChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsScalingModeChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsIntegerScalingChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsColorDepthChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsPixelFormatChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsHDCPChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorHueChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorSaturationChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorBrightnessChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorTemperatureChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomColorContrastChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsCustomResolutionChanged - - DOX_IADLXDisplaySettingsChangedEvent_IsVariBrightChanged - - DOX_IADLXDisplaySettingsChangedListener_OnDisplaySettingsChanged - - DOX_IADLXDisplayChangedHandling_AddDisplayListEventListener - - DOX_IADLXDisplayChangedHandling_RemoveDisplayListEventListener - - DOX_IADLXDisplayChangedHandling_AddDisplayGamutEventListener - - DOX_IADLXDisplayChangedHandling_RemoveDisplayGamutEventListener - - DOX_IADLXDisplayChangedHandling_AddDisplayGammaEventListener - - DOX_IADLXDisplayChangedHandling_RemoveDisplayGammaEventListener - - DOX_IADLXDisplayChangedHandling_AddDisplay3DLUTEventListener - - DOX_IADLXDisplayChangedHandling_RemoveDisplay3DLUTEventListener - - DOX_IADLXDisplayChangedHandling_AddDisplaySettingsEventListener - - DOX_IADLXDisplayChangedHandling_RemoveDisplaySettingsEventListener - - DOX_IADLXDisplayServices_GetNumberOfDisplays - - DOX_IADLXDisplayServices_GetDisplays - - DOX_IADLXDisplayServices_Get3DLUT - - DOX_IADLXDisplayServices_GetGamut - - DOX_IADLXDisplayServices_GetGamma - - DOX_IADLXDisplayServices_GetDisplayChangedHandling - - DOX_IADLXDisplayServices_GetFreeSync - - DOX_IADLXDisplayServices_GetVirtualSuperResolution - - DOX_IADLXDisplayServices_GetGPUScaling - - DOX_IADLXDisplayServices_GetScalingMode - - DOX_IADLXDisplayServices_GetIntegerScaling - - DOX_IADLXDisplayServices_GetColorDepth - - DOX_IADLXDisplayServices_GetPixelFormat - - DOX_IADLXDisplayServices_GetCustomColor - - DOX_IADLXDisplayServices_GetHDCP - - DOX_IADLXDisplayServices_GetCustomResolution - - DOX_IADLXDisplayServices_GetVariBright - - DOX_IADLXDisplayServices1_GetDisplayBlanking - - DOX_IADLXDisplaySettingsChangedEvent1_IsDisplayBlankingChanged - - DOX_IADLXDisplayServices2_GetDisplayConnectivityExperience - - DOX_IADLXDisplaySettingsChangedEvent2_IsConnectivityExperienceChanged - - DOX_IADLXDisplayFreeSync_IsSupported - - DOX_IADLXDisplayFreeSync_IsEnabled - - DOX_IADLXDisplayFreeSync_SetEnabled - - DOX_IADLXDisplayVSR_IsSupported - - DOX_IADLXDisplayVSR_IsEnabled - - DOX_IADLXDisplayVSR_SetEnabled - - DOX_IADLXDisplayGPUScaling_IsSupported - - DOX_IADLXDisplayGPUScaling_IsEnabled - - DOX_IADLXDisplayGPUScaling_SetEnabled - - DOX_IADLXDisplayScalingMode_IsSupported - - DOX_IADLXDisplayScalingMode_GetMode - - DOX_IADLXDisplayScalingMode_SetMode - - DOX_IADLXDisplayIntegerScaling_IsSupported - - DOX_IADLXDisplayIntegerScaling_IsEnabled - - DOX_IADLXDisplayIntegerScaling_SetEnabled - - DOX_IADLXDisplayColorDepth_IsSupported - - DOX_IADLXDisplayColorDepth_GetValue - - DOX_IADLXDisplayColorDepth_SetValue - - DOX_IADLXDisplayColorDepth_IsSupportedColorDepth - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_6 - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_8 - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_10 - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_12 - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_14 - - DOX_IADLXDisplayColorDepth_IsSupportedBPC_16 - - DOX_IADLXDisplayPixelFormat_IsSupported - - DOX_IADLXDisplayPixelFormat_GetValue - - DOX_IADLXDisplayPixelFormat_SetValue - - DOX_IADLXDisplayPixelFormat_IsSupportedPixelFormat - - DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Full - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr444 - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr422 - - DOX_IADLXDisplayPixelFormat_IsSupportedRGB444Limited - - DOX_IADLXDisplayPixelFormat_IsSupportedYCbCr420 - - DOX_IADLXDisplayCustomColor_IsHueSupported - - DOX_IADLXDisplayCustomColor_GetHueRange - - DOX_IADLXDisplayCustomColor_GetHue - - DOX_IADLXDisplayCustomColor_SetHue - - DOX_IADLXDisplayCustomColor_IsSaturationSupported - - DOX_IADLXDisplayCustomColor_GetSaturationRange - - DOX_IADLXDisplayCustomColor_GetSaturation - - DOX_IADLXDisplayCustomColor_SetSaturation - - DOX_IADLXDisplayCustomColor_IsBrightnessSupported - - DOX_IADLXDisplayCustomColor_GetBrightnessRange - - DOX_IADLXDisplayCustomColor_GetBrightness - - DOX_IADLXDisplayCustomColor_SetBrightness - - DOX_IADLXDisplayCustomColor_IsContrastSupported - - DOX_IADLXDisplayCustomColor_GetContrastRange - - DOX_IADLXDisplayCustomColor_GetContrast - - DOX_IADLXDisplayCustomColor_SetContrast - - DOX_IADLXDisplayCustomColor_IsTemperatureSupported - - DOX_IADLXDisplayCustomColor_GetTemperatureRange - - DOX_IADLXDisplayCustomColor_GetTemperature - - DOX_IADLXDisplayCustomColor_SetTemperature - - DOX_IADLXDisplayHDCP_IsSupported - - DOX_IADLXDisplayHDCP_IsEnabled - - DOX_IADLXDisplayHDCP_SetEnabled - - DOX_IADLXDisplayResolution_GetValue - - DOX_IADLXDisplayResolution_SetValue - - DOX_IADLXDisplayResolutionList_At - - DOX_IADLXDisplayResolutionList_Add_Back - - DOX_IADLXDisplayCustomResolution_IsSupported - - DOX_IADLXDisplayCustomResolution_GetResolutionList - - DOX_IADLXDisplayCustomResolution_GetCurrentAppliedResolution - - DOX_IADLXDisplayCustomResolution_CreateNewResolution - - DOX_IADLXDisplayCustomResolution_DeleteResolution - - DOX_IADLXDisplayVariBright_IsSupported - - DOX_IADLXDisplayVariBright_IsEnabled - - DOX_IADLXDisplayVariBright_SetEnabled - - DOX_IADLXDisplayVariBright_IsCurrentMaximizeBrightness - - DOX_IADLXDisplayVariBright_IsCurrentOptimizeBrightness - - DOX_IADLXDisplayVariBright_IsCurrentBalanced - - DOX_IADLXDisplayVariBright_IsCurrentOptimizeBattery - - DOX_IADLXDisplayVariBright_IsCurrentMaximizeBattery - - DOX_IADLXDisplayVariBright_SetMaximizeBrightness - - DOX_IADLXDisplayVariBright_SetOptimizeBrightness - - DOX_IADLXDisplayVariBright_SetBalanced - - DOX_IADLXDisplayVariBright_SetOptimizeBattery - - DOX_IADLXDisplayVariBright_SetMaximizeBattery - - DOX_IADLXDisplayConnectivityExperience_IsSupportedHDMIQualityDetection - - DOX_IADLXDisplayConnectivityExperience_IsSupportedDPLink - - DOX_IADLXDisplayConnectivityExperience_IsEnabledHDMIQualityDetection - - DOX_IADLXDisplayConnectivityExperience_SetEnabledHDMIQualityDetection - - DOX_IADLXDisplayConnectivityExperience_GetDPLinkRate - - DOX_IADLXDisplayConnectivityExperience_GetNumberOfActiveLanes - - DOX_IADLXDisplayConnectivityExperience_GetNumberOfTotalLanes - - DOX_IADLXDisplayConnectivityExperience_GetRelativePreEmphasis - - DOX_IADLXDisplayConnectivityExperience_SetRelativePreEmphasis - - DOX_IADLXDisplayConnectivityExperience_GetRelativeVoltageSwing - - DOX_IADLXDisplayConnectivityExperience_SetRelativeVoltageSwing - - DOX_IADLXDisplayConnectivityExperience_IsEnabledLinkProtection - - DOX_IADLXDisplayBlanking_IsSupported - - DOX_IADLXDisplayBlanking_IsCurrentBlanked - - DOX_IADLXDisplayBlanking_IsCurrentUnblanked - - DOX_IADLXDisplayBlanking_SetBlanked - - DOX_IADLXDisplayBlanking_SetUnblanked - - DOX_IADLXGPUAutoTuningCompleteEvent_IsUndervoltGPUCompleted - - DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockGPUCompleted - - DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockVRAMCompleted - - DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete - - DOX_IADLXGPUAutoTuning_IsSupportedUndervoltGPU - - DOX_IADLXGPUAutoTuning_IsSupportedOverclockGPU - - DOX_IADLXGPUAutoTuning_IsSupportedOverclockVRAM - - DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU - - DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU - - DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM - - DOX_IADLXGPUAutoTuning_StartUndervoltGPU - - DOX_IADLXGPUAutoTuning_StartOverclockGPU - - DOX_IADLXGPUAutoTuning_StartOverclockVRAM - - DOX_IADLXManualFanTuningState_GetFanSpeed - - DOX_IADLXManualFanTuningState_SetFanSpeed - - DOX_IADLXManualFanTuningState_GetTemperature - - DOX_IADLXManualFanTuningState_SetTemperature - - DOX_IADLXManualFanTuningStateList_At - - DOX_IADLXManualFanTuningStateList_Add_Back - - DOX_IADLXManualFanTuning_GetFanTuningRanges - - DOX_IADLXManualFanTuning_GetFanTuningStates - - DOX_IADLXManualFanTuning_GetEmptyFanTuningStates - - DOX_IADLXManualFanTuning_IsValidFanTuningStates - - DOX_IADLXManualFanTuning_SetFanTuningStates - - DOX_IADLXManualFanTuning_IsSupportedZeroRPM - - DOX_IADLXManualFanTuning_GetZeroRPMState - - DOX_IADLXManualFanTuning_SetZeroRPMState - - DOX_IADLXManualFanTuning_IsSupportedMinAcousticLimit - - DOX_IADLXManualFanTuning_GetMinAcousticLimitRange - - DOX_IADLXManualFanTuning_GetMinAcousticLimit - - DOX_IADLXManualFanTuning_SetMinAcousticLimit - - DOX_IADLXManualFanTuning_IsSupportedMinFanSpeed - - DOX_IADLXManualFanTuning_GetMinFanSpeedRange - - DOX_IADLXManualFanTuning_GetMinFanSpeed - - DOX_IADLXManualFanTuning_SetMinFanSpeed - - DOX_IADLXManualFanTuning_IsSupportedTargetFanSpeed - - DOX_IADLXManualFanTuning_GetTargetFanSpeedRange - - DOX_IADLXManualFanTuning_GetTargetFanSpeed - - DOX_IADLXManualFanTuning_SetTargetFanSpeed - - DOX_IADLXManualGraphicsTuning1_GetGPUTuningRanges - - DOX_IADLXManualGraphicsTuning1_GetGPUTuningStates - - DOX_IADLXManualGraphicsTuning1_GetEmptyGPUTuningStates - - DOX_IADLXManualGraphicsTuning1_IsValidGPUTuningStates - - DOX_IADLXManualGraphicsTuning1_SetGPUTuningStates - - DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequencyRange - - DOX_IADLXManualGraphicsTuning2_GetGPUMinFrequency - - DOX_IADLXManualGraphicsTuning2_SetGPUMinFrequency - - DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequencyRange - - DOX_IADLXManualGraphicsTuning2_GetGPUMaxFrequency - - DOX_IADLXManualGraphicsTuning2_SetGPUMaxFrequency - - DOX_IADLXManualGraphicsTuning2_GetGPUVoltageRange - - DOX_IADLXManualGraphicsTuning2_GetGPUVoltage - - DOX_IADLXManualGraphicsTuning2_SetGPUVoltage - - DOX_IADLXManualPowerTuning_GetPowerLimitRange - - DOX_IADLXManualPowerTuning_GetPowerLimit - - DOX_IADLXManualPowerTuning_SetPowerLimit - - DOX_IADLXManualPowerTuning_IsSupportedTDCLimit - - DOX_IADLXManualPowerTuning_GetTDCLimitRange - - DOX_IADLXManualPowerTuning_GetTDCLimit - - DOX_IADLXManualPowerTuning_SetTDCLimit - - DOX_IADLXManualVRAMTuning1_IsSupportedMemoryTiming - - DOX_IADLXManualVRAMTuning1_GetSupportedMemoryTimingDescriptionList - - DOX_IADLXManualVRAMTuning1_GetMemoryTimingDescription - - DOX_IADLXManualVRAMTuning1_SetMemoryTimingDescription - - DOX_IADLXManualVRAMTuning1_GetVRAMTuningRanges - - DOX_IADLXManualVRAMTuning1_GetVRAMTuningStates - - DOX_IADLXManualVRAMTuning1_GetEmptyVRAMTuningStates - - DOX_IADLXManualVRAMTuning1_IsValidVRAMTuningStates - - DOX_IADLXManualVRAMTuning1_SetVRAMTuningStates - - DOX_IADLXManualVRAMTuning2_IsSupportedMemoryTiming - - DOX_IADLXManualVRAMTuning2_GetSupportedMemoryTimingDescriptionList - - DOX_IADLXManualVRAMTuning2_GetMemoryTimingDescription - - DOX_IADLXManualVRAMTuning2_SetMemoryTimingDescription - - DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequencyRange - - DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequency - - DOX_IADLXManualVRAMTuning2_SetMaxVRAMFrequency - - DOX_IADLXGPUPresetTuning_IsSupportedPowerSaver - - DOX_IADLXGPUPresetTuning_IsSupportedQuiet - - DOX_IADLXGPUPresetTuning_IsSupportedBalanced - - DOX_IADLXGPUPresetTuning_IsSupportedTurbo - - DOX_IADLXGPUPresetTuning_IsSupportedRage - - DOX_IADLXGPUPresetTuning_IsCurrentPowerSaver - - DOX_IADLXGPUPresetTuning_IsCurrentQuiet - - DOX_IADLXGPUPresetTuning_IsCurrentBalanced - - DOX_IADLXGPUPresetTuning_IsCurrentTurbo - - DOX_IADLXGPUPresetTuning_IsCurrentRage - - DOX_IADLXGPUPresetTuning_SetPowerSaver - - DOX_IADLXGPUPresetTuning_SetQuiet - - DOX_IADLXGPUPresetTuning_SetBalanced - - DOX_IADLXGPUPresetTuning_SetTurbo - - DOX_IADLXGPUPresetTuning_SetRage - - DOX_IADLXManualTuningState_GetFrequency - - DOX_IADLXManualTuningState_SetFrequency - - DOX_IADLXManualTuningState_GetVoltage - - DOX_IADLXManualTuningState_SetVoltage - - DOX_IADLXMemoryTimingDescription_GetDescription - - DOX_IADLXManualTuningStateList_At - - DOX_IADLXManualTuningStateList_Add_Back - - DOX_IADLXMemoryTimingDescriptionList_At - - DOX_IADLXMemoryTimingDescriptionList_Add_Back - - DOX_IADLXGPUTuningChangedEvent_GetGPU - - DOX_IADLXGPUTuningChangedEvent_IsAutomaticTuningChanged - - DOX_IADLXGPUTuningChangedEvent_IsPresetTuningChanged - - DOX_IADLXGPUTuningChangedEvent_IsManualGPUCLKTuningChanged - - DOX_IADLXGPUTuningChangedEvent_IsManualVRAMTuningChanged - - DOX_IADLXGPUTuningChangedEvent_IsManualFanTuningChanged - - DOX_IADLXGPUTuningChangedEvent_IsManualPowerTuningChanged - - DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged - - DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener - - DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener - - DOX_IADLXGPUTuningServices_GetGPUTuningChangedHandling - - DOX_IADLXGPUTuningServices_IsAtFactory - - DOX_IADLXGPUTuningServices_ResetToFactory - - DOX_IADLXGPUTuningServices_IsSupportedAutoTuning - - DOX_IADLXGPUTuningServices_IsSupportedPresetTuning - - DOX_IADLXGPUTuningServices_IsSupportedManualGFXTuning - - DOX_IADLXGPUTuningServices_IsSupportedManualVRAMTuning - - DOX_IADLXGPUTuningServices_IsSupportedManualFanTuning - - DOX_IADLXGPUTuningServices_IsSupportedManualPowerTuning - - DOX_IADLXGPUTuningServices_GetAutoTuning - - DOX_IADLXGPUTuningServices_GetPresetTuning - - DOX_IADLXGPUTuningServices_GetManualGFXTuning - - DOX_IADLXGPUTuningServices_GetManualVRAMTuning - - DOX_IADLXGPUTuningServices_GetManualFanTuning - - DOX_IADLXGPUTuningServices_GetManualPowerTuning - - DOX_IADLXGPUTuningServices1_GetSmartAccessMemory - - DOX_IADLXGPUTuningChangedEvent1_IsSmartAccessMemoryChanged - - DOX_IADLXGPUTuningChangedEvent1_GetSmartAccessMemoryStatus - - DOX_IADLXI2C_Version - - DOX_IADLXI2C_IsSupported - - DOX_IADLXI2C_Read - - DOX_IADLXI2C_RepeatedStartRead - - DOX_IADLXI2C_Write - - DOX_IADLXLog_WriteLog - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUUsage - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUClockSpeed - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAMClockSpeed - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUTemperature - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUHotspotTemperature - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUPower - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUTotalBoardPower - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUFanSpeed - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAM - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUVoltage - - DOX_IADLXGPUMetricsSupport_GetGPUUsageRange - - DOX_IADLXGPUMetricsSupport_GetGPUClockSpeedRange - - DOX_IADLXGPUMetricsSupport_GetGPUVRAMClockSpeedRange - - DOX_IADLXGPUMetricsSupport_GetGPUTemperatureRange - - DOX_IADLXGPUMetricsSupport_GetGPUHotspotTemperatureRange - - DOX_IADLXGPUMetricsSupport_GetGPUPowerRange - - DOX_IADLXGPUMetricsSupport_GetGPUFanSpeedRange - - DOX_IADLXGPUMetricsSupport_GetGPUVRAMRange - - DOX_IADLXGPUMetricsSupport_GetGPUVoltageRange - - DOX_IADLXGPUMetricsSupport_GetGPUTotalBoardPowerRange - - DOX_IADLXGPUMetricsSupport_GetGPUIntakeTemperatureRange - - DOX_IADLXGPUMetricsSupport_IsSupportedGPUIntakeTemperature - - DOX_IADLXSystemMetricsSupport_IsSupportedCPUUsage - - DOX_IADLXSystemMetricsSupport_IsSupportedSystemRAM - - DOX_IADLXSystemMetricsSupport_IsSupportedSmartShift - - DOX_IADLXSystemMetricsSupport_GetCPUUsageRange - - DOX_IADLXSystemMetricsSupport_GetSystemRAMRange - - DOX_IADLXSystemMetricsSupport_GetSmartShiftRange - - DOX_IADLXGPUMetrics_TimeStamp - - DOX_IADLXGPUMetrics_GPUUsage - - DOX_IADLXGPUMetrics_GPUClockSpeed - - DOX_IADLXGPUMetrics_GPUVRAMClockSpeed - - DOX_IADLXGPUMetrics_GPUTemperature - - DOX_IADLXGPUMetrics_GPUHotspotTemperature - - DOX_IADLXGPUMetrics_GPUPower - - DOX_IADLXGPUMetrics_GPUTotalBoardPower - - DOX_IADLXGPUMetrics_GPUFanSpeed - - DOX_IADLXGPUMetrics_GPUVRAM - - DOX_IADLXGPUMetrics_GPUVoltage - - DOX_IADLXGPUMetrics_GPUIntakeTemperature - - DOX_IADLXGPUMetricsList_At - - DOX_IADLXGPUMetricsList_Add_Back - - DOX_IADLXSystemMetrics_TimeStamp - - DOX_IADLXSystemMetrics_CPUUsage - - DOX_IADLXSystemMetrics_SystemRAM - - DOX_IADLXSystemMetrics_SmartShift - - DOX_IADLXSystemMetricsList_At - - DOX_IADLXSystemMetricsList_Add_Back - - DOX_IADLXFPS_TimeStamp - - DOX_IADLXFPS_FPS - - DOX_IADLXFPSList_At - - DOX_IADLXFPSList_Add_Back - - DOX_IADLXAllMetrics_TimeStamp - - DOX_IADLXAllMetrics_GetSystemMetrics - - DOX_IADLXAllMetrics_GetFPS - - DOX_IADLXAllMetrics_GetGPUMetrics - - DOX_IADLXAllMetricsList_At - - DOX_IADLXAllMetricsList_Add_Back - - DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange - - DOX_IADLXPerformanceMonitoringServices_SetSamplingInterval - - DOX_IADLXPerformanceMonitoringServices_GetSamplingInterval - - DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange - - DOX_IADLXPerformanceMonitoringServices_SetMaxPerformanceMetricsHistorySize - - DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySize - - DOX_IADLXPerformanceMonitoringServices_ClearPerformanceMetricsHistory - - DOX_IADLXPerformanceMonitoringServices_GetCurrentPerformanceMetricsHistorySize - - DOX_IADLXPerformanceMonitoringServices_StartPerformanceMetricsTracking - - DOX_IADLXPerformanceMonitoringServices_StopPerformanceMetricsTracking - - DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory - - DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory - - DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory - - DOX_IADLXPerformanceMonitoringServices_GetFPSHistory - - DOX_IADLXPerformanceMonitoringServices_GetCurrentAllMetrics - - DOX_IADLXPerformanceMonitoringServices_GetCurrentGPUMetrics - - DOX_IADLXPerformanceMonitoringServices_GetCurrentSystemMetrics - - DOX_IADLXPerformanceMonitoringServices_GetCurrentFPS - - DOX_IADLXPerformanceMonitoringServices_GetSupportedGPUMetrics - - DOX_IADLXPerformanceMonitoringServices_GetSupportedSystemMetrics - - DOX_IADLXSystemMetricsSupport1_IsSupportedPowerDistribution - - DOX_IADLXSystemMetrics1_PowerDistribution - - DOX_IADLXSmartShiftMax_IsSupported - - DOX_IADLXSmartShiftMax_GetBiasMode - - DOX_IADLXSmartShiftMax_SetBiasMode - - DOX_IADLXSmartShiftMax_GetBiasRange - - DOX_IADLXSmartShiftMax_GetBias - - DOX_IADLXSmartShiftMax_SetBias - - DOX_IADLXPowerTuningChangedEvent_IsSmartShiftMaxChanged - - DOX_IADLXPowerTuningChangedListener_OnPowerTuningChanged - - DOX_IADLXPowerTuningChangedHandling_AddPowerTuningEventListener - - DOX_IADLXPowerTuningChangedHandling_RemovePowerTuningEventListener - - DOX_IADLXPowerTuningServices_GetPowerTuningChangedHandling - - DOX_IADLXPowerTuningServices_GetSmartShiftMax - - DOX_IADLXSmartAccessMemory_IsSupported - - DOX_IADLXSmartAccessMemory_IsEnabled - - DOX_IADLXSmartAccessMemory_SetEnabled - - DOX_IADLXGPU_VendorId - - DOX_IADLXGPU_ASICFamilyType - - DOX_IADLXGPU_Type - - DOX_IADLXGPU_IsExternal - - DOX_IADLXGPU_Name - - DOX_IADLXGPU_DriverPath - - DOX_IADLXGPU_PNPString - - DOX_IADLXGPU_HasDesktops - - DOX_IADLXGPU_TotalVRAM - - DOX_IADLXGPU_VRAMType - - DOX_IADLXGPU_BIOSInfo - - DOX_IADLXGPU_DeviceId - - DOX_IADLXGPU_RevisionId - - DOX_IADLXGPU_SubSystemId - - DOX_IADLXGPU_SubSystemVendorId - - DOX_IADLXGPU_UniqueId - - DOX_IADLXGPUList_At - - DOX_IADLXGPUList_Add_Back - - DOX_IADLXGPUsEventListener_OnGPUListChanged - - DOX_IADLXGPUsChangedHandling_AddGPUsListEventListener - - DOX_IADLXGPUsChangedHandling_RemoveGPUsListEventListener - - DOX_IADLXSystem_HybridGraphicsType - - DOX_IADLXSystem_GetGPUs - - DOX_IADLXSystem_QueryInterface - - DOX_IADLXSystem_GetDisplaysServices - - DOX_IADLXSystem_GetDesktopsServices - - DOX_IADLXSystem_GetGPUsChangedHandling - - DOX_IADLXSystem_EnableLog - - DOX_IADLXSystem_Get3DSettingsServices - - DOX_IADLXSystem_GetGPUTuningServices - - DOX_IADLXSystem_GetPerformanceMonitoringServices - - DOX_IADLXSystem_TotalSystemRAM - - DOX_IADLXSystem_GetI2C - - DOX_IADLMapping_GetADLXGPUFromBdf - - DOX_IADLMapping_GetADLXGPUFromAdlAdapterIndex - - DOX_IADLMapping_BdfFromADLXGPU - - DOX_IADLMapping_AdlAdapterIndexFromADLXGPU - - DOX_IADLMapping_GetADLXDisplayFromADLIds - - DOX_IADLMapping_ADLIdsFromADLXDisplay - - DOX_IADLMapping_GetADLXDesktopFromADLIds - - DOX_IADLMapping_ADLIdsFromADLXDesktop - - DOX_IADLXGPU1_PCIBusType - - DOX_IADLXGPU1_PCIBusLaneWidth - - DOX_IADLXGPU1_MultiGPUMode - - DOX_IADLXGPU1_ProductName - - DOX_IADLXSystem1_GetPowerTuningServices - - DOX_IADLX3DAntiLag - - DOX_IADLX3DAntiLag1 - - DOX_IADLX3DChill - - DOX_IADLX3DBoost - - DOX_IADLX3DImageSharpening - - DOX_IADLX3DEnhancedSync - - DOX_IADLX3DWaitForVerticalRefresh - - DOX_IADLX3DFrameRateTargetControl - - DOX_IADLX3DAntiAliasing - - DOX_IADLX3DMorphologicalAntiAliasing - - DOX_IADLX3DAnisotropicFiltering - - DOX_IADLX3DTessellation - - DOX_IADLX3DRadeonSuperResolution - - DOX_IADLX3DResetShaderCache - - DOX_IADLX3DSettingsChangedEvent - - DOX_IADLX3DSettingsChangedListener - - DOX_IADLX3DSettingsChangedHandling - - DOX_IADLX3DSettingsServices - - DOX_IADLXDesktop - - DOX_IADLXEyefinityDesktop - - DOX_IADLXDesktopList - - DOX_IADLXDesktopListChangedListener - - DOX_IADLXDesktopChangedHandling - - DOX_IADLXSimpleEyefinity - - DOX_IADLXDesktopServices - - DOX_IADLXDisplay - - DOX_IADLXDisplayList - - DOX_IADLXDisplayListChangedListener - - DOX_IADLXDisplayGamutChangedEvent - - DOX_IADLXDisplayGamutChangedListener - - DOX_IADLXDisplayGammaChangedEvent - - DOX_IADLXDisplayGammaChangedListener - - DOX_IADLXDisplay3DLUTChangedEvent - - DOX_IADLXDisplay3DLUTChangedListener - - DOX_IADLXDisplaySettingsChangedEvent - - DOX_IADLXDisplaySettingsChangedEvent1 - - DOX_IADLXDisplaySettingsChangedEvent2 - - DOX_IADLXDisplaySettingsChangedListener - - DOX_IADLXDisplayChangedHandling - - DOX_IADLXDisplayServices - - DOX_IADLXDisplayServices1 - - DOX_IADLXDisplayServices2 - - DOX_IADLXDisplayFreeSync - - DOX_IADLXDisplayVSR - - DOX_IADLXDisplayGPUScaling - - DOX_IADLXDisplayScalingMode - - DOX_IADLXDisplayIntegerScaling - - DOX_IADLXDisplayColorDepth - - DOX_IADLXDisplayPixelFormat - - DOX_IADLXDisplayCustomColor - - DOX_IADLXDisplayHDCP - - DOX_IADLXDisplayResolution - - DOX_IADLXDisplayResolutionList - - DOX_IADLXDisplayCustomResolution - - DOX_IADLXDisplayVariBright - - DOX_IADLXDisplayConnectivityExperience - - DOX_IADLXDisplayGamut - - DOX_IADLXDisplayGamma - - DOX_IADLXDisplay3DLUT - - DOX_IADLXDisplayBlanking - - DOX_IADLXGPU - - DOX_IADLXGPUList - - DOX_IADLXGPUsEventListener - - DOX_IADLXGPUsChangedHandling - - DOX_IADLXGPU1 - - DOX_IADLXSmartAccessMemory - - DOX_IADLXManualTuningState - - DOX_IADLXMemoryTimingDescription - - DOX_IADLXManualTuningStateList - - DOX_IADLXMemoryTimingDescriptionList - - DOX_IADLXGPUTuningChangedEvent - - DOX_IADLXGPUTuningChangedEvent1 - - DOX_IADLXGPUTuningChangedListener - - DOX_IADLXGPUTuningChangedHandling - - DOX_IADLXGPUTuningServices - - DOX_IADLXGPUTuningServices1 - - DOX_IADLXGPUPresetTuning - - DOX_IADLXManualVRAMTuning1 - - DOX_IADLXManualVRAMTuning2 - - DOX_IADLXManualPowerTuning - - DOX_IADLXManualGraphicsTuning1 - - DOX_IADLXManualGraphicsTuning2 - - DOX_IADLXManualFanTuningState - - DOX_IADLXManualFanTuningStateList - - DOX_IADLXManualFanTuning - - DOX_IADLXGPUAutoTuningCompleteEvent - - DOX_IADLXGPUAutoTuningCompleteListener - - DOX_IADLXGPUAutoTuning - - DOX_IADLXI2C - - DOX_IADLMapping - - DOX_IADLXLog - - DOX_IADLXList - - DOX_IADLXChangedEvent - - DOX_IADLXInterface - - DOX_IADLXGPUMetricsSupport - - DOX_IADLXSystemMetricsSupport - - DOX_IADLXGPUMetrics - - DOX_IADLXGPUMetricsList - - DOX_IADLXSystemMetrics - - DOX_IADLXSystemMetricsList - - DOX_IADLXFPS - - DOX_IADLXFPSList - - DOX_IADLXAllMetrics - - DOX_IADLXAllMetricsList - - DOX_IADLXPerformanceMonitoringServices - - DOX_IADLXSystemMetrics1 - - DOX_IADLXSystemMetricsSupport1 - - DOX_IADLXPowerTuningServices - - DOX_IADLXPowerTuningChangedHandling - - DOX_IADLXPowerTuningChangedListener - - DOX_IADLXPowerTuningChangedEvent - - DOX_IADLXSmartShiftMax - - DOX_IADLXSystem1 - - DOX_IADLXSystem - - page_sample_cpp - - page_sample_c - - page_sample_py - - page_sample_cs - - page_sample_java - - domain_c_sample_3DGraphics - - domain_c_sample_Desktop - - domain_c_sample_Display - - domain_c_sample_Generic - - domain_c_sample_GPUTuning - - domain_c_sample_I2C - - domain_c_sample_PerformanceMonitoring - - domain_c_sample_powertuning - - domain_cpp_sample_3DGraphics - - domain_cpp_sample_Desktop - - domain_cpp_sample_Display - - domain_cpp_sample_Generic - - domain_cpp_sample_GPUTuning - - domain_cpp_sample_I2C - - domain_cpp_sample_PerformanceMonitoring - - domain_cpp_sample_powertuning - - domain_cpp_sample_servicecall - - domain_cpp_sample_globalsync - - domain_c_sample_servicecall - - domain_c_sample_globalsync - - domain_samplePage - - cpp_sample_gpus - - cpp_sample_InvalidObject - - cpp_sample_log - - cpp_sample_WorkWithADL - - cpp_sample_AsyncEventHandling - - cpp_sample_eyefinity - - cpp_sample_desktopevent - - cpp_sample_PrimaryAdapter - - cpp_sample_displayinfo - - cpp_sample_displayGamut - - cpp_sample_displayGamma - - cpp_sample_display3DLUT - - cpp_sample_displayBlanking - - cpp_sample_displayEvents - - cpp_display_ColorDepth - - cpp_display_DisplayConnectivityExperience - - cpp_display_CustomColor - - cpp_display_CustomResolution - - cpp_display_FreeSync - - cpp_display_GPUScaling - - cpp_display_HDCP - - cpp_display_IntegerScaling - - cpp_display_PixelFormat - - cpp_display_ScalingMode - - cpp_display_VSR - - cpp_display_DisplayVariBright - - cpp_AnisotropicFiltering - - cpp_AntiAliasing - - cpp_AntiLag - - cpp_Boost - - cpp_Chill - - cpp_EnhancedSync - - cpp_FRTC - - cpp_ImageSharpening - - cpp_MorphologicAntiAliasing - - cpp_ResetShaderCache - - cpp_RSR - - cpp_Tessellation - - cpp_WaitForVerticalRefresh - - cpp_3DSettingsEvent - - cpp_GPUAutoTuning - - cpp_ManualFanTuning - - cpp_ManualVRAMTuning - - cpp_ManualGraphicsTuning - - cpp_ManualPowerTuning - - cpp_GPUPresetTuning - - cpp_sam - - cpp_PerfAllMetrics - - cpp_PerfFPSMetrics - - cpp_PerfGPUMetrics - - cpp_PerfSystemMetrics - - cpp_ssm - - cpp_I2C - - cpp_Sync3DReceive - - cpp_SyncDisplayReceive - - cpp_SyncGPUTuning - - cpp_SyncPowerTuning - - cpp_sample_GPUServiceCall - - cpp_sample_ShareMemory - - cpp_sample_userprocess - - c_sample_gpus - - c_sample_eyefinity - - c_sample_desktopevent - - c_sample_PrimaryAdapter - - c_sample_InvalidObject - - c_sample_log - - c_sample_WorkWithADL - - c_sample_AsyncEventHandling - - c_sample_displayinfo - - c_sample_displayGamut - - c_sample_displayGamma - - c_sample_display3DLUT - - c_sample_displayBlanking - - c_sample_displayEvents - - c_display_ColorDepth - - c_display_DisplayConnectivityExperience - - c_display_CustomColor - - c_display_CustomResolution - - c_display_FreeSync - - c_display_GPUScaling - - c_display_HDCP - - c_display_IntegerScaling - - c_display_PixelFormat - - c_display_ScalingMode - - c_display_VSR - - c_display_DisplayVariBright - - c_AnisotropicFiltering - - c_AntiAliasing - - c_AntiLag - - c_Boost - - c_Chill - - c_EnhancedSync - - c_FRTC - - c_ImageSharpening - - c_MorphologicAntiAliasing - - c_ResetShaderCache - - c_RSR - - c_Tessellation - - c_WaitForVerticalRefresh - - c_3DSettingsEvent - - c_GPUAutoTuning - - c_ManualFanTuning - - c_ManualVRAMTuning - - c_ManualGraphicsTuning - - c_ManualPowerTuning - - c_GPUPresetTuning - - c_sam - - c_PerfAllMetrics - - c_PerfFPSMetrics - - c_PerfGPUMetrics - - c_PerfSystemMetrics - - c_ssm - - c_I2C - - c_Sync3DReceive - - c_SyncDisplayReceive - - c_SyncGPUTuning - - c_SyncPowerTuning - - c_sample_GPUServiceCall - - c_sample_ShareMemory - - c_sample_userprocess - - cs_sample_adlxcsharpbind - - cs_sample_displayinfo - - cs_sample_displayEvents - - java_sample_adlxjavabind - - java_sample_displayinfo - - java_sample_displayEvents - - py_sample_adlxpybind - - py_sample_displayinfo - - py_sample_displayEvents - - page_legal_Disclaimer - - page_legal - - page_legal_Trademark - - page_cHelpADLXHelper_Initialize - - page_cHelpADLXHelper_InitializeWithIncompatibleDriver - - page_cHelpADLXHelper_InitializeWithCallerAdl - - page_cHelpADLXHelper_Terminate - - page_cHelpADLXHelper_GetSystemServices - - page_cHelpADLXHelper_GetAdlMapping - - page_cHelpADLXHelper_QueryFullVersion - - page_cHelpADLXHelper_QueryVersion - - page_cppHelpNew - - page_cppHelpDelete - - page_cppHelpInitializeWithCallerAdl - - page_cppHelpInitialize - - page_cppHelpInitializeWithIncompatibleDriver - - page_cppHelpTerminate - - page_cppHelpQueryFullVersion - - page_cppHelpQueryVersion - - page_cppHelpGetSystemServices - - page_cppHelpGetAdlMapping - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXInterfacePage - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXLegal - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXProgrammingGuide - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config/ADLXSamplesPage - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/C - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/C - - D:/AMD_Git/adlx_release/drivers/ADLX/docs/Config - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/CPP - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows/Cpp - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/csharp - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/Include - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/java - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples/python - - D:/AMD_Git/adlx_release/drivers/ADLX/Samples - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK - - D:/AMD_Git/adlx_release/drivers/ADLX/SDK/ADLXHelper/Windows - - index - - diff --git a/vendor/adlx/SDKDoc/xml/index.xsd b/vendor/adlx/SDKDoc/xml/index.xsd deleted file mode 100644 index edb1d34..0000000 --- a/vendor/adlx/SDKDoc/xml/index.xsd +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/indexpage.xml b/vendor/adlx/SDKDoc/xml/indexpage.xml deleted file mode 100644 index dc05fc9..0000000 --- a/vendor/adlx/SDKDoc/xml/indexpage.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - index - AMD Device Library eXtra - - - -ADLX Developer Documentation - -AMD Device Library eXtra (ADLX) is AMD's application programming interface (API) library for Microsoft Windows® based driver configuration. The ADLX API is a programming interface designed to allow software applications communicate directly with AMD hardware and access their resources. - -This document includes detailed information on the API's programming interfaces, helpers, functions, types, as well as code samples and usage scenarios to help developers get started. The document also includes information on system requirements, bindings development, and advanced configurations to help developers overcome common issues when integrating the API. - - -ADLX Programming Guide - -ADLX Programming Guide contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages. - - -ADLX Samples - -ADLX Samples provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly. - - -ADLX SDK References - -ADLX SDK References provides descriptions for all ADLX programming aspects such as helpers, functions, interfaces (with their respective methods) and ADLX data types. - - - -For more information on AMD Graphics and related SDKs, visit AMD GPUOpen. - - - - diff --git a/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_help_8md.xml b/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_help_8md.xml deleted file mode 100644 index 237c871..0000000 --- a/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_help_8md.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - initADLXwithHelp.md - - - - - -@pagepage_guide_init_helpInitializingADLXwiththeADLXHelpers -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ItisrecommendedtoloadandinitializeADLXwithADLXHelpercode. -TheADLXHelpercodehasnativesupportforCandC++.WhenprogramminginC#,Java,orPython,usetheADLXHelpercodefromthebindingwrapperintheselectedlanguagetoaccessADLX. - -<h2>TouseADLXinaC++application</h2> - -ToaccessADLXfunctionalityfromaC++basedapplication, -1.StartanewC++application. -2.Intheapplication,includethefollowingfiles: - -`a./SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h` - -`b./SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp` - -`c./SDK/Platform/Windows/WinAPIs.cpp` - -3.Createaninstanceofthe@refpage_ADLXCppHelp"ADLXHelper"class. -4.Callthe@refpage_cppHelpInitializemethodintheHelperobject. -5.Callthe@refpage_cppHelpGetSystemServicesmethodintheHelperobject. - -**Result:**Accesstothe@refDOX_IADLXSysteminterfaceisprovided. - -**Note:**YoucanaccesstherequiredADLXfunctionalityfromthe@refDOX_IADLXSysteminterface. - -6.Call@refpage_cppHelpTerminateintheHelperobject. - -**Result:**ResourcesutilizedbyADLXarereleased,andtheADLXlibraryisunloaded. - -Formoreinformation,see@refpage_sample_cpp"C++samples". - -<h2>TouseADLXinaCapplication</h2> - -ToaccessADLXfunctionalityfromaCbasedapplication, -1.StartanewCapplication. -2.Intheapplication,includethefollowingfiles: - -`a./SDK/ADLXHelper/Windows/C/ADLXHelper.h` - -`b./SDK/ADLXHelper/Windows/C/ADLXHelper.c` - -`c./SDK/Platform/Windows/WinAPIs.c` - -3.Callthe@refpage_cHelpADLXHelper_Initializefunctionthatisdeclaredinthe`ADLXHelper.h`file. -4.Callthe@refpage_cHelpADLXHelper_GetSystemServicesfunction. - -**Result:**Accesstothe@refDOX_IADLXSysteminterfaceisprovided. - -**Note:**YoucanaccesstherequiredADLXfunctionalityfromthe@refDOX_IADLXSysteminterface. - -5.Call@refpage_cHelpADLXHelper_TerminateinthehelperobjecttoreleasetheresourcesutilizedbyADLX. - -**Result:**TheADLXlibraryisunloaded. - -Formoreinformation,see@refpage_sample_c"Csamples". - -<h2>ToinitializeADLXinaC#application</h2> - -FollowthesestepstoinitializeADLXinaC#application. -1.StartanewC#application. -2.Importallthe*.csfilesfromtheADLXbindingwrapperforC#. -3.Createaninstanceofthe@refpage_ADLXCppHelp"ADLXHelper"class. -4.Callthe@refpage_cppHelpInitializemethodintheHelperobject. -5.Callthe@refpage_cppHelpGetSystemServicesmethodintheHelperobject. - -**Result:**The@refDOX_IADLXSysteminterfaceisaccessible. - -**Note:**The@refDOX_IADLXSysteminterfaceprovidesaccesstoADLXfunctionality. - -6.Call@refpage_cppHelpTerminateintheHelperobject. - -**Result:**ResourcesutilizedbyADLXarereleased,andtheADLXlibraryisunloaded. - -Formoreinformation,see@refpage_sample_cs"C#samples" - -<h2>ToinitializeADLXinaJavaapplication</h2> - -FollowthesestepstoinitializeADLXinaJavaapplication. -1.StartanewJavaapplication. -2.ImportalltheJavafilesfromtheADLXbindingwrapperforJava. -3.Createaninstanceofthe@refpage_ADLXCppHelp"ADLXHelper"class. -4.Callthe@refpage_cppHelpInitializemethodintheHelperobject. -5.Callthe@refpage_cppHelpGetSystemServicesmethodintheHelperobject. - -**Result:**The@refDOX_IADLXSysteminterfaceisaccessible. - -**Note:**The@refDOX_IADLXSysteminterfaceprovidesaccesstoADLXfunctionality. - -6.Call@refpage_cppHelpTerminateintheHelperobject. - -**Result:**ResourcesutilizedbyADLXarereleased,andtheADLXlibraryisunloaded. - -Formoreinformation,see@refpage_sample_java"Javasamples". - -<h2>ToinitializeADLXinaPythonapplication</h2> - -FollowthesestepstoinitializeADLXinaPythonapplication. -1.StartanewPythonapplication. -2.Importthe`ADLXPybind.pyd`packagefromtheADLXbindingwrapperforPython. -3.Createaninstanceofthe@refpage_ADLXCppHelp"ADLXHelper"class. -4.Callthe@refpage_cppHelpInitializemethodintheHelperobject. -5.Callthe@refpage_cppHelpGetSystemServicesmethodintheHelperobject. - -**Result:**The@refDOX_IADLXSysteminterfaceisaccessible. - -**Note:**The@refDOX_IADLXSysteminterfaceprovidesaccesstoADLXfunctionality. - -6.Call@refpage_cppHelpTerminateintheHelperobject. - -**Result:**ResourcesutilizedbyADLXarereleased,andtheADLXlibraryisunloaded. - -Formoreinformation,see@refpage_sample_py"Pythonsamples". - - - - diff --git a/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_pointer_8md.xml b/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_pointer_8md.xml deleted file mode 100644 index 1833d37..0000000 --- a/vendor/adlx/SDKDoc/xml/init_a_d_l_xwith_pointer_8md.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - initADLXwithPointer.md - - - - - -@pagepage_guide_init_pointerInitializingADLXwithfunctionpointers -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -UsethefunctionsprovidedintheADLXSDKtoloadADLXintotheapplication.OnceADLXisloaded,thefunctionpointercanbelocatedtocalltheapplicableADLXInitializationfunctiontoprovideaccesstotheADLXSysteminterface. - -ToaccesstheADLXSysteminterfaceusingfunctionpointers, -1.LoadtheADLXlibraryusing@refadlx_load_libraryasprovidedintheADLXSDK. -2.FindtheapplicableADLXInitializationfunctionpointerusing@refadlx_get_proc_address. -3.CalltheADLXInitializationfunction. - -**Result:**Iftheinitializationfunctioncallissuccessful,itreturnsthepointerprovidingaccessto@refDOX_IADLXSysteminterfaceandADLXfunctionality. - -4.Accessthe@refDOX_IADLXSysteminterface. - -**Result:**AccesstoADLXfunctionalityisprovided. - -**Note:**WhenloadingADLXinanADLapplication,the@refDOX_IADLMappinginterfaceisaccessible.ThisinterfaceprovidesdatamappingbetweenADLandADLXforaspecificentity(GPU,DisplayorDesktop). - - - - diff --git a/vendor/adlx/SDKDoc/xml/interfacereqtable_8h.xml b/vendor/adlx/SDKDoc/xml/interfacereqtable_8h.xml deleted file mode 100644 index 89f8ea4..0000000 --- a/vendor/adlx/SDKDoc/xml/interfacereqtable_8h.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - interfacereqtable.h - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/java_2_read_me_8md.xml b/vendor/adlx/SDKDoc/xml/java_2_read_me_8md.xml deleted file mode 100644 index afe29cf..0000000 --- a/vendor/adlx/SDKDoc/xml/java_2_read_me_8md.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - ReadMe.md - - - - - -@pagepage_sample_javaJavaSamples - -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisdocumentdescribeshowtobuildtheJavabindingsforADLX,andtheADLXJavasamples,aswellastheenvironmentinwhichtheycanbeexecuted.TheADLXJavasamplesdemonstratehowtoprogramwithADLXinaJavaapplication. - -<h2>SupportedOperatingSystems</h2> -Windows®10(32-and64-bitversions)andup. - -<h2>BuildingtheADLXCSharpBind</h2> -ThesearetheinstructionsforbuildingtheADLXJavabindingsfortheADLXJavasamples. - -<h2>BuildTool</h2> -VisualStudio2019withCandC++componentsfordesktop. - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. --<b>VisualStudio2019</b>isinstalled. --<b>swigwin4.0.2</b>isinstalled,andthepathtotheswigwin4.0.2installationisaddedtothe<b>Path</b>userenvironmentvariable. --<b>OpenJDK17</b>isinstalled. --ThepathtotheOpenJDK17installationisaddedtothe<b>JAVA_HOME</b>systemenvironmentvariable. --ThebinpathfortheOpenJDK17installationisaddedtothe<b>Path</b>systemenvironmentvariable. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudio2019.</li> -<li>Open`~ADLX\drivers\ADLX\Samples\java\ADLXJavaBind\ADLXJavaBind.sln`.</li> -<li>Rebuildtheproject</li> -</ol> - -<h2>BuildingtheADLXJavasamples</h2> -Thesearetheinstructionsforbuildingthe<b>DisplayInfo</b>ADLXJavasample. -SimilarinstructionsmustbefollowedforbuildingtheotherADLXJavasamples. - -<h2>BuildTool</h2> -VisualStudioCode - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. --<b>ADLXCSharpBind</b>isbuilt. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudioCode.</li> -<li>Open`~ADLX\drivers\ADLX\Samples\java\DisplayInfo`.</li> -<li>Rebuildtheproject</li> -</ol> - - - - diff --git a/vendor/adlx/SDKDoc/xml/java_sample_adlxjavabind.xml b/vendor/adlx/SDKDoc/xml/java_sample_adlxjavabind.xml deleted file mode 100644 index d291436..0000000 --- a/vendor/adlx/SDKDoc/xml/java_sample_adlxjavabind.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - java_sample_adlxjavabind - ADLXJavaBind - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to wrap ADLX with SWIG when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/java/ADLXJavaBind</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -%module(directors="1")ADLX -%{ -#include<Windows.h> -#include"../../../../SDK/Include/ADLXDefines.h" -#include"../../../../SDK/Include/ICollections.h" -#include"../../../../SDK/Include/IDisplays.h" -#include"../../../../SDK/Include/ISystem.h" -#include"../../../../SDK/Include/ILog.h" -#include"../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" - -typedefint64_tadlx_int64; -typedefint32_tadlx_int32; -typedefint16_tadlx_int16; -typedefint8_tadlx_int8; -typedefuint64_tadlx_uint64; -typedefuint32_tadlx_uint32; -typedefuint16_tadlx_uint16; -typedefuint8_tadlx_uint8; -typedefsize_tadlx_size; -typedefvoid*adlx_handle; -typedefdoubleadlx_double; -typedeffloatadlx_float; -typedefvoidadlx_void; -typedeflongadlx_long; -typedefadlx_int32adlx_int; -typedefunsignedlongadlx_ulong; -typedefadlx_uint32adlx_uint; -typedefbooladlx_bool; -typedefwchar_tWCHAR;//wc,16-bitUNICODEcharacter -typedefWCHARTCHAR; - -//Microsoft -#defineADLX_CORE_LINK__declspec(dllexport) -#defineADLX_STD_CALL__stdcall -#defineADLX_CDECL_CALL__cdecl -#defineADLX_FAST_CALL__fastcall -#defineADLX_INLINE__inline -#defineADLX_FORCEINLINE__forceinline -#defineADLX_NO_VTABLE__declspec(novtable) - -//IID's -#defineADLX_DECLARE_IID(X)staticADLX_INLINEconstwchar_t*IID(){returnX;} -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) -#defineADLX_DECLARE_ITEM_IID(X)staticADLX_INLINEconstwchar_t*ITEM_IID(){returnX;} - -usingnamespaceadlx; -%} -/*ForcethegeneratedJavacodetousetheCenumvaluesratherthanmakingaJNIcall*/ -//%include"java.swg" -//%javaconst(1); - -typedefint64_tadlx_int64; -typedefint32_tadlx_int32; -typedefint16_tadlx_int16; -typedefint8_tadlx_int8; -typedefuint64_tadlx_uint64; -typedefuint32_tadlx_uint32; -typedefuint16_tadlx_uint16; -typedefuint8_tadlx_uint8; -typedefsize_tadlx_size; -typedefvoid*adlx_handle; -typedefdoubleadlx_double; -typedeffloatadlx_float; -typedefvoidadlx_void; -typedeflongadlx_long; -typedefadlx_int32adlx_int; -typedefunsignedlongadlx_ulong; -typedefadlx_uint32adlx_uint; -typedefbooladlx_bool; -typedefwchar_tWCHAR;//wc,16-bitUNICODEcharacter -typedefWCHARTCHAR; - -//Microsoft -#defineADLX_CORE_LINK__declspec(dllexport) -#defineADLX_STD_CALL__stdcall -#defineADLX_CDECL_CALL__cdecl -#defineADLX_FAST_CALL__fastcall -#defineADLX_INLINE__inline -#defineADLX_FORCEINLINE__forceinline -#defineADLX_NO_VTABLE__declspec(novtable) - -//IID's -#defineADLX_DECLARE_IID(X)staticADLX_INLINEconstwchar_t*IID(){returnX;} -#defineADLX_IS_IID(X,Y)(!wcscmp(X,Y)) - -#defineADLX_DECLARE_ITEM_IID(X)staticADLX_INLINEconstwchar_t*ITEM_IID(){returnX;} - -/*Callbacktoturnondirectorwrapping*/ -%feature("director")IADLXDisplayListChangedListener; - -%includestdint.i -%includecarrays.i -%includewindows.i -%includetypemaps.i - -%include"../../../../SDK/Include/ADLXDefines.h" -%include"../../../../SDK/Include/ICollections.h" -%include"../../../../SDK/Include/IDisplays.h" -%include"../../../../SDK/Include/ISystem.h" -%include"../../../../SDK/Include/ILog.h" -%include"../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -usingnamespaceadlx; - -//T*pointer -%includecpointer.i -%pointer_functions(adlx_int,intP); -%pointer_functions(double,doubleP); -%pointer_functions(adlx_uint,uintP); -%pointer_functions(ADLX_DISPLAY_TYPE,displayTypeP); -%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE,disConnectTypeP); -%pointer_functions(ADLX_DISPLAY_SCAN_TYPE,disScanTypeP); -%pointer_functions(adlx_size,adlx_sizeP) - -//T**ppointer -%define%ppointer_functions(TYPE,NAME) -%{ -staticTYPE*new_##NAME(){%} -%{returnnewTYPE();%} -%{} - -staticTYPE*copy_##NAME(TYPEvalue){%} -%{returnnewTYPE(value);%} -%{} - -staticvoiddelete_##NAME(TYPE*obj){%} -%{if(*obj)delete*obj;%} -%{} - -staticvoidNAME##_assign(TYPE*obj,TYPEvalue){ -*obj=value; -} - -staticTYPENAME##_value(TYPE*obj){ -return*obj; -} -%} - -TYPE*new_##NAME(); -TYPE*copy_##NAME(TYPEvalue); -voiddelete_##NAME(TYPE*obj); -voidNAME##_assign(TYPE*obj,TYPEvalue); -TYPENAME##_value(TYPE*obj); - -%enddef - -%define%pointer_cast(TYPE1,TYPE2,NAME) -%inline%{ -TYPE2NAME(TYPE1x){ -return(TYPE2)x; -} -%} -%enddef -%ppointer_functions(IADLXDisplayServices*,displaySerP_Ptr); -%ppointer_functions(IADLXDisplayList*,displayListP_Ptr); -%ppointer_functions(IADLXDisplay*,displayP_Ptr); -%ppointer_functions(IADLXDisplayChangedHandling*,displayChangeHandlP_Ptr); -%ppointer_functions(char*,charP_Ptr); - - - - - diff --git a/vendor/adlx/SDKDoc/xml/java_sample_display_events.xml b/vendor/adlx/SDKDoc/xml/java_sample_display_events.xml deleted file mode 100644 index 6d403e8..0000000 --- a/vendor/adlx/SDKDoc/xml/java_sample_display_events.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - java_sample_displayEvents - DisplayEvents - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demontrates how to handle notifications about display change when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/java/DisplayEvents</p> -</body> -</html> Code - -Java // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -importout.*; - -publicclassmainDisplayEvents{ - -//loadADLXJavaBind.dll -static{ -try{ -System.loadLibrary("ADLXJavaBind"); -}catch(UnsatisfiedLinkErrore){ -System.err.println("Nativecodelibraryfailedtoload.SeethechapteronDynamicLinkingProblemsintheSWIGJavadocumentationforhelp.\n"+e); -System.exit(1); -} -} - -//Getdisplaylistchanged -publicstaticvoidmain(String[]args){ - -//InitializeADLXwithADLXHelper -ADLXHelperhelp=newADLXHelper(); -ADLX_RESULTres=help.Initialize(); - -if(res==ADLX_RESULT.ADLX_OK){ - -//Getsystemservices -IADLXSystemsys=help.GetSystemServices(); - -if(sys!=null){ -//Getdisplayservices -SWIGTYPE_p_p_adlx__IADLXDisplayServicess=ADLX.new_displaySerP_Ptr(); -res=sys.GetDisplaysServices(s); -IADLXDisplayServicesdisplayService=ADLX.displaySerP_Ptr_value(s); - -if(res==ADLX_RESULT.ADLX_OK){ -//Getdisplaychangedhandling -SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandlingppDisChangeHand=ADLX.new_displayChangeHandlP_Ptr(); -res=displayService.GetDisplayChangedHandling(ppDisChangeHand); -IADLXDisplayChangedHandlinghand=ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand); - -if(res==ADLX_RESULT.ADLX_OK){ -//Callbackfordislaylistchanged -DisplayListCallBackcall=newDisplayListCallBack(); -hand.AddDisplayListEventListener(call); -System.out.println("\n\nPlugorunplugadisplaywithin20seconds.\n"); -try{ -Thread.currentThread().sleep(20000); -}catch(Exceptione){ -//Exceptionhandling -} -hand.RemoveDisplayListEventListener(call); - -//Releasedisplaychangedhandlinginterface -hand.Release(); -} - -//Releasedisplayservicesinterface -displayService.Release(); -} -} -}else{ -System.out.printf("ADLXhelperinitializeresult:%s\n",res.toString()); -} - -//ADLXTerminate -res=help.Terminate(); -System.out.printf("ADLXTerminate:%s\n",res.toString()); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/java_sample_displayinfo.xml b/vendor/adlx/SDKDoc/xml/java_sample_displayinfo.xml deleted file mode 100644 index 65bcf8e..0000000 --- a/vendor/adlx/SDKDoc/xml/java_sample_displayinfo.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - java_sample_displayinfo - DisplayInfo - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display information when programming with ADLX to perform related tests.</p> - <h2>Sample Path</h2> - <p>/Samples/java/DisplayInfo</p> -</body> -</html> Code - -Java // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -importout.*; - -publicclassmainDisplayInfo{ - -//LoadADLXJavaBind.dll -static{ -try{ -System.loadLibrary("ADLXJavaBind"); -}catch(UnsatisfiedLinkErrore){ -System.err.println("Nativecodelibraryfailedtoload.SeethechapteronDynamicLinkingProblemsintheSWIGJavadocumentationforhelp.\n"+e); -System.exit(1); -} -} - -//Iteratedisplaylist -publicstaticvoidmain(String[]args){ - -//InitializeADLXwithADLXHelper -ADLXHelperhelp=newADLXHelper(); -ADLX_RESULTres=help.Initialize(); - -if(res==ADLX_RESULT.ADLX_OK){ - -//Getsystemservices -IADLXSystemsys=help.GetSystemServices(); - -if(sys!=null){ -//Getdisplayservices -SWIGTYPE_p_p_adlx__IADLXDisplayServicess=ADLX.new_displaySerP_Ptr(); -res=sys.GetDisplaysServices(s); -IADLXDisplayServicesdisplayService=ADLX.displaySerP_Ptr_value(s); - -if(res==ADLX_RESULT.ADLX_OK){ -//Getdisplaylist -SWIGTYPE_p_p_adlx__IADLXDisplayListppDisplayList=ADLX.new_displayListP_Ptr(); -res=displayService.GetDisplays(ppDisplayList); -IADLXDisplayListdisplayList=ADLX.displayListP_Ptr_value(ppDisplayList); - -if(res==ADLX_RESULT.ADLX_OK){ -//Iteratethroughthedisplaylist -longit=displayList.Begin(); -for(;it!=displayList.Size();it++){ -SWIGTYPE_p_p_adlx__IADLXDisplayppDisplay=ADLX.new_displayP_Ptr(); -res=displayList.At(it,ppDisplay); -IADLXDisplaydisplay=ADLX.displayP_Ptr_value(ppDisplay); - -if(res==ADLX_RESULT.ADLX_OK){ -SWIGTYPE_p_p_charppName=ADLX.new_charP_Ptr(); -display.Name(ppName); -Stringname=ADLX.charP_Ptr_value(ppName); - -SWIGTYPE_p_ADLX_DISPLAY_TYPEpDisType=ADLX.new_displayTypeP(); -display.DisplayType(pDisType); -ADLX_DISPLAY_TYPEdisType=ADLX.displayTypeP_value(pDisType); - -SWIGTYPE_p_unsigned_intpMID=ADLX.new_uintP(); -display.ManufacturerID(pMID); -longmid=ADLX.uintP_value(pMID); - -SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPEpConnect=ADLX.new_disConnectTypeP(); -display.ConnectorType(pConnect); -ADLX_DISPLAY_CONNECTOR_TYPEconnect=ADLX.disConnectTypeP_value(pConnect); - -SWIGTYPE_p_p_charppEDIE=ADLX.new_charP_Ptr(); -display.EDID(ppEDIE); -Stringedid=ADLX.charP_Ptr_value(ppEDIE); - -SWIGTYPE_p_intpH=ADLX.new_intP(); -SWIGTYPE_p_intpV=ADLX.new_intP(); -display.NativeResolution(pH,pV); -inth=ADLX.intP_value(pH); -intv=ADLX.intP_value(pV); - -SWIGTYPE_p_doublepRefRate=ADLX.new_doubleP(); -display.RefreshRate(pRefRate); -doublerefRate=ADLX.doubleP_value(pRefRate); - -SWIGTYPE_p_unsigned_intpPixClock=ADLX.new_uintP(); -display.PixelClock(pPixClock); -longpixClock=ADLX.uintP_value(pPixClock); - -SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPEpScanType=ADLX.new_disScanTypeP(); -display.ScanType(pScanType); -ADLX_DISPLAY_SCAN_TYPEscanType=ADLX.disScanTypeP_value(pScanType); - -SWIGTYPE_p_size_tpID=ADLX.new_adlx_sizeP(); -display.UniqueId(pID); -longid=ADLX.adlx_sizeP_value(pID); - -System.out.printf("\nThedisplay[%d]:\n",it); -System.out.printf("\tName:%s\n",name); -System.out.printf("\tType:%s\n",disType.toString()); -System.out.printf("\tConnectortype:%s\n",connect.toString()); -System.out.printf("\tManufacturerid:%d\n",mid); -System.out.printf("\tEDID:%s\n",edid); -System.out.printf("\tResolution:h:%dv:%d\n",h,v); -System.out.printf("\tRefreshrate:%f\n",refRate); -System.out.printf("\tPixelclock:%d\n",pixClock); -System.out.printf("\tScantype:%s\n",scanType.toString()); -System.out.printf("\tUniqueid:%d\n",id); - -//Releasedisplayinterface -display.Release(); -} -} - -//Releasedisplaylistinterface -displayList.Release(); -} - -//Releasedisplayservicesinterface -displayService.Release(); -} -} -}else{ -System.out.printf("ADLXhelperinitializationres:%s\n",res.toString()); -} - -//TerminateADLX -res=help.Terminate(); -System.out.printf("ADLXTerminate:%s\n",res.toString()); -} -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/languages_8md.xml b/vendor/adlx/SDKDoc/xml/languages_8md.xml deleted file mode 100644 index 4610427..0000000 --- a/vendor/adlx/SDKDoc/xml/languages_8md.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - languages.md - - - - - -@pagepage_guide_languagesSupportedProgrammingLanguages -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -<h2>Nativesupport</h2> -ADLXfeaturesnativesupportfor: --C --C++ - -<h2>Non-nativesupport</h2> -ADLXfeaturesnon-nativesupportfor: --C# --Java --Python - -<h3>Bindings</h3> -ADLXAPIsaredevelopedforC++,and -mirroredinC.APIsfor -allotherprogramminglanguagesarenotnativelysupported,butcanstillbeutilizedwith -bindings.<br/> - -InstructionstobuildandimplementADLXbindingsforcommonusecasesinC\#,Java,andPythoncanbefoundinthe@refpage_guide_qs. - -TheC#,Java,andPythonsamples,locatedin@refdomain_samplePagecanthenbeusedtocreatebindingstofitspecificusecases. - - - - diff --git a/vendor/adlx/SDKDoc/xml/legalinfo_8md.xml b/vendor/adlx/SDKDoc/xml/legalinfo_8md.xml deleted file mode 100644 index ff62806..0000000 --- a/vendor/adlx/SDKDoc/xml/legalinfo_8md.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - legalinfo.md - - - - - -@pagepage_legalLegalInformationandCompliance/Disclaimers -<h2>Inthissection</h2> -Thissectioncontainslegalupdatesandnotices,suchasdisclaimersandtrademarks. -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -<!-- -Pleasefillinthecontentonthesubpage ---> - --@subpagepage_legal_Disclaimer"Disclaimers" --@subpagepage_legal_Trademark"Trademarks" - - - - diff --git a/vendor/adlx/SDKDoc/xml/list.png b/vendor/adlx/SDKDoc/xml/list.png deleted file mode 100644 index 4f7b1ba07af77b8d4e5cc126cb0d384d0b902972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12829 zcmeHt2UL^U+Afv>8)65gWYj@)ED@1jqJlCQ1r)~$M2UiwfDnkZB-lVlAPyEp2#5;E zAVgZ|LQKsB;?m7RN|E~N0cddJ}7K@!P-@EIxpZ9s+ zy>GcXJ8CXkw@6J*P1ETIhofq08dhp*bC3(v!6*AMn%{!|7GC<{6k1Jf@ye;cIcks6 zbijvm&_^BjsTDNq4S`?g`|LfuS52*uuvl^K8#OiKA}5Ev$HM0b*tYR{jFcUHPx>0? z7Nogbn{3Hi3}4j$=KSNuJ{t-@u6}jyJEZxYP|b@b=t0+$_QzhvuKKy!HFEFwCJ*Ke zIV>74PCfXn_{WmddvxhUm!=K=e#5+DE_f5Hce;koA(ya@TsH(`Xzf>lTUcNaVjkEL z@ZcNLRL_xp%WGq?5x%i%(@d8u&zdFVTRgSg(pm-w>yJ>U!-{ zz`Vr4ideTTy?ZdKlFIo3sMrFOzRB^KefHRJ(54>)i@*#qPDg*~e9b>YEVZhW!VYN=mtXIlWGG$7IO*(fEjsa&Ssg~(4sxO^1qzFe;>nIIpQj0VB$7;Y zj)V`Y#$4(gsG&a^$O}p)t)v++Q}Xf3$WlrdKKiYg4gWNEx*67X6&)beoEdxjhV*VH z)21(olfUbhnbu94C*Lt{+I((SDp3?H8T)y|sQUw>_I)i8?;T#2A9H6)2G~FT(5)S` z0@CZDIjAw}qBRn3QX!$&VA88A9CogiE>3u9Tzh$cDtno@O^FHQAZnefgZCrkdxLa) zsIsacyTuOE(;XvNv)%`G;%5DkpI440L+j^laJea{N;wd~8Q4%&bp87U;1pn%U4EOh zjym@}d^BGj$5?#~(y zb}Ncua<923Vc+R9(*;uZy4>X%RyvDTK!M0`<;k+|J_nSZ^T7}BlGM-_I|s8HZ=~hx z_NL9O-07@ts_V(MDY47MV>_P~?^`}N?h~lu-Hk#@uDy};-oq9uTWV~$cQu1yO%wO* z-S1lMdo8T}6nv;#NUo6Ae>v1jWSnTDaYHIaiiDrX&9->^)ha(TyN}!+^oOY>n7;}S z98S-gZtK;+o9$z=vS+$qU!Tzkx?rB2q2a)~94VlEEwAw`t0}x=5<+yy&fR2iMorOqFA|uHkg!mqLvzesORr*NLcO^EHz98+<7nT}qcIhFLxl zucR=&rS|sM^G4k*yN>s$LkmLcG3X(t+xOmEse2$MyYFn=JaYR^34VwbZsNze_(}6A z3~oYRTj>^4u{yW~dx&%V_rmmu_ada;|5 z3O(i%bB@jbc{I9ORR?&US z6u-fuavtDg|8_ocwXEAk!~2vf+H`_@_|vZ)*RGjfZ7L@X1Y^H{eJpU=@G-wbn-;Y9 zvb$I7Nlwc)*WvYpHW$41P;1PBdacV9ZS=#G=4B=qFT;GD9eOmzWvQCeW;w5t@^%C= zdl8RJ_CAl0fmqH=*2oUiI!qJ(SKd2hI&k3PC&{v&Xm{GLLYRUuD( zF{<|6qqxv773JyUExL90VFp6S`B@pb&Y9u(G@c|IOYX1VbYt8k;o&Nbz(vC-PIEib zI_1Nu%mupgE8KgTSLBlZjz+pFb^mpu`Dng3lA5FK^&TTVS|W14p2|KIFPiumrNO#| zfx3GL%q5Uwo8sPw)78fa$ltMUx_|sY+_c}lV%M(Q1rIyAYmWBUk*=qeE(=W$5qW>< zQ`R+Xd{Hfr>sZpFI!lz7yzw06EimCGd~AMYh?WPfndzv}1)fv-2Rd|@Pf`*s%ipDN z!M7Vf+W_K^Jnr3vZgj0%-Kkacq|d4+JHOak${&m@o;Ew%7O2G8k#6#!l+Ks^Ac%ih zQn^5vQ(LrXCwyPyN#Hi#_mNibI)wR-bFA2G`}I5m--hC6bhRZD!xY2`c?+j&x#Z5w zJ4fyKKF;CQrAJ8r;*HDhV6f=oCDncv8%%2(4k^$l>jdMQ-|fexO^kp2dg%IH zt^rYR*_F?g$;ma+$-8IAcy$>eH_dP1-mN{jBVuM?FMS0+ZqL07XA~`8?o|u=D)-3I zFPhQz(HlO!hiE~At{s_~wv)fcJDY9T*C+`oTaKY_Yg%Aze?3i$avD1t#XC4FXm2mH zvMhp9JUl3}S4BZfq5LTM`-ueHjK@9u6Pyup-WV+wLLPWrHQU#m8e}?C^~*ITR^2xn zD4re#WgulJB5*$ZvFMt#=+~`gT=kWa-osqVrwLe?Xr|Sy<)HG%hC9-)o&JTf!37ay1LnR zwRXztD<&>23(tI#rP2*Zx)_XoGcI+yk9w3m60B_tp%JI79%sa&_gR~1*ox3*hV~P8w6W>9-JD=xYgHl? zu*y>X83p>MYpbeQ?i8G|wjN|TK^xm$OA^JZn_*9C$W2#=Q~=$*eo8mqR{1BDJzUM zO0p(bb1?F9&OnP;$vY@933W%(EW;X+f+gb>_%wU0kYa{}xpbU+9)y%Xl2zc{k)*?y zYYMr#en9~&9EZjnc@$Yw#iDP|unOWa)7P0JS)q7gpb4gzP};#}v{emk zHrua!OmQ+Y8qV^l>}^4#u@~2jl#MA^V`MZ-2k2*+CWsJB+|bvs<~&0d@jm#45k|W& zf>8t~&rtEFQVm(#*%=~A3NIe;#vu6VQB?dS1}^nc@NCLL<;6BChUFSAX97_qXcZNX zfjweOK>dqD6~(o>=7BcYXr*ji-8pH7bJSusR8>{EKo(nBg2XZ?TA1;-So!o+K~3#>{90lQcct4uLfhZe@XcnQ1Jm3ECOY&@tTJ=tw{mN0YH}JX2~}PZ_*4n6 zkVj>%W7PsR6kHhr$x1Bc*a{0JIkJ|Zr<|PiNafmH$BGM412T(JPGOjgW{Md>@|*NI z?YK@$d}oC6p!{^?Hbc^Adxe>gQ!2aPkXu3V04FS3LGO6x?+3Uk)2s(@tejwl3lUAggnsgwklQML_F1vk zKZ+*bmVe!BuIC5iEj=Zqh4&G_5O06G<(@h^#g^RrAv3||+pK;$Y!w)|!w6z<$`=8U! z6c7+GA>N@g&RMO)`02{XXs_@81|a{4xB{wZ1PBZptx`<>8Nb>)+{0zzK|!P|cfT9F zZjkZt{XZtYKeq(kV=4We06`KPTY~lag@}Vme18eA9lLv+9VTy+AtU6`(kQw6WqB@k zsjYblCn-ZtU`*O!;@P!fQWz!;o`?+~W?~6Sn;(mFYYC;c-Y@8EG15s6_j3zTAbEYR za(ljJsoT-A3URpG!REZqBc41}r4LGxJcb>%NB|}U0}_yQZc7+;uuev8MOZx0PXTCt zyTeAPc(-a?h6q0~Sy+oHgI<`zCp@u+!>C~D02gQ+L7WIytxUp}65@0KKFD#P?FBA= zL{AT?ppWKZdrZw@W%0l`4QSVy=M33vwCbUJqjx>TlN}aE_D>$C5Nu&(ge0Z2(q=4t zNLrz~-=6u5eRw2F*u`UR#RguiNvdqLrIeT%(hy8i1-kTEI+C9pP*#v6{^h(pi=SR9 zqC9H`*=GW(f5INbVgo(p@JJpI{sQWAPLbSxE>M{yI4HqBqT%ahRA54kWG^T2i4P9uS31O~x)Nkc7LR2F*h008}8DfbR=kK8qLE^FBT~S5WJx z7Wqs4zqrUOVQ2ms&4Al~WK^f&YJC6yI$YJjXkc3XsjaFA9cpc(O_4y~cMCzr`@GUE zDk{o_!M964T?SzNSXm8Kbb@|e3mMr!Wj!`*Q(po!w{@2rM|yE z5yg|(VtV*`{2okJr752g6wnyT$cPkl>N~m}qP$Z&!mI6m)CR;E1hU{3#$FXewdBGP=^@v>;|Lx6dcOj1@wAD-gd5#L7`OR)N^D zxkt=fq;m5wNC=Y_7aRtzn6wM6N)6;(98qP^4_O44n$M2GQQ#)!Whv96Y!gAorw>LDAE4cW{TCYeKRH*@sG2g1;(u(C6e zFW^Amj!9(r3xs_GoC%H4gadc<{qraRPC&NIq=S%z${x1v=xnbvRBq8Xw`XCJoAlj= zCfj@zT0vzcq%2;dh@zT+VtXf`e14Y<$zMCQ1KC&t%3t9kMgBD9F-UH_q;YUp^8i;$ z?1SVIM92Mc@T&>RVnO2^X(`@Fw8;5nKGywKE@ekP8PI(Z5143 zoyx((S*LjrYeN=vvMxFR?`T<;EUY>o;Tz>f+f9CP9tKZ5C#(p|Ao(hw5%`CZ%@Z(l zR){5uS$PeZmyU@vQ8#2r9lLg3I+ z!y&*%($iB^VRxw11OvI68KpBey55+aQHV=W?%jDj$Bp9dOyS;+sP+zk@TR3jqK5(Zn zcvq)1*DjQ$cgCzk;;RdwNAv8bR*VF%Hy)Ft6y|s3y2Ji>7&{}bQ~xwRAXOy+iJDM@ zbK`kB>9TopEX<#aAAU$<2CU=a2Tu;jT2Sbbhcq3aj<&O-xxF?X7(%9>z8pZA+D0(x zX{q#r0u-OQX4w)SMUZL~D6EVh=S&2tOHDgnX2oOjLQ*hvyN0nHX&=j~>gI?-q0XrsVg(vGEIJ}J zFRKCFe!m+ys0Kn-i7gk8!=qUw^imz*a4_saJADG0$7&V#Oh7m|qSe}|hX?6`+;MoP zbpyCI(vw_D0EJ)MNd;ch43+L7+d%$kUOe>>?th{(QH1EFwpYRlDG|RS$+x2ZS3mx% z(VxBRKM6qoCU_W|cysKZMk{|*JLmnv+2gRyA##Zzhj1B#S!dxiC0uXi{)@u3NKoKW zB^fJxeE05v!SCTz<6l$`Cchuc{Z)7JTg>}YPi0u%tT+3YB?~KX+68|6AMJQ(-2|xD zrzO~5P;YAeJx{089ALnZ_|3hQoI5t zGG-k4p0NKeoRHb2{)}|H+A#j{c}7kx3vKzT^@U|+moKt1FDUzw{1?TP!vQS3aI<`^ z$%(snLwl56W2%D)25Pl(i6It6@Lfqe&ZH*E)&UI?eP@|oK2|~RmPlhzV7zjWI_0!R zff2E^BoRR6j;5Wa;fF?nslaxqAC77my@FzK$nBS#eIbCdUmzkMl%G|Qd;%dL8w7ai zJs_h`gT7d4Fg_YvfpU>g7;(VlM~2;+(2!P84Xn4PJfq=)FDH}a4a&{GgHzW zoen#<21~i+k`oP(pZSUp6iwg?QUSqoSbbnGPPbdBl1qFQ$xv7z4#?O>0T>+4CbFq2 z0l0f!L85@8^;hTuM)hD2j!*59yqFP&`v{2ge>v=wy8m{*z7`BS|8*2Cb_KI_(*W4> zvm?R4^e^J)0*eU4*Iq&W4{Ta8yDm;E!>)EJVw*zI>>$9rlr6Tptc>x>X+`Khg3F=) zzfTeULArk=le8bFfr$>q`k()0?M$D|(6&L|Cvmea6G>!8a zTH7h1Lr2A5KGxM^$p$c7k9+y0k1bz`MB)G#xx_tiggt>_Ka39IIW0g0qB^`V;!EG_ z%zpF0o(a)InHT;9$&(mx=FJ-?Fkd^vQhz@A|0AzTi~n!E81S2$`@J(UE62bjdxfZe z*xFUt(_1@rI|od?Beg#cfJaLlI#BIvP)(67Z3K1g^iO^BL+zV0Gp>Mnso7V}*7z;5 z&IBvg^Eeh`&v+oap{TAM; zb^KA9bef^68!A~?+X${GGFo)vFk0CZYgAd<9Z}<3P}}>g98K{J!EsCeD9UzWP3`Bi$fA@9bp=91m!EB#Rz&jg0uUj96 ztH28rUq)ZcjkM<;*evfa%cGI1%YpHu#a%V@<1{@?c+@XW<-Fd-!dt02g7btzlZK=e^E1T8#&YW4y6~s5y zn)StxipD?IWKZ_xtE>I6VP+M(VixQPQsP!)Vp)KdUMN|5Lcvl=wQ;hM-gLK5yNZG> zy8+p`adC?o>J_v3&4_U8y`F|b52+lo6ndMho0`eA%_av02cYG$;nWT;LiHpd)sk(c zB=Als^{s>_M;naffdu~{8Xh}_NE<&qsGU5_@&a#0dMJ|)qK0kwnKhC z&m^{*fl~V(@x0_htn{f;#kTG#tHSHl1_bKi+cS0Fky+K~3g6z^))yCkaaJ-9{J`)W z7`w*F-&cYYP!rcPDH6II6^#p5hC#*FVSx^ZpAg^+0k- z^vsd=7SC|pc#WnfQ_X1ZBjKUqa8(E1LQl2-rcUP3>&^l*)R#4U;fTf$kY1GYq4}}O zJ0=dC4L1C^#N|uL$x=;r3Z`(|+|sZ_qpKxkXL|wFPLB26pCDiFBh`^@m_HJiCXm_B z=}S{pEU#1&WaP||P0ZVNi5(Vxt9b3M`A;Apgk8qeuegU1?Z~PSWH{M-n{~a|pbLy7 zr)ED!b4dNHaUDrBY{PuNx|#-(Y131HwHu*;w<&nQ8KvF^ciGF8>!>o+O&t_g#Op8< zbr8Q{sJjGr_ta2ccz4=jg-snr72Rn9J1_Rca5F9-*+c(fz795V?ZaTbLTBrS0s-Fq z*-sf8j|IHFfMp3}G?O(4m-_nTlWEJaH!<9YEIV3l(4p&h+-NPDL!U%MxtR9SLE3Xs z{y{>)>VKMu^>$b~6kExbcwzja+?Q`AbXZ&+v!F4>*|sqIu}mQPGL@f`L4cg8UIQm= zx7)mo$zV<SEPpZHF}YTHIKF@R?(GZJ&4<3?Ac3{xBjHbA?1nN`srCvoZ56+| z%~EKQKCvix8+dZRim(2V-Ei+fO(phrRQA$awTJZUP7oQ-tfNdlX%?|LA3yeATaUi= zoJN$_DN&=7%t|!Awq}85m8p=dP5QBH;PQdtU_M~882VI8sa6(c$$?~y_Qa9#Dhy%! z4s7*UmlucqIHb%3!-U(<^GThJB)2X5`2I#-8{c7ByJk(S(0c9OCMhi5EO;TH0TK9vV*HZ4uy`d@nkrLYk>r##X_2X_?)L)#a; z_Np-(`RRf(DvcVf9O(b?(z@})Zwv7BrcC)0a?%wkV z^UqsTK6HEV60WHBvsr6jX#uE->Jfve!A>IsDZfKmp=%TPsVlab6s|nzQ)ciMJWt;9 zn+MQc@%qqp$I-rlWHQ^z&fz_;;jQ5p9IQH>lczC!{>86M5f zy@OrJ3XpZF#m?RcU2}6MdJq>6Yu>DQ`(<0nf{;(Ww@{B)^4~O8n4Q&IEcQBn@df%R znp9`DIUyw?IHGm1p~WulO+W*Y5l7f^#{B#?O)}0T1pgK@aGpZsE^6F0JkDLh(Nr%? zy+{gTOLocTF8ht{9rjqRTI1X;n1A1xTO37tT><|{mP+C;nd~60OAbL@`yfe=4-R_2 zBDkU>6JB5tXVDAJf0Uz&z@srx^ZF!RG{uXR780nyxdad78P=bqn@@=Ql+s3%VC!KXo?v&0R93E z9C_?K%TnhBjg$rHpj%vRw*TGAIXzVn+cPBHmQZM&Oi0tPFOk?0Q7m?gIGK1VR&XIO zS^bj7a)-AP_}q8vgAjJ%F0JK0zSg>?wWA8(@zo8Z9a;>8vLwWWMdz2r_ND4=XUBjWi0EG-+E&Q%0I! z`Hxyg@anM^w5ydTb65wi!x`x|iLP77w_`*fh}kFIy+ft-FB)<<92=eIJ60z{Yvgf1 z;+b%vot{Oum~s+(|EEh(p<{RRikgVa;~i3}y72Hi8myEg#Qp$h%akg<+=V{()q?f% zC+yZJcd}_B`4j(rLLFbBlSt`$#u_VZ8uB!-oZEgWilW8yFw=J4KAW3K+OMOX=>nuD zF88Kl4Ox$iG;>ZbZ(V|7u+8SaD_F1!HsOK(&RG660b#DIy|-N(Z)agrwA%FMvcfZj zqereiZ*yH{eLN>@zx4;Y%74WiF`M7yC5ps~pmnGN`cHr(#jSTNnK!utjXqRVVaCN# z3*k`Z5Hi)o?08HY|2KgfgIr$B^6Es)-v!^7f~i_?(~HV=*U{lq&9eAGMI=L}>c(L* z2W39DBrLJ&n03^pyYf>qE2wXf+m%n7WJR}-sVo<2#Nq($8NQ!7GEFW3@25|Fe)&!L k{=4+=+4%n*5n^Bt<3PrP_t!04r>4Sbzq3QZzOz^V1ElN{<^TWy diff --git a/vendor/adlx/SDKDoc/xml/misc.xml b/vendor/adlx/SDKDoc/xml/misc.xml deleted file mode 100644 index 691c1dd..0000000 --- a/vendor/adlx/SDKDoc/xml/misc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - misc - Miscellaneous - IADLMapping - IADLXChangedEvent - IADLXInterface - IADLXList - IADLXLog - - - -The Miscellaneous domain contains general-purpose interfaces used across domains. - -IADLMapping -IADLXChangedEvent -IADLXInterface -IADLXList -IADLXLog - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/namespaceadlx.xml b/vendor/adlx/SDKDoc/xml/namespaceadlx.xml deleted file mode 100644 index 772f491..0000000 --- a/vendor/adlx/SDKDoc/xml/namespaceadlx.xml +++ /dev/null @@ -1,1833 +0,0 @@ - - - - adlx - adlx::IADLXInterface - adlx::IADLXInterfacePtr_T - adlx::IADLX3DAntiLag - adlx::IADLX3DAntiLag1 - adlx::IADLX3DChill - adlx::IADLX3DBoost - adlx::IADLX3DImageSharpening - adlx::IADLX3DEnhancedSync - adlx::IADLX3DWaitForVerticalRefresh - adlx::IADLX3DFrameRateTargetControl - adlx::IADLX3DAntiAliasing - adlx::IADLX3DMorphologicalAntiAliasing - adlx::IADLX3DAnisotropicFiltering - adlx::IADLX3DTessellation - adlx::IADLX3DRadeonSuperResolution - adlx::IADLX3DResetShaderCache - adlx::IADLX3DSettingsChangedEvent - adlx::IADLX3DSettingsChangedListener - adlx::IADLX3DSettingsChangedHandling - adlx::IADLX3DSettingsServices - adlx::IADLXChangedEvent - adlx::IADLXList - adlx::IADLXDesktop - adlx::IADLXEyefinityDesktop - adlx::IADLXDesktopList - adlx::IADLXDesktopListChangedListener - adlx::IADLXDesktopChangedHandling - adlx::IADLXSimpleEyefinity - adlx::IADLXDesktopServices - adlx::IADLXDisplay3DLUT - adlx::IADLXDisplayGamma - adlx::IADLXDisplayGamut - adlx::IADLXDisplay - adlx::IADLXDisplayList - adlx::IADLXDisplayListChangedListener - adlx::IADLXDisplayGamutChangedEvent - adlx::IADLXDisplayGamutChangedListener - adlx::IADLXDisplayGammaChangedEvent - adlx::IADLXDisplayGammaChangedListener - adlx::IADLXDisplay3DLUTChangedEvent - adlx::IADLXDisplay3DLUTChangedListener - adlx::IADLXDisplaySettingsChangedEvent - adlx::IADLXDisplaySettingsChangedListener - adlx::IADLXDisplayChangedHandling - adlx::IADLXDisplayServices - adlx::IADLXDisplayServices1 - adlx::IADLXDisplaySettingsChangedEvent1 - adlx::IADLXDisplayServices2 - adlx::IADLXDisplaySettingsChangedEvent2 - adlx::IADLXDisplayFreeSync - adlx::IADLXDisplayVSR - adlx::IADLXDisplayGPUScaling - adlx::IADLXDisplayScalingMode - adlx::IADLXDisplayIntegerScaling - adlx::IADLXDisplayColorDepth - adlx::IADLXDisplayPixelFormat - adlx::IADLXDisplayCustomColor - adlx::IADLXDisplayHDCP - adlx::IADLXDisplayResolution - adlx::IADLXDisplayResolutionList - adlx::IADLXDisplayCustomResolution - adlx::IADLXDisplayVariBright - adlx::IADLXDisplayConnectivityExperience - adlx::IADLXDisplayBlanking - adlx::IADLXGPUAutoTuningCompleteEvent - adlx::IADLXGPUAutoTuningCompleteListener - adlx::IADLXGPUAutoTuning - adlx::IADLXManualFanTuningState - adlx::IADLXManualFanTuningStateList - adlx::IADLXManualFanTuning - adlx::IADLXManualGraphicsTuning1 - adlx::IADLXManualGraphicsTuning2 - adlx::IADLXManualPowerTuning - adlx::IADLXManualVRAMTuning1 - adlx::IADLXManualVRAMTuning2 - adlx::IADLXGPUPresetTuning - adlx::IADLXManualTuningState - adlx::IADLXMemoryTimingDescription - adlx::IADLXManualTuningStateList - adlx::IADLXMemoryTimingDescriptionList - adlx::IADLXGPUTuningChangedEvent - adlx::IADLXGPUTuningChangedListener - adlx::IADLXGPUTuningChangedHandling - adlx::IADLXGPUTuningServices - adlx::IADLXGPUTuningServices1 - adlx::IADLXGPUTuningChangedEvent1 - adlx::IADLXI2C - adlx::IADLXLog - adlx::IADLXGPUMetricsSupport - adlx::IADLXSystemMetricsSupport - adlx::IADLXGPUMetrics - adlx::IADLXGPUMetricsList - adlx::IADLXSystemMetrics - adlx::IADLXSystemMetricsList - adlx::IADLXFPS - adlx::IADLXFPSList - adlx::IADLXAllMetrics - adlx::IADLXAllMetricsList - adlx::IADLXPerformanceMonitoringServices - adlx::IADLXSystemMetricsSupport1 - adlx::IADLXSystemMetrics1 - adlx::IADLXSmartShiftMax - adlx::IADLXPowerTuningChangedEvent - adlx::IADLXPowerTuningChangedListener - adlx::IADLXPowerTuningChangedHandling - adlx::IADLXPowerTuningServices - adlx::IADLXSmartAccessMemory - adlx::IADLXGPU - adlx::IADLXGPUList - adlx::IADLXGPUsEventListener - adlx::IADLXGPUsChangedHandling - adlx::IADLXSystem - adlx::IADLMapping - adlx::IADLXGPU1 - adlx::IADLXSystem1 - - - IADLXInterfacePtr_T< IADLXInterface > - typedef IADLXInterfacePtr_T<IADLXInterface> adlx::IADLXInterfacePtr - - IADLXInterfacePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DAntiLag > - typedef IADLXInterfacePtr_T<IADLX3DAntiLag> adlx::IADLX3DAntiLagPtr - - IADLX3DAntiLagPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DAntiLag1 > - typedef IADLXInterfacePtr_T<IADLX3DAntiLag1> adlx::IADLX3DAntiLag1Ptr - - IADLX3DAntiLag1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DChill > - typedef IADLXInterfacePtr_T<IADLX3DChill> adlx::IADLX3DChillPtr - - IADLX3DChillPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DBoost > - typedef IADLXInterfacePtr_T<IADLX3DBoost> adlx::IADLX3DBoostPtr - - IADLX3DBoostPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DImageSharpening > - typedef IADLXInterfacePtr_T<IADLX3DImageSharpening> adlx::IADLX3DImageSharpeningPtr - - IADLX3DImageSharpeningPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DEnhancedSync > - typedef IADLXInterfacePtr_T<IADLX3DEnhancedSync> adlx::IADLX3DEnhancedSyncPtr - - IADLX3DEnhancedSyncPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DWaitForVerticalRefresh > - typedef IADLXInterfacePtr_T<IADLX3DWaitForVerticalRefresh> adlx::IADLX3DWaitForVerticalRefreshPtr - - IADLX3DWaitForVerticalRefreshPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DFrameRateTargetControl > - typedef IADLXInterfacePtr_T<IADLX3DFrameRateTargetControl> adlx::IADLX3DFrameRateTargetControlPtr - - IADLX3DFrameRateTargetControlPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DAntiAliasing > - typedef IADLXInterfacePtr_T<IADLX3DAntiAliasing> adlx::IADLX3DAntiAliasingPtr - - IADLX3DAntiAliasingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DMorphologicalAntiAliasing > - typedef IADLXInterfacePtr_T<IADLX3DMorphologicalAntiAliasing> adlx::IADLX3DMorphologicalAntiAliasingPtr - - IADLX3DMorphologicalAntiAliasingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DAnisotropicFiltering > - typedef IADLXInterfacePtr_T<IADLX3DAnisotropicFiltering> adlx::IADLX3DAnisotropicFilteringPtr - - IADLX3DAnisotropicFilteringPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DTessellation > - typedef IADLXInterfacePtr_T<IADLX3DTessellation> adlx::IADLX3DTessellationPtr - - IADLX3DTessellationPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DRadeonSuperResolution > - typedef IADLXInterfacePtr_T<IADLX3DRadeonSuperResolution> adlx::IADLX3DRadeonSuperResolutionPtr - - IADLX3DRadeonSuperResolutionPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DResetShaderCache > - typedef IADLXInterfacePtr_T<IADLX3DResetShaderCache> adlx::IADLX3DResetShaderCachePtr - - IADLX3DResetShaderCachePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DSettingsChangedEvent > - typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedEvent> adlx::IADLX3DSettingsChangedEventPtr - - IADLX3DSettingsChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DSettingsChangedHandling > - typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedHandling> adlx::IADLX3DSettingsChangedHandlingPtr - - IADLX3DSettingsChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLX3DSettingsServices > - typedef IADLXInterfacePtr_T<IADLX3DSettingsServices> adlx::IADLX3DSettingsServicesPtr - - IADLX3DSettingsServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXChangedEvent > - typedef IADLXInterfacePtr_T<IADLXChangedEvent> adlx::IADLXChangedEventPtr - - IADLXChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXList > - typedef IADLXInterfacePtr_T<IADLXList> adlx::IADLXListPtr - - IADLXListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDesktop > - typedef IADLXInterfacePtr_T<IADLXDesktop> adlx::IADLXDesktopPtr - - IADLXDesktopPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXEyefinityDesktop > - typedef IADLXInterfacePtr_T<IADLXEyefinityDesktop> adlx::IADLXEyefinityDesktopPtr - - IADLXEyefinityDesktopPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDesktopList > - typedef IADLXInterfacePtr_T<IADLXDesktopList> adlx::IADLXDesktopListPtr - - IADLXDesktopListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDesktopChangedHandling > - typedef IADLXInterfacePtr_T<IADLXDesktopChangedHandling> adlx::IADLXDesktopChangedHandlingPtr - - IADLXDesktopChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSimpleEyefinity > - typedef IADLXInterfacePtr_T<IADLXSimpleEyefinity> adlx::IADLXSimpleEyefinityPtr - - IADLXSimpleEyefinityPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDesktopServices > - typedef IADLXInterfacePtr_T<IADLXDesktopServices> adlx::IADLXDesktopServicesPtr - - IADLXDesktopServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplay3DLUT > - typedef IADLXInterfacePtr_T<IADLXDisplay3DLUT> adlx::IADLXDisplay3DLUTPtr - - IADLXDisplay3DLUTPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayGamma > - typedef IADLXInterfacePtr_T<IADLXDisplayGamma> adlx::IADLXDisplayGammaPtr - - IADLXDisplayGammaPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayGamut > - typedef IADLXInterfacePtr_T<IADLXDisplayGamut> adlx::IADLXDisplayGamutPtr - - IADLXDisplayGamutPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplay > - typedef IADLXInterfacePtr_T<IADLXDisplay> adlx::IADLXDisplayPtr - - IADLXDisplayPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayList > - typedef IADLXInterfacePtr_T<IADLXDisplayList> adlx::IADLXDisplayListPtr - - IADLXDisplayListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayGamutChangedEvent > - typedef IADLXInterfacePtr_T<IADLXDisplayGamutChangedEvent> adlx::IADLXDisplayGamutChangedEventPtr - - IADLXDisplayGamutChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayGammaChangedEvent > - typedef IADLXInterfacePtr_T<IADLXDisplayGammaChangedEvent> adlx::IADLXDisplayGammaChangedEventPtr - - IADLXDisplayGammaChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplay3DLUTChangedEvent > - typedef IADLXInterfacePtr_T<IADLXDisplay3DLUTChangedEvent> adlx::IADLXDisplay3DLUTChangedEventPtr - - IADLXDisplay3DLUTChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplaySettingsChangedEvent > - typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent> adlx::IADLXDisplaySettingsChangedEventPtr - - IADLXDisplaySettingsChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayChangedHandling > - typedef IADLXInterfacePtr_T<IADLXDisplayChangedHandling> adlx::IADLXDisplayChangedHandlingPtr - - IADLXDisplayChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayServices > - typedef IADLXInterfacePtr_T<IADLXDisplayServices> adlx::IADLXDisplayServicesPtr - - IADLXDisplayServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayServices1 > - typedef IADLXInterfacePtr_T<IADLXDisplayServices1> adlx::IADLXDisplayServices1Ptr - - IADLXDisplayServices1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplaySettingsChangedEvent1 > - typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent1> adlx::IADLXDisplaySettingsChangedEvent1Ptr - - IADLXDisplaySettingsChangedEvent1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayServices2 > - typedef IADLXInterfacePtr_T<IADLXDisplayServices2> adlx::IADLXDisplayServices2Ptr - - IADLXDisplayServices2Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplaySettingsChangedEvent2 > - typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent2> adlx::IADLXDisplaySettingsChangedEvent2Ptr - - IADLXDisplaySettingsChangedEvent2Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayFreeSync > - typedef IADLXInterfacePtr_T<IADLXDisplayFreeSync> adlx::IADLXDisplayFreeSyncPtr - - IADLXDisplayFreeSyncPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayVSR > - typedef IADLXInterfacePtr_T<IADLXDisplayVSR> adlx::IADLXDisplayVSRPtr - - IADLXDisplayVSRPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayGPUScaling > - typedef IADLXInterfacePtr_T<IADLXDisplayGPUScaling> adlx::IADLXDisplayGPUScalingPtr - - IADLXDisplayGPUScalingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayScalingMode > - typedef IADLXInterfacePtr_T<IADLXDisplayScalingMode> adlx::IADLXDisplayScalingModePtr - - IADLXDisplayScalingModePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayIntegerScaling > - typedef IADLXInterfacePtr_T<IADLXDisplayIntegerScaling> adlx::IADLXDisplayIntegerScalingPtr - - IADLXDisplayIntegerScalingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayColorDepth > - typedef IADLXInterfacePtr_T<IADLXDisplayColorDepth> adlx::IADLXDisplayColorDepthPtr - - IADLXDisplayColorDepthPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayPixelFormat > - typedef IADLXInterfacePtr_T<IADLXDisplayPixelFormat> adlx::IADLXDisplayPixelFormatPtr - - IADLXDisplayPixelFormatPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayCustomColor > - typedef IADLXInterfacePtr_T<IADLXDisplayCustomColor> adlx::IADLXDisplayCustomColorPtr - - IADLXDisplayCustomColorPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayHDCP > - typedef IADLXInterfacePtr_T<IADLXDisplayHDCP> adlx::IADLXDisplayHDCPPtr - - IADLXDisplayHDCPPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayResolution > - typedef IADLXInterfacePtr_T<IADLXDisplayResolution> adlx::IADLXDisplayResolutionPtr - - IADLXDisplayResolutionPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayResolutionList > - typedef IADLXInterfacePtr_T<IADLXDisplayResolutionList> adlx::IADLXDisplayResolutionListPtr - - IADLXDisplayResolutionListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayCustomResolution > - typedef IADLXInterfacePtr_T<IADLXDisplayCustomResolution> adlx::IADLXDisplayCustomResolutionPtr - - IADLXDisplayCustomResolutionPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayVariBright > - typedef IADLXInterfacePtr_T<IADLXDisplayVariBright> adlx::IADLXDisplayVariBrightPtr - - IADLXDisplayVariBrightPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayConnectivityExperience > - typedef IADLXInterfacePtr_T<IADLXDisplayConnectivityExperience> adlx::IADLXDisplayConnectivityExperiencePtr - - IADLXDisplayConnectivityExperiencePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXDisplayBlanking > - typedef IADLXInterfacePtr_T<IADLXDisplayBlanking> adlx::IADLXDisplayBlankingPtr - - IADLXDisplayBlankingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUAutoTuningCompleteEvent > - typedef IADLXInterfacePtr_T<IADLXGPUAutoTuningCompleteEvent> adlx::IADLXGPUAutoTuningCompleteEventPtr - - IADLXGPUAutoTuningCompleteEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUAutoTuning > - typedef IADLXInterfacePtr_T<IADLXGPUAutoTuning> adlx::IADLXGPUAutoTuningPtr - - IADLXGPUAutoTuningPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualFanTuningState > - typedef IADLXInterfacePtr_T<IADLXManualFanTuningState> adlx::IADLXManualFanTuningStatePtr - - IADLXManualFanTuningStatePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualFanTuningStateList > - typedef IADLXInterfacePtr_T<IADLXManualFanTuningStateList> adlx::IADLXManualFanTuningStateListPtr - - IADLXManualFanTuningStateListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualFanTuning > - typedef IADLXInterfacePtr_T<IADLXManualFanTuning> adlx::IADLXManualFanTuningPtr - - IADLXManualFanTuningPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualGraphicsTuning1 > - typedef IADLXInterfacePtr_T<IADLXManualGraphicsTuning1> adlx::IADLXManualGraphicsTuning1Ptr - - IADLXManualGraphicsTuning1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualGraphicsTuning2 > - typedef IADLXInterfacePtr_T<IADLXManualGraphicsTuning2> adlx::IADLXManualGraphicsTuning2Ptr - - IADLXManualGraphicsTuning2Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualPowerTuning > - typedef IADLXInterfacePtr_T<IADLXManualPowerTuning> adlx::IADLXManualPowerTuningPtr - - IADLXManualPowerTuningPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualVRAMTuning1 > - typedef IADLXInterfacePtr_T<IADLXManualVRAMTuning1> adlx::IADLXManualVRAMTuning1Ptr - - IADLXManualVRAMTuning1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualVRAMTuning2 > - typedef IADLXInterfacePtr_T<IADLXManualVRAMTuning2> adlx::IADLXManualVRAMTuning2Ptr - - IADLXManualVRAMTuning2Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUPresetTuning > - typedef IADLXInterfacePtr_T<IADLXGPUPresetTuning> adlx::IADLXGPUPresetTuningPtr - - IADLXGPUPresetTuningPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualTuningState > - typedef IADLXInterfacePtr_T<IADLXManualTuningState> adlx::IADLXManualTuningStatePtr - - IADLXManualTuningStatePtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXMemoryTimingDescription > - typedef IADLXInterfacePtr_T<IADLXMemoryTimingDescription> adlx::IADLXMemoryTimingDescriptionPtr - - IADLXMemoryTimingDescriptionPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXManualTuningStateList > - typedef IADLXInterfacePtr_T<IADLXManualTuningStateList> adlx::IADLXManualTuningStateListPtr - - IADLXManualTuningStateListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXMemoryTimingDescriptionList > - typedef IADLXInterfacePtr_T<IADLXMemoryTimingDescriptionList> adlx::IADLXMemoryTimingDescriptionListPtr - - IADLXMemoryTimingDescriptionListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUTuningChangedEvent > - typedef IADLXInterfacePtr_T<IADLXGPUTuningChangedEvent> adlx::IADLXGPUTuningChangedEventPtr - - IADLXGPUTuningChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUTuningChangedHandling > - typedef IADLXInterfacePtr_T<IADLXGPUTuningChangedHandling> adlx::IADLXGPUTuningChangedHandlingPtr - - IADLXGPUTuningChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUTuningServices > - typedef IADLXInterfacePtr_T<IADLXGPUTuningServices> adlx::IADLXGPUTuningServicesPtr - - IADLXGPUTuningServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUTuningServices1 > - typedef IADLXInterfacePtr_T<IADLXGPUTuningServices1> adlx::IADLXGPUTuningServices1Ptr - - IADLXGPUTuningServices1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUTuningChangedEvent1 > - typedef IADLXInterfacePtr_T<IADLXGPUTuningChangedEvent1> adlx::IADLXGPUTuningChangedEvent1Ptr - - IADLXGPUTuningChangedEvent1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXI2C > - typedef IADLXInterfacePtr_T<IADLXI2C> adlx::IADLXI2CPtr - - IADLXI2CPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUMetricsSupport > - typedef IADLXInterfacePtr_T<IADLXGPUMetricsSupport> adlx::IADLXGPUMetricsSupportPtr - - IADLXGPUMetricsSupportPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystemMetricsSupport > - typedef IADLXInterfacePtr_T<IADLXSystemMetricsSupport> adlx::IADLXSystemMetricsSupportPtr - - IADLXSystemMetricsSupportPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUMetrics > - typedef IADLXInterfacePtr_T<IADLXGPUMetrics> adlx::IADLXGPUMetricsPtr - - IADLXGPUMetricsPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUMetricsList > - typedef IADLXInterfacePtr_T<IADLXGPUMetricsList> adlx::IADLXGPUMetricsListPtr - - IADLXGPUMetricsListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystemMetrics > - typedef IADLXInterfacePtr_T<IADLXSystemMetrics> adlx::IADLXSystemMetricsPtr - - IADLXSystemMetricsPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystemMetricsList > - typedef IADLXInterfacePtr_T<IADLXSystemMetricsList> adlx::IADLXSystemMetricsListPtr - - IADLXSystemMetricsListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXFPS > - typedef IADLXInterfacePtr_T<IADLXFPS> adlx::IADLXFPSPtr - - IADLXFPSPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXFPSList > - typedef IADLXInterfacePtr_T<IADLXFPSList> adlx::IADLXFPSListPtr - - IADLXFPSListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXAllMetrics > - typedef IADLXInterfacePtr_T<IADLXAllMetrics> adlx::IADLXAllMetricsPtr - - IADLXAllMetricsPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXAllMetricsList > - typedef IADLXInterfacePtr_T<IADLXAllMetricsList> adlx::IADLXAllMetricsListPtr - - IADLXAllMetricsListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXPerformanceMonitoringServices > - typedef IADLXInterfacePtr_T<IADLXPerformanceMonitoringServices> adlx::IADLXPerformanceMonitoringServicesPtr - - IADLXPerformanceMonitoringServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystemMetricsSupport1 > - typedef IADLXInterfacePtr_T<IADLXSystemMetricsSupport1> adlx::IADLXSystemMetricsSupport1Ptr - - IADLXSystemMetricsSupport1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystemMetrics1 > - typedef IADLXInterfacePtr_T<IADLXSystemMetrics1> adlx::IADLXSystemMetrics1Ptr - - IADLXSystemMetrics1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSmartShiftMax > - typedef IADLXInterfacePtr_T<IADLXSmartShiftMax> adlx::IADLXSmartShiftMaxPtr - - IADLXSmartShiftMaxPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXPowerTuningChangedEvent > - typedef IADLXInterfacePtr_T<IADLXPowerTuningChangedEvent> adlx::IADLXPowerTuningChangedEventPtr - - IADLXPowerTuningChangedEventPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXPowerTuningChangedHandling > - typedef IADLXInterfacePtr_T<IADLXPowerTuningChangedHandling> adlx::IADLXPowerTuningChangedHandlingPtr - - IADLXPowerTuningChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXPowerTuningServices > - typedef IADLXInterfacePtr_T<IADLXPowerTuningServices> adlx::IADLXPowerTuningServicesPtr - - IADLXPowerTuningServicesPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSmartAccessMemory > - typedef IADLXInterfacePtr_T<IADLXSmartAccessMemory> adlx::IADLXSmartAccessMemoryPtr - - IADLXSmartAccessMemoryPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPU > - typedef IADLXInterfacePtr_T<IADLXGPU> adlx::IADLXGPUPtr - - IADLXGPUPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUList > - typedef IADLXInterfacePtr_T<IADLXGPUList> adlx::IADLXGPUListPtr - - IADLXGPUListPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPUsChangedHandling > - typedef IADLXInterfacePtr_T<IADLXGPUsChangedHandling> adlx::IADLXGPUsChangedHandlingPtr - - IADLXGPUsChangedHandlingPtr - - - - - - - - - - IADLXInterfacePtr_T< IADLXGPU1 > - typedef IADLXInterfacePtr_T<IADLXGPU1> adlx::IADLXGPU1Ptr - - IADLXGPU1Ptr - - - - - - - - - - IADLXInterfacePtr_T< IADLXSystem1 > - typedef IADLXInterfacePtr_T<IADLXSystem1> adlx::IADLXSystem1Ptr - - IADLXSystem1Ptr - - - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXGPU - - IADLXGPU - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayList - - IADLXDisplayList - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplay - - IADLXDisplay - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayGamut - - IADLXDisplayGamut - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayGamma - - IADLXDisplayGamma - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplay3DLUT - - IADLXDisplay3DLUT - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayFreeSync - - IADLXDisplayFreeSync - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayVSR - - IADLXDisplayVSR - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayGPUScaling - - IADLXDisplayGPUScaling - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayScalingMode - - IADLXDisplayScalingMode - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayIntegerScaling - - IADLXDisplayIntegerScaling - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayColorDepth - - IADLXDisplayColorDepth - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayPixelFormat - - IADLXDisplayPixelFormat - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayCustomColor - - IADLXDisplayCustomColor - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayHDCP - - IADLXDisplayHDCP - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayCustomResolution - - IADLXDisplayCustomResolution - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayVariBright - - IADLXDisplayVariBright - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayConnectivityExperience - - IADLXDisplayConnectivityExperience - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayBlanking - - IADLXDisplayBlanking - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXManualTuningStateList - - IADLXManualTuningStateList - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXMemoryTimingDescriptionList - - IADLXMemoryTimingDescriptionList - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXSmartAccessMemory - - IADLXSmartAccessMemory - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDesktopServices - - IADLXDesktopServices - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDisplayServices - - IADLXDisplayServices - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXLog - - IADLXLog - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLX3DSettingsServices - - IADLX3DSettingsServices - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXGPUTuningServices - - IADLXGPUTuningServices - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXPerformanceMonitoringServices - - IADLXPerformanceMonitoringServices - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXI2C - - IADLXI2C - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXDesktop - - IADLXDesktop - - - - - - - - - - class ADLX_NO_VTABLE - class ADLX_NO_VTABLE adlx::IADLXPowerTuningServices - - IADLXPowerTuningServices - - - - - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_c_help.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_c_help.xml deleted file mode 100644 index 4c961cb..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_c_help.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - page_ADLXCHelp - ADLX Helper Functions - ADLXHelper_GetAdlMapping - ADLXHelper_GetSystemServices - ADLXHelper_Initialize - ADLXHelper_InitializeWithCallerAdl - ADLXHelper_InitializeWithIncompatibleDriver - ADLXHelper_QueryFullVersion - ADLXHelper_QueryVersion - ADLXHelper_Terminate - - - -The ADLX Helper functions initialize ADLX in C programs. -Functions - - -Functions -Description - - -ADLXHelper_GetAdlMapping -Gets the ADL Mapping interface. - - -ADLXHelper_GetSystemServices -Gets the ADLX system interface. - - -ADLXHelper_Initialize -Initializes ADLX with default parameters. - - - -ADLXHelper_InitializeWithCallerAdl -Initializes ADLX with an ADL context. - - -ADLXHelper_InitializeWithIncompatibleDriver -Initializes ADLX with a legacy driver. - - - -ADLXHelper_QueryFullVersion -Gets the full version of ADLX. - - -ADLXHelper_QueryVersion -Gets the version of ADLX. - - -ADLXHelper_Terminate -Terminates ADLX and releases ADLX library. - -
-Requirements -
- -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
- -ADLXHelper_GetAdlMapping -ADLXHelper_GetSystemServices -ADLXHelper_Initialize -ADLXHelper_InitializeWithCallerAdl -ADLXHelper_InitializeWithIncompatibleDriver -ADLXHelper_QueryFullVersion -ADLXHelper_QueryVersion -ADLXHelper_Terminate - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_cpp_help.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_cpp_help.xml deleted file mode 100644 index 08cc6e8..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_cpp_help.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - page_ADLXCppHelp - ADLXHelper Class - ADLXHelper - GetAdlMapping - GetSystemServices - Initialize - InitializeWithCallerAdl - InitializeWithIncompatibleDriver - QueryFullVersion - QueryVersion - Terminate - ~ADLXHelper - - - -ADLXHelper class are methods to initialize ADLX in C++, C#, Java, and Python programs. -Methods - - -Method -Description - - -ADLXHelper -The constructor of the ADLXHelper class. - - -GetAdlMapping -Gets the ADL Mapping interface. - - -GetSystemServices -Gets the ADLX system interface. - - -Initialize -Initializes ADLX with default parameters. - - -InitializeWithCallerAdl -Initializes ADLX with an ADL context. - - -InitializeWithIncompatibleDriver -Initializes ADLX with a legacy driver. - - -QueryFullVersion -Gets the full version of ADLX. - - -QueryVersion -Gets the version of ADLX. - - -Terminate -Terminates ADLX and releases ADLX library. - - -~ADLXHelper -The destructor of the ADLXHelper class. - -
-Requirements -
- -Header -include"ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
- -ADLXHelper -GetAdlMapping -GetSystemServices -Initialize -InitializeWithCallerAdl -InitializeWithIncompatibleDriver -QueryFullVersion -QueryVersion -Terminate -~ADLXHelper - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_helps.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_helps.xml deleted file mode 100644 index 0e7ccbe..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_helps.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - page_ADLXHelps - ADLX Helpers - ADLX Helper Functions - ADLXHelper Class - - - -In this section - -This section describes the syntax, parameters, return values and more for ADLX Helpers required to initialize ADLX in a C or C++ application: - - -Refer to ADLX Helper Functions to initialize ADLX in C programs. - -Refer to ADLXHelper Class to initialize ADLX in C++, C#, Java, and Python programs. - - - -See Also - - -Refer to Initializing ADLX with ADLX Helpers for more information on initializing ADLX in an application -Refer to Using ADLX in an application for more information on using ADLX Helpers. -ADLX Helper Functions -ADLXHelper class - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize__fn.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize__fn.xml deleted file mode 100644 index 9679ebc..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize__fn.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - page_ADLXInitialize_Fn - ADLXInitialize_Fn - -A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver. - - -A pointer to the function to initialize ADLX with default parameters or a pointer to the function to initialize ADLX with a legacy driver. -Syntax - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitialize_Fn)(adlx_uint64 version, IADLXSystem** ppSystem) - Parameters - - - - -1. -[in] -version -adlx_uint64 -The version of ADLX. - -
-
-
-
- - - -1. -[out] -ppSystem -IADLXSystem** -The address of a pointer to the ADLX system interface. If ADLX initialization failed, the method sets the dereferenced address *ppSystem to nullptr. - -
-
-
-
-
-Return Value - -If ADLX was successfully initialized, ADLX_OK is returned. - If ADLX was not successfully initialized, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Remarks - -The pointer of the function is returned by the adlx_get_proc_address using the ADLX_INIT_FUNCTION_NAME or ADLX_INIT_WITH_INCOMPATIBLE_DRIVER_FUNCTION_NAME as the function name. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize_with_caller_adl__fn.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize_with_caller_adl__fn.xml deleted file mode 100644 index e596372..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_initialize_with_caller_adl__fn.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - page_ADLXInitializeWithCallerAdl_Fn - ADLXInitializeWithCallerAdl_Fn - -A pointer to the function to initialize ADLX with an ADL context. - - -A pointer to the function to initialize ADLX with an ADL context. -Syntax - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXInitializeWithCallerAdl_Fn)(adlx_uint64 version, IADLXSystem** ppSystem, IADLMapping** ppAdlMapping, adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - Parameters - - - - -1. -[in] -version -adlx_uint64 -The version of ADLX. - -
-
-
-
- - - -2. -[out] -ppSystem -IADLXSystem** -The address of a pointer to the ADLX system interface. If ADLX initialization failed, the method sets the dereferenced address *ppSystem to nullptr. - -
-
-
-
- - - -3. -[out] -ppAdlMapping -IADLMapping** -The address of a pointer to the ADLX mapping interface. If ADLX initialization failed, the method sets the dereferenced address *ppAdlMapping to nullptr. - -
-
-
-
- - - -4. -[in] -adlContext -adlx_handle -The ADL context. - -
-
-
-
- - - -5. -[in] -adlMainMemoryFree -ADLX_ADL_Main_Memory_Free -The callback handle of the memory deallocation function. - -
-
-
-
-
-Return Value - -If ADLX was successfully initialized, ADLX_OK is returned. - If ADLX was not successfully initialized, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Remarks - -The pointer of the function is returned by the adlx_get_proc_address using the ADLX_INIT_WITH_CALLER_ADL_FUNCTION_NAME as the function name. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_full_version__fn.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_full_version__fn.xml deleted file mode 100644 index 67e5e1f..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_full_version__fn.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - page_ADLXQueryFullVersion_Fn - ADLXQueryFullVersion_Fn - -A pointer to the function to query the full version of ADLX. - - -A pointer to the function to query the full version of ADLX. -Syntax - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryFullVersion_Fn)(adlx_uint64* fullVersion) - Parameters - - - - -1. -[out] -fullVersion -adlx_uint64* -The pointer to a variable where the full version of ADLX is returned. - -
-
-
-
-
-Return Value - -If the full version is successfully returned, ADLX_OK is returned. - If the full version is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Remarks - -The pointer of the function is returned by the adlx_get_proc_address using the ADLX_QUERY_FULL_VERSION_FUNCTION_NAME as the function name. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_version__fn.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_version__fn.xml deleted file mode 100644 index 1fca12e..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_query_version__fn.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - page_ADLXQueryVersion_Fn - ADLXQueryVersion_Fn - -A pointer to the function to query the version of ADLX. - - -A pointer to the function to query the version of ADLX. -Syntax - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXQueryVersion_Fn)(const char** version) - Parameters - - - - -1. -[out] -version -const char** -The pointer to a zero-terminated string where the version of ADLX is returned. - -
-
-
-
-
-Return Value - -If the version is successfully returned, ADLX_OK is returned. - If the version is not successfully returned, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Remarks - -The pointer of the function is returned by the adlx_get_proc_address using the ADLX_QUERY_VERSION_FUNCTION_NAME as the function name. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_terminate__fn.xml b/vendor/adlx/SDKDoc/xml/page__a_d_l_x_terminate__fn.xml deleted file mode 100644 index df2b0c7..0000000 --- a/vendor/adlx/SDKDoc/xml/page__a_d_l_x_terminate__fn.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - page_ADLXTerminate_Fn - ADLXTerminate_Fn - -A pointer to the function to terminate ADLX. - - -A pointer to the function to terminate ADLX. -Syntax - - - typedef ADLX_RESULT (ADLX_CDECL_CALL *ADLXTerminate_Fn)() - Parameters - -N/A -Return Value - -If the function is successfully executed, ADLX_OK is returned. - If the function is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. - Remarks - -The pointer of the function is returned by the adlx_get_proc_address using the ADLX_TERMINATE_FUNCTION_NAME as the function name. -Requirements - - -Header -include "ADLX.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_adlxprogrammingguide.xml b/vendor/adlx/SDKDoc/xml/page_adlxprogrammingguide.xml deleted file mode 100644 index d6d7bfc..0000000 --- a/vendor/adlx/SDKDoc/xml/page_adlxprogrammingguide.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - page_adlxprogrammingguide - ADLX Programming Guide - Benefits - Specifications - Quick Start - Advanced Configurations - - - -In this section - -The ADLX Programming Guide contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages. . - -To start programming with ADLX, developers should first download the ADLX SDK, which includes documentation, sample code, and ADLX headers. The ADLX library is installed with the driver as a .dll file, and applications can use the library to access supported interfaces and methods. -Featured APIs - -Refer to the ADLX SDK documentation for a detailed list of ADLX supported functionalities. -Examples of commonly used ADLX categories and their interfaces include: - -Display -3D Graphics -Performance Monitoring -GPU Tuning - - -AMD FreeSync™ Technology -Performance Boosting Features -GPU/CPU Utilization -VRAM Tuning - - -Color Settings -Visual Quality Enhancement Features -GPU Clock Speeds -Fan Tuning - - -Scaling -Input Lag Reduction Features -GPU Power Consumption -Power Tuning - - -Custom Resolution -Power Saving Features -GPU Temperature -Auto Tuning - - -AMD Eyefinity Multi-Display Configuration -AMD Frame Rate Target Control (FRTC) -GPU Fan Speeds - - - -Vertical Sync - -GPU Frame Rate - - -
-
- -Benefits -Specifications -Quick Start -Advanced Configurations - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_adl_mapping.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_adl_mapping.xml deleted file mode 100644 index aa8c1ea..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_adl_mapping.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - page_cHelpADLXHelper_GetAdlMapping - ADLXHelper_GetAdlMapping - -Gets the ADL Mapping interface. - - -Gets the ADL Mapping interface. -Syntax - - - IADLMapping* ADLXHelper_GetAdlMapping () - Parameters - -N/A -Return Value - -If ADLX was successfully initialized with ADL, a valid pointer of the IADLMapping interface is returned. - If ADLX was initialized under any of the following circumstances, nullptr is returned. - -ADLX initialization was with other initialization methods. - -ADLX initialization was failed. - -ADLX initialization was not called. - - - -Remarks - -ADLXHelper_GetAdlMapping is used to convert data between ADL and ADLX in applications where ADLX was initialized with ADLXHelper_InitializeWithCallerAdl. -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_system_services.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_system_services.xml deleted file mode 100644 index ca2f21b..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__get_system_services.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - page_cHelpADLXHelper_GetSystemServices - ADLXHelper_GetSystemServices - -Gets the ADLX system interface. - - -Gets the ADLX system interface. -Syntax - - - IADLXSystem* ADLXHelper_GetSystemServices () - Parameters - -N/A -Return Value - -If ADLX was successfully initialized before this function call, the IADLXSystem interface is returned. - If ADLX was not successfully initialized, nullptr is returned. -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize.xml deleted file mode 100644 index 26c9915..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - page_cHelpADLXHelper_Initialize - ADLXHelper_Initialize - -Initializes ADLX with default parameters. - - - -Initializes ADLX with default parameters. - -Syntax - - - ADLX_RESULT ADLXHelper_Initialize () - Parameters - -N/A -Return Value - -If ADLXHelper_Initialize is successfully executed, ADLX_OK is returned. - If ADLXHelper_Initialize is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -This function is used when an application does not use the ADL library and initializes ADLX with default parameters. - For more information for initializing ADLX with default parameters, refer to ADLX GPU Support. - -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.xml deleted file mode 100644 index c01a6f4..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_caller_adl.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - page_cHelpADLXHelper_InitializeWithCallerAdl - ADLXHelper_InitializeWithCallerAdl - -Initializes ADLX with an ADL context. - - -Initializes ADLX with an ADL context. -Syntax - - - ADLX_RESULT ADLXHelper_InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - Parameters - - - - -1. -[in] -adlContext -adlx_handle -The ADL context. - -
-
-
-
- - - -2. -[in] -adlMainMemoryFree -ADLX_ADL_Main_Memory_Free -The callback handler of the memory deallocation function. - -
-
-
-
-
-Return Value - -If ADLXHelper_InitializeWithCallerAdl is successfully executed, ADLX_OK is returned. - If ADLXHelper_InitializeWithCallerAdl is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -This function is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL. - In such case, the application shall pass the parameters in this function that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized. - For more information for initializing ADLX with an ADL context, refer to Using ADLX in an ADL application. - -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.xml deleted file mode 100644 index cc1c85b..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__initialize_with_incompatible_driver.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - page_cHelpADLXHelper_InitializeWithIncompatibleDriver - ADLXHelper_InitializeWithIncompatibleDriver - -Initializes ADLX with a legacy driver. - - - -Initializes ADLX with a legacy driver. - -Syntax - - - ADLX_RESULT ADLXHelper_InitializeWithIncompatibleDriver () - Parameters - -N/A -Return Value - -If ADLXHelper_InitializeWithIncompatibleDriver is successfully executed, ADLX_OK is returned. - If ADLXHelper_InitializeWithIncompatibleDriver is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -This function is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver. - For more information for initializing ADLX with a legacy driver, refer to ADLX GPU Support. - -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_full_version.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_full_version.xml deleted file mode 100644 index 166eaf3..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_full_version.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - page_cHelpADLXHelper_QueryFullVersion - ADLXHelper_QueryFullVersion - -Gets the full version of ADLX. - - -Gets the full version of ADLX. -Syntax - - - adlx_uint64 ADLXHelper_QueryFullVersion () - Parameters - -N/A -Return Value - -The full version of ADLX. -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_version.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_version.xml deleted file mode 100644 index 123968f..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__query_version.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - page_cHelpADLXHelper_QueryVersion - ADLXHelper_QueryVersion - -Gets the version of ADLX. - - -Gets the version of ADLX. -Syntax - - - const char* ADLXHelper_QueryVersion (); - Parameters - -N/A -Return Value - -The version of ADLX. -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__terminate.xml b/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__terminate.xml deleted file mode 100644 index 377b1cc..0000000 --- a/vendor/adlx/SDKDoc/xml/page_c_help_a_d_l_x_helper__terminate.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - page_cHelpADLXHelper_Terminate - ADLXHelper_Terminate - -Terminates ADLX and releases ADLX library. - - -Terminates ADLX and releases ADLX library. -Syntax - - - ADLX_RESULT ADLXHelper_Terminate () - Parameters - -N/A -Return Value - -If ADLXHelper_Terminate is successfully executed, ADLX_OK is returned. - If ADLXHelper_Terminate is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Any interface obtained from ADLX that is not released becomes invalid. - Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes. - -Requirements - - -Header -include "ADLXHelper/Windows/C/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_delete.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_delete.xml deleted file mode 100644 index 0fad8c3..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_delete.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - page_cppHelpDelete - ~ADLXHelper - -The destructor of the ADLXHelper class. - - -The destructor of the ADLXHelper class. -Syntax - - - ~ADLXHelper () - Parameters - -N/A -Return Value - -N/A -Remarks - -This method calls Terminate. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_get_adl_mapping.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_get_adl_mapping.xml deleted file mode 100644 index f8b962f..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_get_adl_mapping.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - page_cppHelpGetAdlMapping - GetAdlMapping - -Gets the ADL Mapping interface. - - -Gets the ADL Mapping interface. -Syntax - - - IADLMapping* GetAdlMapping () - Parameters - -N/A -Return Value - -If ADLX was successfully initialized with ADL, a valid pointer of the IADLMapping interface is returned. - If ADLX was initialized under any of the following circumstances, nullptr is returned. - -ADLX initialization was with other initialization methods. - -ADLX initialization was failed. - -ADLX initialization was not called. - - - -Remarks - -GetAdlMapping is used to convert data between ADL and ADLX in applications where ADLX was initialized with InitializeWithCallerAdl. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_get_system_services.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_get_system_services.xml deleted file mode 100644 index 4551200..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_get_system_services.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - page_cppHelpGetSystemServices - GetSystemServices - -Gets the ADLX system interface. - - -Gets the ADLX system interface. -Syntax - - - IADLXSystem* GetSystemServices () - Parameters - -N/A -Return Value - -If ADLX was successfully initialized before this method call, the IADLXSystem interface is returned. - If ADLX was not successfully initialized, nullptr is returned. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize.xml deleted file mode 100644 index ac0f9ed..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - page_cppHelpInitialize - Initialize - -Initializes ADLX with default parameters. - - -Initializes ADLX with default parameters. -Syntax - - - ADLX_RESULT Initialize () - Parameters - -N/A -Return Value - -If Initialize is successfully executed, ADLX_OK is returned. - If Initialize is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the initialization functions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -This method is used when an application does not use the ADL library and initializes ADLX with default parameters. - For more information for initializing ADLX with default parameters, refer to ADLX GPU Support. - -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_caller_adl.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_caller_adl.xml deleted file mode 100644 index 7252be0..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_caller_adl.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - page_cppHelpInitializeWithCallerAdl - InitializeWithCallerAdl - -Initializes ADLX with an ADL context. - - -Initializes ADLX with an ADL context. -Syntax - - - ADLX_RESULT InitializeWithCallerAdl (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - Parameters - - - - -1. -[in] -adlContext -adlx_handle -The ADL context. - -
-
-
-
- - - -2. -[in] -adlMainMemoryFree -ADLX_ADL_Main_Memory_Free -The callback handler of the memory deallocation. - -
-
-
-
-
-Return Value - -If InitializeWithCallerAdl is successfully executed, ADLX_OK is returned. - If InitializeWithCallerAdl is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -This method is used when an application also uses ADL. A typical scenario is the application is transitioning from ADL to ADLX with some programming already completed with ADL. - In such case, the application shall pass the parameters in this method that corresponds to the current ADL initialization already in use, which are: an ADL context and a callback for the memory deallocation when ADL was initialized. - For more information for initializing ADLX with an ADL context, refer to Using ADLX in an ADL application. - -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_incompatible_driver.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_incompatible_driver.xml deleted file mode 100644 index b4a63d6..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_initialize_with_incompatible_driver.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - page_cppHelpInitializeWithIncompatibleDriver - InitializeWithIncompatibleDriver - -Initializes ADLX with a legacy driver. - - -Initializes ADLX with a legacy driver. -Syntax - - - ADLX_RESULT InitializeWithIncompatibleDriver () - Parameters - -N/A -Return Value - -If InitializeWithIncompatibleDriver is successfully executed, ADLX_OK is returned. - If InitializeWithIncompatibleDriver is not successfully executed, an error code is returned. - If ADLX was previously successfully initialized with any of the Initialize versions, ADLX_ALREADY_INITIALIZED is returned. - Refer to ADLX_RESULT for success codes and error codes. - -Remarks - -This method is used when an application does not use the ADL library and initializes ADLX to consider AMD GPUs using legacy AMD graphics driver. - For more information for initializing ADLX with a legacy driver, refer to ADLX GPU Support. - -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_new.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_new.xml deleted file mode 100644 index 6e24a05..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_new.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - page_cppHelpNew - ADLXHelper - -The constructor of the ADLXHelper class. - - -The constructor of the ADLXHelper class. -Syntax - - - ADLXHelper () - Parameters - -N/A -Return Value - -An ADLXHelper object. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_query_full_version.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_query_full_version.xml deleted file mode 100644 index 1d0e4e7..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_query_full_version.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - page_cppHelpQueryFullVersion - QueryFullVersion - -Gets the full version of ADLX. - - -Gets the full version of ADLX. -Syntax - - - adlx_uint64 QueryFullVersion () - Parameters - -N/A -Return Value - -The full version of ADLX. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_query_version.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_query_version.xml deleted file mode 100644 index 4d3491c..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_query_version.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - page_cppHelpQueryVersion - QueryVersion - -Gets the version of ADLX. - - -Gets the version of ADLX. -Syntax - - - const char* QueryVersion () - Parameters - -N/A -Return Value - -The version of ADLX. -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_cpp_help_terminate.xml b/vendor/adlx/SDKDoc/xml/page_cpp_help_terminate.xml deleted file mode 100644 index 321cec5..0000000 --- a/vendor/adlx/SDKDoc/xml/page_cpp_help_terminate.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - page_cppHelpTerminate - Terminate - -Terminates ADLX and releases ADLX library. - - -Terminates ADLX and releases ADLX library. -Syntax - - - ADLX_RESULT Terminate () - Parameters - -N/A -Return Value - -If Terminate is successfully executed, ADLX_OK is returned. - If Terminate is not successfully executed, an error code is returned. - Refer to ADLX_RESULT for success codes and error codes. -Remarks - -Any interface obtained from ADLX that is not released becomes invalid. - Any attempt of calling ADLX interface after termination could result in errors such as exceptions or crashes. - -Requirements - - -Header -include "ADLXHelper/Windows/Cpp/ADLXHelper.h" - - -Minimum version -1.0 - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_guide__compatibility.xml b/vendor/adlx/SDKDoc/xml/page_guide__compatibility.xml deleted file mode 100644 index adfc301..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide__compatibility.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - page_guide_Compatibility - Compatibility - - - -ADLX features forward and backward compatibility for ADLX dependent applications, including compatibility for system installed AMD drivers. An application using ADLX will run as expected when installed on a system with a newer AMD driver version. If the application is installed on a system with an older AMD driver version, the application will run with reduced functionality and support for some interfaces. -When new functionalities are introduced, they are provided in new interfaces. ADLX interfaces are locked and do not change; all in-application ADLX code will continue to compile throughout future versions of the ADLX SDK. - -Note: ADLX SDK documentation demonstrates how to code a third-party application for unsupported interfaces. -ADLX GPU Support - - -Non-AMD GPUs are not supported. -Some legacy AMD GPUs may not be supported. -The default ADLX initialization considers backwards compatibility for legacy driver versions an unsupported feature, as the application will run with reduced functionality and support for some interfaces. -A recommended method to initialize ADLX using a legacy GPU and/or driver versions is to program the application to specifically use the legacy AMD GPU and driver. - Note: This method may not be applicable to all legacy AMD GPUs and driver versions. - -For more information, see Initialize / InitializeWithIncompatibleDriver helper for C++ and ADLXHelper_Initialize / ADLXHelper_InitializeWithIncompatibleDriver helper for C. - -For information about initialization function, see the ADLXInitialize_Fn function. -When using ADLX along with ADL on legacy GPUs and drivers, ADLX will replicate the existing ADL configuration for that application. As an example, if the ADL application was configured to utilize the legacy GPU and driver, ADLX will also utilize the legacy GPU and driver. - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_advanced.xml b/vendor/adlx/SDKDoc/xml/page_guide_advanced.xml deleted file mode 100644 index f2997cd..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_advanced.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - page_guide_advanced - Advanced Configurations - Using ADLX in a system service application - - - -In this section - -This section contains advanced configuration usecases for ADLX. Using ADLX in a system service application - -Using ADLX in a system service application demonstrates a workaround to access system service application functionality through a user mode process. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_bef.xml b/vendor/adlx/SDKDoc/xml/page_guide_bef.xml deleted file mode 100644 index d5c2a20..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_bef.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - page_guide_bef - Benefits - - - -Develop applications with greater ease and efficiency with ADLX, featuring improved stability and maintenance, and more functionality than ADL. - -High standard of quality assurance from AMD. All ADLX functions and methods are extensively tested on a wide range of hardware to assure quality. -Accelerated time-to-market. Simplified and cost-effective interfaces allow for accelerated customer software development. -Forward and backward compatibility with AMD drivers. Significantly reduced field issues by implementing architecture built with compatibility checks and switches. -Extended functionality and use case support. Expanded functionality over ADL, and inclusion of the latest control and monitoring features available for AMD hardware and drivers. -Compatible with modern programming languages such as Python, Java, C#, etc. ADLX can be integrated with a larger selection of programming languages. - - - -Features -ADLX -ADL - - -Simple Interface -✅ Intuitive C++ interfaces with methods -❌ Inconvenient C-style function pointers - - -GPU & Display Enumeration -✅ Intuitive representation -❌ Complicated representation - - -Memory Management -✅ Virtually leak-proof with reference-counted interfaces and smart pointers -❌ Leak-prone with C-style dynamic memory management - - -Events Synchronization -✅ Convenient ADLX events for all the features in ADLX -❌ Limited events. Applications must implement the events manager - - -Support -✅ Forward and backward compatibility with AMD drivers -❌ Limited - - -Versioning -✅ More interfaces -❌ Alternate function pointers - -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_guide_bindcsharp.xml b/vendor/adlx/SDKDoc/xml/page_guide_bindcsharp.xml deleted file mode 100644 index fe6c7f9..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_bindcsharp.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - page_guide_bindcsharp - Building C# bindings for ADLX - - - -This guide outlines the steps to build a C# binding wrapper for ADLX, a prerequisite to programming with ADLX in a C# application. -Prerequisite(s) - - -ADLX SDK is installed. -Visual Studio 2019 is installed. -swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. - - -To build ADLX bindings in C# - - -Create and name a folder for the C# ADLX binding wrapper, for example ADLXCSharpBind. -Create a new file in the ADLXCSharpBind folder and title it ADLXCSharpBind.i. -Edit ADLXCSharpBind.i and add the SDK header files for the interfaces you wish to wrap by using the SWIG input format. To create bindings for event notifications, turn on the director wrapping callback for respective listener interfaces. -For example, - - feature("director") IADLXDisplayListChangedListener; - Note: Refer to the C# samples ADLXCSharpBind.i file for an example of a C# binding. -Create a C++ Dynamic Link Library project named ADLXCSharpBind and configure the project as follows: - -Key -Value -Observations - - -C/C++ > Precompiled Header -Not Using Precompiled Headers -Do not use precompiled headers - -
-
-
-
-
Add the ADLXCSharpBind.i file to the project. -Right-click the ADLXCSharpBind.i file, and select Properties from the menu. In the Properties dialog select Configuration Properties > General > Item Type > Custom Build Tool. - Set the configuration as follows: - -Key -Value -Observations - - -Command Line -if not exist $(SolutionDir)out mkdir $(SolutionDir)out swig.exe -c++ -csharp -dllimport ADLXCSharpBind -outdir ../out/ ADLXCSharpBind.i -Invoke SWIG.exe to build ADLXCSharpBind.i file - - -Outputs -%(Filename)_wrap.cxx -Set output file name format - -
-
-
-
-
Build the project. -Result: The following files are added to the ADLXCSharpBind project output folder: -ADLXCSharpBind_wrap.h file. -ADLXCSharpBind_wrap.cxx file. -All *.cs files that correspond to the additional interfaces in the ADLXCSharpBind.i file. - - -Add the following files to the project: -ADLXCSharpBind_wrap.h -ADLXCSharpBind_wrap.cxx -SDK/Platform/Windows/WinAPIs.cpp -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - - -Rebuild the project. -Result: The ADLXCSharpBind.dll is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder. -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_guide_bindjava.xml b/vendor/adlx/SDKDoc/xml/page_guide_bindjava.xml deleted file mode 100644 index d7e8a1d..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_bindjava.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - page_guide_bindjava - Building Java bindings for ADLX - - - -This guide outlines the steps to build a Java binding wrapper for ADLX, a prerequisite to programming with ADLX in a Java application. Prerequisite(s) - - -ADLX SDK is installed. -Visual Studio 2019 is installed. -swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. -OpenJDK 17 is installed. -The path to the OpenJDK 17 installation is added to the JAVA_HOME system environment variable. -The bin path for the OpenJDK 17 installation is added to the Path system environment variable. - - -To build ADLX bindings in Java - - -Create and name a folder for your Java ADLX binding wrapper, for example ADLXJavaBind. -Create a new file in the ADLXJavaBind folder and title it ADLXJavaBind.i. -Edit ADLXJavaBind.i and add the SDK header files for the interfaces you wish to wrap by using the SWIG input format.To create bindings for event notifications, turn on director wrapping callback for the respective listener interfaces. -For example, - - feature("director") IADLXDisplayListChangedListener; - Note: Refer to the Java samples ADLXJavaBind.i file for an example of a Java binding. -Create a C++ Dynamic Link Library project named ADLXJavaBind and configure the project as follows: - -Key -Value -Observations - - -VC++ Directories > Include Directories -$(JAVA_HOME)/include and $(JAVA_HOME)/include/win32 -Add path of java include and path of java/win32 include - - -C/C++ > Precompiled Header -Not Using Precompiled Headers -Do not use precompiled headers - -
-
-
-
-
Add the ADLXJavaBind.i file to the project. -Right-click the ADLXJavaBind.i file and select Properties from the menu. In the Properties dialog select Configuration Properties > General > Item Type > Custom Build Tool. - Set the configuration as follows: - -Key -Value -Observations - - -Command Line -if not exist $(SolutionDir)out mkdir $(SolutionDir)out swig.exe -c++ -java -package out -outdir ../out/ ADLXJavaBind.i -Invoke SWIG.exe to build ADLXJavaBind.i file - - -Outputs -%(Filename)_wrap.cxx -Set output file name format - -
-
-
-
-
Build the project. -Result: The following files are added to the ADLXJavaBind project output folder: -ADLXJavaBind_wrap.h file. -ADLXJavaBind_wrap.cxx file. -Several *.java files. - - -Add the following files to the project: -ADLXJavaBind_wrap.h -ADLXJavaBind_wrap.cxx -SDK/Platform/Windows/WinAPIs.cpp -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - - -Rebuild the project. -Result: The ADLXJavaBind.dll is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder. -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_guide_bindpy.xml b/vendor/adlx/SDKDoc/xml/page_guide_bindpy.xml deleted file mode 100644 index 27d53cb..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_bindpy.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - page_guide_bindpy - Building Python bindings for ADLX - - - -This guide outlines the steps to build a Python binding wrapper for ADLX, a prerequisite to programming with ADLX in a Python application. -Prerequisite(s) - - -ADLX SDK is installed. -Visual Studio 2019 is installed. -Python 3.9 is installed. -pybind11 is installed. -The path to the Python 3.9 installation is added to the PYHOME system environment variable. - - -To build ADLX bindings in Python - - -Create a folder for your Python ADLX binding wrapper, for example ADLXPybind. -Create a new file in the ADLXPybind folder and title it bind.cpp. -Edit bind.cpp and bind the interfaces you wish to wrap using pybind11. To create bindings for event notifications, inherit the respective listener interface. -For example, inherit IADLXDisplayListChangedListener. -Note: Refer to the Python samples bind.cpp file for an example of a Python binding. -Create a C++ Dynamic Link Library project named ADLXPybind and configure the project as follows: - -Key -Value -Observations - - -Advanced > Target File Extension -.pyd -Use .pyd as the extension - - -VC++ Directories > Include Directories -$(PYHOME)/include - $(PYHOME)/Lib/site-packages/pybind11/include - -Add Path of python include and path of pybind11 include - - -VC++ Directories > Library Directories -$(PYHOME)/libs -Add path of python libs - - -C/C++ > Precompiled Header -Not Using Precompiled Headers -Do not use precompiled headers - - -Linker > Inpit -python39.lib -Add python lib - -
-
-
-
-
Add the bind.cpp file to the project -Add the following files to the project: -SDK/Platform/Windows/WinAPIs.cpp -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h -SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - - -Build the project. -Result: The ADLXPybind.pyd is built in the "$(SolutionDir)$(Platform)$/(Configuration)/" folder. -
-
-
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_guide_event.xml b/vendor/adlx/SDKDoc/xml/page_guide_event.xml deleted file mode 100644 index bfdd89a..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_event.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - page_guide_event - Subscribing to Event Notifications using ADLX - - - -ADLX has an event notification mechanism specific to each ADLX domain, but the event notification in all the domains use the same approach. -The application implements a listener interface as defined in the ADLX SDK. An instance of the listener interface is passed to ADLX to register for notification when the respective settings are changed. -When a change occurs, ADLX calls the method in this listener instance and passes the new settings as parameters. -When events notifications are no longer required by the application, the application unregisters the listener instance from ADLX, and the instance of the listener interface can be destroyed by the application. -Example: The Desktop domain provides notifications when there is a change to the desktop list. -Use the ADLX event notification management functionality when programming a new application, or when programming an existing application that uses ADL. The mechanism remains the same for all the programming languages, but there are language-specific differences in implementation. -You can program an application to get notified about changes such as when desktops are: -Created -Removed -Changed - Size settings -Changed - Location settings - - -To program an application to receive desktop list change notification, -Implement, and then create an instance of the implemented IADLXDesktopListChangedListener interface. -Note: The ADLX Desktop List Changed Listener instance is passed to ADLX and must exist for the entire duration of the application’s desktop list changed event registration. -Call IADLXSystem::GetDesktopServices in the ADLX System interface. -Result: Gets the IADLXDesktopServices interface. -Call IADLXDesktopServices::GetDesktopChangedHandling in the ADLX Desktop Services interface. -Result: Gets the IADLXDesktopChangedHandling interface. -Pass the ADLX Desktop List Changed Listener instance as the parameter into IADLXDesktopChangedHandling::AddDesktopListEventListener. -Note: When a change to the desktop occurs, the OnDesktopListChanged is called into the ADLX Desktop List Changed Listener instance, with the new desktop list as the IADLXDesktopList parameter. - - -To unsubscribe the Desktop List Changed notification: -Unregister the ADLX Desktop List Changed Listener instance from ADLX using RemoveDesktopListEventListener. -Discard the desktop list changed listener instance after the registration is removed. -Note: Other ADLX domains that support event subscription use the same mechanism for event notifications. - - -For more information, for C++ see Receiving Events Notifications C++ samples. -For C see Receiving Events Notifications C samples. -For C# see DisplayEvents C# samples. -For Java see DisplayEvents Java samples. -For Python see DisplayEvents Python samples. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_init_help.xml b/vendor/adlx/SDKDoc/xml/page_guide_init_help.xml deleted file mode 100644 index 4e3c34e..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_init_help.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - page_guide_init_help - Initializing ADLX with the ADLX Helpers - - - -It is recommended to load and initialize ADLX with ADLX Helper code. The ADLX Helper code has native support for C and C++. When programming in C#, Java, or Python, use the ADLX Helper code from the binding wrapper in the selected language to access ADLX. -To use ADLX in a C++ application - -To access ADLX functionality from a C++ based application, -Start a new C++ application. -In the application, include the following files: -a. /SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h -b. /SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp -c. /SDK/Platform/Windows/WinAPIs.cpp -Create an instance of the ADLXHelper class. -Call the Initialize method in the Helper object. -Call the GetSystemServices method in the Helper object. -Result: Access to the IADLXSystem interface is provided. -Note: You can access the required ADLX functionality from the IADLXSystem interface. -Call Terminate in the Helper object. -Result: Resources utilized by ADLX are released, and the ADLX library is unloaded. - - -For more information, see C++ samples. -To use ADLX in a C application - -To access ADLX functionality from a C based application, -Start a new C application. -In the application, include the following files: -a. /SDK/ADLXHelper/Windows/C/ADLXHelper.h -b. /SDK/ADLXHelper/Windows/C/ADLXHelper.c -c. /SDK/Platform/Windows/WinAPIs.c -Call the ADLXHelper_Initialize function that is declared in the ADLXHelper.h file. -Call the ADLXHelper_GetSystemServices function. -Result: Access to the IADLXSystem interface is provided. -Note: You can access the required ADLX functionality from the IADLXSystem interface. -Call ADLXHelper_Terminate in the helper object to release the resources utilized by ADLX. -Result: The ADLX library is unloaded. - - -For more information, see C samples. -To initialize ADLX in a C# application - -Follow these steps to initialize ADLX in a C# application. -Start a new C# application. -Import all the *.cs files from the ADLX binding wrapper for C#. -Create an instance of the ADLXHelper class. -Call the Initialize method in the Helper object. -Call the GetSystemServices method in the Helper object. -Result: The IADLXSystem interface is accessible. -Note: The IADLXSystem interface provides access to ADLX functionality. -Call Terminate in the Helper object. -Result: Resources utilized by ADLX are released, and the ADLX library is unloaded. - - -For more information, see C# samples -To initialize ADLX in a Java application - -Follow these steps to initialize ADLX in a Java application. -Start a new Java application. -Import all the Java files from the ADLX binding wrapper for Java. -Create an instance of the ADLXHelper class. -Call the Initialize method in the Helper object. -Call the GetSystemServices method in the Helper object. -Result: The IADLXSystem interface is accessible. -Note: The IADLXSystem interface provides access to ADLX functionality. -Call Terminate in the Helper object. -Result: Resources utilized by ADLX are released, and the ADLX library is unloaded. - - -For more information, see Java samples. -To initialize ADLX in a Python application - -Follow these steps to initialize ADLX in a Python application. -Start a new Python application. -Import the ADLXPybind.pyd package from the ADLX binding wrapper for Python. -Create an instance of the ADLXHelper class. -Call the Initialize method in the Helper object. -Call the GetSystemServices method in the Helper object. -Result: The IADLXSystem interface is accessible. -Note: The IADLXSystem interface provides access to ADLX functionality. -Call Terminate in the Helper object. -Result: Resources utilized by ADLX are released, and the ADLX library is unloaded. - - -For more information, see Python samples. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_init_pointer.xml b/vendor/adlx/SDKDoc/xml/page_guide_init_pointer.xml deleted file mode 100644 index 6351078..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_init_pointer.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - page_guide_init_pointer - Initializing ADLX with function pointers - - - -Use the functions provided in the ADLX SDK to load ADLX into the application. Once ADLX is loaded, the function pointer can be located to call the applicable ADLX Initialization function to provide access to the ADLX System interface. -To access the ADLX System interface using function pointers, -Load the ADLX library using adlx_load_library as provided in the ADLX SDK. -Find the applicable ADLX Initialization function pointer using adlx_get_proc_address. -Call the ADLX Initialization function. -Result: If the initialization function call is successful, it returns the pointer providing access to IADLXSystem interface and ADLX functionality. -Access the IADLXSystem interface. -Result: Access to ADLX functionality is provided. -Note: When loading ADLX in an ADL application, the IADLMapping interface is accessible. This interface provides data mapping between ADL and ADLX for a specific entity (GPU, Display or Desktop). - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_languages.xml b/vendor/adlx/SDKDoc/xml/page_guide_languages.xml deleted file mode 100644 index d1ae8fa..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_languages.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - page_guide_languages - Supported Programming Languages - - - -Native support - -ADLX features native support for: -C -C++ - - -Non-native support - -ADLX features non-native support for: -C# -Java -Python - - -Bindings - -ADLX APIs are developed for C++, and mirrored in C. APIs for all other programming languages are not natively supported, but can still be utilized with bindings. - -Instructions to build and implement ADLX bindings for common use cases in C#, Java, and Python can be found in the Quick Start. -The C#, Java, and Python samples, located in ADLX Samples can then be used to create bindings to fit specific use cases. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_os.xml b/vendor/adlx/SDKDoc/xml/page_guide_os.xml deleted file mode 100644 index f95ddda..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_os.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - page_guide_os - Supported Operating Systems - - - -ADLX is available for Windows® 10 (32- and 64-bit versions), and Windows 11. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_qs.xml b/vendor/adlx/SDKDoc/xml/page_guide_qs.xml deleted file mode 100644 index 7d3907d..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_qs.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - page_guide_qs - Quick Start - Building C# bindings for ADLX - Building Java bindings for ADLX - Building Python bindings for ADLX - Initializing ADLX with the ADLX Helpers - Initializing ADLX with function pointers - Using ADLX in an application - Subscribing to Event Notifications using ADLX - - - -In this section - -The Quick Start guide is designed to help developers build applications using the ADLX API in one of the supported programming languages, and covers the basic steps needed to initialize the API, retrieve device information, and access device resources. -ADLX Quick Start Guide - -Follow these steps to start programming with ADLX. -Prerequisite(s) - - -ADLX SDK is installed. - - -Steps - - -If your application is in C#, Java, or Python, develop bindings for ADLX for the associated programming language. Proceed to Step 2 if your application is in C or C++. -Building C# bindings for ADLX -Building Java bindings for ADLX -Building Python bindings for ADLX - - -Load the ADLX library code within the application code, and call the desired initialization function as provided in the ADLX SDK. -Initializing ADLX with the ADLX Helpers -Initializing ADLX with function pointers - - -Use the ADLX System interface provided by the initialization function to access other ADLX features. -Using ADLX in an application -Subscribing to Event Notifications using ADLX - - - - -ADLX SDK Installation - -The library is installed with the display driver, and the ADLX SDK consisting of the following is available on AMD GPUOpen. - This includes: - -ADLX headers with definitions of all types, constants, functions, and interfaces required to program with ADLX -ADLX helper code simplifying the ADLX loading and unloading process in C++, C, C#, Java, and Python -ADLX samples demonstrating full ADLX functionality in C++ and in C, as well as select functionality in C#, Java, and Python -SDK developer documentation - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_spe.xml b/vendor/adlx/SDKDoc/xml/page_guide_spe.xml deleted file mode 100644 index e64dfe0..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_spe.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - page_guide_spe - Specifications - Supported Programming Languages - Supported Operating Systems - Compatibility - - - -In this section - -This section provides general guidance on languages and operating systems supported by ADLX, as well as information on compatible hardware and software. Supported Programming Languages - -Supported Programming Languages provides information on native and non-native programming languages supported by ADLX. Supported Operating Systems - -Supported Operating Systems provides information on ADLX OS requirements. Compatibility - -Compatibility describes forward and backward GPU and driver compatibility with ADLX. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_use__a_d_l_x.xml b/vendor/adlx/SDKDoc/xml/page_guide_use__a_d_l_x.xml deleted file mode 100644 index 0841304..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_use__a_d_l_x.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - page_guide_use_ADLX - Using ADLX in an application - - - -The ADLX SDK provides different versions of the ADLX initialization function to use when you load ADLX into a new application or into an existing application that uses ADL. -Prerequisite(s) - - -Install the ADLX SDK before programming an application with ADLX. Native support is provided for C, and C++. -Build the ADLX binding wrapper when programming in C#, Java, or Python. - - -To access the ADLX System interface - - -Program an application to load the ADLX library. -Load the ADLX library. -Initialize ADLX by locating and calling the pointer to the respective function. -Result: Access to the ADLX System interface is provided on a successful Initialization call. -Note: There are different ADLX initialization versions that correspond to a specific function. Program your application to only find one function pointer to call a specific ADLX Initialization function that best suits your requirement. - - -Context - -The ADLX System interface is the gateway to all available ADLX interfaces. These interfaces provide the methods required to access all the features available in the AMD driver. The ADLX Helper code provided with the ADLX SDK simplifies the loading and unloading of ADLX by finding, and then calling the required function pointers whenever ADLX is initialized. -Using ADLX in a new application - -You can program a new application to use ADLX to work with the AMD driver. You can load and initialize ADLX in a new application by accessing the ADLXInitialize function. - -For C++, C#, Java, and Python – Through the ADLX Helper class Initialize method. -For C – Through ADLX Helper code, ADLXHelper_Initialize function. -Directly – Without the ADLX Helper code, through ADLXInitialize_Fn function pointer. - - -Using ADLX in an ADL application - -An existing application that uses ADL can be programmed to support ADLX without rewriting the entire code. ADLX provides ADLXInitializeWithCallerADL as an initialization function to load and initialize ADLX in an application that already uses ADL. You can load and initialize ADLX in a application that uses ADL by accessing the ADLXInitializeWithCallerADL function: - -For C++ – Through the ADLX Helper class, InitializeWithCallerAdl method. -For C – Through the ADLX Helper code, ADLXHelper_InitializeWithCallerAdl function. -Directly – Without the ADLX Helper code, through ADLXInitializeWithCallerAdl_Fn function pointer. - - -Pass the ADL context and the ADLX_ADL_Main_Memory_Free function (previously passed during ADL initialization) as input parameters into ADLXInitializeWithCallerADL. The IADLMapping interface is provided as output parameter. This interface provides data mapping between ADL and ADLX for a specific entity (GPU, Display or Desktop). - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_guide_usingservice.xml b/vendor/adlx/SDKDoc/xml/page_guide_usingservice.xml deleted file mode 100644 index a7f7e0f..0000000 --- a/vendor/adlx/SDKDoc/xml/page_guide_usingservice.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - page_guide_usingservice - Using ADLX in a system service application - - - -While ADLX cannot be used directly in a system service application, its functionality can be accessed in a system service application through a user mode process. A communication mechanism between the user mode process and the system service, such as shared memory, will provide the ADLX functionality to the system service. -To use ADLX in a system service, -Create a system service application. -Note: For more information on how to create a system service in C++, see ServiceCall C++ sample. For more information on how to create a system service in C, see ServiceCall C sample. -In the system service, start a thread to complete the service work, such as ServiceWorkerThread. -On the ServiceWorkerThread, get the token of the current process to create a user process using CreateProcessAsUserW. -Note: For more information on how to create a user process into a service application in C++, see UserProcess C++ sample. For more information on how to create a user process into a service application in C, see UserProcess C sample. -In user mode, process load ADLX and implement the desired functionality. -In user mode, process implement a communication mechanism suitable for communicating with the system service – such as shared memory – and tie the ADLX data with the communication mechanism. -Run the user mode process and the service application. - - -For more information, see GPUServiceCall C++ samples and GPUServiceCall C samples. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_interfaces.xml b/vendor/adlx/SDKDoc/xml/page_interfaces.xml deleted file mode 100644 index 2d0000e..0000000 --- a/vendor/adlx/SDKDoc/xml/page_interfaces.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - page_interfaces - ADLX Interfaces - 3D Graphics - Desktop - Display - GPU - GPU Tuning - I2C - Performance Monitoring - Power Tuning - System - Miscellaneous - - - -In this section - -This is a documentation library for the interfaces responsible for specific ADLX control functionalities, and are categorized by feature/domain and its associated interfaces. - Here you will be able to find descriptions for the syntax, parameters, return values and more for the methods associated with the selected API. - -3D Graphics -Desktop -Display -GPU -GPU Tuning -I2C -Performance Monitoring -Power Tuning -System -Miscellaneous - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_legal.xml b/vendor/adlx/SDKDoc/xml/page_legal.xml deleted file mode 100644 index 9518479..0000000 --- a/vendor/adlx/SDKDoc/xml/page_legal.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - page_legal - Legal Information and Compliance/Disclaimers - Disclaimers - Trademarks - - - -In this section - -This section contains legal updates and notices, such as disclaimers and trademarks. - -Disclaimers -Trademarks - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_legal__disclaimer.xml b/vendor/adlx/SDKDoc/xml/page_legal__disclaimer.xml deleted file mode 100644 index 7a1334e..0000000 --- a/vendor/adlx/SDKDoc/xml/page_legal__disclaimer.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - page_legal_Disclaimer - Disclaimers - - - -The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. -THIS INFORMATION IS PROVIDED “AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_legal__trademark.xml b/vendor/adlx/SDKDoc/xml/page_legal__trademark.xml deleted file mode 100644 index d62baf1..0000000 --- a/vendor/adlx/SDKDoc/xml/page_legal__trademark.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - page_legal_Trademark - Trademarks - - - -AMD, the AMD Arrow logo, Radeon and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Windows is a registered trademark of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. -Copyright - -©2023 Advanced Micro Devices, Inc. All rights reserved. - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_programwithadlx.xml b/vendor/adlx/SDKDoc/xml/page_programwithadlx.xml deleted file mode 100644 index c850fb9..0000000 --- a/vendor/adlx/SDKDoc/xml/page_programwithadlx.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - page_programwithadlx - Programming with ADLX - ADLX Programming Guide - ADLX Samples - - - -In this section - -This section contains information for developers to get started, such as hardware and software requirements, the minimum-supported operating system versions, and a Quick Start guide with instructions on how to build applications in each of the supported programming languages. -ADLX Programming Guide - -ADLX Programming Guide outlines general topics such as system requirements, benefits of using ADLX compared to ADL, a quick-start guide, and advanced configuration. - - -ADLX Samples - -ADLX Samples provides code samples in C, C++, C#, Java, and Python to demonstrate ADLX functionality usage scenarios in basic applications to help developers get started quickly. - - -ADLX Programming Guide -ADLX Samples - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_sample_c.xml b/vendor/adlx/SDKDoc/xml/page_sample_c.xml deleted file mode 100644 index f4b2143..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sample_c.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - page_sample_c - C Samples - 3D Graphics - Desktop - Display - GPU Tuning - I2C - Performance Monitoring - Power Tuning - Receiving Events Notifications - ServiceCall - Miscellaneous - - - -This document describes how to build the ADLX C samples and the environment in which they can be executed. The ADLX C samples are organized per domain, and they demonstrate the entire ADLX functionality. -Supported Operating Systems - -Windows® 10 (32- and 64-bit versions) and up. -Build Tool - -Visual Studio 2019 with C and C++ components for desktop. -Prerequisites - - -ADLX SDK is installed. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Run Visual Studio 2019. - - -Click File > Open > CMake. - - -Select the ~Samples\C folder from the Address bar in the pop-up dialog box. - - -Select CMakeLists.txt in ~ADLX\Samples\C and click Open. - - -Select vs2019_Release_x64 in the Configuration drop-down. - - -Click Switch between available views > CMake Targets view in the Solution Explorer. - - -Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, DisplayInfo.exe. - - -Right-click on the same sample and click Build. - - -Run the sample. - - - - -3D Graphics -Desktop -Display -GPU Tuning -I2C -Performance Monitoring -Power Tuning -Receiving Events Notifications -ServiceCall -Miscellaneous - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_sample_cpp.xml b/vendor/adlx/SDKDoc/xml/page_sample_cpp.xml deleted file mode 100644 index 8c1f20a..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sample_cpp.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - page_sample_cpp - C++ Samples - 3D Graphics - Desktop - Display - GPU Tuning - I2C - Performance Monitoring - Power Tuning - Receiving Events Notifications - ServiceCall - Miscellaneous - - - -This document describes how to build the ADLX C++ samples and the environment in which they can be executed. The ADLX C++ samples are organized per domain, and they demonstrate the entire ADLX functionality. -Supported Operating Systems - -Windows® 10 (32- and 64-bit versions) and up. -Build Tool - -Visual Studio 2019 with C and C++ components for desktop. -Prerequisites - - -ADLX SDK is installed. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Run Visual Studio 2019. - - -Click File > Open > CMake. - - -Select the ~Samples\CPP folder from the Address bar in the pop-up dialog box. - - -Select CMakeLists.txt in ~ADLX\Samples\CPP and click Open. - - -Select vs2019_Release_x64 in the Configuration drop-down. - - -Click Switch between available views > CMake Targets view in the Solution Explorer. - - -Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, DisplayInfo.exe. - - -Right-click on the same sample and click Build. - - -Run the sample. - - - - -3D Graphics -Desktop -Display -GPU Tuning -I2C -Performance Monitoring -Power Tuning -Receiving Events Notifications -ServiceCall -Miscellaneous - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/page_sample_cs.xml b/vendor/adlx/SDKDoc/xml/page_sample_cs.xml deleted file mode 100644 index ed36c04..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sample_cs.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - page_sample_cs - C# Samples - ADLXCSharpBind - DisplayEvents - DisplayInfo - - - -This document describes how to build the C# bindings for ADLX, and the ADLX C# samples, as well as the environment in which they can be executed. The ADLX C# samples demonstrate how to program with ADLX in a C# application. -Supported Operating Systems - -Windows® 10 (32- and 64-bit versions) and up. -Build Tool - -Visual Studio 2019 with C and C++ components for desktop, and with C# components for desktop. -Prerequisites - - -ADLX SDK is installed. -swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Open ~ADLX\drivers\ADLX\Samples\csharp\sample.sln with Visual Studio 2019. - - -Select the build configuration, for example, Release, and x64. - - -Set the sample as startup project. - - -Rebuild the project. - Note: This procedure also builds the ADLXCSharpBind project in Visual Studio, which is required for any ALDX C# sample . - - -Run the sample from the path ~ADLX\Samples\csharp for the corresponding build configuration and sample, for example ~ADLX\Samples\csharp\x64\Release\DisplayInfo.exe. - - - -Samples - - -FileName -Description - - -ADLXCSharpBind -Show how to wrap ADLX with SWIG - - -DisplayEvents -C# app uses ADLXCSharpBind.dll, about the call of ADLX display list changed event - - -DisplayInfo -C# app uses ADLXCSharpBind.dll, about the call of ADLX display - -
-
- -ADLXCSharpBind -DisplayEvents -DisplayInfo - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_sample_java.xml b/vendor/adlx/SDKDoc/xml/page_sample_java.xml deleted file mode 100644 index 6445044..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sample_java.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - page_sample_java - Java Samples - ADLXJavaBind - DisplayEvents - DisplayInfo - - - -This document describes how to build the Java bindings for ADLX, and the ADLX Java samples, as well as the environment in which they can be executed. The ADLX Java samples demonstrate how to program with ADLX in a Java application. -Supported Operating Systems - -Windows® 10 (32- and 64-bit versions) and up. -Building the ADLXCSharpBind - -These are the instructions for building the ADLX Java bindings for the ADLX Java samples. -Build Tool - -Visual Studio 2019 with C and C++ components for desktop. -Prerequisites - - -ADLX SDK is installed. -Visual Studio 2019 is installed. -swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. -OpenJDK 17 is installed. -The path to the OpenJDK 17 installation is added to the JAVA_HOME system environment variable. -The bin path for the OpenJDK 17 installation is added to the Path system environment variable. - - -Build Instructions - - - -Run Visual Studio 2019. - - -Open ~ADLX\drivers\ADLX\Samples\java\ADLXJavaBind\ADLXJavaBind.sln. - - -Rebuild the project - - - -Building the ADLX Java samples - -These are the instructions for building the DisplayInfo ADLX Java sample. Similar instructions must be followed for building the other ADLX Java samples. -Build Tool - -Visual Studio Code -Prerequisites - - -ADLX SDK is installed. -ADLXCSharpBind is built. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Run Visual Studio Code. - - -Open ~ADLX\drivers\ADLX\Samples\java\DisplayInfo. - - -Rebuild the project - - - -Samples - - -FileName -Description - - -ADLXJavaBind -Show how to wrap ADLX with SWIG - - -DisplayEvents -Java test uses ADLXJavaBind.dll, about the call of ADLX display list changed event - - -DisplayInfo -Java test uses ADLXJavaBind.dll, about the call of ADLX display - -
-
- -ADLXJavaBind -DisplayEvents -DisplayInfo - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_sample_py.xml b/vendor/adlx/SDKDoc/xml/page_sample_py.xml deleted file mode 100644 index 987d986..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sample_py.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - page_sample_py - Python Samples - ADLXPybind - DisplayEvents - DisplayInfo - - - -This document describes how to build the Python bindings for ADLX, and the ADLX Python samples, as well as the environment in which they can be executed. The ADLX Python samples demonstrate how to program with ADLX in a Python application. -Supported Operating Systems - -Windows® 10 (32- and 64-bit versions) and up. -Building the ADLXCSharpBind - -These are the instructions for building the ADLX Python bindings for the ADLX Python samples. -Build Tool - -Visual Studio 2019 with C and C++ components for desktop. -Prerequisites - - -ADLX SDK is installed. -Python 3.9 is installed. -pybind11 is installed. -The path to the Python 3.9 installation is set to the PYHOME system environment variable. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Run Visual Studio 2019. - - -Open ~ADLX\drivers\ADLX\Samples\python\ADLXPybind\ADLXPybind.sln. - - -Rebuild the project. - - - -Building the ADLX Python samples - -These are the instructions for building the DisplayInfo ADLX Python sample. Similar instructions must be followed for building the other ADLX Python samples. -Build Tool - -Visual Studio Code -Prerequisites - - -ADLX SDK is installed. -ADLXCSharpBind is built. - - -Note: The ADLX library is installed along with the AMD display driver. -Build Instructions - - - -Run Visual Studio Code. - - -Open ~ADLX\drivers\ADLX\Samples\python\DisplayInfo. - - -Rebuild the project. - - - -Samples - - -FileName -Description - - -ADLXPybind -Show how to wrap ADLX with pybind11 - - -DisplayEvents -Python test uses ADLXPybind.pyd, about the call of ADLX display list changed event - - -DisplayInfo -Python test uses ADLXPybind.pyd, about the call of ADLX display - -
-
- -ADLXPybind -DisplayEvents -DisplayInfo - - -
- -
-
diff --git a/vendor/adlx/SDKDoc/xml/page_sdk.xml b/vendor/adlx/SDKDoc/xml/page_sdk.xml deleted file mode 100644 index 87bef71..0000000 --- a/vendor/adlx/SDKDoc/xml/page_sdk.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - page_sdk - ADLX SDK References - ADLX Functions - ADLX Helpers - ADLX Interfaces - - - -In this section - -This section provides detailed information on all aspects of programming with ADLX; such as helpers, functions, interfaces and their methods, and ADLX data types. - ADLX Functions - -ADLX Functions contains the function pointers required to initialize ADLX. ADLX Helpers - -ADLX Helpers describes the ADLX Helpers required to initialize ADLX in an application. ADLX Interfaces - -ADLX Interfaces contains specific control functionalities categorized by a "Domain > Interfaces" structure. ADLX Types - -ADLX Types contains a list of all modules. - -ADLX Functions -ADLX Helpers -ADLX Interfaces - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/perfmonitoring.xml b/vendor/adlx/SDKDoc/xml/perfmonitoring.xml deleted file mode 100644 index eec19d8..0000000 --- a/vendor/adlx/SDKDoc/xml/perfmonitoring.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - perfmonitoring - Performance Monitoring - IADLXAllMetrics - IADLXAllMetricsList - IADLXFPS - IADLXFPSList - IADLXGPUMetrics - IADLXGPUMetricsList - IADLXGPUMetricsSupport - IADLXPerformanceMonitoringServices - IADLXSystemMetrics - IADLXSystemMetrics1 - IADLXSystemMetricsList - IADLXSystemMetricsSupport - IADLXSystemMetricsSupport1 - - - -The Performance Monitoring domain contains interfaces that provide performance monitoring capabilities. Examples include monitoring the performances of various GPUs, system, and FPS. - -IADLXAllMetrics -IADLXAllMetricsList -IADLXFPS -IADLXFPSList -IADLXGPUMetrics -IADLXGPUMetricsList -IADLXGPUMetricsSupport -IADLXPerformanceMonitoringServices -IADLXSystemMetrics -IADLXSystemMetrics1 -IADLXSystemMetricsList -IADLXSystemMetricsSupport -IADLXSystemMetricsSupport1 - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/prerequisites_8md.xml b/vendor/adlx/SDKDoc/xml/prerequisites_8md.xml deleted file mode 100644 index c462b0b..0000000 --- a/vendor/adlx/SDKDoc/xml/prerequisites_8md.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - prerequisites.md - - - - - -@pagepage_guide_osSupportedOperatingSystems -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -ADLXisavailableforWindows®10(32-and64-bitversions),andWindows11. - - - - diff --git a/vendor/adlx/SDKDoc/xml/py_sample_adlxpybind.xml b/vendor/adlx/SDKDoc/xml/py_sample_adlxpybind.xml deleted file mode 100644 index 0eb8e5c..0000000 --- a/vendor/adlx/SDKDoc/xml/py_sample_adlxpybind.xml +++ /dev/null @@ -1,578 +0,0 @@ - - - - py_sample_adlxpybind - ADLXPybind - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to wrap ADLX with pybind11 when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/python/ADLXPybind</p> -</body> -</html> Code - -C++ // -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -//Includepybind11depends -#include<pybind11/pybind11.h> -#include<pybind11/stl.h> -#include<pybind11/complex.h> -#include<pybind11/functional.h> -#include<pybind11/chrono.h> - -//IncludeSDKdepends -#include"../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include"../../../../SDK/Include/IDisplays.h" - -namespacepy=pybind11; -usingnamespaceadlx; - -//Alwaysneededforcustomholdertypes -PYBIND11_DECLARE_HOLDER_TYPE(T,IADLXInterfacePtr_T<T>,true); - -//Onlyneededifthetype's`.get()`goesbyanothername -namespacepybind11{ -namespacedetail{ -template<typenameT> -structholder_helper<IADLXInterfacePtr_T<T>>{//<--specialization -staticconstT*get(constIADLXInterfacePtr_T<T>&p){returnp.GetPtr();} -}; -} -} - -classPySystem:publicIADLXSystem -{ -public: -usingIADLXSystem::IADLXSystem; - -ADLX_RESULTHybridGraphicsType(ADLX_HG_TYPE*hgType)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -HybridGraphicsType -); -} - -ADLX_RESULTGetGPUs(IADLXGPUList**ppGPUs)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetGPUs -); -} - -ADLX_RESULTQueryInterface(constwchar_t*interfaceId,void**ppInterface)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -QueryInterface -); -} - -ADLX_RESULTGetDisplaysServices(IADLXDisplayServices**ppDispServices)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetDisplaysServices -); -} - -ADLX_RESULTGetDesktopsServices(IADLXDesktopServices**ppDeskServices)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetDesktopsServices -); -} - -ADLX_RESULTGetGPUsChangedHandling(IADLXGPUsChangedHandling**ppGPUsChangedHandling)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetGPUsChangedHandling -); -} - -ADLX_RESULTEnableLog(ADLX_LOG_DESTINATIONmode,ADLX_LOG_SEVERITYseverity,IADLXLog*pLogger,constwchar_t*fileName)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -EnableLog -); -} - -ADLX_RESULTGet3DSettingsServices(IADLX3DSettingsServices**pp3DSettingsServices)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -Get3DSettingsServices -); -} - -ADLX_RESULTGetGPUTuningServices(IADLXGPUTuningServices**ppGPUTuningServices)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetGPUTuningServices -); -} - -ADLX_RESULTGetPerformanceMonitoringServices(IADLXPerformanceMonitoringServices**ppPerformanceMonitoringServices)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetPerformanceMonitoringServices -); -} - -ADLX_RESULTTotalSystemRAM(adlx_uint*ramMB)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -TotalSystemRAM -); -} - -ADLX_RESULTGetI2C(IADLXGPU*pGPU,IADLXI2C**ppI2C)override{ -PYBIND11_OVERRIDE_PURE( -ADLX_RESULT, -IADLXSystem, -GetI2C -); -} -}; - -classPyDisplayService:publicIADLXDisplayServices -{ -public: -usingIADLXDisplayServices::IADLXDisplayServices; - -adlx_longAcquire()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Acquire); -} - -adlx_longRelease()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Release); -} - -ADLX_RESULTQueryInterface(constwchar_t*interfaceId,void**ppInterface){ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXInterface,QueryInterface); -} - -ADLX_RESULTGetNumberOfDisplays(adlx_uint*numDisplays)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetNumberOfDisplays); -} - -ADLX_RESULTGetDisplays(IADLXDisplayList**ppDisplay)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetDisplays); -} - -ADLX_RESULTGet3DLUT(IADLXDisplay*pDisplay,IADLXDisplay3DLUT**ppDisp3DLUT)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,Get3DLUT); -} - -ADLX_RESULTGetGamut(IADLXDisplay*pDisplay,IADLXDisplayGamut**ppDispGamut)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetGamut); -} - -ADLX_RESULTGetGamma(IADLXDisplay*pDisplay,IADLXDisplayGamma**ppDispGamma)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetGamma); -} - -ADLX_RESULTGetDisplayChangedHandling(IADLXDisplayChangedHandling**ppDisplayChangeHandling)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetDisplayChangedHandling); -} - -ADLX_RESULTGetFreeSync(IADLXDisplay*pDisplay,IADLXDisplayFreeSync**ppFreeSync)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetFreeSync); -} - -ADLX_RESULTGetVirtualSuperResolution(IADLXDisplay*pDisplay,IADLXDisplayVSR**ppVSR)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetVirtualSuperResolution); -} - -ADLX_RESULTGetGPUScaling(IADLXDisplay*pDisplay,IADLXDisplayGPUScaling**ppGPUScaling)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetGPUScaling); -} - -ADLX_RESULTGetScalingMode(IADLXDisplay*pDisplay,IADLXDisplayScalingMode**ppScalingMode)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetScalingMode); -} - -ADLX_RESULTGetIntegerScaling(IADLXDisplay*pDisplay,IADLXDisplayIntegerScaling**ppIntegerScaling)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetIntegerScaling); -} - -ADLX_RESULTGetColorDepth(IADLXDisplay*pDisplay,IADLXDisplayColorDepth**ppColorDepth)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetColorDepth); -} - -ADLX_RESULTGetPixelFormat(IADLXDisplay*pDisplay,IADLXDisplayPixelFormat**ppPixelFormat)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetPixelFormat); -} - -ADLX_RESULTGetCustomColor(IADLXDisplay*pDisplay,IADLXDisplayCustomColor**ppCustomColor)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetCustomColor); -} - -ADLX_RESULTGetHDCP(IADLXDisplay*pDisplay,IADLXDisplayHDCP**ppHDCP)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetHDCP); -} - -ADLX_RESULTGetCustomResolution(IADLXDisplay*pDisplay,IADLXDisplayCustomResolution**ppCustomResolution)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetCustomResolution); -} - -ADLX_RESULTGetVariBright(IADLXDisplay*pDisplay,IADLXDisplayVariBright**ppVariBright)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayServices,GetVariBright); -} -}; - -classPyDisplay:publicIADLXDisplay -{ -public: -usingIADLXDisplay::IADLXDisplay; - -adlx_longAcquire()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Acquire); -} - -adlx_longRelease()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Release); -} - -ADLX_RESULTQueryInterface(constwchar_t*interfaceId,void**ppInterface){ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXInterface,QueryInterface); -} - -ADLX_RESULTManufacturerID(adlx_uint*manufacturerID)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,ManufacturerID); -} - -ADLX_RESULTDisplayType(ADLX_DISPLAY_TYPE*displayType)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,DisplayType); -} - -ADLX_RESULTConnectorType(ADLX_DISPLAY_CONNECTOR_TYPE*connectType)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,ConnectorType); -} - -ADLX_RESULTName(constchar**displayName)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,Name); -} - -ADLX_RESULTEDID(constchar**edid)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,EDID); -} - -ADLX_RESULTNativeResolution(adlx_int*maxHResolution,adlx_int*maxVResolution)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,NativeResolution); -} - -ADLX_RESULTRefreshRate(adlx_double*refreshRate)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,RefreshRate); -} - -ADLX_RESULTPixelClock(adlx_uint*pixelClock)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,PixelClock); -} - -ADLX_RESULTScanType(ADLX_DISPLAY_SCAN_TYPE*scanType)constoverride{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,ScanType); -} - -ADLX_RESULTGetGPU(IADLXGPU**ppGPU)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,GetGPU); -} - -ADLX_RESULTUniqueId(adlx_size*uniqueId){ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplay,UniqueId); -} -}; - -classPyDisplayChangeHandler:publicIADLXDisplayChangedHandling -{ -public: -usingIADLXDisplayChangedHandling::IADLXDisplayChangedHandling; - -adlx_longAcquire()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Acquire); -} - -adlx_longRelease()override{ -PYBIND11_OVERRIDE_PURE(adlx_long,IADLXInterface,Release); -} - -ADLX_RESULTQueryInterface(constwchar_t*interfaceId,void**ppInterface){ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXInterface,QueryInterface); -} - -ADLX_RESULTAddDisplayListEventListener(IADLXDisplayListChangedListener*pDisplayListChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,AddDisplayListEventListener); -} - -ADLX_RESULTRemoveDisplayListEventListener(IADLXDisplayListChangedListener*pDisplayListChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,RemoveDisplayListEventListener); -} - -ADLX_RESULTAddDisplayGamutEventListener(IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,AddDisplayGamutEventListener); -} - -ADLX_RESULTRemoveDisplayGamutEventListener(IADLXDisplayGamutChangedListener*pDisplayGamutChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,RemoveDisplayGamutEventListener); -} - -ADLX_RESULTAddDisplayGammaEventListener(IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,AddDisplayGammaEventListener); -} - -ADLX_RESULTRemoveDisplayGammaEventListener(IADLXDisplayGammaChangedListener*pDisplayGammaChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,RemoveDisplayGammaEventListener); -} - -ADLX_RESULTAddDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,AddDisplay3DLUTEventListener); -} - -ADLX_RESULTRemoveDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener*pDisplay3DLUTChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,RemoveDisplay3DLUTEventListener); -} - -ADLX_RESULTAddDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,AddDisplaySettingsEventListener); -} - -ADLX_RESULTRemoveDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener*pDisplaySettingsChangedListener)override{ -PYBIND11_OVERRIDE_PURE(ADLX_RESULT,IADLXDisplayChangedHandling,RemoveDisplaySettingsEventListener); -} -}; - -//Callback -classDisplayListCallBack:publicIADLXDisplayListChangedListener -{ -public: - -adlx_boolOnDisplayListChanged(IADLXDisplayList*pNewDisplay)override{ -std::vector<IADLXDisplayPtr>list; -for(adlx_uints=pNewDisplay->Begin();s!=pNewDisplay->End();s++){ -IADLXDisplayPtritem; -pNewDisplay->At(s,&item); -list.emplace_back(item); -} -if(m_call){ -returnm_call(list); -} -returntrue; -} - -std::function<bool(std::vector<IADLXDisplayPtr>)>m_call; -}; - -PYBIND11_MODULE(ADLXPybind,m){ - -m.doc()="ADLXpythonbindingfordisplay&displayListChangedEvent"; - -//Definetheobjectsthatgetexposedtopython -//ADLX_RESULT -py::enum_<ADLX_RESULT>(m,"ADLX_RESULT") -.value("ADLX_OK",ADLX_RESULT::ADLX_OK) -.value("ADLX_ALREADY_ENABLED",ADLX_RESULT::ADLX_ALREADY_ENABLED) -.value("ADLX_ALREADY_INITIALIZED",ADLX_RESULT::ADLX_ALREADY_INITIALIZED) -.value("ADLX_FAIL",ADLX_RESULT::ADLX_FAIL) -.value("ADLX_INVALID_ARGS",ADLX_RESULT::ADLX_INVALID_ARGS) -.value("ADLX_BAD_VER",ADLX_RESULT::ADLX_BAD_VER) -.value("ADLX_UNKNOWN_INTERFACE",ADLX_RESULT::ADLX_UNKNOWN_INTERFACE) -.value("ADLX_TERMINATED",ADLX_RESULT::ADLX_TERMINATED) -.value("ADLX_ADL_INIT_ERROR",ADLX_RESULT::ADLX_ADL_INIT_ERROR) -.value("ADLX_NOT_FOUND",ADLX_RESULT::ADLX_NOT_FOUND) -.value("ADLX_INVALID_OBJECT",ADLX_RESULT::ADLX_INVALID_OBJECT) -.value("ADLX_ORPHAN_OBJECTS",ADLX_RESULT::ADLX_ORPHAN_OBJECTS) -.value("ADLX_NOT_SUPPORTED",ADLX_RESULT::ADLX_NOT_SUPPORTED) -.export_values(); - -//ADLX_DISPLAY_TYPE -py::enum_<ADLX_DISPLAY_TYPE>(m,"ADLX_DISPLAY_TYPE") -.value("DISPLAY_TYPE_UNKOWN",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_UNKOWN) -.value("DISPLAY_TYPE_MONITOR",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_MONITOR) -.value("DISPLAY_TYPE_TELEVISION",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_TELEVISION) -.value("DISPLAY_TYPE_LCD_PANEL",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_LCD_PANEL) -.value("DISPLAY_TYPE_DIGITAL_FLAT_PANEL",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_DIGITAL_FLAT_PANEL) -.value("DISPLAY_TYPE_COMPONENT_VIDEO",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_COMPONENT_VIDEO) -.value("DISPLAY_TYPE_PROJECTOR",ADLX_DISPLAY_TYPE::DISPLAY_TYPE_PROJECTOR) -.export_values(); - -//ADLX_DISPLAY_CONNECTOR_TYPE -py::enum_<ADLX_DISPLAY_CONNECTOR_TYPE>(m,"ADLX_DISPLAY_CONNECTOR_TYPE") -.value("DISPLAY_CONTYPE_UNKNOWN",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_UNKNOWN) -.value("DISPLAY_CONTYPE_VGA",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_VGA) -.value("DISPLAY_CONTYPE_DVI_D",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_D) -.value("DISPLAY_CONTYPE_DVI_I",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_I) -.value("DISPLAY_CONTYPE_CVDONGLE_NTSC",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NTSC) -.value("DISPLAY_CONTYPE_CVDONGLE_JPN",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_JPN) -.value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN) -.value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC) -.value("DISPLAY_CONTYPE_HDMI_TYPE_A",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_A) -.value("DISPLAY_CONTYPE_HDMI_TYPE_B",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_B) -.value("DISPLAY_CONTYPE_SVIDEO",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_SVIDEO) -.value("DISPLAY_CONTYPE_COMPOSITE",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_COMPOSITE) -.value("DISPLAY_CONTYPE_RCA_3COMPONENT",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_RCA_3COMPONENT) -.value("DISPLAY_CONTYPE_DISPLAYPORT",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DISPLAYPORT) -.value("DISPLAY_CONTYPE_EDP",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_EDP) -.value("DISPLAY_CONTYPE_WIRELESSDISPLAY",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_WIRELESSDISPLAY) -.value("DISPLAY_CONTYPE_USB_TYPE_C",ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_USB_TYPE_C) -.export_values(); - -//ADLX_DISPLAY_SCAN_TYPE -py::enum_<ADLX_DISPLAY_SCAN_TYPE>(m,"ADLX_DISPLAY_SCAN_TYPE") -.value("PROGRESSIVE",ADLX_DISPLAY_SCAN_TYPE::PROGRESSIVE) -.value("INTERLACED",ADLX_DISPLAY_SCAN_TYPE::INTERLACED) -.export_values(); - -//ADLX_helper -py::class_<ADLXHelper>(m,"ADLXHelper") -.def(py::init<>()) -.def("InitializeWithCallerAdl",&ADLXHelper::InitializeWithCallerAdl) -.def("Initialize",&ADLXHelper::Initialize) -.def("InitializeWithIncompatibleDriver",&ADLXHelper::InitializeWithIncompatibleDriver) -.def("Terminate",&ADLXHelper::Terminate) -.def("QueryVersion",&ADLXHelper::QueryVersion) -.def("GetSystemServices",&ADLXHelper::GetSystemServices,py::return_value_policy::reference) -.def("GetAdlMapping",&ADLXHelper::GetAdlMapping); - -//System -py::class_<IADLXSystem,PySystem>(m,"IADLXSystem") -.def(py::init<>()) -.def("GetDisplaysServices",[](py::objectself){ -IADLXSystem*sys=self.cast<IADLXSystem*>(); -IADLXDisplayServicesPtrdisplayService=nullptr; -sys->GetDisplaysServices(&displayService); -returndisplayService; -},py::return_value_policy::move); - -//displayService -py::class_<IADLXDisplayServices,PyDisplayService,IADLXInterfacePtr_T<IADLXDisplayServices>>(m,"IADLXDisplayServices") -.def(py::init<>()) -.def("GetNumberOfDisplays",[](py::objectself){ -IADLXDisplayServices*disService=self.cast<IADLXDisplayServices*>(); -adlx_uintnum; -disService->GetNumberOfDisplays(&num); -returnnum; -}) -.def("GetDisplays",[](py::objectself){ -IADLXDisplayServices*disService=self.cast<IADLXDisplayServices*>(); -IADLXDisplayListPtrdisplayList=nullptr; -disService->GetDisplays(&displayList); -std::vector<IADLXDisplayPtr>list; -for(adlx_uints=displayList->Begin();s!=displayList->End();s++){ -IADLXDisplayPtritem; -displayList->At(s,&item); -list.emplace_back(std::move(item)); -} -returnlist; -},py::return_value_policy::move) -.def("GetDisplayChangedHandling",[](py::objectself){ -IADLXDisplayServices*disService=self.cast<IADLXDisplayServices*>(); -IADLXDisplayChangedHandlingPtrhandler=nullptr; -disService->GetDisplayChangedHandling(&handler); -returnhandler; -},py::return_value_policy::move); - -//Display -py::class_<IADLXDisplay,PyDisplay,IADLXInterfacePtr_T<IADLXDisplay>>(m,"IADLXDisplay") -.def(py::init<>()) -.def("name",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -constchar*name=nullptr; -display->Name(&name); -returnpy::str(name); -}) -.def("type",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -ADLX_DISPLAY_TYPEtype; -display->DisplayType(&type); -returntype; -}) -.def("connectType",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -ADLX_DISPLAY_CONNECTOR_TYPEtype; -display->ConnectorType(&type); -returntype; -}) -.def("ManufacturerID",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -adlx_uintid; -display->ManufacturerID(&id); -returnid; -}) -.def("EDID",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -constchar*str=nullptr; -display->EDID(&str); -returnstd::string(str); -}) -.def("resolution",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -adlx_inth,v; -display->NativeResolution(&h,&v); -returnstd::tuple<adlx_int,adlx_int>(h,v); -}) -.def("RefreshRate",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -adlx_doublevalue; -display->RefreshRate(&value); -returnvalue; -}) -.def("PixelClock",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -adlx_uintvalue; -display->PixelClock(&value); -returnvalue; -}) -.def("ScanType",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -ADLX_DISPLAY_SCAN_TYPEtype; -display->ScanType(&type); -returntype; -}) -.def("UniqueId",[](py::objectself){ -IADLXDisplay*display=self.cast<IADLXDisplay*>(); -adlx_sizeid; -display->UniqueId(&id); -returnid; -}); - -//Displaychangehandler -py::class_<IADLXDisplayChangedHandling,PyDisplayChangeHandler,IADLXInterfacePtr_T<IADLXDisplayChangedHandling>>(m,"IADLXDisplayChangedHandling") -.def(py::init<>()) -.def("AddDisplayListEventListener",[](py::objectself,DisplayListCallBack*call){ -IADLXDisplayChangedHandling*handler=self.cast<IADLXDisplayChangedHandling*>(); -returnhandler->AddDisplayListEventListener(call); -}) -.def("RemoveDisplayListEventListener",[](py::objectself,DisplayListCallBack*call){ -IADLXDisplayChangedHandling*handler=self.cast<IADLXDisplayChangedHandling*>(); -returnhandler->RemoveDisplayListEventListener(call); -}); - -//Callbackfordisplaylist -py::class_<DisplayListCallBack>(m,"DisplayListCallBack") -.def(py::init<>()) -.def_readwrite("call",&DisplayListCallBack::m_call); -} - - - - - diff --git a/vendor/adlx/SDKDoc/xml/py_sample_display_events.xml b/vendor/adlx/SDKDoc/xml/py_sample_display_events.xml deleted file mode 100644 index 3a3c4fd..0000000 --- a/vendor/adlx/SDKDoc/xml/py_sample_display_events.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - py_sample_displayEvents - DisplayEvents - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demontrates how to handle notifications about display change when programming with ADLX.</p> - <h2>Sample Path</h2> - <p>/Samples/python/DisplayEvents</p> -</body> -</html> Code - -Python #<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- -#--> - -importADLXPybindasADLX -importtime - -#Callbackfordisplaylistchange -defcallBackDisplayList(displaylist)->bool: -print("displaylistchanged,currentdisplaycountis:",len(displaylist)) -forindex,displayinenumerate(displaylist): -name=display.name() -print("\tindex:{}name:{}".format(index,name)) -deldisplay -returnTrue - -#Iteratedisplayanddisplayeventtounplugandplugthedisplay -defdisplayDemo(): -#GetADLXHelpandADLXinitialization -adlxHelper=ADLX.ADLXHelper() -ret=adlxHelper.Initialize() - -ifret==ADLX.ADLX_RESULT.ADLX_OK: -#GetsystemServices -system=adlxHelper.GetSystemServices() - -ifsystemisnotNone: -#GetdisplayServices -displayService=system.GetDisplaysServices() - -ifdisplayServiceisnotNone: -#Getdisplaychangehandler -displayChangeHandler=displayService.GetDisplayChangedHandling() - -ifdisplayChangeHandlerisnotNone: -#Pythoncallback -callback=ADLX.DisplayListCallBack() -callback.call=callBackDisplayList -#Addcallback -displayChangeHandler.AddDisplayListEventListener(callback) -print("Plugorunplugadisplaywithin20seconds.") -time.sleep(20) -#Removecallback -displayChangeHandler.RemoveDisplayListEventListener(callback) - -#ReleasechangeHandlerinterface -deldisplayChangeHandler - -#ReleasedisplayServiceinterface -deldisplayService - -#TerminateADLX -ret=adlxHelper.Terminate() -print("ADLXTerminateretis:{}".format(ret)) - -displayDemo() - - - - - diff --git a/vendor/adlx/SDKDoc/xml/py_sample_displayinfo.xml b/vendor/adlx/SDKDoc/xml/py_sample_displayinfo.xml deleted file mode 100644 index fd8f94a..0000000 --- a/vendor/adlx/SDKDoc/xml/py_sample_displayinfo.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - py_sample_displayinfo - DisplayInfo - - - -<!-- -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- ---> -<!DOCTYPE html> -<html> -<body> - <p> Demonstrates how to obtain the display information when programming with ADLX to perform related tests.</p> - <h2>Sample Path</h2> - <p>/Samples/python/DisplayInfo</p> -</body> -</html> Code - -Python #<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- -#--> - -importADLXPybindasADLX - -#Iteratedisplayanddisplayevent:plugandunplugthedisplay -defdisplayDemo(): -#GetADLXHelpandADLXinitialization -adlxHelper=ADLX.ADLXHelper() -ret=adlxHelper.Initialize() - -ifret==ADLX.ADLX_RESULT.ADLX_OK: -#Getsystemservices -system=adlxHelper.GetSystemServices() - -ifsystemisnotNone: -#Getdisplayservices -displayService=system.GetDisplaysServices() - -ifdisplayServiceisnotNone: -#Iteratethroughthedisplaylist -count=displayService.GetNumberOfDisplays() -print("displaycount:{}".format(count)) -disList=displayService.GetDisplays() -ifdisListisnotNone: -forindex,displayinenumerate(disList): -ifdisplayisnotNone: -name=display.name() -type=display.type() -connectType=display.connectType() -mid=display.ManufacturerID() -edid=display.EDID() -h,v=display.resolution() -refreshRate=display.RefreshRate() -pclock=display.PixelClock() -scanType=display.ScanType() -id=display.UniqueId() -print("\nThedisplay[{}]:".format(index)) -print("\tName:{}".format(name)) -print("\tType:{}".format(type)) -print("\tConnectortype:{}".format(connectType)) -print("\tManufacturerid:{}".format(mid)) -print("\tEDID:{}".format(edid)) -print("\tResolution:h:{}v:{}".format(h,v)) -print("\tRefreshrate:{}".format(refreshRate)) -print("\tPixelclock:{}".format(pclock)) -print("\tScantype:{}".format(scanType)) -print("\tUniqueid:{}".format(id)) -#Releasedisplayinterface -deldisplay - -#ReleasedisplayListinterface -deldisList - -#ReleasedisplayServiceinterface -deldisplayService - -#TerminateADLX -ret=adlxHelper.Terminate() -print("ADLXTerminateretis:{}".format(ret)) - -displayDemo() - - - - - diff --git a/vendor/adlx/SDKDoc/xml/python_2_read_me_8md.xml b/vendor/adlx/SDKDoc/xml/python_2_read_me_8md.xml deleted file mode 100644 index 4e47d2e..0000000 --- a/vendor/adlx/SDKDoc/xml/python_2_read_me_8md.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - ReadMe.md - - - - - -@pagepage_sample_pyPythonSamples - -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -ThisdocumentdescribeshowtobuildthePythonbindingsforADLX,andtheADLXPythonsamples,aswellastheenvironmentinwhichtheycanbeexecuted.TheADLXPythonsamplesdemonstratehowtoprogramwithADLXinaPythonapplication. - -<h2>SupportedOperatingSystems</h2> -Windows®10(32-and64-bitversions)andup. - -<h2>BuildingtheADLXCSharpBind</h2> -ThesearetheinstructionsforbuildingtheADLXPythonbindingsfortheADLXPythonsamples. - -<h2>BuildTool</h2> -VisualStudio2019withCandC++componentsfordesktop. - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. --<b>Python3.9</b>isinstalled. --<b>pybind11</b>isinstalled. --ThepathtothePython3.9installationissettothe<b>PYHOME</b>systemenvironmentvariable. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudio2019.</li> -<li>Open`~ADLX\drivers\ADLX\Samples\python\ADLXPybind\ADLXPybind.sln`.</li> -<li>Rebuildtheproject.</li> -</ol> - -<h2>BuildingtheADLXPythonsamples</h2> -Thesearetheinstructionsforbuildingthe<b>DisplayInfo</b>ADLXPythonsample. -SimilarinstructionsmustbefollowedforbuildingtheotherADLXPythonsamples. - -<h2>BuildTool</h2> -VisualStudioCode - -<h2>Prerequisites</h2> --<b>ADLXSDK</b>isinstalled. --<b>ADLXCSharpBind</b>isbuilt. - -<b>Note:</b>TheADLXlibraryisinstalledalongwiththeAMDdisplaydriver. - -<h2>BuildInstructions</h2> -<ol> -<li>RunVisualStudioCode.</li> -<li>Open`~ADLX\drivers\ADLX\Samples\python\DisplayInfo`.</li> -<li>Rebuildtheproject.</li> -</ol> - - - - - diff --git a/vendor/adlx/SDKDoc/xml/servicecall_8md.xml b/vendor/adlx/SDKDoc/xml/servicecall_8md.xml deleted file mode 100644 index f8c41b2..0000000 --- a/vendor/adlx/SDKDoc/xml/servicecall_8md.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - servicecall.md - - - - - -@pagepage_guide_usingserviceUsingADLXinasystemserviceapplication - -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> - -WhileADLXcannotbeuseddirectlyinasystemserviceapplication,itsfunctionalitycanbeaccessedinasystemserviceapplicationthroughausermodeprocess.Acommunicationmechanismbetweentheusermodeprocessandthesystemservice,suchassharedmemory,willprovidetheADLXfunctionalitytothesystemservice. - -TouseADLXinasystemservice, -1.Createasystemserviceapplication. - -**Note:**FormoreinformationonhowtocreateasystemserviceinC++,see@refdomain_cpp_sample_servicecall"ServiceCallC++sample".FormoreinformationonhowtocreateasystemserviceinC,see@refdomain_c_sample_servicecall"ServiceCallCsample". - -2.Inthesystemservice,startathreadtocompletetheservicework,suchasServiceWorkerThread. -3.OntheServiceWorkerThread,getthetokenofthecurrentprocesstocreateauserprocessusingCreateProcessAsUserW. - -**Note:**FormoreinformationonhowtocreateauserprocessintoaserviceapplicationinC++,see@refcpp_sample_userprocess"UserProcessC++sample". -FormoreinformationonhowtocreateauserprocessintoaserviceapplicationinC, -see@refc_sample_userprocess"UserProcessCsample". - -4.Inusermode,processloadADLXandimplementthedesiredfunctionality. -5.Inusermode,processimplementacommunicationmechanismsuitableforcommunicatingwiththesystemservicesuchassharedmemoryandtietheADLXdatawiththecommunicationmechanism. -6.Runtheusermodeprocessandtheserviceapplication. - -Formoreinformation,see@refdomain_cpp_sample_servicecall"GPUServiceCallC++samples"and@refdomain_c_sample_servicecall"GPUServiceCallCsamples". - - - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x__3_d_l_u_t___data.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x__3_d_l_u_t___data.xml deleted file mode 100644 index 78b5b52..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x__3_d_l_u_t___data.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - ADLX_3DLUT_Data - ADLXStructures.h - - - ADLX_UINT16_RGB - ADLX_UINT16_RGB ADLX_3DLUT_Data::data[MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS] - [MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS *MAX_USER_3DLUT_NUM_POINTS] - data - - - -The data is a buffer containing 17*17*17 triplets of ADLX_UINT16_RGB values. Each triplet consists of red, green and blue values. For 3D LUT data we use ushort 0 - 0xFFFF, data must be zero-padded to 16-bit. - - - - - - - - -This structure contains custom 3D LUT information. - - - - - - - - - data - - - - - - - - - - ADLX_3DLUT_Datadata - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___custom_resolution.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___custom_resolution.xml deleted file mode 100644 index da10ef4..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___custom_resolution.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - ADLX_CustomResolution - ADLXStructures.h - - - adlx_int - adlx_int ADLX_CustomResolution::resWidth - - resWidth - - - -The resolution width. - - - - - - - - adlx_int - adlx_int ADLX_CustomResolution::resHeight - - resHeight - - - -The resolution height. - - - - - - - - adlx_int - adlx_int ADLX_CustomResolution::refreshRate - - refreshRate - - - -The refresh rate. - - - - - - - - ADLX_DISPLAY_SCAN_TYPE - ADLX_DISPLAY_SCAN_TYPE ADLX_CustomResolution::presentation - - presentation - - - -The presentation method, 0 PROGRESSIVE; 1 INTERLACED. - - - - - - - - ADLX_TIMING_STANDARD - ADLX_TIMING_STANDARD ADLX_CustomResolution::timingStandard - - timingStandard - - - -The display timing standard. - - - - - - - - adlx_long - adlx_long ADLX_CustomResolution::GPixelClock - - GPixelClock - - - -The speed at which pixels are transmitted within on a refresh cycle. - - - - - - - - ADLX_TimingInfo - ADLX_TimingInfo ADLX_CustomResolution::detailedTiming - - detailedTiming - - - -The detailed timing information. - - - - - - - - -This structure contains information for custom resolution parameters on a given display. - - - - - - - - - - - - - detailedTiming - - - - - - ADLX_CustomResolutiondetailedTiming - ADLX_CustomResolutionGPixelClock - ADLX_CustomResolutionpresentation - ADLX_CustomResolutionrefreshRate - ADLX_CustomResolutionresHeight - ADLX_CustomResolutionresWidth - ADLX_CustomResolutiontimingStandard - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamma_ramp.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamma_ramp.xml deleted file mode 100644 index 5b9549a..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamma_ramp.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - ADLX_GammaRamp - ADLXStructures.h - - - adlx_uint16 - adlx_uint16 ADLX_GammaRamp::gamma[256 *3] - [256 *3] - gamma - - - -The gamma ramp is a buffer containing 256 triplets of adlx_uint16 values. Each triplet consists of red, green and blue values. - - - - - - - - -This structure contains the display gamma ramp used to program the re-gamma LUT. - - - - - - ADLX_GammaRampgamma - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamut_color_space.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamut_color_space.xml deleted file mode 100644 index d2db607..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___gamut_color_space.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - ADLX_GamutColorSpace - ADLXStructures.h - - - ADLX_Point - ADLX_Point ADLX_GamutColorSpace::red - - red - - - -The red channel chromaticity coordinate. - - - - - - - - ADLX_Point - ADLX_Point ADLX_GamutColorSpace::green - - green - - - -The green channel chromaticity coordinate. - - - - - - - - ADLX_Point - ADLX_Point ADLX_GamutColorSpace::blue - - blue - - - -The blue channel chromaticity coordinate. - - - - - - - - -This structure contains information on driver-supported gamut coordinates. - - - - - - - - - blue - green - red - - - - - - - - - - ADLX_GamutColorSpaceblue - ADLX_GamutColorSpacegreen - ADLX_GamutColorSpacered - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___int_range.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___int_range.xml deleted file mode 100644 index f5a00a6..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___int_range.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - ADLX_IntRange - ADLXStructures.h - - - adlx_int - adlx_int ADLX_IntRange::minValue - - minValue - - - -The minimum integer value. - - - - - - - - adlx_int - adlx_int ADLX_IntRange::maxValue - - maxValue - - - -The maximum integer value. - - - - - - - - adlx_int - adlx_int ADLX_IntRange::step - - step - - - -The accepted integer range step. - - - - - - - - -This structure contains information on the integer range. - - - - - - ADLX_IntRangemaxValue - ADLX_IntRangeminValue - ADLX_IntRangestep - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___point.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___point.xml deleted file mode 100644 index d3c1114..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___point.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - ADLX_Point - ADLXStructures.h - - - adlx_int - adlx_int ADLX_Point::x - - x - - - -The x coordinate. - - - - - - - - adlx_int - adlx_int ADLX_Point::y - - y - - - -The y coordinate. - - - - - - - - -This structure contains information on driver point coordinates, and is used to store the driver-point coodinates for gamut, as well as white point. - - - - - - ADLX_Pointx - ADLX_Pointy - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___r_g_b.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___r_g_b.xml deleted file mode 100644 index cfb7a44..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___r_g_b.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - ADLX_RGB - ADLXStructures.h - - - adlx_double - adlx_double ADLX_RGB::gamutR - - gamutR - - - -Red - - - - - - - - adlx_double - adlx_double ADLX_RGB::gamutG - - gamutG - - - -Green - - - - - - - - adlx_double - adlx_double ADLX_RGB::gamutB - - gamutB - - - -Blue - - - - - - - - -This structure contains RGB information. - - - - - - ADLX_RGBgamutB - ADLX_RGBgamutG - ADLX_RGBgamutR - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___regamma_coeff.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___regamma_coeff.xml deleted file mode 100644 index 126d9ca..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___regamma_coeff.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - ADLX_RegammaCoeff - ADLXStructures.h - - - adlx_int - adlx_int ADLX_RegammaCoeff::coefficientA0 - - coefficientA0 - - - -The a0 gamma coefficient. - - - - - - - - adlx_int - adlx_int ADLX_RegammaCoeff::coefficientA1 - - coefficientA1 - - - -The a1 gamma coefficient. - - - - - - - - adlx_int - adlx_int ADLX_RegammaCoeff::coefficientA2 - - coefficientA2 - - - -The a2 gamma coefficient. - - - - - - - - adlx_int - adlx_int ADLX_RegammaCoeff::coefficientA3 - - coefficientA3 - - - -The a3 gamma coefficient. - - - - - - - - adlx_int - adlx_int ADLX_RegammaCoeff::gamma - - gamma - - - -The regamma divider. - - - - - - - - -This structure contains information on driver-supported re-gamma coefficients used to build the re-gamma curve. - - - - - - ADLX_RegammaCoeffcoefficientA0 - ADLX_RegammaCoeffcoefficientA1 - ADLX_RegammaCoeffcoefficientA2 - ADLX_RegammaCoeffcoefficientA3 - ADLX_RegammaCoeffgamma - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___timing_info.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___timing_info.xml deleted file mode 100644 index 2014455..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___timing_info.xml +++ /dev/null @@ -1,193 +0,0 @@ - - - - ADLX_TimingInfo - ADLXStructures.h - - - adlx_int - adlx_int ADLX_TimingInfo::timingFlags - - timingFlags - - - -The detailed timing flag. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::hTotal - - hTotal - - - -The total number of pixels that compose all scan lines during a horizontal sync. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::vTotal - - vTotal - - - -The total number of vertical pixels permitted/processed per sync. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::hDisplay - - hDisplay - - - -The number of horizontal pixels within the active area. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::vDisplay - - vDisplay - - - -The number of vertical pixels within the active display area. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::hFrontPorch - - hFrontPorch - - - -The number of horizontal pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display up to the right/bottom portion of the actual image. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::vFrontPorch - - vFrontPorch - - - -The number of vertical pixels between the end of the active area and the next sync. This is the distance between the right/bottom portion of the display to the right/bottom portion of the actual image. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::hSyncWidth - - hSyncWidth - - - -The number of pixels that compose a scan line during a horizontal sync. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::vSyncWidth - - vSyncWidth - - - -The number of vertical pixels permitted/processed during a sync. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::hPolarity - - hPolarity - - - -The horizontal polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. - - - - - - - - adlx_int - adlx_int ADLX_TimingInfo::vPolarity - - vPolarity - - - -The vertical polarity of sync signals, 0 POSITIVE; 1 NEGATIVE. Positive makes the active signals high while negative makes the active signals low. - - - - - - - - -This structure contains display timing information. - - - - - - ADLX_TimingInfohDisplay - ADLX_TimingInfohFrontPorch - ADLX_TimingInfohPolarity - ADLX_TimingInfohSyncWidth - ADLX_TimingInfohTotal - ADLX_TimingInfotimingFlags - ADLX_TimingInfovDisplay - ADLX_TimingInfovFrontPorch - ADLX_TimingInfovPolarity - ADLX_TimingInfovSyncWidth - ADLX_TimingInfovTotal - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___u_i_n_t16___r_g_b.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___u_i_n_t16___r_g_b.xml deleted file mode 100644 index de72095..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x___u_i_n_t16___r_g_b.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - ADLX_UINT16_RGB - ADLXStructures.h - - - adlx_uint16 - adlx_uint16 ADLX_UINT16_RGB::red - - red - - - -Red - - - - - - - - adlx_uint16 - adlx_uint16 ADLX_UINT16_RGB::green - - green - - - -Green - - - - - - - - adlx_uint16 - adlx_uint16 ADLX_UINT16_RGB::blue - - blue - - - -Blue - - - - - - - - -This structure contains UINT16 RGB information. - - - - - - ADLX_UINT16_RGBblue - ADLX_UINT16_RGBgreen - ADLX_UINT16_RGBred - - - diff --git a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x_helper.xml b/vendor/adlx/SDKDoc/xml/struct_a_d_l_x_helper.xml deleted file mode 100644 index 3239a98..0000000 --- a/vendor/adlx/SDKDoc/xml/struct_a_d_l_x_helper.xml +++ /dev/null @@ -1,403 +0,0 @@ - - - - ADLXHelper - - - adlx_handle - adlx_handle ADLXHelper::m_hDLLHandle - - m_hDLLHandle - = nullptr - - - - - - - - - - adlx_uint64 - adlx_uint64 ADLXHelper::m_ADLXFullVersion - - m_ADLXFullVersion - = 0 - - - - - - - - - - const char * - const char * ADLXHelper::m_ADLXVersion - - m_ADLXVersion - = nullptr - - - - - - - - - - IADLXSystem * - IADLXSystem* ADLXHelper::m_pSystemServices - - m_pSystemServices - - - - - - - - - - IADLMapping * - IADLMapping* ADLXHelper::m_pAdlMapping - - m_pAdlMapping - - - - - - - - - - ADLXQueryFullVersion_Fn - ADLXQueryFullVersion_Fn ADLXHelper::m_fullVersionFn - - m_fullVersionFn - = nullptr - - - - - - - - - - ADLXQueryVersion_Fn - ADLXQueryVersion_Fn ADLXHelper::m_versionFn - - m_versionFn - = nullptr - - - - - - - - - - ADLXInitializeWithCallerAdl_Fn - ADLXInitializeWithCallerAdl_Fn ADLXHelper::m_initWithADLFn - - m_initWithADLFn - = nullptr - - - - - - - - - - ADLXInitialize_Fn - ADLXInitialize_Fn ADLXHelper::m_initFnEx - - m_initFnEx - = nullptr - - - - - - - - - - ADLXInitialize_Fn - ADLXInitialize_Fn ADLXHelper::m_initFn - - m_initFn - = nullptr - - - - - - - - - - ADLXTerminate_Fn - ADLXTerminate_Fn ADLXHelper::m_terminateFn - - m_terminateFn - = nullptr - - - - - - - - - - - - adlx::IADLXSystem * - adlx::IADLXSystem* ADLXHelper::m_pSystemServices - - m_pSystemServices - = nullptr - - - - - - - - - - adlx::IADLMapping * - adlx::IADLMapping* ADLXHelper::m_pAdlMapping - - m_pAdlMapping - = nullptr - - - - - - - - - - - - - ADLXHelper::ADLXHelper - () - ADLXHelper - - - - - - - - - - - ADLXHelper::~ADLXHelper - () - ~ADLXHelper - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::InitializeWithCallerAdl - (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree) - InitializeWithCallerAdl - - adlx_handle - adlContext - - - ADLX_ADL_Main_Memory_Free - adlMainMemoryFree - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::Initialize - () - Initialize - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::InitializeWithIncompatibleDriver - () - InitializeWithIncompatibleDriver - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::Terminate - () - Terminate - - - - - - - - - - adlx_uint64 - adlx_uint64 ADLXHelper::QueryFullVersion - () - QueryFullVersion - - - - - - - - - - const char * - const char * ADLXHelper::QueryVersion - () - QueryVersion - - - - - - - - - - adlx::IADLXSystem * - adlx::IADLXSystem * ADLXHelper::GetSystemServices - () - GetSystemServices - - - - - - - - - - adlx::IADLMapping * - adlx::IADLMapping * ADLXHelper::GetAdlMapping - () - GetAdlMapping - - - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::LoadADLXDll - () - LoadADLXDll - - - - - - - - - - ADLX_RESULT - ADLX_RESULT ADLXHelper::InitializePrivate - (adlx_handle adlContext, ADLX_ADL_Main_Memory_Free adlMainMemoryFree, adlx_bool useIncompatibleDriver=false) - InitializePrivate - - adlx_handle - adlContext - - - ADLX_ADL_Main_Memory_Free - adlMainMemoryFree - - - adlx_bool - useIncompatibleDriver - false - - - - - - - - - - - - - - - - - ADLXHelperADLXHelper - ADLXHelperGetAdlMapping - ADLXHelperGetSystemServices - ADLXHelperInitialize - ADLXHelperInitializePrivate - ADLXHelperInitializeWithCallerAdl - ADLXHelperInitializeWithIncompatibleDriver - ADLXHelperLoadADLXDll - ADLXHelperm_ADLXFullVersion - ADLXHelperm_ADLXVersion - ADLXHelperm_fullVersionFn - ADLXHelperm_hDLLHandle - ADLXHelperm_initFn - ADLXHelperm_initFnEx - ADLXHelperm_initWithADLFn - ADLXHelperm_pAdlMapping - ADLXHelperm_pAdlMapping - ADLXHelperm_pSystemServices - ADLXHelperm_pSystemServices - ADLXHelperm_terminateFn - ADLXHelperm_versionFn - ADLXHelperQueryFullVersion - ADLXHelperQueryVersion - ADLXHelperTerminate - ADLXHelper~ADLXHelper - - - diff --git a/vendor/adlx/SDKDoc/xml/system.xml b/vendor/adlx/SDKDoc/xml/system.xml deleted file mode 100644 index 242503f..0000000 --- a/vendor/adlx/SDKDoc/xml/system.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - system - System - IADLXSystem - IADLXSystem1 - - - -The System domain contains interfaces that provide platform-specific access to entries of other domains. Examples include GPU, Display or GPU Tuning. - -IADLXSystem -IADLXSystem1 - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/use_a_d_l_xin_app_8md.xml b/vendor/adlx/SDKDoc/xml/use_a_d_l_xin_app_8md.xml deleted file mode 100644 index aa87491..0000000 --- a/vendor/adlx/SDKDoc/xml/use_a_d_l_xin_app_8md.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - useADLXinApp.md - - - - - -@pagepage_guide_use_ADLXUsingADLXinanapplication -<!-- -#Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -# -#------------------------------------------------------------------------------------------------- ---> -TheADLXSDKprovidesdifferentversionsoftheADLXinitializationfunctiontousewhenyouloadADLXintoanewapplicationorintoanexistingapplicationthatusesADL. - -<h2>Prerequisite(s)</h2> - --InstalltheADLXSDKbeforeprogramminganapplicationwithADLX.NativesupportisprovidedforC,andC++. --BuildtheADLXbindingwrapperwhenprogramminginC#,Java,orPython. - -<h2>ToaccesstheADLXSysteminterface</h2> - -1.ProgramanapplicationtoloadtheADLXlibrary. -2.LoadtheADLXlibrary. -3.InitializeADLXbylocatingandcallingthepointertotherespectivefunction. - -**Result:**AccesstotheADLXSysteminterfaceisprovidedonasuccessfulInitializationcall. - -**Note:**TherearedifferentADLXinitializationversionsthatcorrespondtoaspecificfunction.ProgramyourapplicationtoonlyfindonefunctionpointertocallaspecificADLXInitializationfunctionthatbestsuitsyourrequirement. - -<h2>Context</h2> - -TheADLXSysteminterfaceisthegatewaytoallavailableADLXinterfaces.TheseinterfacesprovidethemethodsrequiredtoaccessallthefeaturesavailableintheAMDdriver. -TheADLXHelpercodeprovidedwiththeADLXSDKsimplifiestheloadingandunloadingofADLXbyfinding,andthencallingtherequiredfunctionpointerswheneverADLXisinitialized. - -<h2>UsingADLXinanewapplication</h2> - -YoucanprogramanewapplicationtouseADLXtoworkwiththeAMDdriver.YoucanloadandinitializeADLXinanewapplicationbyaccessingthe**ADLXInitialize**function. - --ForC++,C#,Java,andPythonThroughtheADLXHelperclass@refpage_cppHelpInitializemethod. --ForCThroughADLXHelpercode,@refpage_cHelpADLXHelper_Initializefunction. --DirectlyWithouttheADLXHelpercode,through@refpage_ADLXInitialize_Fnfunctionpointer. - -<h2>UsingADLXinanADLapplication</h2> - -AnexistingapplicationthatusesADLcanbeprogrammedtosupportADLXwithoutrewritingtheentirecode.ADLXprovides**ADLXInitializeWithCallerADL**asaninitializationfunctiontoloadandinitializeADLXinanapplicationthatalreadyusesADL.YoucanloadandinitializeADLXinaapplicationthatusesADLbyaccessingthe**ADLXInitializeWithCallerADL**function: - --ForC++ThroughtheADLXHelperclass,@refpage_cppHelpInitializeWithCallerAdlmethod. --ForCThroughtheADLXHelpercode,@refpage_cHelpADLXHelper_InitializeWithCallerAdlfunction. --DirectlyWithouttheADLXHelpercode,through@refpage_ADLXInitializeWithCallerAdl_Fnfunctionpointer. - -PasstheADLcontextandthe@refADLX_ADL_Main_Memory_Freefunction(previouslypassedduringADLinitialization)asinputparametersinto**ADLXInitializeWithCallerADL**.The@refDOX_IADLMappinginterfaceisprovidedasoutputparameter.ThisinterfaceprovidesdatamappingbetweenADLandADLXforaspecificentity(GPU,DisplayorDesktop). - - - - diff --git a/vendor/adlx/SDKDoc/xml/xml.xsd b/vendor/adlx/SDKDoc/xml/xml.xsd deleted file mode 100644 index 9f80fe1..0000000 --- a/vendor/adlx/SDKDoc/xml/xml.xsd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/adlx/SDKDoc/xml/z_a_d_l_x_sample_page_8h.xml b/vendor/adlx/SDKDoc/xml/z_a_d_l_x_sample_page_8h.xml deleted file mode 100644 index 9964e6f..0000000 --- a/vendor/adlx/SDKDoc/xml/z_a_d_l_x_sample_page_8h.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - zADLXSamplePage.h - - - - - -// -//Copyright(c)2021-2023AdvancedMicroDevices,Inc.Allrightsreserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndefADLXSAMPLE_PAGE_H -#defineADLXSAMPLE_PAGE_H -#pragmaonce - -//Domain_End_Documentation -#endif//ADLXDox_H - - - - diff --git a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/CMakeLists.txt deleted file mode 100644 index fa2cb30..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "3DSettingsEvent") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "main3DSettingsEvent.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/ReadMe.html deleted file mode 100644 index 5517a16..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.

-

Sample Path

-

/Samples/C/3DGraphics/3DSettingsEvent

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/main3DSettingsEvent.c b/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/main3DSettingsEvent.c deleted file mode 100644 index 14fdcca..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/3DSettingsEvent/main3DSettingsEvent.c +++ /dev/null @@ -1,176 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file main3DSettingsEvent.c -/// \brief Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Block event -HANDLE blockEvent = NULL; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName); - -// Call-back to handle changed events -adlx_bool ADLX_STD_CALL on3DSettingsChanged(IADLX3DSettingsChangedListener* pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) -{ - ADLX_RESULT res; - IADLXGPU* gpu = NULL; - res = p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent, &gpu); - if (ADLX_SUCCEEDED(res)) - { - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - adlx_bool antiLagChanged = p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent); - printf("\tGPU: %s AntiLag changed: %d\n", uniqueName, antiLagChanged); - } - - SetEvent(blockEvent); - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -}; -static IADLX3DSettingsChangedListenerVtbl vtbl = {&on3DSettingsChanged}; -static IADLX3DSettingsChangedListener call = {&vtbl}; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get change handle - IADLX3DSettingsChangedHandling* changeHandle = NULL; - res = d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv, &changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Add call-back - ADLX_RESULT addListenerRes = changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle, &call); - - // Change anti-lag state - IADLX3DAntiLag* antiLag = NULL; - d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv, gpu, &antiLag); - adlx_bool enable; - antiLag->pVtbl->IsEnabled(antiLag, &enable); - - printf("\nWaiting for 3DSettings change event (5s)...\n"); - antiLag->pVtbl->SetEnabled(antiLag, !enable); - WaitForSingleObject(blockEvent, 5000); - - if (ADLX_SUCCEEDED (addListenerRes)) - { - // Remove call-back - res = changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle, &call); - if (ADLX_FAILED (res)) - printf("\nRemove 3DSettings event listener failed\n"); - } - - // Release the AntiLag interface - if (antiLag != NULL) - { - antiLag->pVtbl->Release(antiLag); - antiLag = NULL; - } - - } - - // Release the changeHandle interface - if (changeHandle != NULL) - { - changeHandle->pVtbl->Release(changeHandle); - changeHandle = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName) -{ - if (NULL != gpu && NULL != uniqueName) - { - const char* gpuName = NULL; - ADLX_RESULT res1 = gpu->pVtbl->Name(gpu, &gpuName); - adlx_int id; - ADLX_RESULT res2 = gpu->pVtbl->UniqueId(gpu, &id); - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/CMakeLists.txt deleted file mode 100644 index b3c3f9f..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AnisotropicFiltering") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAnisotropicFiltering.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/ReadMe.html deleted file mode 100644 index 0414f18..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display anisotropic filtering support
2 Display current anisotropic filtering state and level
3 Enable and change anisotropic filtering levels
4 Disable anisotropic filtering
M/m Display main menu options
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AnisotropicFiltering

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.c b/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.c deleted file mode 100644 index 5ca0eeb..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.c +++ /dev/null @@ -1,215 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAnisotropicFiltering.c -/// \brief Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display anisotropic filtering support -void ShowSupport(IADLX3DAnisotropicFiltering* anisotropicFiltering); - -// Get current anisotropic filtering state -void GetState(IADLX3DAnisotropicFiltering* anisotropicFiltering); - -// Set anisotropic filtering state -void SetState(IADLX3DAnisotropicFiltering* anisotropicFiltering, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DAnisotropicFiltering* anisotropicFiltering); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get AnisotropicFiltering interface - IADLX3DAnisotropicFiltering* anisotropicFiltering = NULL; - res = d3dSettingSrv->pVtbl->GetAnisotropicFiltering(d3dSettingSrv, gpu, &anisotropicFiltering); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(anisotropicFiltering); - } - - // Release the AnisotropicFiltering interface - if (anisotropicFiltering != NULL) - { - anisotropicFiltering->pVtbl->Release(anisotropicFiltering); - anisotropicFiltering = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -static char* getlevelStr(ADLX_ANISOTROPIC_FILTERING_LEVEL level) -{ - switch (level) - { - case AF_LEVEL_INVALID: - return "Invalid"; - case AF_LEVEL_X2: - return "2X"; - case AF_LEVEL_X4: - return "4X"; - case AF_LEVEL_X8: - return "8X"; - case AF_LEVEL_X16: - return "16X"; - default: - return "UNKNOWN"; - } -}; - -void ShowSupport(IADLX3DAnisotropicFiltering* anisotropicFiltering) -{ - adlx_bool supported = false; - ADLX_RESULT res = anisotropicFiltering->pVtbl->IsSupported(anisotropicFiltering, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported: %d\n", supported); -} - -void GetState(IADLX3DAnisotropicFiltering* anisotropicFiltering) -{ - adlx_bool enabled = false; - ADLX_RESULT res = anisotropicFiltering->pVtbl->IsEnabled(anisotropicFiltering, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("\tIsEnabled: %d\n", enabled); - ADLX_ANISOTROPIC_FILTERING_LEVEL level; - res = anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering, &level); - if (ADLX_SUCCEEDED(res)) - printf("\tLevel: %s\n", getlevelStr(level)); -} - -void SetState(IADLX3DAnisotropicFiltering* anisotropicFiltering, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - res = anisotropicFiltering->pVtbl->SetEnabled(anisotropicFiltering, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - ADLX_ANISOTROPIC_FILTERING_LEVEL level; - res = anisotropicFiltering->pVtbl->GetLevel(anisotropicFiltering, &level); - if (ADLX_SUCCEEDED (res)) - { - level = (level == AF_LEVEL_X2) ? AF_LEVEL_X4 : AF_LEVEL_X2; - res = anisotropicFiltering->pVtbl->SetLevel(anisotropicFiltering, level); - printf("\tSet level: %s ,return code is: %d (0 means success)\n", getlevelStr(level), res); - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display anisotropic filtering support\n"); - printf("\t->Press 2 to display current anisotropic filtering state\n"); - printf("\t->Press 3 to enable and change anisotropic filtering levels\n"); - printf("\t->Press 4 to disable anisotropic filtering\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLX3DAnisotropicFiltering* anisotropicFiltering) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display anisotropic filtering support - case '1': - ShowSupport(anisotropicFiltering); - break; - - // Display current anisotropic filtering state - case '2': - GetState(anisotropicFiltering); - break; - - // Enable and change anisotropic filtering levels - case '3': - case '4': - SetState(anisotropicFiltering, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/CMakeLists.txt deleted file mode 100644 index fd6950c..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AntiAliasing") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAntiAliasing.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/ReadMe.html deleted file mode 100644 index c8dfe52..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display anti-aliasing support
2 Display current anti-aliasing state, mode, method, and level
3 Set anti-aliasing mode: Use application settings
4 Set anti-aliasing mode: Enhance application settings
5 Set anti-aliasing mode: Override application settings
6 Set anti-aliasing method
7 Set anti-aliasing level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AntiAliasing

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/mainAntiAliasing.c b/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/mainAntiAliasing.c deleted file mode 100644 index 33627e0..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiAliasing/mainAntiAliasing.c +++ /dev/null @@ -1,288 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAntiAliasing.c -/// \brief Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display anti-aliasing support -void ShowAntiAliasingSupport(IADLX3DAntiAliasing* antiAliasing); - -// Display current anti-aliasing state -void GetAntiAliasingState(IADLX3DAntiAliasing* antiAliasing); - -// Set anti-aliasing mode -void SetAntiAliasingMode(IADLX3DAntiAliasing* antiAliasing, int index); - -// Set anti-aliasing method -void SetAntiAliasingMethod(IADLX3DAntiAliasing* antiAliasing); - -// Set anti-aliasing level -void SetAntiAliasingLevel(IADLX3DAntiAliasing* antiAliasing); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DAntiAliasing* antiAliasing); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get AntiAliasing interface - IADLX3DAntiAliasing* antiAliasing = NULL; - res = d3dSettingSrv->pVtbl->GetAntiAliasing(d3dSettingSrv, gpu, &antiAliasing); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(antiAliasing); - } - - // Release the AntiAliasing interface - if (antiAliasing != NULL) - { - antiAliasing->pVtbl->Release(antiAliasing); - antiAliasing = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -static char* getModeStr(ADLX_ANTI_ALIASING_MODE mode) -{ - switch (mode) - { - case AA_MODE_USE_APP_SETTINGS: - return "Use application settings"; - case AA_MODE_ENHANCE_APP_SETTINGS: - return "Enhance application settings"; - case AA_MODE_OVERRIDE_APP_SETTINGS: - return "Override application settings"; - default: - return "UNKNOWN"; - } -}; - -static char* getMethodStr(ADLX_ANTI_ALIASING_METHOD method) -{ - switch (method) - { - case AA_METHOD_MULTISAMPLING: - return "Muti-Sampling"; - case AA_METHOD_ADAPTIVE_MULTISAMPLING: - return "Adaptive Muti-Sampling"; - case AA_METHOD_SUPERSAMPLING: - return "Super Sampling"; - default: - return "UNKNOWN"; - } -}; - -static char* getLevelStr(ADLX_ANTI_ALIASING_LEVEL level) -{ - switch (level) - { - case AA_LEVEL_INVALID: - return "Level Invalid"; - case AA_LEVEL_2X: - return "2X"; - case AA_LEVEL_2XEQ: - return "2XEQ"; - case AA_LEVEL_4X: - return "4X"; - case AA_LEVEL_4XEQ: - return "4XEQ"; - case AA_LEVEL_8X: - return "8X"; - case AA_LEVEL_8XEQ: - return "8XEQ"; - default: - return "UNKNOWN"; - } -}; - -void ShowAntiAliasingSupport(IADLX3DAntiAliasing* antiAliasing) -{ - adlx_bool supported = false; - ADLX_RESULT res = antiAliasing->pVtbl->IsSupported(antiAliasing, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported: %d\n", supported); -} - -void GetAntiAliasingState(IADLX3DAntiAliasing* antiAliasing) -{ - ADLX_ANTI_ALIASING_MODE mode; - ADLX_RESULT res = antiAliasing->pVtbl->GetMode(antiAliasing, &mode); - if (ADLX_SUCCEEDED (res)) - printf("\tMode: %s\n", getModeStr(mode)); - ADLX_ANTI_ALIASING_METHOD method; - res = antiAliasing->pVtbl->GetMethod(antiAliasing, &method); - if (ADLX_SUCCEEDED (res)) - printf("\tMethod: %s\n", getMethodStr(method)); - ADLX_ANTI_ALIASING_LEVEL level; - res = antiAliasing->pVtbl->GetLevel(antiAliasing, &level); - if (ADLX_SUCCEEDED (res)) - printf("\tLevel: %s\n", getLevelStr(level)); -} - -void SetAntiAliasingMode(IADLX3DAntiAliasing* antiAliasing, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - ADLX_ANTI_ALIASING_MODE mode = AA_MODE_USE_APP_SETTINGS; - mode = (ADLX_ANTI_ALIASING_MODE)(mode + index); - res = antiAliasing->pVtbl->SetMode(antiAliasing, mode); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void SetAntiAliasingMethod(IADLX3DAntiAliasing* antiAliasing) -{ - ADLX_ANTI_ALIASING_METHOD method = AA_METHOD_MULTISAMPLING; - ADLX_RESULT res = antiAliasing->pVtbl->GetMethod(antiAliasing, &method); - if (ADLX_SUCCEEDED (res)) - { - method = (ADLX_ANTI_ALIASING_METHOD)((method + 1) % 3); - res = antiAliasing->pVtbl->SetMethod(antiAliasing, method); - printf("\tSet method: %s, res is: %d\n", getMethodStr(method), res); - } -} - -void SetAntiAliasingLevel(IADLX3DAntiAliasing* antiAliasing) -{ - ADLX_ANTI_ALIASING_LEVEL level; - ADLX_RESULT res = antiAliasing->pVtbl->GetLevel(antiAliasing, &level); - if (ADLX_SUCCEEDED (res)) - { - level = (level == AA_LEVEL_2X) ? AA_LEVEL_4X : AA_LEVEL_2X; - res = antiAliasing->pVtbl->SetLevel(antiAliasing, level); - printf("\tSet level: %s, res is: %d\n", getLevelStr(level), res); - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display anti-aliasing support\n"); - printf("\t->Press 2 to display current anti-aliasing state\n"); - printf("\t->Press 3 to set anti-aliasing mode: Use application settings\n"); - printf("\t->Press 4 to set anti-aliasing mode: Enhance application settings\n"); - printf("\t->Press 5 to set anti-aliasing mode: Override application settings\n"); - - printf("\t->Press 6 to change anti-aliasing method\n"); - printf("\t->Press 7 to change anti-aliasing level\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DAntiAliasing* antiAliasing) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display anti-aliasing support - case '1': - ShowAntiAliasingSupport(antiAliasing); - break; - - // Display current anti-aliasing status - case '2': - GetAntiAliasingState(antiAliasing); - break; - - // Set anti-aliasing mode - case '3': - case '4': - case '5': - SetAntiAliasingMode(antiAliasing, num - '3'); - break; - - // Set anti-aliasing method - case '6': - SetAntiAliasingMethod(antiAliasing); - break; - - // Set anti-aliasing level - case '7': - SetAntiAliasingLevel(antiAliasing); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiLag/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/AntiLag/CMakeLists.txt deleted file mode 100644 index c8613bd..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiLag/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AntiLag") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAntiLag.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiLag/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/AntiLag/ReadMe.html deleted file mode 100644 index ecac270..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiLag/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Anti-Lag support
2 Display current Radeon Anti-Lag state
3 Enable Radeon Anti-Lag
4 Disable Radeon Anti-Lag
5 Get Radeon Anti-Lag Level
6 Set Radeon Anti-Lag Level to Anti-Lag
7 Set Radeon Anti-Lag Level to Anti-Lag Next
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/AntiLag

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/AntiLag/mainAntiLag.c b/vendor/adlx/Samples/C/3DGraphics/AntiLag/mainAntiLag.c deleted file mode 100644 index 81c87bb..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/AntiLag/mainAntiLag.c +++ /dev/null @@ -1,229 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAntiLag.c -/// \brief Demonstrates how to access AMD Radeon Anti-Lag options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Anti-Lag support -void ShowAntiLagSupport(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1); - -// Display current Anti-Lag state -void GetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1); - -// Set Anti-Lag state -void SetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1, int index); - -// Display current Anti-Lag Level -void GetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1); - -// Set Anti-Lag Level -void SetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1, ADLX_ANTILAG_STATE level); - - -// Menu -void MainMenu(int alnSupport); - -// Menu control -void MenuControl(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get AntiLag interface - IADLX3DAntiLag* d3dAntiLag = NULL; - IADLX3DAntiLag1* d3dAntiLag1 = NULL; - res = d3dSettingSrv->pVtbl->GetAntiLag(d3dSettingSrv, gpu, &d3dAntiLag); - if (ADLX_SUCCEEDED(res)) - { - // Get AntiLag1 interface - ADLX_RESULT resALN = d3dAntiLag->pVtbl->QueryInterface(d3dAntiLag, IID_IADLX3DAntiLag1, (void**)(&d3dAntiLag1)); - - MainMenu(d3dAntiLag1 != NULL ? 1 : 0); - MenuControl(d3dAntiLag, d3dAntiLag1); - } - - // Release the d3dAntiLag interface - if (d3dAntiLag != NULL) - { - d3dAntiLag->pVtbl->Release(d3dAntiLag); - d3dAntiLag = NULL; - } - if (d3dAntiLag1 != NULL) - { - d3dAntiLag1->pVtbl->Release(d3dAntiLag1); - d3dAntiLag1 = NULL; - } - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowAntiLagSupport(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1) -{ - adlx_bool supported = false; - if (d3dAntiLag1 != NULL) - d3dAntiLag1->pVtbl->IsSupported(d3dAntiLag1, &supported); - else - d3dAntiLag->pVtbl->IsSupported(d3dAntiLag, &supported); - printf("\tIsSupported: %d\n", supported); -} - -void GetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1) -{ - adlx_bool enabled = false; - if (d3dAntiLag1 != NULL) - d3dAntiLag1->pVtbl->IsEnabled(d3dAntiLag1, &enabled); - else - d3dAntiLag->pVtbl->IsEnabled(d3dAntiLag, &enabled); - printf("\tIsEnabled: %d\n", enabled); -} - -void SetAntiLagState(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1, int index) -{ - ADLX_RESULT res; - if (d3dAntiLag1 != NULL) - res = d3dAntiLag1->pVtbl->SetEnabled(d3dAntiLag1, index == 0); - else - res = d3dAntiLag->pVtbl->SetEnabled(d3dAntiLag, index == 0); - printf("\tReturn code is: %d (0 means Success)\n", res); -} - -void GetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1) -{ - ADLX_ANTILAG_STATE level = ANTILAG; - ADLX_RESULT res = d3dAntiLag1->pVtbl->GetLevel(d3dAntiLag1, &level); - if (ADLX_SUCCEEDED(res)) - printf("\tLevel: %s\n", (level == ANTILAG ? "Anti-Lag" : "Anti-Lag Next")); -} - -void SetAntiLagLevel(IADLX3DAntiLag1* d3dAntiLag1, ADLX_ANTILAG_STATE level) -{ - ADLX_RESULT res = d3dAntiLag1->pVtbl->SetLevel(d3dAntiLag1, level == ANTILAGNEXT); - printf("\tReturn code is: %d (0 means Success)\n", res); -} - -void MainMenu(int alnSupport) -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Anti-Lag support\n"); - printf("\t->Press 2 to display current Anti-Lag state\n"); - printf("\t->Press 3 to enable Anti-Lag\n"); - printf("\t->Press 4 to disable Anti-Lag\n"); - if (alnSupport == 1) - { - printf("\t->Press 5 to Get Anti-Lag Level\n"); - printf("\t->Press 6 to Set Anti-Lag level to Anti-Lag\n"); - printf("\t->Press 7 to Set Anti-Lag level to Anti-Lag Next\n"); - } - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DAntiLag* d3dAntiLag, IADLX3DAntiLag1* d3dAntiLag1) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Anti-Lag support - case '1': - ShowAntiLagSupport(d3dAntiLag, d3dAntiLag1); - break; - - // Display current Anti-Lag state - case '2': - GetAntiLagState(d3dAntiLag, d3dAntiLag1); - break; - - // Set Anti-Lag state - case '3': - case '4': - SetAntiLagState(d3dAntiLag, d3dAntiLag1, num - '3'); - break; - case '5': - GetAntiLagLevel(d3dAntiLag1); - break; - case '6': - SetAntiLagLevel(d3dAntiLag1, ANTILAG); - break; - case '7': - SetAntiLagLevel(d3dAntiLag1, ANTILAGNEXT); - break; - // Display menu options - case 'm': - case 'M': - MainMenu(d3dAntiLag1 != NULL ? 1 : 0); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/Boost/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/Boost/CMakeLists.txt deleted file mode 100644 index 459ea3f..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Boost/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Boost") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainBoost.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/Boost/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/Boost/ReadMe.html deleted file mode 100644 index 0996449..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Boost/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Boost support
2 Display current Radeon Boost state, current resolution, and resolution range
3 Enable Radeon Boost and change minimum resolution
4 Disable Radeon Boost
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Boost

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/Boost/mainBoost.c b/vendor/adlx/Samples/C/3DGraphics/Boost/mainBoost.c deleted file mode 100644 index ee5cbd6..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Boost/mainBoost.c +++ /dev/null @@ -1,208 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainBoost.c -/// \brief Demonstrates how to access AMD Radeon Boost options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Boost support -void ShowBoostSupport(IADLX3DBoost* d3dBoost); - -// Display current Boost state -void GetBoostState(IADLX3DBoost* d3dBoost); - -// Set Boost state -void SetBoostState(IADLX3DBoost* d3dBoost, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DBoost* d3dBoost); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get Boost interface - IADLX3DBoost* d3dBoost = NULL; - res = d3dSettingSrv->pVtbl->GetBoost(d3dSettingSrv, gpu, &d3dBoost); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dBoost); - } - - // Release Boost interface - if (d3dBoost != NULL) - { - d3dBoost->pVtbl->Release(d3dBoost); - d3dBoost = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowBoostSupport(IADLX3DBoost* d3dBoost) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dBoost->pVtbl->IsSupported(d3dBoost, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported: %d\n", supported); -} - -void GetBoostState(IADLX3DBoost* d3dBoost) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dBoost->pVtbl->IsEnabled(d3dBoost, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("\tIsEnabled: %d\n", enabled); - adlx_int minRes; - ADLX_IntRange resolutionRange; - res = d3dBoost->pVtbl->GetResolution(d3dBoost, &minRes); - if (ADLX_SUCCEEDED(res)) - printf("\tCurrent Resolution: %d\n", minRes); - res = d3dBoost->pVtbl->GetResolutionRange(d3dBoost, &resolutionRange); - if (ADLX_SUCCEEDED(res)) - printf("\tResolution limit [ %d , %d ], step: %d\n", resolutionRange.minValue, resolutionRange.maxValue, resolutionRange.step); -} - -void SetBoostState(IADLX3DBoost* d3dBoost, int index) -{ - ADLX_RESULT res = d3dBoost->pVtbl->SetEnabled(d3dBoost, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int minRes; - ADLX_IntRange resolutionRange; - ADLX_RESULT res1 = d3dBoost->pVtbl->GetResolution(d3dBoost, &minRes); - ADLX_RESULT res2 = d3dBoost->pVtbl->GetResolutionRange(d3dBoost, &resolutionRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - if (minRes != resolutionRange.minValue) - { - res = d3dBoost->pVtbl->SetResolution(d3dBoost, resolutionRange.minValue); - printf("\tUse minimum resolution limit, return code is: %d (0 means success)\n", res); - } - else - { - res = d3dBoost->pVtbl->SetResolution(d3dBoost, resolutionRange.maxValue); - printf("\tUse maximum resolution limit, return code is: %d (0 means success)\n", res); - } - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Boost support\n"); - printf("\t->Press 2 to display current Boost state\n"); - printf("\t->Press 3 to enable Boost\n"); - printf("\t->Press 4 to disable Boost\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DBoost* d3dBoost) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Boost support - case '1': - ShowBoostSupport(d3dBoost); - break; - - // Display current Boost state - case '2': - GetBoostState(d3dBoost); - break; - - // Set Boost - case '3': - case '4': - SetBoostState(d3dBoost, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/Chill/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/Chill/CMakeLists.txt deleted file mode 100644 index 1af576e..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Chill/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Chill") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainChill.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/Chill/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/Chill/ReadMe.html deleted file mode 100644 index ca1bc86..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Chill/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Chill support
2 Display current Radeon Chill state, current FPS, and FPS range
3 Enable Radeon Chill
4 Disable Radeon Chill
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Chill

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/Chill/mainChill.c b/vendor/adlx/Samples/C/3DGraphics/Chill/mainChill.c deleted file mode 100644 index 6a969c8..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Chill/mainChill.c +++ /dev/null @@ -1,212 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainChill.c -/// \brief Demonstrates how to access AMD Radeon Chill options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Chill support -void ShowChillSupport(IADLX3DChill* d3dChill); - -// Display current Chill state -void GetChillState(IADLX3DChill* d3dChill); - -// Set Chill state -void SetChillState(IADLX3DChill* d3dChill, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DChill* d3dChill); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get Chill interface - IADLX3DChill* d3dChill = NULL; - res = d3dSettingSrv->pVtbl->GetChill(d3dSettingSrv, gpu, &d3dChill); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dChill); - } - - // Release Chill interface - if (d3dChill != NULL) - { - d3dChill->pVtbl->Release(d3dChill); - d3dChill = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowChillSupport(IADLX3DChill* d3dChill) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dChill->pVtbl->IsSupported(d3dChill, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported: %d\n", supported); -} - -void GetChillState(IADLX3DChill* d3dChill) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dChill->pVtbl->IsEnabled(d3dChill, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("\tIsEnabled: %d\n", enabled); - adlx_int minFPS, maxFPS; - ADLX_IntRange fpsRange; - res = d3dChill->pVtbl->GetMinFPS(d3dChill, &minFPS); - if (ADLX_SUCCEEDED (res)) - printf ("\tCurrent MinFPS: %d\n", minFPS); - res = d3dChill->pVtbl->GetMaxFPS(d3dChill, &maxFPS); - if (ADLX_SUCCEEDED (res)) - printf ("\tCurrent MaxFPS: %d\n", maxFPS); - res = d3dChill->pVtbl->GetFPSRange(d3dChill, &fpsRange); - if (ADLX_SUCCEEDED (res)) - printf("\tFPSSet limit [ %d, %d ], step: %d\n", fpsRange.minValue, fpsRange.maxValue, fpsRange.step); -} - -void SetChillState(IADLX3DChill* d3dChill, int index) -{ - ADLX_RESULT res = d3dChill->pVtbl->SetEnabled(d3dChill, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int minFPS, maxFPS; - ADLX_IntRange fpsRange; - d3dChill->pVtbl->GetMinFPS(d3dChill, &minFPS); - d3dChill->pVtbl->GetMaxFPS(d3dChill, &maxFPS); - d3dChill->pVtbl->GetFPSRange(d3dChill, &fpsRange); - printf("\t\tEnter two space delimited integers:[minFPS, maxFPS]\n"); - - int coeffs[2] = {fpsRange.minValue, fpsRange.maxValue}; - - for (int i = 0; i < 2; i++) - { - scanf_s("%d", &coeffs[i]); - } - - res = d3dChill->pVtbl->SetMinFPS(d3dChill, coeffs[0]); - printf("\tSet minimum FPS return code is: %d (0 means success)\n", res); - res = d3dChill->pVtbl->SetMaxFPS(d3dChill, coeffs[1]); - printf("\tSet maximum FPS return code is: %d (0 means success)\n", res); - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Chill support\n"); - printf("\t->Press 2 to display current Chill state\n"); - printf("\t->Press 3 to enable Chill\n"); - printf("\t->Press 4 to disable Chill\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DChill* d3dChill) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Chill support - case '1': - ShowChillSupport(d3dChill); - break; - - // Display current Chill state - case '2': - GetChillState(d3dChill); - break; - - // Set Chill state - case '3': - case '4': - SetChillState(d3dChill, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/CMakeLists.txt deleted file mode 100644 index 34013f6..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "EnhancedSync") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainEnhancedSync.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/ReadMe.html deleted file mode 100644 index 638fc2c..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Enhanced Sync support
2 Get and display current Radeon Enhanced Sync state
3 Enable Radeon Enhanced Sync
4 Disable Radeon Enhanced Sync
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/EnhancedSync

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/mainEnhancedSync.c b/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/mainEnhancedSync.c deleted file mode 100644 index 04fc146..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/EnhancedSync/mainEnhancedSync.c +++ /dev/null @@ -1,180 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainEnhancedSync.c -/// \brief Demonstrates how to access AMD Radeon Enhanced Sync options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Enhanced Sync support -void ShowEnhancedSyncSupport(IADLX3DEnhancedSync* d3dEnhancedSync); - -// Get current Enhanced Sync state -void GetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync); - -// Set Enhanced Sync state -void SetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DEnhancedSync* d3dEnhancedSync); - -// Wait for exit with error message -int WaitAndExit(char* msg, int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get EnhancedSync interface - IADLX3DEnhancedSync* d3dEnhancedSync; - res = d3dSettingSrv->pVtbl->GetEnhancedSync(d3dSettingSrv, gpu, &d3dEnhancedSync); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dEnhancedSync); - } - - // Release the EnhancedSync interface - if (d3dEnhancedSync != NULL) - { - d3dEnhancedSync->pVtbl->Release(d3dEnhancedSync); - d3dEnhancedSync = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowEnhancedSyncSupport(IADLX3DEnhancedSync* d3dEnhancedSync) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dEnhancedSync->pVtbl->IsSupported(d3dEnhancedSync, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dEnhancedSync->pVtbl->IsEnabled(d3dEnhancedSync, &enabled); - printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res); -} - -void SetEnhancedSyncState(IADLX3DEnhancedSync* d3dEnhancedSync, int index) -{ - ADLX_RESULT res = d3dEnhancedSync->pVtbl->SetEnabled(d3dEnhancedSync, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Enhanced Sync support\n"); - printf("\t->Press 2 to get Enhanced Sync state\n"); - printf("\t->Press 3 to enable Enhanced Sync\n"); - printf("\t->Press 4 to disable Enhanced Sync\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DEnhancedSync* d3dEnhancedSync) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Enhanced Sync support - case '1': - ShowEnhancedSyncSupport(d3dEnhancedSync); - break; - - // Get and display current Enhanced Sync state - case '2': - GetEnhancedSyncState(d3dEnhancedSync); - break; - - // Set Enhanced Sync state - case '3': - case '4': - SetEnhancedSyncState(d3dEnhancedSync, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/FRTC/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/FRTC/CMakeLists.txt deleted file mode 100644 index 43a72ff..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/FRTC/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "FRTC") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainFRTC.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/FRTC/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/FRTC/ReadMe.html deleted file mode 100644 index 5294329..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/FRTC/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD FRTC support
2 Get and display current AMD FRTC state and additional information
3 Enable and configure AMD FRTC
4 Disable AMD FRTC
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/FRTC

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/FRTC/mainFRTC.c b/vendor/adlx/Samples/C/3DGraphics/FRTC/mainFRTC.c deleted file mode 100644 index a7de336..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/FRTC/mainFRTC.c +++ /dev/null @@ -1,201 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainFRTC.c -/// \brief Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display FRTC support -void ShowFRTCSupport(IADLX3DFrameRateTargetControl* frtc); - -// Get and display current FRTC state -void GetFRTCState(IADLX3DFrameRateTargetControl* frtc); - -// Set FRTC state -void SetFRTCState(IADLX3DFrameRateTargetControl* frtc, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DFrameRateTargetControl* frtc); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get FRTC interface - IADLX3DFrameRateTargetControl* frtc = NULL; - res = d3dSettingSrv->pVtbl->GetFrameRateTargetControl(d3dSettingSrv, gpu, &frtc); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(frtc); - } - - // Release the FRTC interface - if (frtc != NULL) - { - frtc->pVtbl->Release(frtc); - frtc = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowFRTCSupport(IADLX3DFrameRateTargetControl* frtc) -{ - adlx_bool supported = false; - ADLX_RESULT res = frtc->pVtbl->IsSupported(frtc, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetFRTCState(IADLX3DFrameRateTargetControl* frtc) -{ - adlx_bool enabled = false; - ADLX_RESULT res = frtc->pVtbl->IsEnabled(frtc, &enabled); - printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res); - adlx_int fps; - ADLX_IntRange range = { 0 }; - res = frtc->pVtbl->GetFPS(frtc, &fps); - printf("\tCurrent FPS: %d, return code is: %d(0 means success)\n", fps, res); - res = frtc->pVtbl->GetFPSRange(frtc, &range); - printf("\tFPS limit [ %d , %d ], step: %d, return code is: %d(0 means success)\n", range.minValue, range.maxValue, range.step, res); -} - -void SetFRTCState(IADLX3DFrameRateTargetControl* frtc, int index) -{ - ADLX_RESULT res = frtc->pVtbl->SetEnabled(frtc, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int fps; - ADLX_IntRange range = { 0 }; - frtc->pVtbl->GetFPS(frtc, &fps); - frtc->pVtbl->GetFPSRange(frtc, &range); - if (fps != range.minValue) - { - res = frtc->pVtbl->SetFPS(frtc, range.minValue); - printf("\tUse minimum FPS limit: return code is: %d (0 means success)\n", res); - } - else - { - res = frtc->pVtbl->SetFPS(frtc, range.maxValue); - printf("\tUse maximum FPS limit: return code is: %d (0 means success)\n", res); - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display FRTC support\n"); - printf("\t->Press 2 to get and display current FRTC state\n"); - printf("\t->Press 3 to enable and configure FRTC\n"); - printf("\t->Press 4 to disable FRTC\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DFrameRateTargetControl* frtc) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display FRTC support - case '1': - ShowFRTCSupport(frtc); - break; - - // Get and display current FRTC state - case '2': - GetFRTCState(frtc); - break; - - // Set FRTC state - case '3': - case '4': - SetFRTCState(frtc, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/CMakeLists.txt deleted file mode 100644 index 305513d..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ImageSharpening") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainImageSharpening.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/ReadMe.html deleted file mode 100644 index e000233..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Image Sharpening support
2 Get current Radeon Image Sharpening state and additional information
3 Enable and configure Radeon Image Sharpening
4 Disable Radeon Image Sharpening
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/ImageSharpening

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/mainImageSharpening.c b/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/mainImageSharpening.c deleted file mode 100644 index 248da5c..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ImageSharpening/mainImageSharpening.c +++ /dev/null @@ -1,201 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainImageSharpening.c -/// \brief Demonstrates how to access AMD Radeon Image Sharpening options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Image Sharpening support -void ShowImageSharpenSupport(IADLX3DImageSharpening* d3dImageSharpen); - -// Get current Image Sharpening state and additional information -void GetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen); - -// Set Image Sharpening state -void SetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DImageSharpening* d3dImageSharpen); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get Image Sharpening interface - IADLX3DImageSharpening* d3dImageSharpen = NULL; - res = d3dSettingSrv->pVtbl->GetImageSharpening(d3dSettingSrv, gpu, &d3dImageSharpen); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dImageSharpen); - } - - // Release the Image Sharpening interface - if (d3dImageSharpen != NULL) - { - d3dImageSharpen->pVtbl->Release(d3dImageSharpen); - d3dImageSharpen = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowImageSharpenSupport(IADLX3DImageSharpening* d3dImageSharpen) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dImageSharpen->pVtbl->IsSupported(d3dImageSharpen, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dImageSharpen->pVtbl->IsEnabled(d3dImageSharpen, &enabled); - printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res); - adlx_int min; - ADLX_IntRange range = { 0 }; - res = d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen, &min); - printf("\tCurrent Sharpness: %d, return code is: %d(0 means success)\n", min, res); - res = d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen, &range); - printf("\tSharpness limit [ %d , %d ], step: %d, return code is: %d(0 means success)\n", range.minValue, range.maxValue, range.step, res); -} - -void SetImageSharpenState(IADLX3DImageSharpening* d3dImageSharpen, int index) -{ - ADLX_RESULT res = d3dImageSharpen->pVtbl->SetEnabled(d3dImageSharpen, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int min; - ADLX_IntRange range = { 0 }; - d3dImageSharpen->pVtbl->GetSharpness(d3dImageSharpen, &min); - d3dImageSharpen->pVtbl->GetSharpnessRange(d3dImageSharpen, &range); - if (min != range.minValue) - { - res = d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen, range.minValue); - printf("\tUse Minimum Sharpness limit: return code is: %d (0 means success)\n", res); - } - else - { - res = d3dImageSharpen->pVtbl->SetSharpness(d3dImageSharpen, range.maxValue); - printf("\tUse Maximum Sharpness limit: return code is: %d (0 means success)\n", res); - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Image Sharpening support\n"); - printf("\t->Press 2 to get current Image Sharpening state and additional information\n"); - printf("\t->Press 3 to enable and configure Image Sharpening\n"); - printf("\t->Press 4 to disable Image Sharpening\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DImageSharpening* d3dImageSharpen) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Image Sharpening support - case '1': - ShowImageSharpenSupport(d3dImageSharpen); - break; - - // Get current Image Sharpening state and additional information - case '2': - GetImageSharpenState(d3dImageSharpen); - break; - - // Set Image Sharpening state - case '3': - case '4': - SetImageSharpenState(d3dImageSharpen, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt deleted file mode 100644 index 36534e1..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "MorphologicAntiAliasing") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainMorphologicAntiAliasing.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/ReadMe.html deleted file mode 100644 index 0ebb679..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display morphological anti-aliasing support
2 Get current morphological anti-aliasing state of the GPU
3 Enable morphological anti-aliasing
4 Disable morphological anti-aliasing
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/MorphologicAntiAliasing

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.c b/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.c deleted file mode 100644 index 924fcdb..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.c +++ /dev/null @@ -1,177 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainMorphologicAntiAliasing.c -/// \brief Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display morphological anti-aliasing support -void ShowSupport(IADLX3DMorphologicalAntiAliasing* mAntiAliasing); - -// Get current morphological anti-aliasing state of the GPU -void GetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing); - -// Set morphological anti-aliasing state -void SetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DMorphologicalAntiAliasing* mAntiAliasing); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get MorphologicAntiAliasing interface - IADLX3DMorphologicalAntiAliasing* mAntiAliasing = NULL; - res = d3dSettingSrv->pVtbl->GetMorphologicalAntiAliasing(d3dSettingSrv, gpu, &mAntiAliasing); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(mAntiAliasing); - } - - // Release the d3dAntiLag interface - if (mAntiAliasing != NULL) - { - mAntiAliasing->pVtbl->Release(mAntiAliasing); - mAntiAliasing = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings Services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowSupport(IADLX3DMorphologicalAntiAliasing* mAntiAliasing) -{ - adlx_bool supported = false; - ADLX_RESULT res = mAntiAliasing->pVtbl->IsSupported(mAntiAliasing, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing) -{ - adlx_bool enabled = false; - ADLX_RESULT res = mAntiAliasing->pVtbl->IsEnabled(mAntiAliasing, &enabled); - printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res); -} - -void SetState(IADLX3DMorphologicalAntiAliasing* mAntiAliasing, int index) -{ - ADLX_RESULT res = mAntiAliasing->pVtbl->SetEnabled(mAntiAliasing, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display morphological anti-aliasing support\n"); - printf("\t->Press 2 to get current morphological anti-aliasing state of the GPU\n"); - printf("\t->Press 3 to enable morphological anti-aliasing\n"); - printf("\t->Press 4 to disable morphological anti-aliasing\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DMorphologicalAntiAliasing* mAntiAliasing) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display morphological anti-aliasing support - case '1': - ShowSupport(mAntiAliasing); - break; - - // Get and display current morphological anti-aliasing state of the GPU - case '2': - GetState(mAntiAliasing); - break; - - // Set morphological anti-aliasing state - case '3': - case '4': - SetState(mAntiAliasing, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/RSR/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/RSR/CMakeLists.txt deleted file mode 100644 index cac8ddd..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/RSR/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "RSR") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainRSR.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/RSR/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/RSR/ReadMe.html deleted file mode 100644 index 6ea4488..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/RSR/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Super Resolution support
2 Get current Radeon Super Resolution state and additional information
3 Enable and configure sharpness
4 Disable Radeon Super Resolution
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/RSR

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/RSR/mainRSR.c b/vendor/adlx/Samples/C/3DGraphics/RSR/mainRSR.c deleted file mode 100644 index 79af8f0..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/RSR/mainRSR.c +++ /dev/null @@ -1,189 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainRSR.c -/// \brief Demonstrates how to access AMD Radeon Super Resolution options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display Radeon Super Resolution support -void ShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution* rsr); - -// Display current Radeon Super Resolution state -void GetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr); - -// Set Radeon Super Resolution state -void SetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DRadeonSuperResolution* rsr); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get RadeonSuperResolution interface - IADLX3DRadeonSuperResolution* rsr = NULL; - res = d3dSettingSrv->pVtbl->GetRadeonSuperResolution(d3dSettingSrv, &rsr); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(rsr); - } - else - { - printf("Get RadeonSuperResolution res: %d\n", res); - } - - // Release the RadeonSuperResolution interface - if (rsr != NULL) - { - rsr->pVtbl->Release(rsr); - rsr = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowRadeonSuperResolutionSupport(IADLX3DRadeonSuperResolution* rsr) -{ - adlx_bool supported = false; - ADLX_RESULT res = rsr->pVtbl->IsSupported(rsr, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported: %d\n", supported); -} - -void GetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr) -{ - adlx_bool enabled = false; - ADLX_RESULT res = rsr->pVtbl->IsEnabled(rsr, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("\tIsEnabled: %d\n", enabled); - adlx_int sharpness; - ADLX_IntRange sharpnessRange; - res = rsr->pVtbl->GetSharpness(rsr, &sharpness); - if (ADLX_SUCCEEDED (res)) - printf("\tCurrent sharpness: %d\n", sharpness); - res = rsr->pVtbl->GetSharpnessRange(rsr, &sharpnessRange); - if (ADLX_SUCCEEDED (res)) - printf("\tSharpness limit [ %d , %d ], step: %d\n", sharpnessRange.minValue, sharpnessRange.maxValue, sharpnessRange.step); -} - -void SetRadeonSuperResolutionState(IADLX3DRadeonSuperResolution* rsr, int index) -{ - ADLX_RESULT res = rsr->pVtbl->SetEnabled(rsr, index == 0); - printf("\tReturn code is: %d (0 means success)\n", res); - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int sharpness; - ADLX_IntRange sharpnessRange; - ADLX_RESULT res1 = rsr->pVtbl->GetSharpness(rsr, &sharpness); - ADLX_RESULT res2 = rsr->pVtbl->GetSharpnessRange(rsr, &sharpnessRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - if (sharpness != sharpnessRange.minValue) - { - res = rsr->pVtbl->SetSharpness(rsr, sharpnessRange.minValue); - printf("\tUse minimum sharpness limit, return code is: %d (0 means success)\n", res); - } - else - { - res = rsr->pVtbl->SetSharpness(rsr, sharpnessRange.maxValue); - printf("\tUse maximum sharpness limit, return code is: %d (0 means success)\n", res); - } - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Radeon Super Resolution support\n"); - printf("\t->Press 2 to display current Radeon Super Resolution state\n"); - printf("\t->Press 3 to enable Radeon Super Resolution\n"); - printf("\t->Press 4 to disable Radeon Super Resolution\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DRadeonSuperResolution* rsr) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Radeon Super Resolution support - case '1': - ShowRadeonSuperResolutionSupport(rsr); - break; - - // Display current Radeon Super Resolution state - case '2': - GetRadeonSuperResolutionState(rsr); - break; - - // Set Radeon Super Resolution - case '3': - case '4': - SetRadeonSuperResolutionState(rsr, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/CMakeLists.txt deleted file mode 100644 index 0b7c4d2..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ResetShaderCache") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainResetShaderCache.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/ReadMe.html deleted file mode 100644 index a6de595..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Display reset shader cache support
2 Reset GPU shader cache
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/ResetShaderCache

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/mainresetshadercache.c b/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/mainresetshadercache.c deleted file mode 100644 index 29627b6..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/ResetShaderCache/mainresetshadercache.c +++ /dev/null @@ -1,158 +0,0 @@ - -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainResetShaderCache.c -/// \brief Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display reset shader cache support -void ShowSupport(IADLX3DResetShaderCache* resetShaderCache); - -// Reset GPU shader cache -void ResetShaderCache(IADLX3DResetShaderCache* resetShaderCache); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DResetShaderCache* resetShaderCache); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get ResetShaderCache interface - IADLX3DResetShaderCache* resetShaderCache = NULL; - res = d3dSettingSrv->pVtbl->GetResetShaderCache(d3dSettingSrv, gpu, &resetShaderCache); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(resetShaderCache); - } - - // Release the ResetShaderCache interface - if (resetShaderCache != NULL) - { - resetShaderCache->pVtbl->Release(resetShaderCache); - resetShaderCache = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowSupport(IADLX3DResetShaderCache* resetShaderCache) -{ - adlx_bool supported = false; - ADLX_RESULT res = resetShaderCache->pVtbl->IsSupported(resetShaderCache, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void ResetShaderCache(IADLX3DResetShaderCache* resetShaderCache) -{ - ADLX_RESULT res = resetShaderCache->pVtbl->ResetShaderCache(resetShaderCache); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - printf("\t->Press 1 to display reset shader cache support\n"); - printf("\t->Press 2 to reset GPU shader cache\n"); - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DResetShaderCache* resetShaderCache) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display reset shader cache support - case '1': - ShowSupport(resetShaderCache); - break; - - // Reset GPU shader cache - case '2': - ResetShaderCache(resetShaderCache); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/Tessellation/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/Tessellation/CMakeLists.txt deleted file mode 100644 index bb428be..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Tessellation/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Tessellation") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainTessellation.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/Tessellation/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/Tessellation/ReadMe.html deleted file mode 100644 index 8cffa5f..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Tessellation/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display tessellation support
2 Get GPU tessellation state, mode, and level
3 Set tesellation mode: AMD optimized
4 Set tesellation mode: Use application settings
5 Set tesellation mode: Override application settings
6 Set tesellation level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/Tessellation

- - diff --git a/vendor/adlx/Samples/C/3DGraphics/Tessellation/mainTessellation.c b/vendor/adlx/Samples/C/3DGraphics/Tessellation/mainTessellation.c deleted file mode 100644 index 52a1dd3..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/Tessellation/mainTessellation.c +++ /dev/null @@ -1,244 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainTessellation.c -/// \brief Demonstrates how to access tessellation options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display tessellation support -void ShowSupport(IADLX3DTessellation* tessellation); - -// Get current tessellation state -void GetState(IADLX3DTessellation* tessellation); - -// Set tessellation mode -void SetMode(IADLX3DTessellation* tessellation, int index); - -// Set tessellation level -void SetLevel(IADLX3DTessellation* tessellation); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DTessellation* tessellation); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get the IADLX3DTessellation interface - IADLX3DTessellation* tessellation = NULL; - res = d3dSettingSrv->pVtbl->GetTessellation(d3dSettingSrv, gpu, &tessellation); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(tessellation); - } - - // Release the IADLX3DTessellation interface - if (tessellation != NULL) - { - tessellation->pVtbl->Release(tessellation); - tessellation = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -static char* getModeStr(ADLX_TESSELLATION_MODE mode) -{ - switch (mode) - { - case T_MODE_AMD_OPTIMIZED: - return "AMD optimized"; - case T_MODE_USE_APP_SETTINGS: - return "Use application settings"; - case T_MODE_OVERRIDE_APP_SETTINGS: - return "Override application settings"; - default: - return "UNKNOWN"; - } -}; - -static char* getLevelStr(ADLX_TESSELLATION_LEVEL level) -{ - switch (level) - { - case T_LEVEL_OFF: - return "Off"; - case T_LEVEL_2X: - return "2X"; - case T_LEVEL_4X: - return "4X"; - case T_LEVEL_6X: - return "6X"; - case T_LEVEL_8X: - return "8X"; - case T_LEVEL_16X: - return "16X"; - case T_LEVEL_32X: - return "32X"; - case T_LEVEL_64X: - return "64X"; - default: - return "UNKNOWN"; - } -}; - -void ShowSupport(IADLX3DTessellation* tessellation) -{ - adlx_bool supported = false; - ADLX_RESULT res = tessellation->pVtbl->IsSupported(tessellation, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetState(IADLX3DTessellation* tessellation) -{ - ADLX_TESSELLATION_MODE mode; - ADLX_RESULT res = tessellation->pVtbl->GetMode(tessellation, &mode); - printf("\tMode: %s, return code is: %d(0 means success)\n", getModeStr(mode), res); - ADLX_TESSELLATION_LEVEL level; - res = tessellation->pVtbl->GetLevel(tessellation, &level); - printf("\tLevel: %s, return code is: %d(0 means success)\n", getLevelStr(level), res); -} - -void SetMode(IADLX3DTessellation* tessellation, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - ADLX_TESSELLATION_MODE mode = T_MODE_AMD_OPTIMIZED; - mode = (ADLX_TESSELLATION_MODE)(mode + index); - res = tessellation->pVtbl->SetMode(tessellation, mode); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void SetLevel(IADLX3DTessellation* tessellation) -{ - ADLX_TESSELLATION_LEVEL level; - tessellation->pVtbl->GetLevel(tessellation, &level); - level = (level == T_LEVEL_2X) ? T_LEVEL_4X : T_LEVEL_2X; - ADLX_RESULT res = tessellation->pVtbl->SetLevel(tessellation, level); - printf("\tSet level: %s, res is: %d\n", getLevelStr(level), res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display tessellation support\n"); - printf("\t->Press 2 to get tessellation state\n"); - printf("\t->Press 3 to set tessellation mode: AMD optimized\n"); - printf("\t->Press 4 to set tessellation mode: Use application settings\n"); - printf("\t->Press 5 to set tessellation mode: Override application settings\n"); - - printf("\t->Press 6 to set tessellation level\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DTessellation* tessellation) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display tessellation support - case '1': - ShowSupport(tessellation); - break; - - // Get and display current tessellation state - case '2': - GetState(tessellation); - break; - - // Set tessellation mode - case '3': - case '4': - case '5': - SetMode(tessellation, num - '3'); - break; - - // Set anti-aliasing level - case '6': - SetLevel(tessellation); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt b/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt deleted file mode 100644 index 779afb9..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "WaitForVerticalRefresh") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainWaitForVerticalRefresh.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/ReadMe.html b/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/ReadMe.html deleted file mode 100644 index c7386b3..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to access VSync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Get VSync capability
2 Get the current VSync state and mode
3 Set VSync to Always Off
4 Set VSync to Off (unless specified by the application)
5 Set VSync to On (unless specified by the application)
6 Set VSync to Always On
M/m Display menu options
Q/q Quit the application
-

Sample Path

-

/Samples/C/3DGraphics/WaitForVerticalRefresh

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.c b/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.c deleted file mode 100644 index 1c3cf24..0000000 --- a/vendor/adlx/Samples/C/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.c +++ /dev/null @@ -1,203 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainWaitForVerticalRefresh.c -/// \brief Demonstrates how to access VSync options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" - -// Display VSync support -void ShowvsyncSupport(IADLX3DWaitForVerticalRefresh* vsync); - -// Get current VSync state -void GetvsyncState(IADLX3DWaitForVerticalRefresh* vsync); - -// Set VSync mode -void SetvsyncMode(IADLX3DWaitForVerticalRefresh* vsync, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLX3DWaitForVerticalRefresh* vsync); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get 3DSettings service - IADLX3DSettingsServices* d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get VSync interface - IADLX3DWaitForVerticalRefresh* vsync = NULL; - res = d3dSettingSrv->pVtbl->GetWaitForVerticalRefresh(d3dSettingSrv, gpu, &vsync); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(vsync); - } - - // Release VSync interface - if (vsync != NULL) - { - vsync->pVtbl->Release(vsync); - vsync = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get 3DSettings services\n"); - } - - // Release the 3DSettingsService interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -static char* getModeStr(ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode) -{ - switch (mode) - { - case WFVR_ALWAYS_OFF: - return "Always Off"; - case WFVR_OFF_UNLESS_APP_SPECIFIES: - return "Off (unless specified by the application)"; - case WFVR_ON_UNLESS_APP_SPECIFIES: - return "On (unless specified by the application)"; - case WFVR_ALWAYS_ON: - return "Always On"; - default: - return "UNKNOWN"; - } -}; - -void ShowvsyncSupport(IADLX3DWaitForVerticalRefresh* vsync) -{ - adlx_bool supported = false; - ADLX_RESULT res = vsync->pVtbl->IsSupported(vsync, &supported); - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); -} - -void GetvsyncState(IADLX3DWaitForVerticalRefresh* vsync) -{ - adlx_bool enabled = false; - ADLX_RESULT res = vsync->pVtbl->IsEnabled(vsync, &enabled); - printf("\tIsEnabled: %d, return code is: %d(0 means success)\n", enabled, res); - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF; - res = vsync->pVtbl->GetMode(vsync, &mode); - printf("\tMode: %s, return code is: %d(0 means success)\n", getModeStr(mode), res); -} - -void SetvsyncMode(IADLX3DWaitForVerticalRefresh* vsync, int index) -{ - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF; - mode = (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode + index); - ADLX_RESULT res = vsync->pVtbl->SetMode(vsync, mode); - printf("\tReturn code is: %d (0 means success)\n", res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display VSync support\n"); - printf("\t->Press 2 to get current VSync state\n"); - printf("\t->Press 3 to set VSync to Always Off\n"); - printf("\t->Press 4 to set VSync to Off (unless specified by the application)\n"); - printf("\t->Press 5 to set VSync to On (unless specified by the application)\n"); - printf("\t->Press 6 to set VSync to Always On\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -void MenuControl(IADLX3DWaitForVerticalRefresh* vsync) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display VSync support - case '1': - ShowvsyncSupport(vsync); - break; - - // Get and display current VSync state - case '2': - GetvsyncState(vsync); - break; - - // Set VSync model - case '3': - case '4': - case '5': - case '6': - SetvsyncMode(vsync, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/CMakeLists.txt b/vendor/adlx/Samples/C/CMakeLists.txt deleted file mode 100644 index 0048bf7..0000000 --- a/vendor/adlx/Samples/C/CMakeLists.txt +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -# CMakeList.txt : Top-level CMake project file, do global configuration -# and include sub-projects here. -# -cmake_minimum_required (VERSION 3.8) - -project ("Samples") - -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build/bin/) - -set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) -set(CMAKE_INSTALL_PREFIX ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} CACHE PATH "" FORCE) - -file(COPY ${CMAKE_SOURCE_DIR}/../output-night-light.txt DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - -include_directories(../../) - -#macro to get subdir list. the deep is 2 -#[out] subdirnamelist -#[in] targetdir -macro(SUBDIRNAMELIST_MACRO subdirnamelist targetdir) - # message(STATUS "macro subdirnamelist = ${subdirnamelist}") - # message(STATUS "macro targetdir = ${targetdir}") - file(GLOB children ${targetdir}/*/*) #deep is 2 - # message(STATUS "macro children = ${children}") - set(dirlist "") - foreach(child ${children}) - file(RELATIVE_PATH child_name ${targetdir} ${child}) - # message(STATUS "macro child = ${child_name}") - # message(STATUS "targetdir/child = ${targetdir}/${child_name}") - if(IS_DIRECTORY ${targetdir}/${child_name}) - # message(STATUS "yes dir : targetdir/child = ${targetdir}/${child_name}") - list(APPEND dirlist ${child_name}) - endif() - endforeach() - list(APPEND ${subdirnamelist} ${dirlist}) - # message(STATUS "macro dirlist = ${dirlist}") - # message(STATUS "macro subdirnamelist = ${subdirnamelist}") -endmacro() - -#macro to check CMakeLists -#[out] hascmakelist -#[in] targetdir -macro(CHECK_DIR_HAS_CMAKELIST hascmakelist targetdir) - # message(STATUS "macro check has cmakelist targetdir = ${targetdir}") - set(${hascmakelist} FALSE) - if(IS_DIRECTORY ${targetdir}) - # message(STATUS "macro check has cmakelist is dir, targetdir = ${targetdir}") - if(EXISTS ${targetdir}/CMakeLists.txt) - set(${hascmakelist} TRUE) - endif() - else() - message(FATAL_ERROR "Invalid dir para: targetdir = ${targetdir}") - endif() -endmacro() - -#macro to add sub project -macro(AUTO_ADD_SUBDIRECTORY) - set(subdirnamelisttemp "") - SUBDIRNAMELIST_MACRO(subdirnamelisttemp ${CMAKE_CURRENT_SOURCE_DIR}) - # message(STATUS "macro add_subdir subdirnamelisttemp = ${subdirnamelisttemp}") - foreach(subdir ${subdirnamelisttemp}) - # message(STATUS "macro add_subdir subdir = ${subdir}") - set(hascmakelisttemp FALSE) - CHECK_DIR_HAS_CMAKELIST(hascmakelisttemp ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}) - # message(STATUS "macro add_subdir hascmakelisttemp = ${hascmakelisttemp}") - if(${hascmakelisttemp}) - message(STATUS "macro add_subdir go to add_subdir = ${subdir}") - add_subdirectory(${subdir}) - endif() - endforeach() -endmacro() - -#Automatically traverse subdirectories, add sub project -AUTO_ADD_SUBDIRECTORY() \ No newline at end of file diff --git a/vendor/adlx/Samples/C/CMakeSettings.json b/vendor/adlx/Samples/C/CMakeSettings.json deleted file mode 100644 index d758d2d..0000000 --- a/vendor/adlx/Samples/C/CMakeSettings.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "configurations": [ - { - "name": "Debug_win32", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x86" ], - "buildRoot": "${projectDir}\\build", - "intelliSenseMode": "windows-msvc-x86" - }, - { - "name": "Release_win32", - "generator": "Ninja", - "configurationType": "Release", - "inheritEnvironments": [ "msvc_x86" ], - "buildRoot": "${projectDir}\\build", - "intelliSenseMode": "windows-msvc-x86" - }, - { - "name": "Debug_x64", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\build", - "inheritEnvironments": [ "msvc_x64_x64" ], - "intelliSenseMode": "windows-msvc-x64" - }, - { - "name": "Release_x64", - "generator": "Ninja", - "configurationType": "Release", - "buildRoot": "${projectDir}\\build", - "inheritEnvironments": [ "msvc_x64_x64" ], - "intelliSenseMode": "windows-msvc-x64" - } - ] -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/CMakeLists.txt b/vendor/adlx/Samples/C/Desktop/DesktopsEvent/CMakeLists.txt deleted file mode 100644 index c06e559..0000000 --- a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DesktopsEvent") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDesktopsEvent.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/ReadMe.html b/vendor/adlx/Samples/C/Desktop/DesktopsEvent/ReadMe.html deleted file mode 100644 index ecf6571..0000000 --- a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to access desktop changed handle options, add/remove call back for changed events, and perform related testing when programming with ADLX.
- To receive the event, another application must be used to change these settings, such as the Eyefinity. -

-

Sample Path

-

/Samples/C/Desktop/DesktopsEvent

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/mainDesktopsEvent.c b/vendor/adlx/Samples/C/Desktop/DesktopsEvent/mainDesktopsEvent.c deleted file mode 100644 index 20864a9..0000000 --- a/vendor/adlx/Samples/C/Desktop/DesktopsEvent/mainDesktopsEvent.c +++ /dev/null @@ -1,207 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDesktopEvent.c -/// \brief Demonstrates how to access desktop changed handle options, add/remove call back for changed events, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" -#include "conio.h" - -// Event to verify call back -HANDLE hDesktopChangedEvent = NULL; -HANDLE hQuitSignal = NULL; - -// Call back to handle changed events -adlx_bool ADLX_STD_CALL OnDesktopListChanged(IADLXDesktopListChangedListener* pThis, IADLXDesktopList* pDesktopList) -{ - printf("Desktop list is changed\n"); - ADLX_RESULT res = ADLX_FAIL; - adlx_bool slsActive = false; - IADLXDesktop* desktop = NULL; - for (adlx_uint crt = pDesktopList->pVtbl->Begin(pDesktopList); crt != pDesktopList->pVtbl->End(pDesktopList); crt++) - { - res = pDesktopList->pVtbl->At_DesktopList(pDesktopList, crt, &desktop); - if (NULL != desktop) - { - ADLX_DESKTOP_TYPE adlxType; - desktop->pVtbl->Type(desktop, &adlxType); - if (adlxType == DESKTOP_EYEFINITY) - { - printf("Eyefinity Creation Event is received\n"); - slsActive = true; - if (desktop != NULL) - { - desktop->pVtbl->Release(desktop); - desktop = NULL; - } - break; - } - if (desktop != NULL) - { - desktop->pVtbl->Release(desktop); - desktop = NULL; - } - } - } - - if (false == slsActive) - { - printf("Eyefinity Destruction Event is received\n"); - } - SetEvent(hDesktopChangedEvent); - - return true; -} - -// Thread to detect quit input -DWORD WINAPI QuitWait(LPVOID lpParam); - -static IADLXDesktopListChangedListenerVtbl vtbl = {&OnDesktopListChanged}; -static IADLXDesktopListChangedListener eventListener = {&vtbl}; - -int main() -{ - // Add the following code to set environment variable - LPCSTR EnvironmentVariable = "ADL_4KWORKAROUND_CANCEL"; - SetEnvironmentVariableA(EnvironmentVariable, "TRUE"); - - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - IADLXDesktopServices* desktopServices = NULL; - IADLXSimpleEyefinity* eyefinity = NULL; - IADLXDesktopChangedHandling* eventHandling = NULL; - IADLXEyefinityDesktop* eyefinityDesktop = NULL; - if (ADLX_SUCCEEDED(res)) - { - // Create desktop changed event and user input event - hDesktopChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - hQuitSignal = CreateEvent(NULL, TRUE, FALSE, NULL); - HANDLE hSignalArray[2] = { hDesktopChangedEvent, hQuitSignal }; - - // Get desktop services - res = sys->pVtbl->GetDesktopsServices(sys, &desktopServices); - - if (desktopServices != NULL && ADLX_SUCCEEDED(res)) - { - adlx_uint numDesktop; - res = desktopServices->pVtbl->GetNumberOfDesktops(desktopServices, &numDesktop); - printf("The number of desktop is: %d\n", numDesktop); - - desktopServices->pVtbl->GetSimpleEyefinity(desktopServices, &eyefinity); - if (eyefinity != NULL && ADLX_SUCCEEDED(res)) - { - // Verify if Eyefinity is supported - adlx_bool supported = false; - eyefinity->pVtbl->IsSupported(eyefinity, &supported); - if (supported) - { - desktopServices->pVtbl->GetDesktopChangedHandling(desktopServices, &eventHandling); - eventHandling->pVtbl->AddDesktopListEventListener(eventHandling, &eventListener); - - printf("Waiting for desktop event... Press Q/q to quit\n"); - // create a thread to detect user's input for quit - adlx_bool loopFlag = true; - DWORD threadId = 0; - HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId); - - res = eyefinity->pVtbl->Create(eyefinity, &eyefinityDesktop); - - while (true) - { - // Waiting for receiving desktop event or user exit event - WaitForMultipleObjects(2, hSignalArray, FALSE, INFINITE); - if (!loopFlag) - { - CloseHandle(hThread); - break; - } - ResetEvent(hDesktopChangedEvent); - } - - res = eyefinity->pVtbl->DestroyAll(eyefinity); - eventHandling->pVtbl->RemoveDesktopListEventListener(eventHandling, &eventListener); - } - else - { - printf("Do not support eyefinity\n"); - } - } - else - { - printf("Get simple eyefinity failed\n"); - } - } - else - { - printf("Failed to get the desktop Services\n"); - } - } - else - { - printf("ADLX initialize failed\n"); - return 0; - } - - if (eyefinityDesktop != NULL) - { - eyefinityDesktop->pVtbl->Release(eyefinityDesktop); - eyefinityDesktop = NULL; - } - if (eventHandling != NULL) - { - eventHandling->pVtbl->Release(eventHandling); - eventHandling = NULL; - } - if (eyefinity != NULL) - { - eyefinity->pVtbl->Release(eyefinity); - eyefinity = NULL; - } - if (desktopServices != NULL) - { - desktopServices->pVtbl->Release(desktopServices); - desktopServices = NULL; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (hDesktopChangedEvent) - CloseHandle(hDesktopChangedEvent); - if (hQuitSignal) - CloseHandle(hQuitSignal); - - // Pause for user see the print out - system("pause"); - - return 0; -} - -DWORD WINAPI QuitWait(LPVOID lpParam) -{ - adlx_bool* loopFlag = (adlx_bool*)lpParam; - while (true) - { - // Non-block I/O, check I/O cache whether have characters. - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(hQuitSignal); - } - } - Sleep(100); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/Eyefinity/CMakeLists.txt b/vendor/adlx/Samples/C/Desktop/Eyefinity/CMakeLists.txt deleted file mode 100644 index d3e8ee5..0000000 --- a/vendor/adlx/Samples/C/Desktop/Eyefinity/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Eyefinity") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainEyefinity.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Desktop/Eyefinity/ReadMe.html b/vendor/adlx/Samples/C/Desktop/Eyefinity/ReadMe.html deleted file mode 100644 index ec316af..0000000 --- a/vendor/adlx/Samples/C/Desktop/Eyefinity/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD Eyefinity support.
2 Create an AMD Eyefinity desktop with all the enabled displays.
3 Destroy all the AMD Eyefinity desktops.
4 Destroy the given AMD Eyefinity desktop.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Desktop/Eyefinity

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/Eyefinity/mainEyefinity.c b/vendor/adlx/Samples/C/Desktop/Eyefinity/mainEyefinity.c deleted file mode 100644 index f126d88..0000000 --- a/vendor/adlx/Samples/C/Desktop/Eyefinity/mainEyefinity.c +++ /dev/null @@ -1,319 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainEyefinity.c -/// \brief Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(); - -// Display Eyefinity support -void ShowEyefinitySupport(); - -// Create an Eyefinity desktop -void CreateEyefinityDesktop(); - -// Destroy all the Eyefinity desktops -void DestroyAllEyefinityDesktop(); - -// Destroy the given Eyefinity desktop -void DestroyGivenEyefinityDesktop(); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display Eyefinity support\n"); - printf("\t->Press 2 to create an Eyefinity desktop with all the enabled displays\n"); - printf("\t->Press 3 to destroy all the Eyefinity desktops\n"); - printf("\t->Press 4 to destroy the given Eyefinity desktop\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl() -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Eyefinity support - case '1': - ShowEyefinitySupport(); - break; - - // Create an Eyefinity desktop - case '2': - CreateEyefinityDesktop(); - break; - - // Destroy all the Eyefinity desktops - case '3': - DestroyAllEyefinityDesktop(); - break; - - // Destroy the given Eyefinity desktop - case '4': - DestroyGivenEyefinityDesktop(); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Display Eyefinity support status -void ShowEyefinitySupport() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXDesktopServices* desktopsInfo = NULL; - ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo); - if (ADLX_SUCCEEDED(res)) - { - IADLXSimpleEyefinity* eyefinity = NULL; - res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = 0; - res = eyefinity->pVtbl->IsSupported(eyefinity, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\t Eyefinity is supported on the desktop: %s\n", supported ? "Yes" : "No"); - } - else - printf("\tFailed to get simple Eyefinity\n"); - - if (eyefinity != NULL) - { - eyefinity->pVtbl->Release(eyefinity); - eyefinity = NULL; - } - } - else - printf("\tFailed to get the Desktop Services interface\n"); - - if (desktopsInfo != NULL) - { - desktopsInfo->pVtbl->Release(desktopsInfo); - desktopsInfo = NULL; - } -} - -// Create an Eyefinity desktop -void CreateEyefinityDesktop() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXDesktopServices* desktopsInfo = NULL; - ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo); - if (ADLX_SUCCEEDED(res)) - { - IADLXSimpleEyefinity* eyefinity = NULL; - res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity); - if (ADLX_SUCCEEDED(res)) - { - IADLXEyefinityDesktop* eyefinityDesktop = NULL; - res = eyefinity->pVtbl->Create(eyefinity, &eyefinityDesktop); - printf("\treturn code is: %d (0 means Success)\n", res); - if (eyefinityDesktop != NULL) - { - eyefinityDesktop->pVtbl->Release(eyefinityDesktop); - eyefinityDesktop = NULL; - } - } - else - printf("\tFailed to get simple Eyefinity\n"); - - if (eyefinity != NULL) - { - eyefinity->pVtbl->Release(eyefinity); - eyefinity = NULL; - } - } - else - printf("\tFailed to get the Desktop Services interface\n"); - - if (desktopsInfo != NULL) - { - desktopsInfo->pVtbl->Release(desktopsInfo); - desktopsInfo = NULL; - } -} - -// Destroy all the Eyefinity desktops -void DestroyAllEyefinityDesktop() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXDesktopServices* desktopsInfo = NULL; - ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo); - if (ADLX_SUCCEEDED(res)) - { - IADLXSimpleEyefinity* eyefinity = NULL; - res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity); - if (ADLX_SUCCEEDED(res)) - { - res = eyefinity->pVtbl->DestroyAll(eyefinity); - printf("\treturn code is: %d (0 means success)\n", res); - } - else - printf("\tFailed to get simple Eyefinity\n"); - - if (eyefinity != NULL) - { - eyefinity->pVtbl->Release(eyefinity); - eyefinity = NULL; - } - } - else - printf("\tFailed to get the Desktop Services interface\n"); - - if (desktopsInfo != NULL) - { - desktopsInfo->pVtbl->Release(desktopsInfo); - desktopsInfo = NULL; - } -} - -// Destroy the given Eyefinity desktop -void DestroyGivenEyefinityDesktop() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXDesktopServices* desktopsInfo = NULL; - ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo); - if (ADLX_SUCCEEDED(res)) - { - IADLXSimpleEyefinity* eyefinity = NULL; - res = desktopsInfo->pVtbl->GetSimpleEyefinity(desktopsInfo, &eyefinity); - if (ADLX_SUCCEEDED(res)) - { - IADLXDesktopList* desktops = NULL; - res = desktopsInfo->pVtbl->GetDesktops(desktopsInfo, &desktops); - if (ADLX_SUCCEEDED(res)) - { - for (adlx_uint crt = desktops->pVtbl->Begin(desktops); crt != desktops->pVtbl->End(desktops); ++crt) - { - IADLXDesktop* desktop = NULL; - res = desktops->pVtbl->At_DesktopList(desktops, crt, &desktop); - if (ADLX_SUCCEEDED(res)) - { - IADLXEyefinityDesktop* eyefinityDesktop = NULL; - void* pInterf = NULL; - res = desktop->pVtbl->QueryInterface(desktop, IID_IADLXEyefinityDesktop(), &pInterf); - if (ADLX_SUCCEEDED(res)) - { - eyefinityDesktop = (IADLXEyefinityDesktop*)pInterf; - res = eyefinity->pVtbl->Destroy(eyefinity, eyefinityDesktop); - printf("\tReturn code for destroying Desktop %d is: %d (0 means Success)\n", crt, res); - } - else - printf("\tEyefinityDesktop is NULL\n"); - - if (eyefinityDesktop != NULL) - { - eyefinityDesktop->pVtbl->Release(eyefinityDesktop); - eyefinityDesktop = NULL; - } - } - else - printf("\tDesktop is NULL\n"); - - if (desktop != NULL) - { - desktop->pVtbl->Release(desktop); - desktop = NULL; - } - } - } - else - printf("\tFailed to get the Desktop interface\n"); - - if (desktops != NULL) - { - desktops->pVtbl->Release(desktops); - desktops = NULL; - } - } - else - printf("\t Failed to get simple Eyefinity \n"); - - if (eyefinity != NULL) - { - eyefinity->pVtbl->Release(eyefinity); - eyefinity = NULL; - } - } - else - printf("\tFailed to get the Desktop Services interface\n"); - - if (desktopsInfo != NULL) - { - desktopsInfo->pVtbl->Release(desktopsInfo); - desktopsInfo = NULL; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/CMakeLists.txt b/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/CMakeLists.txt deleted file mode 100644 index 091f7ab..0000000 --- a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PrimaryAdapter") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPrimaryAdapter.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/ReadMe.html b/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/ReadMe.html deleted file mode 100644 index 4546d15..0000000 --- a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/ReadMe.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - -

Demonstrates how to get the primary adapter when programming with ADLX.

-

Command Prompts

- - - - - - - - - -
Command PromptDescription
1 Display the Primary Adapter.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Desktop/PrimaryAdapter

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/mainPrimaryAdapter.c b/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/mainPrimaryAdapter.c deleted file mode 100644 index f46c336..0000000 --- a/vendor/adlx/Samples/C/Desktop/PrimaryAdapter/mainPrimaryAdapter.c +++ /dev/null @@ -1,186 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPrimaryAdapter.c -/// \brief Demonstrates how to get the primary adapter when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(); - -// Display how to get primary adapter -void ShowPrimaryAdapter(); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display the Primary Adapter\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl() -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display the Primary Adapter - case '1': - ShowPrimaryAdapter(); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Display how to get primary adapter -void ShowPrimaryAdapter() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXDesktopServices* desktopsInfo = NULL; - ADLX_RESULT res = sys->pVtbl->GetDesktopsServices(sys, &desktopsInfo); - if (ADLX_SUCCEEDED(res)) - { - IADLXDesktopList* desktops = NULL; - res = desktopsInfo->pVtbl->GetDesktops(desktopsInfo, &desktops); - if (ADLX_SUCCEEDED(res)) - { - for (adlx_uint crt = desktops->pVtbl->Begin(desktops); crt != desktops->pVtbl->End(desktops); ++crt) - { - IADLXDesktop* desktop = NULL; - res = desktops->pVtbl->At_DesktopList(desktops, crt, &desktop); - if (ADLX_SUCCEEDED(res)) - { - ADLX_Point point = { 0 }; - res = desktop->pVtbl->TopLeft (desktop, &point); - if (ADLX_SUCCEEDED (res) && 0 == point.x && 0 == point.y) - { - IADLXDisplayList* displays = NULL; - res = desktop->pVtbl->GetDisplays (desktop, &displays); - if (ADLX_SUCCEEDED (res)) - { - // Get the first display - IADLXDisplay* display = NULL; - res = displays->pVtbl->At_DisplayList (displays, 0, &display); - if (ADLX_SUCCEEDED (res)) - { - IADLXGPU* gpu = NULL; - res = display->pVtbl->GetGPU (display, &gpu); - if (ADLX_SUCCEEDED(res)) - { - const char* gpuName; - gpu->pVtbl->Name (gpu, &gpuName); - printf("Primary Adapter: %s\n", gpuName); - } - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - if (display != NULL) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - if (displays != NULL) - { - displays->pVtbl->Release(displays); - displays = NULL; - } - } - } - else - printf("\tDesktop is NULL\n"); - - if (desktop != NULL) - { - desktop->pVtbl->Release(desktop); - desktop = NULL; - } - } - } - else - printf("\tFailed to get the Desktop interface\n"); - - if (desktops != NULL) - { - desktops->pVtbl->Release(desktops); - desktops = NULL; - } - } - else - printf("\tFailed to get the Desktop Services interface\n"); - - if (desktopsInfo != NULL) - { - desktopsInfo->pVtbl->Release(desktopsInfo); - desktopsInfo = NULL; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/Display3DLUT/CMakeLists.txt b/vendor/adlx/Samples/C/Display/Display3DLUT/CMakeLists.txt deleted file mode 100644 index d511cb8..0000000 --- a/vendor/adlx/Samples/C/Display/Display3DLUT/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Display3DLUT") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplay3DLUT.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - - diff --git a/vendor/adlx/Samples/C/Display/Display3DLUT/ReadMe.html b/vendor/adlx/Samples/C/Display/Display3DLUT/ReadMe.html deleted file mode 100644 index 98ad863..0000000 --- a/vendor/adlx/Samples/C/Display/Display3DLUT/ReadMe.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -

Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display 3DLUT support.
2 Get 3DLUT state.
3 Set current SCE to disabled.
4 Set current SCE feature to Vivid Gaming profile.
5 Set current SCE feature to Dynamic Contrast profile.
6 Show user 3DLUT support.
7 Clear user 3DLUT.
8 Demonstrate SDR user 3DLUT.
9 Demonstrate HDR user 3DLUT.
a Demonstrate all user 3DLUT.
b Get user 3DLUT index.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/Display3DLUT

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/Display3DLUT/mainDisplay3DLUT.c b/vendor/adlx/Samples/C/Display/Display3DLUT/mainDisplay3DLUT.c deleted file mode 100644 index 8ab0481..0000000 --- a/vendor/adlx/Samples/C/Display/Display3DLUT/mainDisplay3DLUT.c +++ /dev/null @@ -1,607 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplay3DLUT.c -/// \brief Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplay3DLUT.h" -#include "SDK/Include/IDisplays.h" -#include - -const adlx_int DefaultNumOfPoints = MAX_USER_3DLUT_NUM_POINTS; - -// Display display3DLUT support -void ShowDisplay3DLUTSupport (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === 3D LUT supported status ===\n"); - adlx_bool supported; - ADLX_RESULT res = display3DLUT->pVtbl->IsSupportedSCE (display3DLUT, &supported); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs SCE supported on this display: %d\n", supported); - res = display3DLUT->pVtbl->IsSupportedSCEVividGaming (display3DLUT, &supported); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs SCE Vivid Gaming preset supported on this display: %d\n", supported); - res = display3DLUT->pVtbl->IsSupportedSCEDynamicContrast(display3DLUT, &supported); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs SCE Dynamic Contrast supported on this display: %d\n", supported); - res = display3DLUT->pVtbl->IsSupportedUser3DLUT (display3DLUT, &supported); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs 3DLUT supported on this display: %d\n", supported); - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Display current display3DLUT state -void Get3DLUTState (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Get 3D LUT ===\n"); - adlx_bool applied = false; - res = display3DLUT->pVtbl->IsCurrentSCEDisabled (display3DLUT, &applied); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs SCE used on this display: %d\n", applied); - res = display3DLUT->pVtbl->IsCurrentSCEVividGaming (display3DLUT, &applied); - if (ADLX_SUCCEEDED(res)) - printf ("\tIs SCE Vivid Gaming preset used on this display: %d\n", applied); - res = display3DLUT->pVtbl->IsCurrentSCEDynamicContrast(display3DLUT, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIs SCE Vivid Dynamic Contrast preset used on this display: %d\n", applied); - if (applied) - { - ADLX_IntRange range; - display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT, &range); - printf("\t\tDynamic Contrast range is: [ %d, %d ]\n", range.minValue, range.maxValue); - adlx_int contrast; - display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT, &contrast); - printf("\t\tDynamic Contrast is: %d\n", contrast); - } - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Set display3DLUT -void Set3DLUTState (IADLXDisplayServices* displayService, IADLXDisplay* display, int key) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Set 3D LUT ===\n"); - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set SCE disabled - case 0: - res = display3DLUT->pVtbl->SetSCEDisabled (display3DLUT); - break; - // Set SCE Vivid Gaming preset - case 1: - res = display3DLUT->pVtbl->SetSCEVividGaming (display3DLUT); - break; - // Set SCE Dynamic Contrast - case 2: - { - ADLX_IntRange range; - display3DLUT->pVtbl->GetSCEDynamicContrastRange(display3DLUT, &range); - adlx_int curContrast; - display3DLUT->pVtbl->GetSCEDynamicContrast(display3DLUT, &curContrast); - adlx_int contrast; - if (curContrast != range.minValue) - { - contrast = range.minValue; - res = display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT, contrast); - printf ("\tUse minimum Dynamic Contrast\n"); - } - else - { - contrast = range.maxValue; - res = display3DLUT->pVtbl->SetSCEDynamicContrast(display3DLUT, contrast); - printf("\tUse maximum Dynamic Contrast\n"); - } - } - break; - default: - break; - } - printf ("\treturn code(0 means Success) is: %d\n", res); - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Get user 3D LUT support -void IsSupportedUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === IsSupportedUser3DLUT ===\n"); - adlx_bool supported = false; - res = display3DLUT->pVtbl->IsSupportedUser3DLUT (display3DLUT, &supported); - if (ADLX_SUCCEEDED (res)) - { - printf (" === IsSupportedUser3DLUT: %s\n", (supported ? "True" : "False")); - } - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Clear user 3D LUT -void ClearUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === ClearUser3DLUT ===\n"); - res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === ClearUser3DLUT successful ===\n"); - } - else - printf (" === ClearUser3DLUT failed ===\n"); - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Helper functions -inline double Inputvalue (int index, int bitDepth, int numOfPoints) -{ - return fmin ((float)(index * pow (2, bitDepth) / (float)(numOfPoints - 1)), pow (2, bitDepth) - 1); -} - -// Generate 3D LUT data -adlx_bool GenerateUser3DLUT_BW (IADLXDisplayServices* displayService, IADLXDisplay* display, adlx_int numOfPoints, ADLX_3DLUT_Data* user3DLUT) -{ - adlx_bool ret = true; - const int bitDepth = 16; - - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - ADLX_UINT16_RGB rgbCordinate = { 0, 0, 0 }; - adlx_int index = 0; - - for (int r = 0; r < numOfPoints; r++) - { - for (int g = 0; g < numOfPoints; g++) - { - for (int b = 0; b < numOfPoints; b++) - { - rgbCordinate.red = r; - rgbCordinate.green = g; - rgbCordinate.blue = b; - - double temp = 0.25 * Inputvalue (r, bitDepth, numOfPoints) + 0.625 * Inputvalue (g, bitDepth, numOfPoints) + 0.125 * Inputvalue (b, bitDepth, numOfPoints); - res = display3DLUT->pVtbl->GetUser3DLUTIndex (display3DLUT, numOfPoints, &rgbCordinate, &index); - - if (ADLX_SUCCEEDED (res)) - { - adlx_uint16 tValue = (adlx_uint16)(temp); - user3DLUT->data[index].red = tValue; - user3DLUT->data[index].green = tValue; - user3DLUT->data[index].blue = tValue; - } - else - { - ret = false; - goto EXIT; - } - } - } - } - } - - // Release the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } - -EXIT: - return ret; -} - -// Get or Set SDR user 3DLUT -void DemoSDRUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - // Generate data - if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - printf (" === SetSDRUser3DLUT ===\n"); - res = display3DLUT->pVtbl->SetSDRUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === SetSDRUser3DLUT successful ===\n"); - } - else - printf (" === SetSDRUser3DLUT failed ===\n"); - - printf (" === GetSDRUser3DLUT ===\n"); - res = display3DLUT->pVtbl->GetSDRUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === GetSDRUser3DLUT successful ===\n"); - } - else - printf (" === GetSDRUser3DLUT failed ===\n"); - - // Clear - res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Clear successful ===\n"); - } - else - printf (" === Clear failed ===\n"); - } - } - - // Releae the display3DLUT interface - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Get or Set HDR user 3DLUT -void DemoHDRUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - // Generate data - if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - printf (" === SetHDRUser3DLUT ===\n"); - - res = display3DLUT->pVtbl->SetHDRUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === SetHDRUser3DLUT successful ===\n"); - } - else - printf (" === SetHDRUser3DLUT failed ===\n"); - - printf (" === GetHDRUser3DLUT ===\n"); - res = display3DLUT->pVtbl->GetHDRUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === GetHDRUser3DLUT successful ===\n"); - } - else - printf (" === GetHDRUser3DLUT failed ===\n"); - - // Clear - res = display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Restore successful ===\n"); - } - else - printf (" === Restore failed ===\n"); - } - } - - // Free display3DLUT - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Get/Set all user 3DLUT -void DemoAllUser3DLUT (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - // Generate data - if (GenerateUser3DLUT_BW (displayService, display, DefaultNumOfPoints, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - printf (" === SetAllUser3DLUT ===\n"); - - res = display3DLUT->pVtbl->SetAllUser3DLUT (display3DLUT, tf, cs, DefaultNumOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === SetAllUser3DLUT successful ===\n"); - } - else - printf (" === SetAllUser3DLUT failed ===\n"); - - printf (" === GetAllUser3DLUT ===\n"); - res = display3DLUT->pVtbl->GetAllUser3DLUT (display3DLUT, &tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - printf (" === GetAllUser3DLUT succesful ===\n"); - } - else - printf (" === GetAllUser3DLUT failed ===\n"); - - // Clear - display3DLUT->pVtbl->ClearUser3DLUT (display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Clear successful ===\n"); - } - else - printf (" === Clear failed ===\n"); - } - } - - // Free display3DLUT - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Get 3DLUT index -void GetUser3DLUTIndex (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display3DLUT - IADLXDisplay3DLUT* display3DLUT = NULL; - ADLX_RESULT res = displayService->pVtbl->Get3DLUT (displayService, display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Get user 3DLUT index ===\n");; - - adlx_int index = 0; - adlx_int lutSize = 6; //5 <= lutSize <= 17 - ADLX_UINT16_RGB rgb = { 0, 0, 0 }; - - res = display3DLUT->pVtbl->GetUser3DLUTIndex (display3DLUT, lutSize, &rgb, &index); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Get user3 DLUT index successful, index: %d===\n", index); - } - else - printf (" === Get user 3DLUT index failed ===\n");; - } - - // Free display3DLUT - if (NULL != display3DLUT) - { - display3DLUT->pVtbl->Release (display3DLUT); - display3DLUT = NULL; - } -} - -// Main menu -void MainMenu () -{ - printf ("\tChoose from following options\n"); - - printf ("\t->Press 1 to display 3DLUT support\n"); - - printf ("\t->Press 2 to get 3DLUT state\n"); - - printf ("\t->Press 3 to set current SCE to disabled\n"); - printf ("\t->Press 4 to set current SCE feature to Vivid Gaming preset\n"); - printf ("\t->Press 5 to set current SCE feature to Dynamic Contrast\n"); - - printf ("\t->Press 6 to get user 3DLUT support\n"); - printf ("\t->Press 7 to clear user 3DLUT\n"); - printf ("\t->Press 8 to show how to set/get SDR user 3DLUT\n"); - printf ("\t->Press 9 to show how to set/get HDR user 3DLUT\n"); - printf ("\t->Press a to show how to set/get all user 3DLUT\n"); - printf ("\t->Press b to get 3DLUT index\n"); - - printf ("\t->Press Q/q to terminate the application\n"); - printf ("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl (IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - int num = 0; - while ((num = getchar ()) != 'q' && num != 'Q') - { - switch (num) - { - case '1': - ShowDisplay3DLUTSupport (displayService, display); - break; - case '2': - Get3DLUTState (displayService, display); - break; - case '3': - case '4': - case '5': - Set3DLUTState (displayService, display, num - '3'); - break; - case '6': - IsSupportedUser3DLUT (displayService, display); - break; - case '7': - ClearUser3DLUT (displayService, display); - break; - case '8': - DemoSDRUser3DLUT (displayService, display); - break; - case '9': - DemoHDRUser3DLUT (displayService, display); - break; - case 'a': - DemoAllUser3DLUT (displayService, display); - break; - case 'b': - GetUser3DLUTIndex (displayService, display); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu (); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf ("%s\n", msg); - - system ("pause"); - return retCode; -} - -int main () -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize (); - if (ADLX_SUCCEEDED (res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices (); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices (sys, &displayService); - if (ADLX_SUCCEEDED (res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays (displayService, &displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList (displayList, it, &display); - if (ADLX_SUCCEEDED (res)) - { - // Display main menu options - MainMenu (); - // Get and execute the choice - MenuControl (displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release (display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release (displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release (displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit ("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate (); - printf ("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system ("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayBlanking/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayBlanking/CMakeLists.txt deleted file mode 100644 index dbbfda8..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayBlanking/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayBlanking") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayBlanking.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayBlanking/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayBlanking/ReadMe.html deleted file mode 100644 index 36de76a..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayBlanking/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to configure display blanking options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Check if display blanking is supported
2 Get display blanking state
3 Set the state of display blanking to "blanked"
4 Set the state of display blanking to "unblanked"
5 Set the state of display blanking to "blanked" for 20 seconds
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/C/Display/DisplayBlanking

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayBlanking/mainDisplayBlanking.c b/vendor/adlx/Samples/C/Display/DisplayBlanking/mainDisplayBlanking.c deleted file mode 100644 index 83446be..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayBlanking/mainDisplayBlanking.c +++ /dev/null @@ -1,355 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayBlanking.c -/// \brief Demonstrates how to configure the display blanking options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include "SDK/Include/IDisplays1.h" - -// Thread to quit event -static HANDLE quitEvent = NULL; - -// Thread to quit flag -static int g_quit = 0; - -// Thread to timeout -static HANDLE thread = NULL; - -// Thread to unblank display -DWORD WINAPI ThreadUnBlankDisplay(LPVOID lpParam); - -// Check if display blanking is supported -void ShowDisplayBlankingSupport(IADLXDisplayServices1* displayService1, IADLXDisplay* display); - -// Get the current state of display blanking -void GetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display); - -// Set the state of display blanking to "blanked" or "unblanked" -void SetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices1* displayService1, IADLXDisplay* display); - -// Select display -IADLXDisplay* SelectDisplay(IADLXDisplayList* displays); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get System Services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get displayService - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - - // Convert to displayService1 - IADLXDisplayServices1* displayService1 = NULL; - displayService->pVtbl->QueryInterface(displayService, IID_IADLXDisplayServices1(), (void**)&displayService1); - - if (ADLX_SUCCEEDED(res) && displayService1) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService1->pVtbl->GetDisplays(displayService1, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Select the display to config - IADLXDisplay* display = SelectDisplay(displayList); - if (display) - { - // Display the main menu - MainMenu(); - // Get and execute the choice - MenuControl(displayService1, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - else - { - printf("Failed to get displayService1\n"); - } - - // Release the displayService1 interface - if (NULL != displayService1) - { - displayService1->pVtbl->Release(displayService1); - displayService1 = NULL; - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - - // Quit thread - if (thread) - { - SetEvent(quitEvent); - g_quit = true; - WaitForSingleObject(thread, INFINITE); - CloseHandle(thread); - thread = NULL; - } - CloseHandle(quitEvent); - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayBlankingSupport(IADLXDisplayServices1* displayService1, IADLXDisplay* display) -{ - IADLXDisplayBlanking* displayBlanking; - ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get state of display blanking support ===\n"); - adlx_bool supported = false; - res = displayBlanking->pVtbl->IsSupported(displayBlanking , &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupported, result: %d supported: %s\n", res, (supported ? "true" : "false")); - displayBlanking->pVtbl->Release(displayBlanking); - displayBlanking = NULL; - } -} - -void GetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display) -{ - IADLXDisplayBlanking* displayBlanking; - ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get the current state of display blanking ===\n"); - adlx_bool blanked = false; - res = displayBlanking->pVtbl->IsCurrentBlanked(displayBlanking, &blanked); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentBlanked: %s\n", (blanked ? "true" : "false")); - adlx_bool unBlanked = false; - res = displayBlanking->pVtbl->IsCurrentUnblanked(displayBlanking, &unBlanked); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentUnblanked: %s\n", (unBlanked ? "true" : "false")); - displayBlanking->pVtbl->Release(displayBlanking); - displayBlanking = NULL; - } -} - -void SetDisplayBlankingState(IADLXDisplayServices1* displayService1, IADLXDisplay* display, const int key) -{ - IADLXDisplayBlanking* displayBlanking; - ADLX_RESULT res = displayService1->pVtbl->GetDisplayBlanking(displayService1, display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set display to blanked - case 0: - if (thread) - { - SetEvent(quitEvent); - g_quit = true; - WaitForSingleObject(thread, INFINITE); - CloseHandle(thread); - thread = NULL; - } - printf(" === Set display to blanked ===\n"); - res = displayBlanking->pVtbl->SetBlanked(displayBlanking); - break; - - // Set display to unblanked - case 1: - printf(" === Set display to unblanked ===\n"); - res = displayBlanking->pVtbl->SetUnblanked(displayBlanking); - break; - - // Set display to blanked for 20 seconds - case 2: - if (thread) - { - SetEvent(quitEvent); - g_quit = true; - WaitForSingleObject(thread, INFINITE); - CloseHandle(thread); - thread = NULL; - } - printf(" === Set display to blanked for 20 seconds ===\n"); - res = displayBlanking->pVtbl->SetBlanked(displayBlanking); - thread = CreateThread(NULL, 0, ThreadUnBlankDisplay, displayBlanking, 0, NULL); - g_quit = false; - break; - default: - break; - } - printf("\tReturn code is: %d (0 means Success)\n", res); - displayBlanking->pVtbl->Release(displayBlanking); - displayBlanking = NULL; - } -} - -DWORD WINAPI ThreadUnBlankDisplay(LPVOID lpParam) -{ - IADLXDisplayBlanking* displayBlanking = (IADLXDisplayBlanking*)(lpParam); - if (displayBlanking) - { - int opt = 0; - while (!g_quit) - { - displayBlanking->pVtbl->Acquire(displayBlanking); - DWORD r = WaitForSingleObject(quitEvent, 20000); - // Quit the thread - if (r == WAIT_OBJECT_0) - { - ResetEvent(quitEvent); - printf("\tThread quit.\n"); - displayBlanking->pVtbl->Release(displayBlanking); - break; - } - // Restore display after 20 seconds - if (r == WAIT_TIMEOUT && !opt) - { - ADLX_RESULT res = displayBlanking->pVtbl->SetUnblanked(displayBlanking); - printf("\tRestore display after 20 seconds, return code is: %d (0 means success).\n", res); - displayBlanking->pVtbl->Release(displayBlanking); - opt = 1; - } - } - } -} - -void MainMenu() -{ - printf("\tChoose from the following options\n"); - - printf("\t->Press 1 to check if display blanking is supported\n"); - - printf("\t->Press 2 to get the current state of display blanking\n"); - - printf("\t->Press 3 to set the state of display blanking to blanked\n"); - printf("\t->Press 4 to set the state of display blanking to unblanked\n"); - printf("\t->Press 5 to set display to blanked for 20 seconds\n"); - - printf("\t->Press Q/q to quit the application\n"); - printf("\t->Press M/m to display the main menu\n"); -} - -// Display action control -void MenuControl(IADLXDisplayServices1* displayService1, IADLXDisplay* display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Check if display blanking is supported - case '1': - ShowDisplayBlankingSupport(displayService1, display); - break; - - // Get the current state of display blanking - case '2': - GetDisplayBlankingState(displayService1, display); - break; - - // Set the state of display blanking to "blanked" or "unblanked" - case '3': - case '4': - case '5': - SetDisplayBlankingState(displayService1, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -IADLXDisplay* SelectDisplay(IADLXDisplayList* displays) -{ - adlx_uint len = displays->pVtbl->Size(displays); - if (len == 0) - return NULL; - - IADLXDisplay* display = NULL; - if (len < 2) - displays->pVtbl->At_DisplayList(displays, 0, &display); - else - { - printf("\tSelect the display using the key(from 1 to %d ).\n", len); - for (adlx_uint it = 0; it < len; it++) - { - displays->pVtbl->At_DisplayList(displays, it, &display); - const char* dispName; - display->pVtbl->Name(display, &dispName); - printf("\t->Press %d to select %s.\n", it + 1, dispName); - } - int num = 0; - num = getchar() - 48; - if (num < 1 || num > len) - printf("\tInvalid key. The first display will be used.\n"); - else - displays->pVtbl->At(displays, num - 1, &display); - } - return display; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayColorDepth/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayColorDepth/CMakeLists.txt deleted file mode 100644 index a8c9a4d..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayColorDepth/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayColorDepth") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayColorDepth.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayColorDepth/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayColorDepth/ReadMe.html deleted file mode 100644 index 80e86d8..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayColorDepth/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display color depth support.
2 Get color depth state.
3 Set current color depth to BPC_6.
4 Set current color depth to BPC_8.
5 Set current color depth to BPC_10.
6 Get support state for each color depth.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayColorDepth

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayColorDepth/maindisplaycolordepth.c b/vendor/adlx/Samples/C/Display/DisplayColorDepth/maindisplaycolordepth.c deleted file mode 100644 index b6a92fa..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayColorDepth/maindisplaycolordepth.c +++ /dev/null @@ -1,322 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayColorDepth.c -/// \brief Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayColorDepthSupport -void ShowDisplayColorDepthSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayColorDepth state -void GetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayColorDepth -void SetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display services - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayColorDepthSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayColorDepth* pDisplayColorDepth = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get ColorDepth Supported ===\n"); - adlx_bool supported = false; - res = pDisplayColorDepth->pVtbl->IsSupported(pDisplayColorDepth, &supported); - printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false"); - } - - if (pDisplayColorDepth != NULL) - { - pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); - pDisplayColorDepth = NULL; - } -} - -void GetSupportStateForEachColorDepth (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayColorDepth* pDisplayColorDepth = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth); - if (ADLX_SUCCEEDED (res) && pDisplayColorDepth) - { - printf(" === Get ColorDepth Support List ===\n"); - - adlx_bool isSupported = false; - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_6 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_6, result %d, BPC_6 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_8 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_8, result %d, BPC_8 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_10 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_10, result %d, BPC_10 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_12 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_12, result %d, BPC_12 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_14 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_14, result %d, BPC_14 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedBPC_16 (pDisplayColorDepth, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_16, result %d, BPC_16 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_6, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_6, result %d, BPC_6 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_8, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_8, result %d, BPC_8 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_10, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_10, result %d, BPC_10 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_12, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_12, result %d, BPC_12 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_14, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_14, result %d, BPC_14 support: %d\n", res, isSupported); - - res = pDisplayColorDepth->pVtbl->IsSupportedColorDepth (pDisplayColorDepth, BPC_16, &isSupported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedBPC_16, result %d, BPC_16 support: %d\n", res, isSupported); - - //Release the DisplayColorDepth interface - pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); - pDisplayColorDepth = NULL; - } -} - -void GetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayColorDepth* pDisplayColorDepth = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get ColorDepth Enabled ===\n"); - ADLX_COLOR_DEPTH cd = BPC_UNKNOWN; - res = pDisplayColorDepth->pVtbl->GetValue(pDisplayColorDepth, &cd); - char* cdStr = "BPC_Unknown"; - switch (cd) - { - case BPC_6: - cdStr = "BPC_6"; - break; - case BPC_8: - cdStr = "BPC_8"; - break; - case BPC_10: - cdStr = "BPC_10"; - break; - } - - printf("\tGetValue, result %d, color depth: %s\n", res, cdStr); - } - - if (pDisplayColorDepth != NULL) - { - pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); - pDisplayColorDepth = NULL; - } -} - -void SetColorDepthState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayColorDepth* pDisplayColorDepth = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetColorDepth(pDisplayService, pDisplay, &pDisplayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set ColorDepth BPC_6 - case 0: - printf(" === Set color depth: BPC_6\n"); - res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_6); - break; - // Set ColorDepth BPC_8 - case 1: - printf(" === Set color depth: BPC_8\n"); - res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_8); - break; - // set ColorDepth BPC_10 - case 2: - printf(" === Set color depth: BPC_10\n"); - res = pDisplayColorDepth->pVtbl->SetValue(pDisplayColorDepth, BPC_10); - break; - default: - break; - } - printf("\treturn code is: %d (0 means Success)\n", res); - } - - if (pDisplayColorDepth != NULL) - { - pDisplayColorDepth->pVtbl->Release(pDisplayColorDepth); - pDisplayColorDepth = NULL; - } -} - -void MainMenu() -{ - printf("\tChoose from the following options\n"); - - printf("\t->Press 1 to display color depth support\n"); - - printf("\t->Press 2 to get color depth state\n"); - - printf("\t->Press 3 to set current color depth to BPC_6\n"); - printf("\t->Press 4 to set current color depth to BPC_8\n"); - printf("\t->Press 5 to set current color depth to BPC_10\n"); - - printf("\t->Press 6 to get support state for each color depth\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayColorDepthSupport - case '1': - ShowDisplayColorDepthSupport(pDisplayService, pDisplay); - break; - - // Display current displayColorDepth state - case '2': - GetColorDepthState(pDisplayService, pDisplay); - break; - - // Set displayColorDepth - case '3': - case '4': - case '5': - SetColorDepthState(pDisplayService, pDisplay, num - '3'); - break; - - case '6': - GetSupportStateForEachColorDepth(pDisplayService, pDisplay); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/CMakeLists.txt deleted file mode 100644 index 738d6ff..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayConnectivityExperience") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayConnectivityExperience.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/ReadMe.html deleted file mode 100644 index 1044724..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/ReadMe.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -

Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display HDMI quality detection support.
2 Display DP link support.
3 Get HDMI quality detection status.
4 Set HDMI quality detection status to "Enable".
5 Set HDMI quality detection status to "Disable".
6 Display DP link rate.
7 Display number of active lanes.
8 Display number of total lanes.
9 Display relative pre-emphasis.
a Enter Relative Pre-emphasis setting menu.
b Display relative voltage swing.
c Enter the Relative Voltage Swing settings menu.
d Display if link protection is enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

-

Sample Path

/Samples/C/Display/DisplayConnectivityExperience -

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.c b/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.c deleted file mode 100644 index fa78931..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.c +++ /dev/null @@ -1,490 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayConnectivityExperience.c -/// \brief Demonstrates how to access Connectivity-Experience when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays2.h" - -// Display supported HDMI quality detection -void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Display supported DP link -void ShowSupportedDPLink(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Display current HDMI quality detection state -void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Set displayVariBright status to enable/disable -void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, adlx_bool enableDisable); - -// Display DP link rate value -void GetDPLinkRate(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Display number of active lanes -void GetNumberOfActiveLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Display number of total lanes -void GetNumberOfTotalLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Display relative pre-emphasis -void GetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Relative pre-emphasis setting menu control -void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Set relative pre-emphasis -void SetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativePreEmphasis); - -// Display relative pre-emphasis -void GetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Relative voltage swing setting menu control -void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Set relative pre-emphasis -void SetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativeVoltageSwing); - -// Display current link protection statue -void GetEnabledLinkProtection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize (); - if (ADLX_SUCCEEDED (res)) - { - // Get system service - IADLXSystem* sys = ADLXHelper_GetSystemServices (); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices (sys, &displayService); - if (ADLX_SUCCEEDED (res)) - { - IADLXDisplayServices2* displayServices2 = NULL; - ADLX_RESULT res2 = displayService->pVtbl->QueryInterface(displayService, IID_IADLXDisplayServices2(), (void**)&displayServices2); - - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays (displayService, &displayList); - if (ADLX_SUCCEEDED (res) && ADLX_SUCCEEDED(res2)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList (displayList, it, &display); - if (ADLX_SUCCEEDED (res)) - { - // Display main menu options - MainMenu (); - // Get and execute the choice - MenuControl (displayServices2, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release (display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release (displayList); - displayList = NULL; - } - - if (NULL != displayServices2) - { - displayServices2->pVtbl->Release(displayServices2); - displayServices2 = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release (displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit ("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate (); - printf ("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system ("pause"); - - return 0; -} - -void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get HDMI quality detection Supported ===\n"); - adlx_bool supported = false; - res = displayConnectivityExperience->pVtbl->IsSupportedHDMIQualityDetection(displayConnectivityExperience, &supported); - printf ("\tHDMI quality detection is supported on the display: %s, return code: %d (0 means success)\n", supported ? "true" : "false", res); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void ShowSupportedDPLink(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get DP Link Supported ===\n"); - adlx_bool supported = false; - res = displayConnectivityExperience->pVtbl->IsSupportedDPLink(displayConnectivityExperience, &supported); - printf ("\tDP Link is supported on the display: %s, return code: %d (0 means success)\n", supported ? "true" : "false", res); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get HDMI quality detection enabled ===\n"); - adlx_bool enabled = false; - res = displayConnectivityExperience->pVtbl->IsEnabledHDMIQualityDetection(displayConnectivityExperience, &enabled); - printf ("\tGetEnabled, result: %d enabled: %s\n", res, enabled ? "true" : "false"); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, adlx_bool enableDisable) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED (res)) - { - if (!enableDisable) - { - res = displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection(displayConnectivityExperience, false); - printf ("\tSet enabled to false, result: %d (0 means success)\n", res); - } - else - { - res = displayConnectivityExperience->pVtbl->SetEnabledHDMIQualityDetection (displayConnectivityExperience, true); - printf ("\tSet enabled to true, result: %d (0 means success)\n", res); - } - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetDPLinkRate(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get DP link rate ===\n"); - ADLX_DP_LINK_RATE DPLinkRate = DP_LINK_RATE_UNKNOWN; - res = displayConnectivityExperience->pVtbl->GetDPLinkRate(displayConnectivityExperience, &DPLinkRate); - char *DPLinkRateStr = "DP_LINK_RATE_UNKNOWN"; - switch (DPLinkRate) - { - case DP_LINK_RATE_RBR: - DPLinkRateStr = "DP_LINK_RATE_RBR"; - break; - case DP_LINK_RATE_2_16GBPS: - DPLinkRateStr = "DP_LINK_RATE_2_16GBPS"; - break; - case DP_LINK_RATE_2_43GBPS: - DPLinkRateStr = "DP_LINK_RATE_2_16GBPS"; - break; - case DP_LINK_RATE_HBR: - DPLinkRateStr = "DP_LINK_RATE_HBR"; - break; - case DP_LINK_RATE_4_32GBPS: - DPLinkRateStr = "DP_LINK_RATE_4_32GBPS"; - break; - case DP_LINK_RATE_HBR2: - DPLinkRateStr = "DP_LINK_RATE_HBR2"; - break; - case DP_LINK_RATE_HBR3: - DPLinkRateStr = "DP_LINK_RATE_HBR3"; - break; - case DP_LINK_RATE_UHBR10: - DPLinkRateStr = "DP_LINK_RATE_UHBR10"; - break; - case DP_LINK_RATE_UHBR13D5: - DPLinkRateStr = "DP_LINK_RATE_UHBR13D5"; - break; - case DP_LINK_RATE_UHBR20: - DPLinkRateStr = "DP_LINK_RATE_UHBR20"; - break; - default: - break; - } - printf("\tThe DP link rate on the display is %s , return code: %d (0 means success)\n", DPLinkRateStr, res); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetNumberOfActiveLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get number of active lanes ===\n"); - adlx_uint numberOfActiveLanes; - res = displayConnectivityExperience->pVtbl->GetNumberOfActiveLanes(displayConnectivityExperience, &numberOfActiveLanes); - printf ("\tGetValue, result: %d value: %d\n", res, numberOfActiveLanes); - } -} - -void GetNumberOfTotalLanes(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get number of total lanes ===\n"); - adlx_uint numberOfTotalLanes; - res = displayConnectivityExperience->pVtbl->GetNumberOfTotalLanes(displayConnectivityExperience, &numberOfTotalLanes); - printf ("\tGetValue, result: %d value %d\n", res, numberOfTotalLanes); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get relative pre-emphasis ===\n"); - adlx_int relativePreEmphasis; - res = displayConnectivityExperience->pVtbl->GetRelativePreEmphasis(displayConnectivityExperience, &relativePreEmphasis); - printf( "\tGetValue, result: %d value: %d\n", res, relativePreEmphasis); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - printf (" === relative pre-emphasis setting ===\n"); - printf ("\t->Press integer in [-2:2] to set relative pre-emphasis or return main menu\n"); - int num = 0; - if (scanf_s("%d", &num) && (-2 <= num && num <= 2)) - { - SetRelativePreEmphasis(displayService2, display, num); - } -} - -void SetRelativePreEmphasis(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativePreEmphasis) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Set relative pre-emphasis ===\n"); - res = displayConnectivityExperience->pVtbl->SetRelativePreEmphasis(displayConnectivityExperience, relativePreEmphasis); - printf ("\tReturn code is: %d (0 means success)\n", res); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get relative voltage swing ===\n"); - adlx_int relativeVoltageSwing; - res = displayConnectivityExperience->pVtbl->GetRelativeVoltageSwing(displayConnectivityExperience, &relativeVoltageSwing); - printf ("\tGetValue, result: %d value: %d\n", res, relativeVoltageSwing); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - printf (" === relative voltage swing setting ===\n"); - printf ("\t->Press integer in [-2:2] to set relative voltage swing or return main menu\n"); - int num = 0; - if (scanf_s("%d", &num) && (-2 <= num && num <= 2)) - { - SetRelativeVoltageSwing(displayService2, display, num); - } -} - -void SetRelativeVoltageSwing(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display, int relativeVoltageSwing) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Set relative voltage swing ===\n"); - res = displayConnectivityExperience->pVtbl->SetRelativeVoltageSwing(displayConnectivityExperience, relativeVoltageSwing); - printf ("\tReturn code is: %d (0 means success)\n", res); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - -void GetEnabledLinkProtection(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - IADLXDisplayConnectivityExperience* displayConnectivityExperience; - ADLX_RESULT res = displayService2->pVtbl->GetDisplayConnectivityExperience(displayService2, display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - printf (" === Get link protection enabled ===\n"); - adlx_bool enabled = false; - res = displayConnectivityExperience->pVtbl->IsEnabledLinkProtection(displayConnectivityExperience, &enabled); - printf ("\tGetEnabled, result: %d enabled: %s\n", res, enabled ? "true" : "false"); - displayConnectivityExperience->pVtbl->Release(displayConnectivityExperience); - } -} - - -void MainMenu() -{ - printf ("\tChoose from following options\n"); - - printf ("\t->Press 1 to display HDMI quality detection support\n"); - printf ("\t->Press 2 to display DP link support\n"); - printf ("\t->Press 3 to get HDMI quality detection status\n"); - printf ("\t->Press 4 to set HDMI quality detection status to Enable\n"); - printf ("\t->Press 5 to set HDMI quality detection status to Disable\n"); - printf ("\t->Press 6 to display DP link rate\n"); - printf ("\t->Press 7 to display number of active lanes\n"); - printf ("\t->Press 8 to display number of total lanes\n"); - printf ("\t->Press 9 to display relative pre-emphasis\n"); - printf ("\t->Press a to enter the Relative Pre-emphasis settings menu\n"); - printf ("\t->Press b to display relative voltage swing\n"); - printf ("\t->Press c to enter the Relative Voltage Swing settings menu\n"); - printf ("\t->Press d to display is link protection is enabled\n"); - - printf ("\t->Press Q/q to terminate the application\n"); - printf ("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(const IADLXDisplayServices2* displayService2, const IADLXDisplay* display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display supported HDMI quality detection - case '1': - ShowSupportedHDMIQualityDetection(displayService2, display); - break; - - // Display ssupported DP link - case '2': - ShowSupportedDPLink(displayService2, display); - break; - - // Get HDMI quality detection enable - case '3': - GetEnabledHDMIQualityDetection(displayService2, display); - break; - - // Set HDMI quality detection enable - case '4': - SetEnabledHDMIQualityDetection(displayService2, display, true); - break; - - // Set HDMI quality detection disable - case '5': - SetEnabledHDMIQualityDetection(displayService2, display, false); - break; - - // Display DP link rate - case '6': - GetDPLinkRate(displayService2, display); - break; - - // Display number of active lanes - case '7': - GetNumberOfActiveLanes(displayService2, display); - break; - - // Display number of totla lanes - case '8': - GetNumberOfTotalLanes(displayService2, display); - break; - - // Display relative pre-emphasis - case '9': - GetRelativePreEmphasis(displayService2, display); - break; - - // Enter relative pre-emphasis setting control - case 'a': - RelativePreEmphasisSettingMenuControl(displayService2, display); - break; - - // Display relative voltage swing - case 'b': - GetRelativeVoltageSwing(displayService2, display); - break; - - // Enter relative voltage swing setting control - case 'c': - RelativeVoltageSwingSettingMenuControl(displayService2, display); - break; - - // Display link protection status - case 'd': - GetEnabledLinkProtection(displayService2, display); - break; - - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf ("%s\n", msg); - - system("Pause"); - return retCode; -} diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomColor/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayCustomColor/CMakeLists.txt deleted file mode 100644 index 748f44b..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomColor/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayCustomColor") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayCustomColor.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomColor/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayCustomColor/ReadMe.html deleted file mode 100644 index ef5e7d5..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomColor/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to use custom color for display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Enter Hue settings.
2 Enter Saturation settings.
3 Enter Brightness settings.
4 Enter Contrast settings.
5 Enter Temperature settings.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayCustomColor

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomColor/mainDisplayCustomColor.c b/vendor/adlx/Samples/C/Display/DisplayCustomColor/mainDisplayCustomColor.c deleted file mode 100644 index a3cfc94..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomColor/mainDisplayCustomColor.c +++ /dev/null @@ -1,330 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayCustomColor.c -/// \brief Demonstrates how to use custom color for display when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Custom color types -enum -{ - CUSTOM_COLOR_HUE = 1, - CUSTOM_COLOR_SATURATION, - CUSTOM_COLOR_BRIGHTNESS, - CUSTOM_COLOR_CONTRAST, - CUSTOM_COLOR_TEMPERATURE -}; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Handler for user input -void ExecuteCommand(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, const char* colorTypeString); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -ADLX_RESULT GetSupport(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_bool* supported) -{ - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->pVtbl->IsHueSupported(pDisplayColor_, supported); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->pVtbl->IsSaturationSupported(pDisplayColor_, supported); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->pVtbl->IsBrightnessSupported(pDisplayColor_, supported); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->pVtbl->IsContrastSupported(pDisplayColor_, supported); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->pVtbl->IsTemperatureSupported(pDisplayColor_, supported); - } - return ADLX_FAIL; -} - -ADLX_RESULT GetRange(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, ADLX_IntRange* range) -{ - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->pVtbl->GetHueRange(pDisplayColor_, range); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->pVtbl->GetSaturationRange(pDisplayColor_, range); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->pVtbl->GetBrightnessRange(pDisplayColor_, range); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->pVtbl->GetContrastRange(pDisplayColor_, range); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->pVtbl->GetTemperatureRange(pDisplayColor_, range); - } - return ADLX_FAIL; -} - -ADLX_RESULT GetValue(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_int* value) -{ - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->pVtbl->GetHue(pDisplayColor_, value); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->pVtbl->GetSaturation(pDisplayColor_, value); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->pVtbl->GetBrightness(pDisplayColor_, value); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->pVtbl->GetContrast(pDisplayColor_, value); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->pVtbl->GetTemperature(pDisplayColor_, value); - } - return ADLX_FAIL; -} - -ADLX_RESULT SetValue(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, adlx_int value) -{ - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->pVtbl->SetHue(pDisplayColor_, value); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->pVtbl->SetSaturation(pDisplayColor_, value); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->pVtbl->SetBrightness(pDisplayColor_, value); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->pVtbl->SetContrast(pDisplayColor_, value); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->pVtbl->SetTemperature(pDisplayColor_, value); - } - return ADLX_FAIL; -} - -void ExecuteCommand(IADLXDisplayCustomColor* pDisplayColor_, int colorType_, const char* colorTypeString) -{ - printf("\tChoose from following options for %s settings\n", colorTypeString); - printf("\t->Press 1 to display support\n"); - printf("\t->Press 2 to get range data\n"); - printf("\t->Press 3 to display current value\n"); - printf("\t->Press 4 to set current value\n"); - printf("\t->Press X/x to get back to main menu\n"); - - int num = 0; - while ((num = getchar()) != 'x' && num != 'X') - { - switch (num) - { - case '1': - { - adlx_bool supported = false; - printf(" === Get %s supported ===\n", colorTypeString); - GetSupport(pDisplayColor_, colorType_, &supported); - printf("\tIs %s supported: %s\n", colorTypeString, supported ? "true" : "false"); - break; - } - case '2': - { - ADLX_IntRange range = { 0 }; - printf(" === Get %s Range data ===\n", colorTypeString); - GetRange(pDisplayColor_, colorType_, &range); - printf("\tGet %s Range, minimum: %d, maximum: %d, step: %d\n", colorTypeString, range.minValue, range.maxValue, range.step); - break; - } - case '3': - { - adlx_int value = 0; - printf(" === Get current %s value ===\n", colorTypeString); - GetValue(pDisplayColor_, colorType_, &value); - printf("\tGet %s, value: %d\n", colorTypeString, value); - break; - } - case '4': - { - ADLX_IntRange range = { 0 }; - GetRange(pDisplayColor_, colorType_, &range); - adlx_int currentValue = 0; - GetValue(pDisplayColor_, colorType_, ¤tValue); - adlx_int baseValue = (range.minValue + range.maxValue) / 2; - adlx_int value = (currentValue == baseValue) ? baseValue + range.step : baseValue; - printf("\tSet %s, value: %d\n", colorTypeString, value); - auto res = SetValue(pDisplayColor_, colorType_, value); - printf("\treturn code is: %d (0 means Success)\n", res); - break; - } - default: - break; - } - } - - MainMenu(); -} - -void ShowCustomColorSettings(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int colorType) -{ - IADLXDisplayCustomColor* pDisplayCustomColor = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetCustomColor(pDisplayService, pDisplay, &pDisplayCustomColor); - if (ADLX_SUCCEEDED(res)) - { - switch (colorType) - { - case CUSTOM_COLOR_HUE: - ExecuteCommand(pDisplayCustomColor, colorType, "Hue"); - break; - case CUSTOM_COLOR_SATURATION: - ExecuteCommand(pDisplayCustomColor, colorType, "Saturation"); - break; - case CUSTOM_COLOR_BRIGHTNESS: - ExecuteCommand(pDisplayCustomColor, colorType, "Brightness"); - break; - case CUSTOM_COLOR_CONTRAST: - ExecuteCommand(pDisplayCustomColor, colorType, "Contrast"); - break; - case CUSTOM_COLOR_TEMPERATURE: - ExecuteCommand(pDisplayCustomColor, colorType, "Temperature"); - break; - } - - pDisplayCustomColor->pVtbl->Release(pDisplayCustomColor); - } - else - { - printf("Get custom color failed.\n"); - } -} - -void MainMenu() -{ - printf("\tChoose from following options\n"); - - printf("\t->Press 1 to enter Hue settings\n"); - printf("\t->Press 2 to enter Saturation settings\n"); - printf("\t->Press 3 to enter Brightness settings\n"); - printf("\t->Press 4 to enter Contrast settings\n"); - printf("\t->Press 5 to enter Temperature settings\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - case '1': - ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_HUE); - break; - // Display Saturation settings - case '2': - ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_SATURATION); - break; - // Display Brightness settings - case '3': - ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_BRIGHTNESS); - break; - // Display Contrast settings - case '4': - ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_CONTRAST); - break; - // Display Temperature settings - case '5': - ShowCustomColorSettings(pDisplayService, pDisplay, CUSTOM_COLOR_TEMPERATURE); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayCustomResolution/CMakeLists.txt deleted file mode 100644 index a82ff6d..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayCustomResolution") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayCustomResolution.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayCustomResolution/ReadMe.html deleted file mode 100644 index 1070a1f..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display custom resolution support.
2 Get custom resolution list.
3 Get current applied resolution.
4 Create new customized resolution.
5 Delete avaible resolution.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayCustomResolution

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/mainDisplayCustomResolution.c b/vendor/adlx/Samples/C/Display/DisplayCustomResolution/mainDisplayCustomResolution.c deleted file mode 100644 index 409a965..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayCustomResolution/mainDisplayCustomResolution.c +++ /dev/null @@ -1,356 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayCustomColor.c -/// \brief Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display custom resolution support -void ShowCustomResolutionSupport(IADLXDisplayCustomResolution* pCustomResolution); - -// Display availabe display resolutions -void GetResolutionList(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolutionList** ppResolutionList); - -// Display current display resolution -void GetCurrentResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution** ppResolution); - -// Create new customized display resolution -void CreateNewResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution); - -// Delete display resolution -void DeleteResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution); - -// Print out given resolution -void PrintResolution(IADLXDisplayResolution* pResolution); - -// Print out given resolution list -void PrintResolutions(IADLXDisplayResolutionList* pResolutionList); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Show a menu with options to chose from - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowCustomResolutionSupport(IADLXDisplayCustomResolution* pCustomResolution) -{ - printf(" === Get custom resolution supported ===\n"); - adlx_bool supported = false; - ADLX_RESULT res = pCustomResolution->pVtbl->IsSupported(pCustomResolution, &supported); - printf("\tIsSupported, result %d, supported: %s\n", res, supported ? "true" : "false"); -} - -void GetResolutionList(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolutionList** ppResolutionList) -{ - ADLX_RESULT res = pCustomResolution->pVtbl->GetResolutionList(pCustomResolution, ppResolutionList); - if (ADLX_FAILED(res)) - printf(" GetResolutionList, failed.\n"); -} - -void GetCurrentResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution** ppResolution) -{ - ADLX_RESULT res = pCustomResolution->pVtbl->GetCurrentAppliedResolution(pCustomResolution, ppResolution); - if (ADLX_FAILED(res)) - printf(" GetCurrentResolution, failed.\n"); -} - -void CreateNewResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution) -{ - ADLX_RESULT res = pCustomResolution->pVtbl->CreateNewResolution(pCustomResolution, pResolution); - if (ADLX_FAILED(res)) - printf(" CreateNewResolution, failed.\n"); -} - -void DeleteResolution(IADLXDisplayCustomResolution* pCustomResolution, IADLXDisplayResolution* pResolution) -{ - PrintResolution(pResolution); - ADLX_RESULT res = pCustomResolution->pVtbl->DeleteResolution(pCustomResolution, pResolution); - if (ADLX_FAILED(res)) - printf(" DeleteResolution, failed.\n"); -} - -void PrintResolution(IADLXDisplayResolution* pResolution) -{ - ADLX_CustomResolution cr; - pResolution->pVtbl->GetValue(pResolution, &cr); - - char* sPresention = (cr.presentation == INTERLACED) ? "Interlaced" : "Progressive"; - char* sTimingStandard = "Manual"; - char* sHPolarity = (cr.detailedTiming.hPolarity == POSITIVE) ? "Positive" : "Negative"; - char* sVPolarity = (cr.detailedTiming.vPolarity == POSITIVE) ? "Positive" : "Negative"; - - switch (cr.timingStandard) - { - case MANUAL: - sTimingStandard = "Manual"; - break; - case DMT: - sTimingStandard = "DMT"; - break; - case GTF: - sTimingStandard = "GTF"; - break; - case CVT_RB: - sTimingStandard = "CVT - Reduced Blanking"; - break; - case CVT: - sTimingStandard = "CVT"; - break; - default: - break; - } - - char buff[1024] = {0}; - int offset = snprintf(buff, sizeof(buff), "\n Resolution (Px)\t\t%d x %d\n", cr.resWidth, cr.resHeight); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Refresh Rate (Hz)\t\t%d\n", cr.refreshRate); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Presentation\t\t\t%s\n", sPresention); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Standard\t\t%s\n", sTimingStandard); - offset += snprintf(buff + offset, sizeof(buff) - offset, " G.Pixel Clock (kHz)\t\t%d\n", cr.GPixelClock); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Information\t\t\tHorizontal\tVertical\n"); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Total\t\t\t%d\t%d\n", cr.detailedTiming.hTotal, cr.detailedTiming.vTotal); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Display\t\t%d\t%d\n", cr.detailedTiming.hDisplay, cr.detailedTiming.vDisplay); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Front Porch\t\t%d\t%d\n", cr.detailedTiming.hFrontPorch, cr.detailedTiming.vFrontPorch); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Sync Width\t\t%d\t%d\n", cr.detailedTiming.hSyncWidth, cr.detailedTiming.vSyncWidth); - offset += snprintf(buff + offset, sizeof(buff) - offset, " Timing Polarity\t\t%s %s\n", sHPolarity, sVPolarity); - - printf("%s\n", buff); -} - -void PrintResolutions(IADLXDisplayResolutionList* pResolutionList) -{ - printf(" Print out resolution list ==\n"); - if (pResolutionList == NULL) - { - printf(" Resolution list is NULL\n"); - return; - } - - if (pResolutionList->pVtbl->Size(pResolutionList) == 0) - { - printf(" Resolution list is empty!\n"); - return; - } - - ADLX_RESULT res = ADLX_FAIL; - for (adlx_uint crt = 0; crt < pResolutionList->pVtbl->Size(pResolutionList); crt++) - { - IADLXDisplayResolution* pDispResolution = NULL; - res = pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList, crt, &pDispResolution); - if (ADLX_SUCCEEDED(res)) - { - printf(" Resolution index: %d\n", crt); - PrintResolution(pDispResolution); - } - } -} - -void MainMenu() -{ - printf("\tChoose from following options\n"); - - printf("\t->Press 1 to display custom resolution support\n"); - - printf("\t->Press 2 to get custom resolution list\n"); - - printf("\t->Press 3 to get current applied resolution\n"); - printf("\t->Press 4 to create new customized resolution\n"); - printf("\t->Press 5 to delete avaible resolution\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayCustomResolution* pCustomResolution = NULL; - pDisplayService->pVtbl->GetCustomResolution(pDisplayService, pDisplay, &pCustomResolution); - - if (!pCustomResolution) - { - printf("Menu control: cannot retrive custom resolution instance!\n"); - return; - } - - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display custom resolution support - case '1': - ShowCustomResolutionSupport(pCustomResolution); - break; - - // Display current available resolutions - case '2': - { - printf(" === Get Resolution List: ===\n"); - IADLXDisplayResolutionList* pResolutionList = NULL; - GetResolutionList(pCustomResolution, &pResolutionList); - if (pResolutionList != NULL) - { - PrintResolutions(pResolutionList); - pResolutionList->pVtbl->Release(pResolutionList); - } - break; - } - - // Get current applied resolution - case '3': - { - printf(" === Get current resolution: ===\n"); - IADLXDisplayResolution* pDisplayResolution = NULL; - GetCurrentResolution(pCustomResolution, &pDisplayResolution); - if (pDisplayResolution != NULL) - { - PrintResolution(pDisplayResolution); - pDisplayResolution->pVtbl->Release(pDisplayResolution); - } - break; - } - // Create customized resolution - case '4': - { - printf(" === Create new resolution: ===\n"); - IADLXDisplayResolution* pDisplayResolution = NULL; - GetCurrentResolution(pCustomResolution, &pDisplayResolution); - if (pDisplayResolution) - { - ADLX_CustomResolution customRes; - pDisplayResolution->pVtbl->GetValue(pDisplayResolution, &customRes); - - customRes.resWidth = 1920; - customRes.resHeight = 1080; - customRes.detailedTiming.hDisplay = 1920; - customRes.detailedTiming.vDisplay = 1080; - pDisplayResolution->pVtbl->SetValue(pDisplayResolution, customRes); - - PrintResolution(pDisplayResolution); - CreateNewResolution(pCustomResolution, pDisplayResolution); - pDisplayResolution->pVtbl->Release(pDisplayResolution); - } - break; - } - // Delete available resolution - case '5': - { - printf(" === Delete resolution: ===\n"); - IADLXDisplayResolutionList* pResolutionList = NULL; - GetResolutionList(pCustomResolution, &pResolutionList); - if (pResolutionList != NULL && pResolutionList->pVtbl->Size(pResolutionList) > 0) - { - IADLXDisplayResolution* pDisplayResolution = NULL; - ADLX_RESULT res = pResolutionList->pVtbl->At_DisplayResolutionList(pResolutionList, 0, &pDisplayResolution); - if (ADLX_SUCCEEDED(res)) - { - DeleteResolution(pCustomResolution, pDisplayResolution); - pDisplayResolution->pVtbl->Release(pDisplayResolution); - } - pResolutionList->pVtbl->Release(pResolutionList); - } - break; - } - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } - - pCustomResolution->pVtbl->Release(pCustomResolution); -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayEvents/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayEvents/CMakeLists.txt deleted file mode 100644 index 0fdb52c..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayEvents/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayEvents") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayEvents.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayEvents/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayEvents/ReadMe.html deleted file mode 100644 index 279d109..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayEvents/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/C/Display/DisplayEvents

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayEvents/mainDisplayEvents.c b/vendor/adlx/Samples/C/Display/DisplayEvents/mainDisplayEvents.c deleted file mode 100644 index eb2132f..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayEvents/mainDisplayEvents.c +++ /dev/null @@ -1,215 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayEvents.c -/// \brief Demontrates how to handle notifications about display change. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplay3DLUT.h" -#include "SDK/Include/IDisplayGamma.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" -#include - -// Callback for displayListChanged -adlx_bool ADLX_STD_CALL OnDisplayListChanged(IADLXDisplayListChangedListener* pThis, IADLXDisplayList* pNewDisplays) -{ - printf("Display list has been changed\n"); - - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; -} - -// Callback struct for displayListChanged -typedef struct DisplayListCallBack -{ - adlx_bool(ADLX_STD_CALL* OnDisplayListChanged)(IADLXDisplayListChangedListener*, IADLXDisplayList*); -} DisplayListCallBack; - -// Callback for displayGamut -adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedListener* pThis, IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) -{ - printf("Display gamut has been changed\n"); - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; -} - -// Callback struct for displayGamut -typedef struct DisplayGamutCallBack -{ - adlx_bool(ADLX_STD_CALL* OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*, IADLXDisplayGamutChangedEvent*); -} DisplayGamutCallBack; - -// Callback for displayGammaChanged -adlx_bool ADLX_STD_CALL OnDisplayGammaChanged(IADLXDisplayGammaChangedListener* pThis, IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) -{ - printf("Display gamma has been changed\n"); - //If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - printf("\tGamma ramp change: %d\n\tGamma coefficient change: %d\n\tRe-gamma change: %d\n\tDeGamma change: %d\n", - pDisplayGammaChangedEvent->pVtbl->IsGammaRampChanged(pDisplayGammaChangedEvent), - pDisplayGammaChangedEvent->pVtbl->IsGammaCoefficientChanged(pDisplayGammaChangedEvent), - pDisplayGammaChangedEvent->pVtbl->IsReGammaChanged(pDisplayGammaChangedEvent), - pDisplayGammaChangedEvent->pVtbl->IsDeGammaChanged(pDisplayGammaChangedEvent)); - - return true; -} - -// CallBack struct for displayGammaChanged -typedef struct DisplayGammaCallBack -{ - adlx_bool(ADLX_STD_CALL* OnDisplayGammaChanged)(IADLXDisplayGammaChangedListener*, IADLXDisplayGammaChangedEvent*); -} DisplayGammaCallBack; - -// CallBack for display3DLUTChanged -adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener* pThis, IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) -{ - printf("Display 3DLUT has been changed\n"); - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; -} - -// CallBack struct for display3DLUT -typedef struct Display3DLUTCallBack -{ - adlx_bool(ADLX_STD_CALL* OnDisplay3DLUTChanged)(IADLXDisplay3DLUTChangedListener*, IADLXDisplay3DLUTChangedEvent*); -} Display3DLUTCallBack; - -// loop thread -DWORD WINAPI LoopThread(LPVOID lpParam) -{ - printf("Loop thread is currently running.\n"); - printf("->Plug or unplug the display to trigger DisplayListChanged, which will further trigger other changes.\n"); - printf("->Press Q/q to terminate the loop.\n"); - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - printf("Wait for the event to get triggered. The display can be pluged or unpluged to trigger DisplayListChange.\n"); - Sleep(1 * 1000); - num = getchar(); - if (num == 'q' || num == 'Q') - break; - } - return 0; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display services - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get displayChangeHandling - IADLXDisplayChangedHandling* displayChangeHandl = NULL; - res = displayService->pVtbl->GetDisplayChangedHandling(displayService, &displayChangeHandl); - if (ADLX_SUCCEEDED(res)) - { - // Create callback - DisplayListCallBack* displayListCallBack = (DisplayListCallBack*)malloc(sizeof(DisplayListCallBack)); - displayListCallBack->OnDisplayListChanged = &OnDisplayListChanged; - - DisplayGamutCallBack* displayGamutCallBack = (DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack)); - displayGamutCallBack->OnDisplayGamutChanged = &OnDisplayGamutChanged; - - DisplayGammaCallBack* displayGammaCallBack = (DisplayGammaCallBack*)malloc(sizeof(DisplayGammaCallBack)); - displayGammaCallBack->OnDisplayGammaChanged = &OnDisplayGammaChanged; - - Display3DLUTCallBack* display3DLUTCallBack = (Display3DLUTCallBack*)malloc(sizeof(Display3DLUTCallBack)); - display3DLUTCallBack->OnDisplay3DLUTChanged = &OnDisplay3DLUTChanged; - - // Add callback to the handle - { - displayChangeHandl->pVtbl->AddDisplayListEventListener(displayChangeHandl, (IADLXDisplayListChangedListener*)&displayListCallBack); - displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack); - displayChangeHandl->pVtbl->AddDisplayGammaEventListener(displayChangeHandl, (IADLXDisplayGammaChangedListener*)&displayGammaCallBack); - displayChangeHandl->pVtbl->AddDisplay3DLUTEventListener(displayChangeHandl, (IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack); - } - - // Create loop thread for wait event - HANDLE thread = CreateThread(NULL, 0, LoopThread, NULL, 0, NULL); - WaitForSingleObject(thread, INFINITE); - CloseHandle(thread); - - // Remove and destroy callback - displayChangeHandl->pVtbl->RemoveDisplayListEventListener(displayChangeHandl, (IADLXDisplayListChangedListener*)&displayListCallBack); - displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack); - displayChangeHandl->pVtbl->RemoveDisplayGammaEventListener(displayChangeHandl, (IADLXDisplayGammaChangedListener*)&displayGammaCallBack); - displayChangeHandl->pVtbl->RemoveDisplay3DLUTEventListener(displayChangeHandl, (IADLXDisplay3DLUTChangedListener*)&display3DLUTCallBack); - - if (NULL != displayListCallBack) - { - free(displayListCallBack); - displayListCallBack = NULL; - } - - if (NULL != displayGamutCallBack) - { - free(displayGamutCallBack); - displayGamutCallBack = NULL; - } - - if (NULL != displayGammaCallBack) - { - free(displayGammaCallBack); - displayGammaCallBack = NULL; - } - - if (NULL != display3DLUTCallBack) - { - free(display3DLUTCallBack); - display3DLUTCallBack = NULL; - } - } - - // Release the displayChangehandl interface - if (NULL != displayChangeHandl) - { - displayChangeHandl->pVtbl->Release(displayChangeHandl); - displayChangeHandl = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayFreeSync/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayFreeSync/CMakeLists.txt deleted file mode 100644 index 38e0102..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayFreeSync/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayFreeSync") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayFreeSync.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/Display/DisplayFreeSync/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayFreeSync/ReadMe.html deleted file mode 100644 index ff79ccd..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayFreeSync/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display FreeSync support.
2 Get FreeSync state.
3 Set current FreeSync to disabled.
4 Set current FreeSync to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayFreeSync

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayFreeSync/mainDisplayFreeSync.c b/vendor/adlx/Samples/C/Display/DisplayFreeSync/mainDisplayFreeSync.c deleted file mode 100644 index be102c8..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayFreeSync/mainDisplayFreeSync.c +++ /dev/null @@ -1,217 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.c -/// \brief Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayFreeSync Support -void ShowDisplayFreeSyncSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayFreeSync state -void GetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayFreeSync -void SetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu selection - MainMenu(); - // Get and execute the selection - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayFreeSyncSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayFreeSync* pDisplayFreeSync = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get FreeSync supported ===\n"); - adlx_bool supported = false; - res = pDisplayFreeSync->pVtbl->IsSupported(pDisplayFreeSync, &supported); - printf("\tIsSupported, res: %d, supported: %s\n", res, supported ? "true" : "false"); - pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); - } -} - -void GetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayFreeSync* pDisplayFreeSync = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get FreeSync enabled ===\n"); - adlx_bool enabled = false; - res = pDisplayFreeSync->pVtbl->IsEnabled(pDisplayFreeSync, &enabled); - printf("\tIsEnabled, res: %d, enabled: %d\n", res, enabled); - pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); - } -} - -void SetFreeSyncState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayFreeSync* pDisplayFreeSync = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetFreeSync(pDisplayService, pDisplay, &pDisplayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set FreeSync disabled - case 0: - printf(" === Set FreeSync to false\n"); - res = pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync, false); - break; - // Set FreeSync enabled - case 1: - printf(" === Set FreeSync to true\n"); - res = pDisplayFreeSync->pVtbl->SetEnabled(pDisplayFreeSync, true); - break; - default: - break; - } - printf("\treturn code is: %d (0 means Success)\n", res); - pDisplayFreeSync->pVtbl->Release(pDisplayFreeSync); - } -} - -void MainMenu() -{ - printf("\tChoose from following options:\n"); - - printf("\t->Press 1 to Display FreeSync support\n"); - - printf("\t->Press 2 to get FreeSync state\n"); - - printf("\t->Press 3 to set current FreeSync to disabled\n"); - printf("\t->Press 4 to set current FreeSync to enabled\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayFreeSync support - case '1': - ShowDisplayFreeSyncSupport(pDisplayService, pDisplay); - break; - - // Display current displayFreeSync state - case '2': - GetFreeSyncState(pDisplayService, pDisplay); - break; - - // Set displayFreeSync - case '3': - case '4': - SetFreeSyncState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayGPUScaling/CMakeLists.txt deleted file mode 100644 index 013d2a0..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGPUScaling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayGPUScaling.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayGPUScaling/ReadMe.html deleted file mode 100644 index f12e0fa..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display GPU scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display GPU scaling support.
2 Get GPU scaling state.
3 Set current GPU scaling to disabled.
4 Set current GPU scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGPUScaling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/mainDisplayGPUScaling.c b/vendor/adlx/Samples/C/Display/DisplayGPUScaling/mainDisplayGPUScaling.c deleted file mode 100644 index 4e8e660..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGPUScaling/mainDisplayGPUScaling.c +++ /dev/null @@ -1,216 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayCustomColor.c -/// \brief Demonstrates how to obtain the display GPU scaling when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayGPUScaling support -void ShowDisplayGPUScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayGPUScaling state -void GetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayGPUScaling -void SetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the selection - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayGPUScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get GPUScaling supported ===\n"); - adlx_bool supported = false; - res = pDisplayGPUScaling->pVtbl->IsSupported(pDisplayGPUScaling, &supported); - printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false"); - pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); - } -} - -void GetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get GPUScaling enabled ===\n"); - adlx_bool enabled = false; - res = pDisplayGPUScaling->pVtbl->IsEnabled(pDisplayGPUScaling, &enabled); - printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false"); - pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); - } -} - -void SetGPUScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayGPUScaling* pDisplayGPUScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetGPUScaling(pDisplayService, pDisplay, &pDisplayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Set GPU scaling ===\n"); - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set GPU scaling disabled - case 0: - res = pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling, false); - break; - // Set GPU scaling enabled - case 1: - res = pDisplayGPUScaling->pVtbl->SetEnabled(pDisplayGPUScaling, true); - break; - default: - break; - } - printf("\treturn code is: %d (0 means Success)\n", res); - pDisplayGPUScaling->pVtbl->Release(pDisplayGPUScaling); - } -} - -void MainMenu() -{ - printf("\tChoose from following options:\n"); - - printf("\t->Press 1 to display GPU scaling support\n"); - - printf("\t->Press 2 to get GPU scaling state\n"); - - printf("\t->Press 3 to set current GPU scaling to disabled\n"); - printf("\t->Press 4 to set current GPU scaling to enabled\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayGPUScaling support - case '1': - ShowDisplayGPUScalingSupport(pDisplayService, pDisplay); - break; - - // Display current displayGPUScaling state - case '2': - GetGPUScalingState(pDisplayService, pDisplay); - break; - - // Set displayGPUScaling - case '3': - case '4': - SetGPUScalingState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayGamma/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayGamma/CMakeLists.txt deleted file mode 100644 index ad10be2..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamma/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGamma") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../../../output-night-light.txt DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - -set(all_file - "mainDisplayGamma.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - - - diff --git a/vendor/adlx/Samples/C/Display/DisplayGamma/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayGamma/ReadMe.html deleted file mode 100644 index dec4d16..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamma/ReadMe.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -

Demonstrates how to obtain the display gamma when programming with ADLX and perform related operations.

- -

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Show display gamma support.
2 Display current gamma information.
3 Set ReGammaSRGB using predefined coefficients.
4 Set ReGamma using custom coefficients.
5 Set ReGamma using ramp from file[file path: output-night-light.txt].
6 ReGamma using ramp from memory.
7 Reset gamma ramp.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGamma

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayGamma/mainDisplayGamma.c b/vendor/adlx/Samples/C/Display/DisplayGamma/mainDisplayGamma.c deleted file mode 100644 index 10a30c8..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamma/mainDisplayGamma.c +++ /dev/null @@ -1,396 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayGamma.c -/// \brief Demonstrates how to obtain the display gamma when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplayGamma.h" -#include "SDK/Include/IDisplays.h" -#include - -// Print gamma ramp -static void ShowGammaRamp(ADLX_GammaRamp gammaRamp) -{ - for (int j = 0; j < 3; j++) - { - printf("\nGetGammaRamp [%c]:\n", (j == 0) ? 'R' : ((j == 1) ? 'G' : (j == 2) ? 'B' - : 'E')); - for (int i = 0; i < 256; i++) - { - printf("%05d ", gammaRamp.gamma[i + j * 256]); - if (i % 10 == 9) - printf("\n"); - } - } - printf("\n"); -} - -// Create regamma ramp -ADLX_GammaRamp CreateReGammaRamp(const float fGamma) -{ - ADLX_GammaRamp ramp; - double g_fGammaRemapRGB[3] = { 1,1,0.5 }; - for (int j = 0; j < 3; j++) - { - for (int i = 0; i < 256; i++) - { - - float nAdj = i / 255.0f; - if (nAdj < 0.0031308f) - { - nAdj = nAdj * 12.92f; - } - else - { - nAdj = (1 + 0.055f) * powf(nAdj, 1 / fGamma) - 0.055f; - if (nAdj < 0.0f) - nAdj = 0.0f; - } - ramp.gamma[i + j * 256] = (unsigned short)(1 * g_fGammaRemapRGB[j] * (int)(nAdj * 0xFFFF)); - } - } - return ramp; -} - -// Display gamma support -void ShowDisplayGammaSupport(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display gamma - IADLXDisplayGamma* displayGamma = NULL; - ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma); - adlx_bool support = false; - if (ADLX_SUCCEEDED(res)) - { - printf(" === Re-Gamma supported status ===\n"); - res = displayGamma->pVtbl->IsSupportedReGammaSRGB(displayGamma, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs sRGB re-gamma supported on this display: %d\n", support); - res = displayGamma->pVtbl->IsSupportedReGammaBT709(displayGamma, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs BT709 re-gamma supported on this display: %d\n", support); - res = displayGamma->pVtbl->IsSupportedReGammaPQ(displayGamma, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs PQ re-gamma supported on this display: %d\n", support); - res = displayGamma->pVtbl->IsSupportedReGammaPQ2084Interim(displayGamma, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs PQ2084Interim re-gamma supported on this display: %d\n", support); - res = displayGamma->pVtbl->IsSupportedReGamma36(displayGamma, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs 3.6 re-gamma supported on this display:%d\n", support); - } - - // Release the displayGamma interface - if (NULL != displayGamma) - { - displayGamma->pVtbl->Release(displayGamma); - displayGamma = NULL; - } -} - -// Get current gamma state -void GetCurrentGammaState(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get display gamma - IADLXDisplayGamma* displayGamma; - ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Current gamma state ===\n"); - adlx_bool applied = false; - ADLX_RESULT res = ADLX_FAIL; - ADLX_GammaRamp ramp; - ADLX_RegammaCoeff coeff; - - res = displayGamma->pVtbl->IsCurrentReGammaSRGB(displayGamma, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\t Is sRGB re-gamma used by this display: %d\n", applied); - res = displayGamma->pVtbl->IsCurrentReGammaBT709(displayGamma, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIs BT709 re-gamma used by this display: %d\n", applied); - res = displayGamma->pVtbl->IsCurrentReGammaPQ(displayGamma, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIs PQ re-gamma used by this display: %d\n", applied); - res = displayGamma->pVtbl->IsCurrentReGammaPQ2084Interim(displayGamma, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIs PQ2084Interim re-gamma used by this display %d\n", applied); - res = displayGamma->pVtbl->IsCurrentReGamma36(displayGamma, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIs 3.6 re-gamma used by this display %d\n", applied); - - adlx_bool curCoeff; - res = displayGamma->pVtbl->IsCurrentRegammaCoefficient(displayGamma, &curCoeff); - if (ADLX_SUCCEEDED(res)) - printf("\tIs re-gamma coefficient used by this display %d\n", curCoeff); - - adlx_bool reGammaRamp = false; - adlx_bool deGammaRamp = false; - displayGamma->pVtbl->IsCurrentReGammaRamp(displayGamma, &reGammaRamp); - displayGamma->pVtbl->IsCurrentDeGammaRamp(displayGamma, &deGammaRamp); - if (reGammaRamp) - { - displayGamma->pVtbl->GetGammaRamp(displayGamma, &ramp); - printf("\tCurrent regamma ramp"); - ShowGammaRamp(ramp); - } - else if (deGammaRamp) - { - displayGamma->pVtbl->GetGammaRamp(displayGamma, &ramp); - printf("\tCurrent degamma ramp"); - ShowGammaRamp(ramp); - } - else if (curCoeff) - { - displayGamma->pVtbl->GetGammaCoefficient(displayGamma, &coeff); - printf("\tCurrent gamma coefficent"); - printf("\tGet gamma coefficient:\n" - "\tA0 %d, A1 %d, A2 %d, A3 %d, Gamma %d\n", - coeff.coefficientA0, coeff.coefficientA1, - coeff.coefficientA2, coeff.coefficientA3, coeff.gamma); - } - } - - // Release the displayGamma interface - if (NULL != displayGamma) - { - displayGamma->pVtbl->Release(displayGamma); - displayGamma = NULL; - } -} - -// If 0 is retuned SetGammaWithCustomcoeffient is succesfully set else an error occured. -ADLX_RESULT SetGammaWithCustomCoeffs(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get displayGamma - IADLXDisplayGamma* displayGamma; - ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - printf("\t\tPlease enter five integer numbers, separated by spaces(eg: 31308 12920 55 55 2400): \n "); - - ADLX_RESULT res = ADLX_OK; - ADLX_RegammaCoeff coeff = {0}; - int userKey = 0; - int coeffs[5] = {31308, 12920, 55, 55, 2400}; - - for (int i = 0; i < 5; i++) - { - scanf_s("%d", &coeffs[i]); - } - coeff.coefficientA0 = coeffs[0]; - coeff.coefficientA1 = coeffs[1]; - coeff.coefficientA2 = coeffs[2]; - coeff.coefficientA3 = coeffs[3]; - coeff.gamma = coeffs[4]; - res = displayGamma->pVtbl->SetReGammaCoefficient(displayGamma, coeff); - } - - // Release the displayGamma interface - if (NULL != displayGamma) - { - displayGamma->pVtbl->Release(displayGamma); - displayGamma = NULL; - } - - return res; -} - -// Set Gamma -void SetGamma(IADLXDisplayServices* displayService, IADLXDisplay* display, int key) -{ - // Get displayGamma - IADLXDisplayGamma* displayGamma = NULL; - ADLX_RESULT res = displayService->pVtbl->GetGamma(displayService, display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Set gamma ===\n"); - ADLX_RESULT res = ADLX_OK; - - switch (key) - { - // Use preset coefficients for ReGammaSRGB - case 0: - res = displayGamma->pVtbl->SetReGammaSRGB(displayGamma); - break; - - // Use custom coefficients - case 1: - res = SetGammaWithCustomCoeffs(displayService, display); - break; - - // Use ramp form file, file path: output-night-light.txt - case 2: - res = displayGamma->pVtbl->SetReGammaRamp_File(displayGamma, "output-night-light.txt"); - break; - - // Use ramp from memory - case 3: - { - const float reGammaF = 2.4f; - ADLX_GammaRamp ramp = CreateReGammaRamp(reGammaF); - res = displayGamma->pVtbl->SetReGammaRamp_Memory(displayGamma, ramp); - } - break; - - // Reset gamma ramp - case 4: - res = displayGamma->pVtbl->ResetGammaRamp(displayGamma); - break; - - default: - break; - } - printf("\treturn is: %d (0 means Success)\n", res); - } - - // Release the displayGamma interface - if (NULL != displayGamma) - { - displayGamma->pVtbl->Release(displayGamma); - displayGamma = NULL; - } -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from following options\n"); - - printf("\t->Press 1 to show display gamma support\n"); - - printf("\t->Press 2 to display current gamma info\n"); - - printf("\t->Press 3 to set ReGammaSRGB using predefined coefficients\n"); - printf("\t->Press 4 to set ReGamma using custom coefficients\n"); - printf("\t->Press 5 to set ReGamma using ramp from file[file path: ../output-night-light.txt]\n"); - printf("\t->Press 6 to set ReGamma using ramp from memory\n"); - printf("\t->Press 7 to reset gamma ramp\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display gamma support - case '1': - ShowDisplayGammaSupport(displayService, display); - break; - - // Get current gamma state - case '2': - GetCurrentGammaState(displayService, display); - break; - - // Set gamma - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - SetGamma(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display services - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService inetrface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} diff --git a/vendor/adlx/Samples/C/Display/DisplayGamut/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayGamut/CMakeLists.txt deleted file mode 100644 index 38a7b0a..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamut/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGamut") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayGamut.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - - - diff --git a/vendor/adlx/Samples/C/Display/DisplayGamut/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayGamut/ReadMe.html deleted file mode 100644 index c5d6921..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamut/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to obtain the display gamut when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display gamut support.
2 Get current display gamut information
3 Set predefined white point and predefined gamut space.
4 Set custom white point and predefined gamut space.
5 Set predefined white point and custom gamut space.
6 Set custom white point and custom gamut space.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayGamut

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayGamut/mainDisplayGamut.c b/vendor/adlx/Samples/C/Display/DisplayGamut/mainDisplayGamut.c deleted file mode 100644 index 87a11b6..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayGamut/mainDisplayGamut.c +++ /dev/null @@ -1,327 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayGamut.c -/// \brief Demonstrates how to obtain the display gamut when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" - -// Display displayGamutSupport -void ShowDisplayGamutSupport(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get displayGamut - IADLXDisplayGamut* displayGamut = NULL; - ADLX_RESULT res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - printf(" === Gamut space supported status ===\n"); - res = displayGamut->pVtbl->IsSupportedCCIR709ColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedGamut_CCIR_709: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedCCIR601ColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedGamut_CCIR_601: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedAdobeRgbColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedGamut_Adobe_RGB: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedCIERgbColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedGamut_CIE_RGB: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedCCIR2020ColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedCCIR2020ColorSpace: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedCustomColorSpace(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedGamut_Custom: %d\n", supported); - - printf(" === White point supported status ===\n"); - res = displayGamut->pVtbl->IsSupported5000kWhitePoint(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedWhitePoint_5000k: %d\n", supported); - res = displayGamut->pVtbl->IsSupported6500kWhitePoint(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedWhitePoint_6500k: %d\n", supported); - res = displayGamut->pVtbl->IsSupported7500kWhitePoint(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedWhitePoint_7500k: %d\n", supported); - res = displayGamut->pVtbl->IsSupported9300kWhitePoint(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedWhitePoint_9300k: %d\n", supported); - res = displayGamut->pVtbl->IsSupportedCustomWhitePoint(displayGamut, &supported); - if (ADLX_SUCCEEDED(res)) - printf("\tIsSupportedWhitePoint_Custom: %d\n", supported); - } - - // Release the displayGamut interface - if (NULL != displayGamut) - { - displayGamut->pVtbl->Release(displayGamut); - displayGamut = NULL; - } -} - -// Display gamut information, it contains white point and color space -void GetCurrentGamutInfo(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - // Get displayGamut - IADLXDisplayGamut* displayGamut = NULL; - ADLX_RESULT res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool applied = false; - ADLX_RESULT res = ADLX_FAIL; - printf(" === Current white point status ===\n"); - res = displayGamut->pVtbl->IsCurrent5000kWhitePoint(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentWhitePoint_5000k: %d\n", applied); - res = displayGamut->pVtbl->IsCurrent6500kWhitePoint(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentWhitePoint_6500k: %d\n", applied); - res = displayGamut->pVtbl->IsCurrent7500kWhitePoint(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentWhitePoint_7500k: %d\n", applied); - res = displayGamut->pVtbl->IsCurrent9300kWhitePoint(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentWhitePoint_9300k: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentCustomWhitePoint(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentWhitePoint_Custom: %d\n", applied); - ADLX_Point point = {0}; - res = displayGamut->pVtbl->GetWhitePoint(displayGamut, &point); - if (ADLX_SUCCEEDED(res)) - printf("\tGetWhitePoint: ( %d, %d)\n", point.x, point.y); - - printf(" === Current gamut space status ===\n"); - res = displayGamut->pVtbl->IsCurrentCCIR709ColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentGamut_CCIR_709: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentCCIR601ColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentGamut_CCIR_601: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentAdobeRgbColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentGamut_Adobe_RGB: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentCIERgbColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentGamut_CIE_RGB: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentCCIR2020ColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentCCIR2020ColorSpace: %d\n", applied); - res = displayGamut->pVtbl->IsCurrentCustomColorSpace(displayGamut, &applied); - if (ADLX_SUCCEEDED(res)) - printf("\tIsCurrentCustomColorSpace: %d\n", applied); - ADLX_GamutColorSpace gamutCoordinates = {0}; - res = displayGamut->pVtbl->GetGamutColorSpace(displayGamut, &gamutCoordinates); - if (ADLX_SUCCEEDED(res)) - printf("\tGetGamutColorSpace: R( %d, %d ), G( %d, %d ), B( %d, %d )\n", - gamutCoordinates.red.x, gamutCoordinates.red.y, - gamutCoordinates.green.x, gamutCoordinates.green.y, - gamutCoordinates.blue.x, gamutCoordinates.blue.y); - } - - // Release the displayGamut interface - if (NULL != displayGamut) - { - displayGamut->pVtbl->Release(displayGamut); - displayGamut = NULL; - } -} - -// Set gamut(white point and color space) -void SetGamut(IADLXDisplayServices* displayService, IADLXDisplay* display, int key) -{ - printf(" === Set white point and gamut space ===\n"); - - ADLX_RESULT res = ADLX_FAIL; - ADLX_WHITE_POINT predefinedWhitePoint = WHITE_POINT_6500K; - ADLX_GAMUT_SPACE predefinedGamutSpace = GAMUT_SPACE_ADOBE_RGB; - ADLX_RGB customWhitePoint = {0.654108, 0.767112, 1}; - ADLX_GamutColorSpace customGamutSpace = - { - {6400, 3300}, {3000, 6000}, {1500, 600} - }; - - // Get displayGamut - IADLXDisplayGamut* displayGamut = NULL; - res = displayService->pVtbl->GetGamut(displayService, display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - - switch (key) - { - // Set gamut with predefined white point and predefined gamut space - case 0: - res = displayGamut->pVtbl->SetGamut_PW_PG(displayGamut, predefinedWhitePoint, predefinedGamutSpace); - break; - - // Set gamut with custom white point and predefined gamut space - case 1: - res = displayGamut->pVtbl->SetGamut_CW_PG(displayGamut, customWhitePoint, predefinedGamutSpace); - break; - - // Set gamut with predefined white point and custom gamut space - case 2: - res = displayGamut->pVtbl->SetGamut_PW_CG(displayGamut, predefinedWhitePoint, customGamutSpace); - break; - - // Set gamut with custom white point and custom gamut space - case 3: - res = displayGamut->pVtbl->SetGamut_CW_CG(displayGamut, customWhitePoint, customGamutSpace); - break; - default: - break; - } - printf("\treturn code(0 means Success) is: %d\n", res); - } - - // Release the displayGamut interface - if (NULL != displayGamut) - { - displayGamut->pVtbl->Release(displayGamut); - displayGamut = NULL; - } -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from following options\n"); - - printf("\t->Press 1 to display gamut support\n"); - - printf("\t->Press 2 to get current display gamut information\n"); - - printf("\t->Press 3 to set predefined white point and predefined gamut space\n"); - printf("\t->Press 4 to set custom white point and predefined gamut space\n"); - printf("\t->Press 5 to set predefined white point and custom gamut space\n"); - printf("\t->Press 6 to set custom white point and custom gamut space\n"); - - printf("\t->Press Q/q to terminate the application. \n"); - printf("\t->Press M/m to display main menu options \n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayGamutSupport - case '1': - ShowDisplayGamutSupport(displayService, display); - break; - - // Get gamut information with white point and color space - case '2': - GetCurrentGamutInfo(displayService, display); - break; - - // Set gamut with white point and color space - case '3': - case '4': - case '5': - case '6': - SetGamut(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} diff --git a/vendor/adlx/Samples/C/Display/DisplayHDCP/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayHDCP/CMakeLists.txt deleted file mode 100644 index 55fc0c8..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayHDCP/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayHDCP") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayHDCP.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/Display/DisplayHDCP/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayHDCP/ReadMe.html deleted file mode 100644 index 1034479..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayHDCP/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display HDCP support.
2 Get HDCP state.
3 Set current HDCP to disabled.
4 Set current HDCP to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayHDCP

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayHDCP/mainDisplayHDCP.c b/vendor/adlx/Samples/C/Display/DisplayHDCP/mainDisplayHDCP.c deleted file mode 100644 index daa447e..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayHDCP/mainDisplayHDCP.c +++ /dev/null @@ -1,217 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.c -/// \brief TDemonstrates how to obtain the display HDCP when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayHDCP support -void ShowDisplayHDCPSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayHDCP state -void GetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set display HDCP -void SetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the selection - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayHDCPSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayHDCP* pDisplayHDCP = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get HDCP supported ===\n"); - adlx_bool supported = false; - res = pDisplayHDCP->pVtbl->IsSupported(pDisplayHDCP, &supported); - printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false"); - pDisplayHDCP->pVtbl->Release(pDisplayHDCP); - } -} - -void GetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayHDCP* pDisplayHDCP = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get HDCP enabled ===\n"); - adlx_bool enabled = false; - res = pDisplayHDCP->pVtbl->IsEnabled(pDisplayHDCP, &enabled); - printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false"); - pDisplayHDCP->pVtbl->Release(pDisplayHDCP); - } -} - -void SetHDCPState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayHDCP* pDisplayHDCP = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetHDCP(pDisplayService, pDisplay, &pDisplayHDCP); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set HDCP disabled - case 0: - printf(" === Set HDCP enabled to false\n"); - res = pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP, false); - break; - // Set HDCP enabled - case 1: - printf(" === Set HDCP enabled to true\n"); - res = pDisplayHDCP->pVtbl->SetEnabled(pDisplayHDCP, true); - break; - default: - break; - } - printf("\tReturn code is: %d (0 means Success)\n", res); - pDisplayHDCP->pVtbl->Release(pDisplayHDCP); - } -} - -void MainMenu() -{ - printf("\tChoose from following options:\n"); - - printf("\t->Press 1 to display HDCP support\n"); - - printf("\t->Press 2 to get HDCP state\n"); - - printf("\t->Press 3 to set current HDCP to disabled\n"); - printf("\t->Press 4 to set current HDCP to enabled\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayHDCP support - case '1': - ShowDisplayHDCPSupport(pDisplayService, pDisplay); - break; - - // Display current displayHDCP state - case '2': - GetHDCPState(pDisplayService, pDisplay); - break; - - // Set displayHDCP - case '3': - case '4': - SetHDCPState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayInfo/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayInfo/CMakeLists.txt deleted file mode 100644 index 4b4157b..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayInfo/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayInfo") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayInfo.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayInfo/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayInfo/ReadMe.html deleted file mode 100644 index 1f1c055..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayInfo/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to obtain the display info when programming with ADLX and perform related operations.

-

Sample Path

-

/Samples/C/Display/DisplayInfo

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayInfo/mainDisplayInfo.c b/vendor/adlx/Samples/C/Display/DisplayInfo/mainDisplayInfo.c deleted file mode 100644 index 96e19cc..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayInfo/mainDisplayInfo.c +++ /dev/null @@ -1,230 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayInfo.c -/// \brief Demonstrates how to obtain the display info when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" - -// Extra data -// Get display type string -static const char* GetDisplayTypeStr(const ADLX_DISPLAY_TYPE type) -{ - switch (type) - { - case DISPLAY_TYPE_MONITOR: - return "CRT"; - case DISPLAY_TYPE_TELEVISION: - return "TV"; - case DISPLAY_TYPE_LCD_PANEL: - return "LCD"; - case DISPLAY_TYPE_DIGITAL_FLAT_PANEL: - return "DFP"; - case DISPLAY_TYPE_COMPONENT_VIDEO: - return "CV"; - default: - return "UNKNOWN"; - } -} - -// Get display connect type string -static const char* GetDisplayConnectorStr(const ADLX_DISPLAY_CONNECTOR_TYPE type) -{ - switch (type) - { - case DISPLAY_CONTYPE_UNKNOWN: - return "UNKNOWN"; - case DISPLAY_CONTYPE_VGA: - return "VGA"; - case DISPLAY_CONTYPE_DVI_D: - return "DVI D"; - case DISPLAY_CONTYPE_DVI_I: - return "DVI I"; - case DISPLAY_CONTYPE_CVDONGLE_NTSC: - return "ATICVDONGLE NTSC"; - case DISPLAY_CONTYPE_CVDONGLE_JPN: - return "ATICVDONGLE JPN"; - case DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN: - return "ATICVDONGLE NONI2C JPN"; - case DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC: - return "ATICVDONGLE NONI2C NTSC"; - case DISPLAY_CONTYPE_PROPRIETARY: - return "PROPRIETARY"; - case DISPLAY_CONTYPE_HDMI_TYPE_A: - return "HDMI TYPE A"; - case DISPLAY_CONTYPE_HDMI_TYPE_B: - return "HDMI TYPE B"; - case DISPLAY_CONTYPE_SVIDEO: - return "SVIDEO"; - case DISPLAY_CONTYPE_COMPOSITE: - return "COMPOSITE"; - case DISPLAY_CONTYPE_RCA_3COMPONENT: - return "RCA 3COMPONENT"; - case DISPLAY_CONTYPE_DISPLAYPORT: - return "DISPLAYPORT"; - case DISPLAY_CONTYPE_EDP: - return "EDP"; - case DISPLAY_CONTYPE_WIRELESSDISPLAY: - return "WIRELESSDISPLAY"; - case DISPLAY_CONTYPE_USB_TYPE_C: - return "USB TYPE C"; - default: - return "UNKNOWN"; - } -}; - -// Get scan type string -static const char* GetScanTypeStr(const ADLX_DISPLAY_SCAN_TYPE type) -{ - if (PROGRESSIVE == type) - { - return "PROGRESSIVE"; - } - else if (INTERLACED == type) - { - return "INTERLACED"; - } - return "UNKNOWN"; -}; - -// Print displayInfo information -void ShowDisplayInfo(IADLXDisplay* display) -{ - ADLX_RESULT res = ADLX_OK; - - printf("\n === Display info ===\n"); - const char* dispName; - res = display->pVtbl->Name(display, &dispName); - if (ADLX_SUCCEEDED(res)) - printf("\tDisplay name: %s\n", dispName); - - adlx_uint manufacturerID; - res = display->pVtbl->ManufacturerID(display, &manufacturerID); - if (ADLX_SUCCEEDED(res)) - printf("\tManufacturer id: %d\n", manufacturerID); - - ADLX_DISPLAY_TYPE displayType; - res = display->pVtbl->DisplayType(display, &displayType); - if (ADLX_SUCCEEDED(res)) - printf("\tDisplay type: %s\n", GetDisplayTypeStr(displayType)); - - ADLX_DISPLAY_CONNECTOR_TYPE connectType; - res = display->pVtbl->ConnectorType(display, &connectType); - if (ADLX_SUCCEEDED(res)) - printf("\tConnector type: %s\n", GetDisplayConnectorStr(connectType)); - - const char* edid; - res = display->pVtbl->EDID(display, &edid); - if (ADLX_OK != res) - printf("\tDisplay EDID, error code is: %d\n", res); - else - printf("\tEDID: %s\n", edid); - - adlx_double refreshRate; - res = display->pVtbl->RefreshRate(display, &refreshRate); - if (ADLX_SUCCEEDED(res)) - printf("\tRefresh rate: %f\n", refreshRate); - - adlx_uint pixelClock; - res = display->pVtbl->PixelClock(display, &pixelClock); - if (ADLX_SUCCEEDED(res)) - printf("\tPixel clock: %d\n", pixelClock); - - adlx_int maxHResolution = 0; - adlx_int maxVResolution = 0; - res = display->pVtbl->NativeResolution(display, &maxHResolution, &maxVResolution); - if (ADLX_SUCCEEDED(res)) - printf("\tNative resolution[h*v]: %d %d\n", maxHResolution, maxVResolution); - - ADLX_DISPLAY_SCAN_TYPE scanType; - res = display->pVtbl->ScanType(display, &scanType); - if (ADLX_SUCCEEDED(res)) - printf("\tScan type: %s\n", GetScanTypeStr(scanType)); - - adlx_size id; - res = display->pVtbl->UniqueId(display, &id); - if (ADLX_SUCCEEDED(res)) - printf("\tUniqueId: %zu\n", id); -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_OK != res) - return WaitAndExit("ADLX initialization failed", 0); - - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list and iterate through the list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - adlx_uint it = displayList->pVtbl->Begin(displayList); - IADLXDisplay* display = NULL; - for (; it != displayList->pVtbl->End(displayList); it++) - { - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display data on console for each display - ShowDisplayInfo(display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the  displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} diff --git a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/CMakeLists.txt deleted file mode 100644 index 6eda9fb..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayIntegerScaling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayIntegerScaling.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/ReadMe.html deleted file mode 100644 index 7ca81e3..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display integer scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display integer scaling support.
2 Get integer scaling state.
3 Set current Integer scaling to disabled.
4 Set current Integer scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayIntegerScaling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.c b/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.c deleted file mode 100644 index 103a4c9..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.c +++ /dev/null @@ -1,217 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.c -/// \brief Demonstrates how to obtain the display FreeSync through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayIntegerScaling support -void ShowDisplayIntegerScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayIntegerScaling state -void GetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayIntegerScaling -void SetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Show a menu with options to chose from - MainMenu(); - // Get and excute the selection - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayIntegerScalingSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get IntegerScaling supported ===\n"); - adlx_bool supported = false; - res = pDisplayIntegerScaling->pVtbl->IsSupported(pDisplayIntegerScaling, &supported); - printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false"); - pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); - } -} - -void GetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get IntegerScaling enabled ===\n"); - adlx_bool enabled = false; - res = pDisplayIntegerScaling->pVtbl->IsEnabled(pDisplayIntegerScaling, &enabled); - printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false"); - pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); - } -} - -void SetIntegerScalingState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayIntegerScaling* pDisplayIntegerScaling = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetIntegerScaling(pDisplayService, pDisplay, &pDisplayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set IntegerScaling disabled - case 0: - printf(" === Set IntegerScaling enabled to false;\n"); - res = pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling, false); - break; - // Set IntegerScaling enabled - case 1: - printf(" === Set IntegerScaling enabled to true;\n"); - res = pDisplayIntegerScaling->pVtbl->SetEnabled(pDisplayIntegerScaling, true); - break; - default: - break; - } - printf("\treturn code is: %d (0 means Success)\n", res); - pDisplayIntegerScaling->pVtbl->Release(pDisplayIntegerScaling); - } -} - -void MainMenu() -{ - printf("\tChoose from following options\n"); - - printf("\t->Press 1 to display integer scaling support\n"); - - printf("\t->Press 2 to get integer scaling state\n"); - - printf("\t->Press 3 to set current Integer Scaling to disabled\n"); - printf("\t->Press 4 to set current Integer Scaling to enabled\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayIntegerScaling support - case '1': - ShowDisplayIntegerScalingSupport(pDisplayService, pDisplay); - break; - - // Display current displayIntegerScaling state - case '2': - GetIntegerScalingState(pDisplayService, pDisplay); - break; - - // Set displayIntegerScaling - case '3': - case '4': - SetIntegerScalingState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayPixelFormat/CMakeLists.txt deleted file mode 100644 index c5811cd..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayPixelFormat") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayPixelFormat.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayPixelFormat/ReadMe.html deleted file mode 100644 index 77d96eb..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display pixel format support.
2 Get pixel format state.
3 Set current pixel format to RGB_444_FULL.
4 Set current pixel format to YCBCR_444.
5 Set current pixel format to YCBCR_422.
6 Set current pixel format to RGB_444_LIMITED.
7 Get support state for each pixel format.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayPixelFormat

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/mainDisplayPixelFormat.c b/vendor/adlx/Samples/C/Display/DisplayPixelFormat/mainDisplayPixelFormat.c deleted file mode 100644 index 443ba76..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayPixelFormat/mainDisplayPixelFormat.c +++ /dev/null @@ -1,309 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.c -/// \brief Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayPixelFormat support -void ShowDisplayPixelFormatSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayPixelFormat state -void GetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayPixelFormat -void SetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Get support state for each pixel format -void GetSupportStateForEachPixelFormat(IADLXDisplayServices* displayService, IADLXDisplay* display); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system service - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - //Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayPixelFormatSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get PixelFormat supported ===\n"); - adlx_bool supported = false; - res = pDisplayPixelFormat->pVtbl->IsSupported(pDisplayPixelFormat, &supported); - printf("\tPixel format is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res); - pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); - } -} - -void GetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get PixelFormat enabled ===\n"); - ADLX_PIXEL_FORMAT pf = FORMAT_UNKNOWN; - res = pDisplayPixelFormat->pVtbl->GetValue(pDisplayPixelFormat, &pf); - char* pfStr = "FORMAT_UNKNOWN"; - switch (pf) - { - case RGB_444_FULL: - pfStr = "RGB_444_FULL"; - break; - case YCBCR_444: - pfStr = "YCBCR_444"; - break; - case YCBCR_422: - pfStr = "YCBCR_422"; - break; - case RGB_444_LIMITED: - pfStr = "RGB_444_LIMITED"; - break; - case YCBCR_420: - pfStr = "YCBCR_420"; - break; - default: - break; - } - printf("\tThe pixel format on the display is %s , return code: %d (0 means success)\n", pfStr, res); - pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); - } -} - -void SetPixelFormatState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayPixelFormat* pDisplayPixelFormat = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetPixelFormat(pDisplayService, pDisplay, &pDisplayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set PixelFormat RGB_444_FULL - case 0: - printf(" === Set pixel format to RGB_444_FULL\n"); - res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, RGB_444_FULL); - break; - // Set PixelFormat YCBCR_444 - case 1: - printf(" === Set pixel format to YCBCR_444\n"); - res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, YCBCR_444); - break; - // Set pixel format YCBCR_422 - case 2: - printf(" === Set pixel format to YCBCR_422\n"); - res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, YCBCR_422); - break; - // Set pixel format RGB_444_LIMITED - case 3: - printf(" === Set pixel format to RGB_444_LIMITED\n"); - res = pDisplayPixelFormat->pVtbl->SetValue(pDisplayPixelFormat, RGB_444_LIMITED); - break; - default: - break; - } - printf("\treturn code is: %d (0 means success)\n", res); - pDisplayPixelFormat->pVtbl->Release(pDisplayPixelFormat); - } -} - -// Get support state for each pixel format -void GetSupportStateForEachPixelFormat(IADLXDisplayServices* displayService, IADLXDisplay* display) -{ - IADLXDisplayPixelFormat* displayPixelFormat = NULL; - ADLX_RESULT res = displayService->pVtbl->GetPixelFormat(displayService, display, &displayPixelFormat); - if (ADLX_SUCCEEDED(res) && displayPixelFormat) - { - printf(" === Get pixel format list === \n"); - adlx_bool support = false; - - res = displayPixelFormat->pVtbl->IsSupportedRGB444Full(displayPixelFormat, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support RGB 4:4:4 PC Standard (Full RGB): %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedYCbCr444(displayPixelFormat, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:4:4: %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedYCbCr422(displayPixelFormat, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:2:2: %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedRGB444Limited(displayPixelFormat, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support RGB 4:4:4 Studio (Limited RGB): %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedYCbCr420(displayPixelFormat, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:2:0: %d\n", support); - - res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, RGB_444_FULL, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support RGB 4:4:4 PC Standard (Full RGB): %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_444, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:4:4: %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_422, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:2:2: %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, RGB_444_LIMITED, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support RGB 4:4:4 Studio (Limited RGB): %d\n", support); - res = displayPixelFormat->pVtbl->IsSupportedPixelFormat(displayPixelFormat, YCBCR_420, &support); - if (ADLX_SUCCEEDED(res)) - printf("\tIs support YCbCr 4:2:0: %d\n", support); - - displayPixelFormat->pVtbl->Release(displayPixelFormat); - displayPixelFormat = NULL; - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display pixel format support\n"); - - printf("\t->Press 2 to get pixel format state\n"); - - printf("\t->Press 3 to set current pixel format to RGB_444_FULL\n"); - printf("\t->Press 4 to set current pixel format to YCBCR_444\n"); - printf("\t->Press 5 to set current pixel format to YCBCR_422\n"); - printf("\t->Press 6 to set current pixel format to RGB_444_LIMITED\n"); - - printf("\t->Press 7 to get support state for each pixel format\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayPixelFormat support - case '1': - ShowDisplayPixelFormatSupport(pDisplayService, pDisplay); - break; - - // Display current displayPixelFormat state - case '2': - GetPixelFormatState(pDisplayService, pDisplay); - break; - - // Set displayPixelFormat - case '3': - case '4': - case '5': - case '6': - SetPixelFormatState(pDisplayService, pDisplay, num - '3'); - break; - - // Get support state for each pixel format - case '7': - GetSupportStateForEachPixelFormat(pDisplayService, pDisplay); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayScalingMode/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayScalingMode/CMakeLists.txt deleted file mode 100644 index 33e01ef..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayScalingMode/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayScalingMode") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayScalingMode.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayScalingMode/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayScalingMode/ReadMe.html deleted file mode 100644 index 091dcac..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayScalingMode/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to obtain the display scaling mode when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display scaling mode support.
2 Get scaling mode state.
3 Set current scaling mode to PRESERVE_ASPECT_RATIO.
4 Set current scaling mode to FULL_PANEL.
5 Set current scaling mode to CENTERED.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayScalingMode

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayScalingMode/mainDisplayScalingMode.c b/vendor/adlx/Samples/C/Display/DisplayScalingMode/mainDisplayScalingMode.c deleted file mode 100644 index aa15aa0..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayScalingMode/mainDisplayScalingMode.c +++ /dev/null @@ -1,237 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayScalingMode.c -/// \brief Demonstrates how to obtain the display scaling mode when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayScalingMode support -void ShowDisplayScalingModeSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayScalingMode state -void GetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayScalingMode -void SetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system service - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayScalingModeSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayScalingMode* pDisplayScalingMode = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get scaling mode supported ===\n"); - adlx_bool supported = false; - res = pDisplayScalingMode->pVtbl->IsSupported(pDisplayScalingMode, &supported); - printf("\tScaling mode is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res); - pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); - } -} - -void GetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayScalingMode* pDisplayScalingMode = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get scaling-mode mode ===\n"); - ADLX_SCALE_MODE sm = PRESERVE_ASPECT_RATIO; - res = pDisplayScalingMode->pVtbl->GetMode(pDisplayScalingMode, &sm); - char* smStr = "Unknown"; - switch (sm) - { - case PRESERVE_ASPECT_RATIO: - smStr = "PRESERVE_ASPECT_RATIO"; - break; - case FULL_PANEL: - smStr = "FULL_PANEL"; - break; - case CENTERED: - smStr = "CENTERED"; - break; - } - printf("\tThe scaling mode on the display is %s , return code: %d (0 means success)\n", smStr, res); - pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); - } -} - -void SetScalingModeState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayScalingMode* pDisplayScalingMode = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetScalingMode(pDisplayService, pDisplay, &pDisplayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set scaling mode to PRESERVE_ASPECT_RATIO - case 0: - printf(" === Set scaling mode to PRESERVE_ASPECT_RATIO ===\n"); - res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, PRESERVE_ASPECT_RATIO); - break; - // Set scaling mode to FULL_PANEL - case 1: - printf(" === Set scaling mode to FULL_PANEL ===\n"); - res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, FULL_PANEL); - break; - // set ScalingMode CENTERED - case 2: - printf(" === Set scaling mode to CENTERED ===\n"); - res = pDisplayScalingMode->pVtbl->SetMode(pDisplayScalingMode, CENTERED); - break; - default: - break; - } - printf("\treturn code is: %d (0 means success)\n", res); - pDisplayScalingMode->pVtbl->Release(pDisplayScalingMode); - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to Display scaling mode support\n"); - - printf("\t->Press 2 to get scaling mode state\n"); - - printf("\t->Press 3 to set current scaling mode to PRESERVE_ASPECT_RATIO\n"); - printf("\t->Press 4 to set current scaling mode to FULL_PANEL\n"); - printf("\t->Press 5 to set current scaling mode to CENTERED\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayScalingMode support - case '1': - ShowDisplayScalingModeSupport(pDisplayService, pDisplay); - break; - - // Display current displayScalingMode state - case '2': - GetScalingModeState(pDisplayService, pDisplay); - break; - - // Set displayScalingMode - case '3': - case '4': - case '5': - SetScalingModeState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayVSR/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayVSR/CMakeLists.txt deleted file mode 100644 index 8f687c3..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVSR/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayVSR") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayVSR.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayVSR/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayVSR/ReadMe.html deleted file mode 100644 index c1197ea..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVSR/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display VSR when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display VSR support.
2 Get VSR state.
3 Disable VSR.
4 Enabled VSR.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayVSR

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayVSR/mainDisplayVSR.c b/vendor/adlx/Samples/C/Display/DisplayVSR/mainDisplayVSR.c deleted file mode 100644 index 9eeb0be..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVSR/mainDisplayVSR.c +++ /dev/null @@ -1,217 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.c -/// \brief Demonstrates how to obtain the display VSR when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayVSR support -void ShowDisplayVSRSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayVSR state -void GetVirtualSuperResolutionState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set displayVSR -void SetVSRState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system service - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowDisplayVSRSupport(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayVSR* pDisplayVSR = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get VSR supported ===\n"); - adlx_bool supported = false; - res = pDisplayVSR->pVtbl->IsSupported(pDisplayVSR, &supported); - printf("\tIsSupported, res %d, supported: %s\n", res, supported ? "true" : "false"); - pDisplayVSR->pVtbl->Release(pDisplayVSR); - } -} - -void GetVirtualSuperResolutionState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayVSR* pDisplayVSR = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR); - if (ADLX_SUCCEEDED(res)) - { - printf(" === Get VSR enabled ===\n"); - adlx_bool enabled = false; - res = pDisplayVSR->pVtbl->IsEnabled(pDisplayVSR, &enabled); - printf("\tIsEnabled, res: %d, enabled: %s\n", res, enabled ? "true" : "false"); - pDisplayVSR->pVtbl->Release(pDisplayVSR); - } -} - -void SetVSRState(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, const int key) -{ - IADLXDisplayVSR* pDisplayVSR = NULL; - ADLX_RESULT res = pDisplayService->pVtbl->GetVirtualSuperResolution(pDisplayService, pDisplay, &pDisplayVSR); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set VSR disabled - case 0: - printf(" === Set VSR enabled to false\n"); - res = pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR, false); - break; - // Set VSR enabled - case 1: - printf(" === Set VSR enabled to true\n"); - res = pDisplayVSR->pVtbl->SetEnabled(pDisplayVSR, true); - break; - default: - break; - } - printf("\treturn code is: %d (0 means success)\n", res); - pDisplayVSR->pVtbl->Release(pDisplayVSR); - } -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display VSR support\n"); - - printf("\t->Press 2 to get VSR state\n"); - - printf("\t->Press 3 to set current VSR to disabled\n"); - printf("\t->Press 4 to set current VSR to enabled\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayVSR support - case '1': - ShowDisplayVSRSupport(pDisplayService, pDisplay); - break; - - // Display current displayVSR state - case '2': - GetVirtualSuperResolutionState(pDisplayService, pDisplay); - break; - - // Set displayVSR - case '3': - case '4': - SetVSRState(pDisplayService, pDisplay, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayVariBright/CMakeLists.txt b/vendor/adlx/Samples/C/Display/DisplayVariBright/CMakeLists.txt deleted file mode 100644 index 2403aeb..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVariBright/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayVariBright") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayVariBright.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Display/DisplayVariBright/ReadMe.html b/vendor/adlx/Samples/C/Display/DisplayVariBright/ReadMe.html deleted file mode 100644 index dcc6c61..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVariBright/ReadMe.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -

Demonstrates how to obtain the display Vari-Bright when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Check if Vari-Bright is supported on a display.
2 Get Vari-Bright Enable state.
3 Enable Vari-Bright.
4 Disable Vari-Bright.
5 Check if Vari-Bright mode is Maximized Brightness preset on the display.
6 Check if Vari-Bright mode is Optimized Brightness preset on the display.
7 Check if Vari-Bright mode is Balanced preset on the display.
8 Check if Vari-Bright mode is Optimized Battery preset on the display.
9 Check if Vari-Bright mode is Maximized Battery preset on the display.
a Set the Vari-Bright mode to Maximized Brightness preset on the display.
b Set the Vari-Bright mode to Optimized Brightness preset on the display.
c Set the Vari-Bright mode to Balanced preset on the display.
d Set the Vari-Bright mode to Optimized Battery preset on the display.
e Set the Vari-Bright mode to Maximized Battery preset on the display.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Display/DisplayVariBright

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Display/DisplayVariBright/mainDisplayVariBright.c b/vendor/adlx/Samples/C/Display/DisplayVariBright/mainDisplayVariBright.c deleted file mode 100644 index fd98953..0000000 --- a/vendor/adlx/Samples/C/Display/DisplayVariBright/mainDisplayVariBright.c +++ /dev/null @@ -1,319 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayVariBright.c -/// \brief Demonstrates how to obtain the display VariBright when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" - -// Display displayVari-Bright support -void ShowDisplayVariBrightSupport( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Display current displayVari-Bright state -void GetVariBrightEnabled( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Set display Vari-Bright state to enable or disable -void SetVariBrightEnabled ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, adlx_bool enableDisable); - -// Get display Vari-Bright current state -void GetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice); - -// Get display Vari-Bright current state -void SetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay); - -// Wait for exit with error message -int WaitAndExit( char* msg, int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize (); - if (ADLX_SUCCEEDED (res)) - { - // Get system service - IADLXSystem* sys = ADLXHelper_GetSystemServices (); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices (sys, &displayService); - if (ADLX_SUCCEEDED (res)) - { - // Get display list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays (displayService, &displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplay* display = NULL; - res = displayList->pVtbl->At_DisplayList (displayList, it, &display); - if (ADLX_SUCCEEDED (res)) - { - // Display main menu options - MainMenu (); - // Get and execute the choice - MenuControl (displayService, display); - } - - // Release the display interface - if (NULL != display) - { - display->pVtbl->Release (display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release (displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release (displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit ("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate (); - printf ("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system ("pause"); - - return 0; -} - -void ShowDisplayVariBrightSupport (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayVariBright* displayVariBright; - ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Get Vari-Bright supported ===\n"); - adlx_bool supported = false; - res = displayVariBright->pVtbl->IsSupported (displayVariBright, &supported); - printf("\tVari-Bright is supported on the display: %s , return code: %d (0 means success)\n", supported ? "true" : "false", res); - displayVariBright->pVtbl->Release (displayVariBright); - } -} - -void GetVariBrightEnabled (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - IADLXDisplayVariBright* displayVariBright; - ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - printf (" === Get VariBright enabled ===\n"); - adlx_bool enabled = false; - res = displayVariBright->pVtbl->IsEnabled (displayVariBright, &enabled); - printf("\t Vari-Bright is enabled on the display: %s , return code: %d (0 means success)\n", enabled ? "true" : "false", res); - displayVariBright->pVtbl->Release (displayVariBright); - } -} - -void SetVariBrightEnabled (IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, adlx_bool enableDisable) -{ - IADLXDisplayVariBright* displayVariBright; - ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - if (!enableDisable) - { - res = displayVariBright->pVtbl->SetEnabled (displayVariBright, false); - printf ("\tSet enabled to false, result: %d\n", res); - } - else - { - res = displayVariBright->pVtbl->SetEnabled (displayVariBright, true); - printf ("\tSet enabled to true, result: %d\n", res); - } - displayVariBright->pVtbl->Release (displayVariBright); - } -} - -void GetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice) -{ - IADLXDisplayVariBright* displayVariBright; - ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - adlx_bool applied = false; - switch (userChoice) - { - case 0: - res = displayVariBright->pVtbl->IsCurrentMaximizeBrightness (displayVariBright, &applied); - printf("\tMaximize Brightness preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res); - break; - - case 1: - res = displayVariBright->pVtbl->IsCurrentOptimizeBrightness (displayVariBright, &applied); - printf("\tOptimize Brightness preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res); - break; - - case 2: - res = displayVariBright->pVtbl->IsCurrentBalanced (displayVariBright, &applied); - printf("\tBalanced preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res); - break; - - case 3: - res = displayVariBright->pVtbl->IsCurrentOptimizeBattery (displayVariBright, &applied); - printf("\tOptimize Battery preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res); - break; - - case 4: - res = displayVariBright->pVtbl->IsCurrentMaximizeBattery (displayVariBright, &applied); - printf("\tMaximize Battery preset is used on the display: %s, return code: %d (0 means success)\n", (applied ? "Yes" : "No"), res); - break; - } - displayVariBright->pVtbl->Release (displayVariBright); - } -} - -void SetCurrentVariBright ( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay, int userChoice) -{ - IADLXDisplayVariBright* displayVariBright; - ADLX_RESULT res = pDisplayService->pVtbl->GetVariBright (pDisplayService, pDisplay, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - switch (userChoice) - { - case 0: - res = displayVariBright->pVtbl->SetMaximizeBrightness (displayVariBright); - printf ("\t Set Maximize Brightness preset , result: %d\n", res); - break; - - case 1: - res = displayVariBright->pVtbl->SetOptimizeBrightness (displayVariBright); - printf ("\t Set Optimize Brightness preset , result: %d\n", res); - break; - - case 2: - res = displayVariBright->pVtbl->SetBalanced (displayVariBright); - printf ("\t Set Balanced preset, result: %d\n", res); - break; - case 3: - res = displayVariBright->pVtbl->SetOptimizeBattery (displayVariBright); - printf ("\t Set Optimize Battery preset, result: %d\n", res); - break; - - case 4: - res = displayVariBright->pVtbl->SetMaximizeBattery (displayVariBright); - printf ("\t Set Maximize Battery preset , result: %d\n", res); - break; - } - displayVariBright->pVtbl->Release (displayVariBright); - } -} - -void MainMenu() -{ - printf ("\tChoose from the following options:\n"); - - printf ("\t->Press 1 to display Vari-Bright support\n"); - printf ("\t->Press 2 to get Vari-Bright Enable state\n"); - printf ("\t->Press 3 to enable Vari-Bright\n"); - printf ("\t->Press 4 to Disbale Vari-Bright\n"); - printf ("\t->Press 5 to check if Vari-Bright mode is maximized brightness preset on the display\n"); - printf ("\t->Press 6 to check if Vari-Bright mode is optimized brightness preset on the display\n"); - printf ("\t->Press 7 to check if Vari-Bright mode is balanced preseton the display\n"); - printf ("\t->Press 8 to check if Vari-Bright mode is optimized battery preset on the display\n"); - printf ("\t->Press 9 to check if Vari-Bright mode is maximized battery preset on the display\n"); - printf ("\t->Press a to set the Vari-Bright mode to maximized brightness preset on the display\n"); - printf ("\t->Press b to set the Vari-Bright mode to optimized brightness preset on the display\n"); - printf ("\t->Press c to set the Vari-Bright mode to balanced preset on the display\n"); - printf ("\t->Press d to set the Vari-Bright mode to optimized battery preset on the display\n"); - printf ("\t->Press e to sets the Vari-Bright mode to maximized battery preset on the display\n"); - - printf ("\t->Press Q/q to terminate the application\n"); - printf ("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl( IADLXDisplayServices* pDisplayService, IADLXDisplay* pDisplay) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayVariBright support - case '1': - ShowDisplayVariBrightSupport (pDisplayService, pDisplay); - break; - - // Display current display VariBright state - case '2': - GetVariBrightEnabled (pDisplayService, pDisplay); - break; - - // Set display VariBright enable - case '3': - SetVariBrightEnabled (pDisplayService, pDisplay, true); - break; - - // Set display VariBright disable - case '4': - SetVariBrightEnabled (pDisplayService, pDisplay, false); - break; - - case '5': - case '6': - case '7': - case '8': - case '9': - GetCurrentVariBright (pDisplayService, pDisplay, num - '5'); - break; - - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - SetCurrentVariBright (pDisplayService, pDisplay, num - 'a'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit( char* msg, int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf ("%s\n", msg); - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/CMakeLists.txt deleted file mode 100644 index c89298d..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUAutotuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUAutotuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/ReadMe.html deleted file mode 100644 index a701129..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

This document describes how to control GPU Auto Tuning.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Check GPU Tuning is at factory status.
2 Restore the given GPU Tuning to factory status.
3 Show GPU auto tuning support.
4 Show current GPU status.
5 Start Undervolt GPU tuning.
6 Start Overclock GPU tuning.
7 Start Overclock VRAM tuning
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/GPUAutoTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.c b/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.c deleted file mode 100644 index f8e7c0c..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.c +++ /dev/null @@ -1,521 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUAutoTuning.c -/// \brief This document describes how to control the GPU auto tuning. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUAutoTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// ADLX Event Listener -static HANDLE g_ADLXEvent = NULL; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Check GPU Tuning is at factory status -void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Restore the given GPU Tuning to factory status. -void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Show GPU auto tuning support -void ShowGPUAutoTuningSupport(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Show current GPU status -void ShowCurrentGPUStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus); - -// Derive from IADLXGPUAutoTuningCompleteListener -adlx_bool ADLX_STD_CALL onGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener* pGPUAutoTuningCompleteListener, - IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvents); -// Start GPU auto tuning -void StartGPUAutoTuning(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus, int num); - -static IADLXGPUAutoTuningCompleteListenerVtbl vtable = { &onGPUAutoTuningCompleteEvents }; -static IADLXGPUAutoTuningCompleteListener completeListener = { &vtable }; - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Create event - g_ADLXEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("ADLXEvent")); - - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUList* gpus = NULL; - - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus); - - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus); - - // Show a menu with options to chose from - MainMenu(); - - // Get the choice and interpet it - MenuControl(gpuTuningService, gpus); - - // Free - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - } - else - { - printf("\tg_ADLXHelp initialize failed\n"); - system("pause"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (g_ADLXEvent) - CloseHandle(g_ADLXEvent); - - // Pause for user see the print out - system("pause"); - - return 0; -} - -// main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to check GPU Tuning is at factory status\n"); - printf("\t->Press 2 to restore the given GPU Tuning to factory status\n"); - printf("\t->Press 3 to show GPU auto tuning support\n"); - printf("\t->Press 4 to show current GPU status\n"); - printf("\t->Press 5 to start Undervolt GPU tuning\n"); - printf("\t->Press 6 to start Overclock GPU tuning\n"); - printf("\t->Press 7 to start Overclock VRAM tuning\n"); - - printf("\t->Press Q/q to quit\n"); - printf("\t->Press M/m to show the options again\n"); -} - -// menu action control -void MenuControl(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Check GPU Tuning is at factory status - case '1': - CheckGPUTuningIsAtFactoryStatus(gpuTuningService, gpus); - break; - - // Restore the given GPU Tuning to factory status. - case '2': - RestoreGPUTuningToFactoryStatus(gpuTuningService, gpus); - break; - - // Show GPU auto tuning support - case '3': - ShowGPUAutoTuningSupport(gpuTuningService, gpus); - break; - - // Show current GPU status - case '4': - ShowCurrentGPUStatus(gpuTuningService, gpus); - break; - - // Start Undervolt GPU tuning - case '5': - // Start Overclock GPU tuning - case '6': - // Start Overclock VRAM tuning - case '7': - StartGPUAutoTuning(gpuTuningService, gpus, num - 5); - break; - - // Show options again - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - // Printout the message and pause for user to see it then return the desired code - if (NULL != msg) - printf("%s\n", msg); - - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - - // Destroy ADLX - ADLX_RESULT res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - system("pause"); - return retCode; -} - -// Check GPU Tuning is at factory status -void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - IADLXGPU* oneGPU = NULL; - for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt) - { - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool isFactory = false; - res = gpuTuningService->pVtbl->IsAtFactory(gpuTuningService, oneGPU, &isFactory); - if (ADLX_SUCCEEDED(res)) - { - printf("\tThe %dth GPU is at factory status: %d\n", crt, isFactory); - } - else - { - printf("\tCheck the %dth GPU Tuning is at factory status failed\n", crt); - } - } - else - { - printf("\tGet %dth GPU failed\n", crt); - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} - -// Restore the given GPU Tuning to factory status. -void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - IADLXGPU* oneGPU = NULL; - for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt) - { - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool isFactory = false; - res = gpuTuningService->pVtbl->ResetToFactory(gpuTuningService, oneGPU); - if (ADLX_FAILED(res)) - printf("\tReset the %dth GPU Tuning to factory status failed\n", crt); - else - printf("\tReset the %dth GPU Tuning to factory status successfully\n", crt); - } - else - { - printf("\tGet %dth GPU failed\n", crt); - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} - -// Show GPU auto tuning support -void ShowGPUAutoTuningSupport(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - IADLXGPU* oneGPU = NULL; - IADLXInterface* autoTuningIfc = NULL; - IADLXGPUAutoTuning* autoTuning = NULL; - for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt) - { - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - printf("\tThe %dth GPU doesn't supported auto tuning\n", crt); - } - else - { - res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == NULL) - { - printf("\tGet auto tuning of %dth GPU failed\n", crt); - } - else - { - res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning)); - if (ADLX_SUCCEEDED(res) && autoTuning) - { - supported = false; - res = autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning, &supported); - printf("\tIs the %dth GPU supported undervolt: %d\n", crt, supported); - supported = false; - res = autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning, &supported); - printf("\tIs the %dth GPU supported overclock: %d\n", crt, supported); - supported = false; - res = autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning, &supported); - printf("\tIs the %dth GPU supported overclock VRAM: %d\n", crt, supported); - } - - if (autoTuning != NULL) - { - autoTuning->pVtbl->Release(autoTuning); - autoTuning = NULL; - } - } - - if (autoTuningIfc != NULL) - { - autoTuningIfc->pVtbl->Release(autoTuningIfc); - autoTuningIfc = NULL; - } - } - } - else - { - printf("\tGet %dth GPU failed\n", crt); - } - - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} - -// Show current GPU status -void ShowCurrentGPUStatus(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus) -{ - IADLXGPU* oneGPU; - IADLXInterface* autoTuningIfc = NULL; - IADLXGPUAutoTuning* autoTuning = NULL; - for (adlx_uint crt = gpus->pVtbl->Begin(gpus); crt != gpus->pVtbl->End(gpus); ++crt) - { - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, crt, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - printf("\tThe %dth GPU doesn't supported auto tuning\n", crt); - } - else - { - res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == NULL) - { - printf("\tGet auto tuning of %dth GPU failed\n", crt); - } - else - { - res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning)); - adlx_bool applied = false; - if (ADLX_SUCCEEDED(res) && autoTuning) - { - applied = false; - res = autoTuning->pVtbl->IsCurrentUndervoltGPU(autoTuning, &applied); - printf("\tIs the %dth GPU undervolt applied: %d\n", crt, applied); - applied = false; - res = autoTuning->pVtbl->IsCurrentOverclockGPU(autoTuning, &applied); - printf("\tIs the %dth GPU overclock applied: %d\n", crt, applied); - applied = false; - res = autoTuning->pVtbl->IsCurrentOverclockVRAM(autoTuning, &applied); - printf("\tIs the %dth GPU overclock VRAM applied: %d\n", crt, applied); - } - - if (autoTuning != NULL) - { - autoTuning->pVtbl->Release(autoTuning); - autoTuning = NULL; - } - } - - if (autoTuningIfc != NULL) - { - autoTuningIfc->pVtbl->Release(autoTuningIfc); - autoTuningIfc = NULL; - } - } - } - else - { - printf("\tGet %dth GPU failed\n", crt); - } - - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} - -adlx_bool ADLX_STD_CALL onGPUAutoTuningCompleteEvents(IADLXGPUAutoTuningCompleteListener* pGPUAutoTuningCompleteListener, - IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) -{ - adlx_bool change = false; - change = pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockGPUCompleted(pGPUAutoTuningCompleteEvent); - printf("\tIs overclock GPU Completed: %d\n", change); - change = pGPUAutoTuningCompleteEvent->pVtbl->IsUndervoltGPUCompleted(pGPUAutoTuningCompleteEvent); - printf("\tIs undervolt GPU Completed: %d\n", change); - change = pGPUAutoTuningCompleteEvent->pVtbl->IsOverclockVRAMCompleted(pGPUAutoTuningCompleteEvent); - printf("\tIs overclock VRAM Completed: %d\n", change); - SetEvent(g_ADLXEvent); - return true; -}; - -void StartGPUAutoTuning(IADLXGPUTuningServices* gpuTuningService, IADLXGPUList* gpus, int num) -{ - IADLXGPU* oneGPU = NULL; - // Set the first GPU auto tuning - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedAutoTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - printf("\tThe GPU doesn't supported auto tuning\n"); - } - else - { - IADLXInterface* autoTuningIfc = NULL; - res = gpuTuningService->pVtbl->GetAutoTuning(gpuTuningService, oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == NULL) - { - printf("\tGet auto tuning of GPU failed\n"); - } - else - { - IADLXGPUAutoTuning* autoTuning = NULL; - res = autoTuningIfc->pVtbl->QueryInterface(autoTuningIfc, IID_IADLXGPUAutoTuning(), (void**)(&autoTuning)); - if (ADLX_SUCCEEDED(res) && autoTuning) - { - switch (num) - { - case '0': - - res = autoTuning->pVtbl->IsSupportedUndervoltGPU(autoTuning, &supported); - if (ADLX_SUCCEEDED(res) && supported) - { - res = autoTuning->pVtbl->StartUndervoltGPU(autoTuning, &completeListener); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - printf("\tStart undervolt GPU successfully\n"); - else - printf("\tStart undervolt GPU failed\n"); - } - else - { - printf("\tUndervolt GPU is not supported\n"); - } - break; - case '1': - res = autoTuning->pVtbl->IsSupportedOverclockGPU(autoTuning, &supported); - if (ADLX_SUCCEEDED(res) && supported) - { - res = autoTuning->pVtbl->StartOverclockGPU(autoTuning, &completeListener); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - printf("\tStart overclock GPU successfully\n"); - else - printf("\tStart overclock GPU failed\n"); - } - else - { - printf("\tOverclock GPU is not supported\n"); - } - break; - case '2': - res = autoTuning->pVtbl->IsSupportedOverclockVRAM(autoTuning, &supported); - if (ADLX_SUCCEEDED(res) && supported) - { - res = autoTuning->pVtbl->StartOverclockVRAM(autoTuning, &completeListener); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - printf("\tStart overclock VRAM successfully\n"); - else - printf("\tStart overclock VRAM failed\n"); - } - else - { - printf("\tOverclock VRAM is not supported\n"); - } - break; - default: - break; - } - } - - if (autoTuning != NULL) - { - autoTuning->pVtbl->Release(autoTuning); - autoTuning = NULL; - } - } - - if (autoTuningIfc != NULL) - { - autoTuningIfc->pVtbl->Release(autoTuningIfc); - autoTuningIfc = NULL; - } - } - } - else - { - printf("\tGet GPU failed\n"); - } - - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } -} diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/CMakeLists.txt deleted file mode 100644 index 2c115e7..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUPresetTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUPresetTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/ReadMe.html deleted file mode 100644 index 00b6c75..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control GPU preset tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU tuning support states.
2 Get current GPU tuning states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/GPUPresetTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.c b/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.c deleted file mode 100644 index fa2e29b..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.c +++ /dev/null @@ -1,286 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUPresetTuning.c -/// \brief Demonstrates how to control GPU preset tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUPresetTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUPresetTuning* gpuPresetTuning); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* gpuPresetTuningIfc, - IADLXGPUPresetTuning* gpuPresetTuning); - -// Display GPU tuning support states -void ShowIsSupported(IADLXGPUPresetTuning* gpuPresetTuning); - -// Display current GPU tuning states -void GetCurrentStates(IADLXGPUPresetTuning* gpuPresetTuning); - -// Set GPU states -void SetGPUStates(IADLXGPUPresetTuning* gpuPresetTuning); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUList* gpus = NULL; - IADLXGPU* oneGPU = NULL; - IADLXInterface* gpuPresetTuningIfc = NULL; - IADLXGPUPresetTuning* gpuPresetTuning = NULL; - - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == NULL) - return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedPresetTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - return WaitAndExit("\tGPU preset tuning is not supported by this GPU", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - - res = gpuTuningService->pVtbl->GetPresetTuning(gpuTuningService, oneGPU, &gpuPresetTuningIfc); - if (ADLX_FAILED(res) || gpuPresetTuningIfc == NULL) - return WaitAndExit("\tGet GPU preset tuning interface failed", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - - gpuPresetTuningIfc->pVtbl->QueryInterface(gpuPresetTuningIfc, IID_IADLXGPUPresetTuning(), (void**)&gpuPresetTuning); - if (gpuPresetTuning == NULL) - return WaitAndExit("\tGet GPU preset tuning failed", 0, gpuTuningService, gpus, oneGPU, - gpuPresetTuningIfc, gpuPresetTuning); - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(gpuPresetTuning); - - // Release the gpuPresetTuning interface - if (gpuPresetTuning != NULL) - { - gpuPresetTuning->pVtbl->Release(gpuPresetTuning); - gpuPresetTuning = NULL; - } - if (gpuPresetTuningIfc != NULL) - { - gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc); - gpuPresetTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - } - else - { - printf("\tg_ADLXHelp initialize failed\n"); - system("pause"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display GPU tuning support states\n"); - printf("\t->Press 2 to display current GPU tuning states\n"); - printf("\t->Press 3 to set GPU states\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLXGPUPresetTuning* gpuPresetTuning) -{ - char num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display GPU tuning support states - case '1': - ShowIsSupported(gpuPresetTuning); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates(gpuPresetTuning); - break; - - // Set GPU states - case '3': - SetGPUStates(gpuPresetTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* gpuPresetTuningIfc, - IADLXGPUPresetTuning* gpuPresetTuning) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - if (gpuPresetTuning != NULL) - { - gpuPresetTuning->pVtbl->Release(gpuPresetTuning); - gpuPresetTuning = NULL; - } - if (gpuPresetTuningIfc != NULL) - { - gpuPresetTuningIfc->pVtbl->Release(gpuPresetTuningIfc); - gpuPresetTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - // Destroy ADLX - ADLX_RESULT res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - system("pause"); - return retCode; -} - -// Display GPU tuning support states -void ShowIsSupported(IADLXGPUPresetTuning* gpuPresetTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = gpuPresetTuning->pVtbl->IsSupportedPowerSaver(gpuPresetTuning, &supported); - printf("\tIs Power Save supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res); - supported = false; - res = gpuPresetTuning->pVtbl->IsSupportedQuiet(gpuPresetTuning, &supported); - printf("\tIs Quiet supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res); - supported = false; - res = gpuPresetTuning->pVtbl->IsSupportedBalanced(gpuPresetTuning, &supported); - printf("\tIs Balanced supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res); - supported = false; - res = gpuPresetTuning->pVtbl->IsSupportedTurbo(gpuPresetTuning, &supported); - printf("\tIs Turbo supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res); - supported = false; - res = gpuPresetTuning->pVtbl->IsSupportedRage(gpuPresetTuning, &supported); - printf("\tIs Rage supported by the GPU: %d, return code is: %d(0 means success)\n", supported, res); -} - -// Display current GPU tuning states -void GetCurrentStates(IADLXGPUPresetTuning* gpuPresetTuning) -{ - adlx_bool applied = false; - ADLX_RESULT res = gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning, &applied); - printf("\tIs Power Saver applied: %d, return code is: %d(0 means success)\n", applied, res); - applied = false; - res = gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning, &applied); - printf("\tIs Quiet applied: %d, return code is: %d(0 means success)\n", applied, res); - applied = false; - res = gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning, &applied); - printf("\tIs Balanced applied: %d, return code is: %d(0 means success)\n", applied, res); - applied = false; - res = gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning, &applied); - printf("\tIs Turbo applied: %d, return code is: %d(0 means success)\n", applied, res); - applied = false; - res = gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning, &applied); - printf("\tIs Rage applied: %d, return code is: %d(0 means success)\n", applied, res); -} - -// Set GPU states -void SetGPUStates(IADLXGPUPresetTuning* gpuPresetTuning) -{ - adlx_bool applied = false; - ADLX_RESULT res = gpuPresetTuning->pVtbl->SetPowerSaver(gpuPresetTuning); - res = gpuPresetTuning->pVtbl->IsCurrentPowerSaver(gpuPresetTuning, &applied); - printf("\tSet Power Saver preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res); - applied = false; - res = gpuPresetTuning->pVtbl->SetQuiet(gpuPresetTuning); - res = gpuPresetTuning->pVtbl->IsCurrentQuiet(gpuPresetTuning, &applied); - printf("\tSet Quiet preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res); - applied = false; - res = gpuPresetTuning->pVtbl->SetBalanced(gpuPresetTuning); - res = gpuPresetTuning->pVtbl->IsCurrentBalanced(gpuPresetTuning, &applied); - printf("\tSet Balanced preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res); - applied = false; - res = gpuPresetTuning->pVtbl->SetTurbo(gpuPresetTuning); - res = gpuPresetTuning->pVtbl->IsCurrentTurbo(gpuPresetTuning, &applied); - printf("\tSet Turbo preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res); - applied = false; - res = gpuPresetTuning->pVtbl->SetRage(gpuPresetTuning); - res = gpuPresetTuning->pVtbl->IsCurrentRage(gpuPresetTuning, &applied); - printf("\tSet Rage preset tuning %s, return code is: %d(0 means success)\n", (applied ? "Successful" : "failed"), res); -} diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/CMakeLists.txt deleted file mode 100644 index 5bc1d24..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualFanTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualFanTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/ReadMe.html deleted file mode 100644 index 39e620b..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to control manual fan tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Get and set fan setting.
2 Get and set ZeroRPM setting.
3 Get and set MinAcoustic setting.
4 Get and set MinFanSpeed setting.
5 Get and set TargetFanSpeed setting.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualFanTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/mainManualFanTuning.c b/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/mainManualFanTuning.c deleted file mode 100644 index d169d27..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualFanTuning/mainManualFanTuning.c +++ /dev/null @@ -1,416 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualFanTuning.c -/// \brief Demonstrates how to control manual fan tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUManualFanTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// Main menu -void MainMenu (); - -// Menu action control -void MenuControl (IADLXManualFanTuning* manualFanTuning); - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualFanTuningIfc, - IADLXManualFanTuning* manualFanTuning); - -// Display and set fan settings -void ShowGetAndSetFan (IADLXManualFanTuning* manualFanTuning); - -// Display and set ZeroRPM settings -void ShowGetAndSetZeroRPM (IADLXManualFanTuning* manualFanTuning); - -// Display and set MinAcoustic settings -void ShowGetAndSetMinAcoustic (IADLXManualFanTuning* manualFanTuning); - -// Display and set MinFanSpeed settings -void ShowGetAndSetMinFanSpeed (IADLXManualFanTuning* manualFanTuning); - -// Display and set TargetFanSpeed settings -void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuning* manualFanTuning); - -int main () -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize (); - - if (ADLX_SUCCEEDED (res)) - { - IADLXSystem* sys = ADLXHelper_GetSystemServices (); - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUList* gpus = NULL; - IADLXGPU* oneGPU = NULL; - IADLXInterface* manualFanTuningIfc = NULL; - IADLXManualFanTuning* manualFanTuning = NULL; - - res = sys->pVtbl->GetGPUTuningServices (sys, &gpuTuningService); - if (ADLX_FAILED (res)) - return WaitAndExit ("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - res = sys->pVtbl->GetGPUs (sys, &gpus); - if (ADLX_FAILED (res)) - return WaitAndExit ("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - res = gpus->pVtbl->At_GPUList (gpus, 0, &oneGPU); - if (ADLX_FAILED (res) || oneGPU == NULL) - return WaitAndExit ("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedManualFanTuning (gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED (res) || supported == false) - return WaitAndExit ("\tThis GPU does not support manual fan tuning", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - res = gpuTuningService->pVtbl->GetManualFanTuning (gpuTuningService, oneGPU, &manualFanTuningIfc); - if (ADLX_FAILED (res) || manualFanTuningIfc == NULL) - return WaitAndExit ("\tGet manual fan tuning interface failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - manualFanTuningIfc->pVtbl->QueryInterface (manualFanTuningIfc, IID_IADLXManualFanTuning (), (void**)&manualFanTuning); - if (manualFanTuning == NULL) - return WaitAndExit ("\tGet manual fan tuning failed", 0, gpuTuningService, gpus, oneGPU, manualFanTuningIfc, manualFanTuning); - - // Display main menu options - MainMenu (); - - // Get and execute the choice - MenuControl (manualFanTuning); - - // Release the manualFanTuning interface - if (manualFanTuning != NULL) - { - manualFanTuning->pVtbl->Release (manualFanTuning); - manualFanTuning = NULL; - } - if (manualFanTuningIfc != NULL) - { - manualFanTuningIfc->pVtbl->Release (manualFanTuningIfc); - manualFanTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release (oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release (gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release (gpuTuningService); - gpuTuningService = NULL; - } - } - else - { - printf ("\tg_ADLXHelp initialize failed\n"); - system ("pause"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate (); - printf ("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system ("pause"); - - return 0; -} - -// Main menu -void MainMenu () -{ - printf ("\tChoose from the following options:\n"); - - printf ("\t->Press 1 to display and set fan setting\n"); - printf ("\t->Press 2 to display and set ZeroRPM setting\n"); - printf ("\t->Press 3 to display and set MinAcoustic setting\n"); - printf ("\t->Press 4 to display and set MinFanSpeed setting\n"); - printf ("\t->Press 5 to display and set TargetFanSpeed setting\n"); - - printf ("\t->Press Q/q to terminate the application\n"); - printf ("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl (IADLXManualFanTuning* manualFanTuning) -{ - int num = 0; - while ((num = getchar ()) != 'q' && num != 'Q') - { - switch (num) - { - // Display and set fan settings - case '1': - ShowGetAndSetFan (manualFanTuning); - break; - - // Display and set ZeroRPM settings - case '2': - ShowGetAndSetZeroRPM (manualFanTuning); - break; - - // Display and set MinAcoustic settings - case '3': - ShowGetAndSetMinAcoustic (manualFanTuning); - break; - - // Display and set MinFanSpeed settings - case '4': - ShowGetAndSetMinFanSpeed (manualFanTuning); - break; - - // Display and set TargetFanSpeed settings - case '5': - ShowGetAndSetTargetFanSpeed (manualFanTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu (); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualFanTuningIfc, - IADLXManualFanTuning* manualFanTuning) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf ("%s\n", msg); - - // Release the manualFanTuning interface - if (manualFanTuning != NULL) - { - manualFanTuning->pVtbl->Release (manualFanTuning); - manualFanTuning = NULL; - } - if (manualFanTuningIfc != NULL) - { - manualFanTuningIfc->pVtbl->Release (manualFanTuningIfc); - manualFanTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release (oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release (gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release (gpuTuningService); - gpuTuningService = NULL; - } - // Destroy ADLX - ADLX_RESULT res = ADLXHelper_Terminate (); - printf ("Destroy ADLX res: %d\n", res); - - system ("pause"); - return retCode; -} - -// Display and set fan settings -void ShowGetAndSetFan (IADLXManualFanTuning* manualFanTuning) -{ - // Display manual fan tuning ranges (speed, temperature) - ADLX_IntRange fanSpeedRange, fanTemperatureRange; - ADLX_RESULT res = manualFanTuning->pVtbl->GetFanTuningRanges (manualFanTuning, &fanSpeedRange, &fanTemperatureRange); - printf ("\tFan speed range: (%d, %d)\n", fanSpeedRange.minValue, fanSpeedRange.maxValue); - printf ("\tFan temperature range: (%d, %d)\n", fanTemperatureRange.minValue, fanTemperatureRange.maxValue); - printf ("\tReturn code is: %d(0 means success)\n", res); - - // Display current fan tuning states - IADLXManualFanTuningStateList* states; - IADLXManualFanTuningState* oneState; - res = manualFanTuning->pVtbl->GetFanTuningStates (manualFanTuning, &states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt) - { - res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState); - adlx_int speed = 0, temperature = 0; - oneState->pVtbl->GetFanSpeed (oneState, &speed); - oneState->pVtbl->GetTemperature (oneState, &temperature); - printf ("\tThe current %d state: speed is %d temperature is %d\n", crt, speed, temperature); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } - } - - - // Set empty fan tuning states - res = manualFanTuning->pVtbl->GetEmptyFanTuningStates (manualFanTuning, &states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt) - { - res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState); - adlx_int speed = 0, temperature = 0; - int fanSpeedStep = (fanSpeedRange.maxValue - fanSpeedRange.minValue) / states->pVtbl->Size (states); - int fanTemperatureStep = (fanTemperatureRange.maxValue - fanTemperatureRange.minValue) / states->pVtbl->Size (states); - oneState->pVtbl->SetFanSpeed (oneState, fanSpeedRange.minValue + fanSpeedStep * crt); - oneState->pVtbl->GetFanSpeed (oneState, &speed); - oneState->pVtbl->SetTemperature (oneState, fanTemperatureRange.minValue + fanTemperatureStep * crt); - oneState->pVtbl->GetTemperature (oneState, &temperature); - printf ("\tSet empty %d state: speed is %d temperature is %d\n", crt, speed, temperature); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - } - - // Set empty fan tuning states to current fan tuning states - adlx_int errorIndex; - res = manualFanTuning->pVtbl->IsValidFanTuningStates (manualFanTuning, states, &errorIndex); - printf ("\tIsValidGPUTuningStates, errorIndex is : %d\n", errorIndex); - if (ADLX_SUCCEEDED (res)) - { - manualFanTuning->pVtbl->SetFanTuningStates (manualFanTuning, states); - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } - res = manualFanTuning->pVtbl->GetFanTuningStates (manualFanTuning, &states); - if (ADLX_SUCCEEDED (res)) - { - printf ("\tAfter setting:\n"); - for (adlx_uint crt = states->pVtbl->Begin (states); crt != states->pVtbl->End (states); ++crt) - { - res = states->pVtbl->At_ManualFanTuningStateList (states, crt, &oneState); - adlx_int speed = 0, temperature = 0; - oneState->pVtbl->GetFanSpeed (oneState, &speed); - oneState->pVtbl->GetTemperature (oneState, &temperature); - printf ("\tThe current %d state: speed is %d temperature is %d\n", crt, speed, temperature); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } - } -} - -// Display and set ZeroRPM settings -void ShowGetAndSetZeroRPM (IADLXManualFanTuning* manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedZeroRPM (manualFanTuning, &supported); - printf ("\tIs support ZeroRPM: %d\n", supported); - if (ADLX_FAILED (res) || !supported) - return; - adlx_bool isZeroRPMStateSet = false; - res = manualFanTuning->pVtbl->SetZeroRPMState (manualFanTuning, true); - printf ("\tSet ZeroRPM state, return code is: %d(0 means success)\n", res); - res = manualFanTuning->pVtbl->GetZeroRPMState (manualFanTuning, &isZeroRPMStateSet); - printf ("\tIs ZeroRPM state set: %d, return code is: %d(0 means success)\n", isZeroRPMStateSet, res); - res = manualFanTuning->pVtbl->SetZeroRPMState (manualFanTuning, false); - printf ("\tReset ZeroRPM state, return code is: %d(0 means success)\n", res); - res = manualFanTuning->pVtbl->GetZeroRPMState (manualFanTuning, &isZeroRPMStateSet); - printf ("\tIs ZeroRPM state set: %d, return code is: %d(0 means success)\n", isZeroRPMStateSet, res); -} - -// Display and set MinAcoustic settings -void ShowGetAndSetMinAcoustic (IADLXManualFanTuning* manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedMinAcousticLimit (manualFanTuning, &supported); - printf ("\tIs MinAcousticLimit supported: %d\n", supported); - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->pVtbl->GetMinAcousticLimitRange (manualFanTuning, &tuningRange); - printf ("\tMinAcoustic limit range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res); - - adlx_int minAcousticLimit; - res = manualFanTuning->pVtbl->GetMinAcousticLimit (manualFanTuning, &minAcousticLimit); - printf ("\tCurrent min acoustic limit: %d, return code is: %d(0 means success)\n", minAcousticLimit, res); - res = manualFanTuning->pVtbl->SetMinAcousticLimit (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->pVtbl->GetMinAcousticLimit (manualFanTuning, &minAcousticLimit); - printf ("\tSet current min acoustic limit to: %d, return code is: %d(0 means success)\n", minAcousticLimit, res); -} - -// Display and set MinFanSpeed settings -void ShowGetAndSetMinFanSpeed (IADLXManualFanTuning* manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedMinFanSpeed (manualFanTuning, &supported); - printf ("\tIs MinFanSpeed supported: %d\n", supported); - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->pVtbl->GetMinFanSpeedRange (manualFanTuning, &tuningRange); - printf ("\tMinFanSpeed range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res); - - adlx_int minFanSpeed = 0; - res = manualFanTuning->pVtbl->GetMinFanSpeed (manualFanTuning, &minFanSpeed); - printf ("\tCurrent MinFanSpeed: %d, return code is: %d(0 means success)\n", minFanSpeed, res); - res = manualFanTuning->pVtbl->SetMinFanSpeed (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->pVtbl->GetMinFanSpeed (manualFanTuning, &minFanSpeed); - printf ("\tSet current MinFanSpeed to: %d, return code is: %d(0 means success)\n", minFanSpeed, res); -} - -// Display and set TargetFanSpeed settings -void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuning* manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->pVtbl->IsSupportedTargetFanSpeed (manualFanTuning, &supported); - printf ("\tIs TargetFanSpeed supported: %d\n", supported); - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->pVtbl->GetTargetFanSpeedRange (manualFanTuning, &tuningRange); - printf ("\tTargetFanSpeed range: (%d, %d), return code is: %d(0 means success)\n", tuningRange.minValue, tuningRange.maxValue, res); - - adlx_int minAcousticLimit; - res = manualFanTuning->pVtbl->GetTargetFanSpeed (manualFanTuning, &minAcousticLimit); - printf ("\tCurrent TargetFanSpeed: %d, return code is: %d(0 means success)\n", minAcousticLimit, res); - res = manualFanTuning->pVtbl->SetTargetFanSpeed (manualFanTuning, tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->pVtbl->GetTargetFanSpeed (manualFanTuning, &minAcousticLimit); - printf ("\tSet current TargetFanSpeed to: %d, return code is: %d(0 means success)\n", minAcousticLimit, res); -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/CMakeLists.txt deleted file mode 100644 index bb37250..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualGraphicsTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualGraphicsTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/ReadMe.html deleted file mode 100644 index 5cc952d..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control manual graphics tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU frequency and voltage.
2 Get current GPU states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualGraphicsTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.c b/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.c deleted file mode 100644 index de5527a..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.c +++ /dev/null @@ -1,433 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualGraphicsTuning.c -/// \brief Demonstrates how to control manual graphics tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUManualGFXTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// Main menu -void MainMenu(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2); - -// Menu action control -void MenuControl(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualGFXTuningIfc, - IADLXManualGraphicsTuning1* manualGFXTuning1, - IADLXManualGraphicsTuning2* manualGFXTuning2); - -/***** The first is pre-Navi, the second is post-Navi *****/ -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1* manualGFXTuning1); -void ShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2* manualGFXTuning2); -// Display current GPU tuning states -void GetCurrentStates1(IADLXManualGraphicsTuning1* manualGFXTuning1); -void GetCurrentStates2(IADLXManualGraphicsTuning2* manualGFXTuning2); -// Set GPU states -void SetGPUStates1(IADLXManualGraphicsTuning1* manualGFXTuning1); -void SetGPUStates2(IADLXManualGraphicsTuning2* manualGFXTuning2); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUList* gpus = NULL; - IADLXGPU* oneGPU = NULL; - IADLXInterface* manualGFXTuningIfc = NULL; - IADLXManualGraphicsTuning1* manualGFXTuning1 = NULL; - IADLXManualGraphicsTuning2* manualGFXTuning2 = NULL; - - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == NULL) - return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedManualGFXTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - return WaitAndExit("\tThis GPU does not support manual graphics tuning", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - - res = gpuTuningService->pVtbl->GetManualGFXTuning(gpuTuningService, oneGPU, &manualGFXTuningIfc); - if (ADLX_FAILED(res) || manualGFXTuningIfc == NULL) - return WaitAndExit("\tGet manual graphics tuning interface failed", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - - // Pre-Navi ASIC - manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc, IID_IADLXManualGraphicsTuning1(), (void**)&manualGFXTuning1); - // Post-Navi ASIC - manualGFXTuningIfc->pVtbl->QueryInterface(manualGFXTuningIfc, IID_IADLXManualGraphicsTuning2(), (void**)&manualGFXTuning2); - - if (manualGFXTuning1 == NULL && manualGFXTuning2 == NULL) - return WaitAndExit("\tGet manual graphics tuning failed", 0, gpuTuningService, gpus, oneGPU, - manualGFXTuningIfc, manualGFXTuning1, manualGFXTuning2); - // Display main menu options - MainMenu(manualGFXTuning1, manualGFXTuning2); - - // Get and execute the choice - MenuControl(manualGFXTuning1, manualGFXTuning2); - - // Release the manualGFXTuning1 interface - if (manualGFXTuning1 != NULL) - { - manualGFXTuning1->pVtbl->Release(manualGFXTuning1); - manualGFXTuning1 = NULL; - } - if (manualGFXTuning2 != NULL) - { - manualGFXTuning2->pVtbl->Release(manualGFXTuning2); - manualGFXTuning2 = NULL; - } - if (manualGFXTuningIfc != NULL) - { - manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc); - manualGFXTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - } - else - { - printf("\tg_ADLXHelp initialize failed\n"); - system("pause"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - if (manualGFXTuning1) - printf("\tThe current GPU is pre-Navi. Choose from the following options:\n"); - else if (manualGFXTuning2) - printf("\tThe current GPU is post-Navi. Choose from the following options:\n"); - printf("\t->Press 1 to display GPU frequency and voltage\n"); - printf("\t->Press 2 to display current GPU states\n"); - printf("\t->Press 3 to set GPU states\n"); - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLXManualGraphicsTuning1* manualGFXTuning1, IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - char num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - // Pre-Navi Menu action control - if (manualGFXTuning1) - { - switch (num) - { - // Display GPU frequency and voltage range - case '1': - ShowFrequencyAndVoltageRange1(manualGFXTuning1); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates1(manualGFXTuning1); - break; - - // Set GPU states - case '3': - SetGPUStates1(manualGFXTuning1); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(manualGFXTuning1, manualGFXTuning2); - break; - default: - break; - } - } - // Post-Navi Menu action control - else - { - switch (num) - { - // Display GPU frequency and voltage range - case '1': - ShowFrequencyAndVoltageRange2(manualGFXTuning2); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates2(manualGFXTuning2); - break; - - // Set GPU states - case '3': - SetGPUStates2(manualGFXTuning2); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(manualGFXTuning1, manualGFXTuning2); - break; - default: - break; - } - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualGFXTuningIfc, - IADLXManualGraphicsTuning1* manualGFXTuning1, - IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - // Release the manualGFXTuning interface - if (manualGFXTuning1 != NULL) - { - manualGFXTuning1->pVtbl->Release(manualGFXTuning1); - manualGFXTuning1 = NULL; - } - if (manualGFXTuning2 != NULL) - { - manualGFXTuning2->pVtbl->Release(manualGFXTuning2); - manualGFXTuning2 = NULL; - } - if (manualGFXTuningIfc != NULL) - { - manualGFXTuningIfc->pVtbl->Release(manualGFXTuningIfc); - manualGFXTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - // Destroy ADLX - ADLX_RESULT res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - system("pause"); - return retCode; -} - -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange1(IADLXManualGraphicsTuning1* manualGFXTuning1) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res = manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1, &freqRange, &voltRange); - printf("\tFrequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res); - printf("\tVoltage range: (%d, %d), return code is: %d(0 means success)\n", voltRange.minValue, voltRange.maxValue, res); -} - -// Display current GPU tuning states -void GetCurrentStates1(IADLXManualGraphicsTuning1* manualGFXTuning1) -{ - IADLXManualTuningStateList* states; - IADLXManualTuningState* oneState; - ADLX_RESULT res = manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1, &states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt) - { - states->pVtbl->At_ManualTuningStateList(states, crt, &oneState); - adlx_int freq = 0, volt = 0; - res = oneState->pVtbl->GetFrequency(oneState, &freq); - printf("\tThe current state %d: frequency is %d, return code is: %d(0 means success)\n", crt, freq, res); - res = oneState->pVtbl->GetVoltage(oneState, &volt); - printf("\tThe current state %d: voltage is %d, return code is: %d(0 means success)\n", crt, volt, res); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } -} - -// Set GPU states -void SetGPUStates1(IADLXManualGraphicsTuning1* manualGFXTuning1) -{ - IADLXManualTuningStateList* states; - IADLXManualTuningState* oneState; - ADLX_RESULT res1 = manualGFXTuning1->pVtbl->GetEmptyGPUTuningStates(manualGFXTuning1, &states); - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res2 = manualGFXTuning1->pVtbl->GetGPUTuningRanges(manualGFXTuning1, &freqRange, &voltRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt) - { - states->pVtbl->At_ManualTuningStateList(states, crt, &oneState); - adlx_int freq = 0, volt = 0; - int freqStep = (freqRange.maxValue - freqRange.minValue) / (states->pVtbl->Size(states)); - // The Step should not be too large - if (freqStep >= 60) - freqStep = 60; - int voltStep = (voltRange.maxValue - voltRange.minValue) / (states->pVtbl->Size(states)); - // The Step should not be too large - if (voltStep >= 20) - voltStep = 20; - ADLX_RESULT res = oneState->pVtbl->SetFrequency(oneState, freqRange.minValue + freqStep * crt); - res = oneState->pVtbl->GetFrequency(oneState, &freq); - res = oneState->pVtbl->SetVoltage(oneState, voltRange.minValue + voltStep * crt); - res = oneState->pVtbl->GetVoltage(oneState, &volt); - printf("\tSet empty state %d: frequency is %d, voltage is %d, return code is: %d(0 means success)\n", crt, freq, volt, res); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - } - adlx_int errorIndex; - ADLX_RESULT res = manualGFXTuning1->pVtbl->IsValidGPUTuningStates(manualGFXTuning1, states, &errorIndex); - printf("\tIsValidGPUTuningStates, errorIndex is : %d, return code is: %d(0 means success)\n", errorIndex, res); - if (ADLX_SUCCEEDED(res)) - { - res = manualGFXTuning1->pVtbl->SetGPUTuningStates(manualGFXTuning1, states); - printf ("\tSet GPU tuning states %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed")); - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } - - res = manualGFXTuning1->pVtbl->GetGPUTuningStates(manualGFXTuning1, &states); - printf("\tAfter setting:\n"); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->pVtbl->Begin(states); crt != states->pVtbl->End(states); ++crt) - { - states->pVtbl->At_ManualTuningStateList(states, crt, &oneState); - adlx_int freq = 0, volt = 0; - res = oneState->pVtbl->GetFrequency(oneState, &freq); - res = oneState->pVtbl->GetVoltage(oneState, &volt); - printf("\tThe current state %d: frequency is %d, voltage is %d, return code is: %d(0 means success)\n", crt, freq, volt, res); - if (oneState != NULL) - { - oneState->pVtbl->Release (oneState); - oneState = NULL; - } - } - } - if (states != NULL) - { - states->pVtbl->Release (states); - states = NULL; - } -} - -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange2(IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res= manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2, &freqRange); - printf("\tGPU minimum frequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res); - res = manualGFXTuning2->pVtbl->GetGPUMaxFrequencyRange(manualGFXTuning2, &freqRange); - printf("\tGPU maximum frequency range: (%d, %d), return code is: %d(0 means success)\n", freqRange.minValue, freqRange.maxValue, res); - res = manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2, &voltRange); - printf("\tVoltage range: (%d, %d), return code is: %d(0 means success)\n", voltRange.minValue, voltRange.maxValue, res); -} - -// Display current GPU tuning states -void GetCurrentStates2(IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - adlx_int minFreq = 0, maxFreq = 0, volt = 0; - ADLX_RESULT res = manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2, &minFreq); - printf("\tCurrent GPU minimum frequency: %d, return code is: %d(0 means success)\n", minFreq, res); - res = manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2, &maxFreq); - printf("\tCurrent GPU maximum frequency: %d, return code is: %d(0 means success)\n", maxFreq, res); - res = manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2, &volt); - printf("\tCurrent GPU clock voltage: %d, return code is: %d(0 means success)\n", volt, res); -} - -// Set GPU states -void SetGPUStates2(IADLXManualGraphicsTuning2* manualGFXTuning2) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res = manualGFXTuning2->pVtbl->GetGPUMinFrequencyRange(manualGFXTuning2, &freqRange); - res = manualGFXTuning2->pVtbl->GetGPUVoltageRange(manualGFXTuning2, &voltRange); - res = manualGFXTuning2->pVtbl->SetGPUMinFrequency(manualGFXTuning2, freqRange.minValue); - printf ("\tSet GPU min frequency %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed")); - res = manualGFXTuning2->pVtbl->SetGPUMaxFrequency(manualGFXTuning2, freqRange.minValue + 100); - printf ("\tSet GPU max frequency %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed")); - res = manualGFXTuning2->pVtbl->SetGPUVoltage(manualGFXTuning2, voltRange.minValue + (voltRange.maxValue - voltRange.minValue) / 2); - printf ("\tSet GPU voltage %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed")); - printf("\tAfter setting:\n"); - adlx_int minFreq = 0, maxFreq = 0, volt = 0; - res = manualGFXTuning2->pVtbl->GetGPUMinFrequency(manualGFXTuning2, &minFreq); - printf("\tCurrent GPU min frequency: %d, return code is: %d(0 means success)\n", minFreq, res); - res = manualGFXTuning2->pVtbl->GetGPUMaxFrequency(manualGFXTuning2, &maxFreq); - printf("\tCurrent GPU max frequency: %d, return code is: %d(0 means success)\n", maxFreq, res); - res = manualGFXTuning2->pVtbl->GetGPUVoltage(manualGFXTuning2, &volt); - printf("\tCurrent GPU clock voltage: %d, return code is: %d(0 means success)\n", volt, res); -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/CMakeLists.txt deleted file mode 100644 index 9b5f685..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualPowerTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualPowerTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/ReadMe.html deleted file mode 100644 index 9545aef..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to control manual power tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Get power limit range.
2 Get current power limit.
3 Set power limit.
4 Check TDC limit supported.
5 Get TDC limit range.
6 Get current TDC limit.
7 Set TDC limit.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualPowerTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/mainManualPowerTuning.c b/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/mainManualPowerTuning.c deleted file mode 100644 index bce8c38..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualPowerTuning/mainManualPowerTuning.c +++ /dev/null @@ -1,314 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualPowerTuning.c -/// \brief Demonstrates how to control manual power tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUManualPowerTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXManualPowerTuning* manualPowerTuning); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualPowerTuningIfc, - IADLXManualPowerTuning* manualPowerTuning); - -// Display power limit range -void ShowGetPowerLimitRange(IADLXManualPowerTuning* manualPowerTuning); - -// Display current power limit -void ShowGetPowerLimit(IADLXManualPowerTuning* manualPowerTuning); - -// Set power limit -void ShowSetPowerLimit(IADLXManualPowerTuning* manualPowerTuning); - -//Show to check TDC limit is supported -void ShowTDCLimitSupported(IADLXManualPowerTuning* manualPowerTuning); - -// Show how to get TDC limit range. -void ShowGetTDCLimitRange(IADLXManualPowerTuning* manualPowerTuning); - -// Show how to get current TDC limit. -void ShowGetTDCLimit(IADLXManualPowerTuning* manualPowerTuning); - -// Show how to set TDC limit. -void ShowSetTDCLimit(IADLXManualPowerTuning* manualPowerTuning); - - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUList* gpus = NULL; - IADLXGPU* oneGPU = NULL; - IADLXInterface* manualPowerTuningIfc = NULL; - IADLXManualPowerTuning* manualPowerTuning = NULL; - - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU tuning services failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_FAILED(res)) - return WaitAndExit("\tGet GPU list failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - res = gpus->pVtbl->At_GPUList(gpus, 0, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == NULL) - return WaitAndExit("\tGet GPU failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - adlx_bool supported = false; - res = gpuTuningService->pVtbl->IsSupportedManualPowerTuning(gpuTuningService, oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - return WaitAndExit("\tThis GPU doesn't supported manual power tuning", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - res = gpuTuningService->pVtbl->GetManualPowerTuning(gpuTuningService, oneGPU, &manualPowerTuningIfc); - if (ADLX_FAILED(res) || manualPowerTuningIfc == NULL) - return WaitAndExit("\tGet manual power tuning interface failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - res = manualPowerTuningIfc->pVtbl->QueryInterface(manualPowerTuningIfc, IID_IADLXManualPowerTuning(), (void**)&manualPowerTuning); - if (manualPowerTuning == NULL) - return WaitAndExit("\tGet manual power tuning failed", 0, gpuTuningService, gpus, oneGPU, manualPowerTuningIfc, manualPowerTuning); - - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(manualPowerTuning); - - // Release the manualPowerTuning interface - if (manualPowerTuning != NULL) - { - manualPowerTuning->pVtbl->Release(manualPowerTuning); - manualPowerTuning = NULL; - } - if (manualPowerTuningIfc != NULL) - { - manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc); - manualPowerTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - } - else - { - printf("\tg_ADLXHelp initialize failed\n"); - system("pause"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - printf("\t->Press 1 to display power limit range\n"); - printf("\t->Press 2 to display current power limit\n"); - printf("\t->Press 3 to set power limit\n"); - printf("\t->Press 4 to check if TDC Limit is supported\n"); - printf("\t->Press 5 to display TDC limit range\n"); - printf("\t->Press 6 to display current TDC limit\n"); - printf("\t->Press 7 to set TDC limit\n"); - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXManualPowerTuning* manualPowerTuning) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display power limit range - case '1': - ShowGetPowerLimitRange(manualPowerTuning); - break; - - // Display current power limit - case '2': - ShowGetPowerLimit(manualPowerTuning); - break; - - // Set power limit - case '3': - ShowSetPowerLimit(manualPowerTuning); - break; - // Show how to check TDC limit is supported. - case '4': - ShowTDCLimitSupported(manualPowerTuning); - break; - // Show how to get TDC limit range. - case '5': - ShowGetTDCLimitRange(manualPowerTuning); - break; - // Show how to get current TDC limit. - case '6': - ShowGetTDCLimit(manualPowerTuning); - break; - // Show how to set TDC limit. - case '7': - ShowSetTDCLimit(manualPowerTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode, - IADLXGPUTuningServices* gpuTuningService, - IADLXGPUList* gpus, - IADLXGPU* oneGPU, - IADLXInterface* manualPowerTuningIfc, - IADLXManualPowerTuning* manualPowerTuning) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - // Release the manualPowerTuning interface - if (manualPowerTuning != NULL) - { - manualPowerTuning->pVtbl->Release(manualPowerTuning); - manualPowerTuning = NULL; - } - if (manualPowerTuningIfc != NULL) - { - manualPowerTuningIfc->pVtbl->Release(manualPowerTuningIfc); - manualPowerTuningIfc = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - - // Destroy ADLX - ADLX_RESULT res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - system("pause"); - return retCode; -} - -// Display power limit range -void ShowGetPowerLimitRange(IADLXManualPowerTuning* manualPowerTuning) -{ - ADLX_IntRange powerRange; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning, &powerRange); - printf("\tPower limit range: (%d, %d), return code is: %d(0 means success)\n", powerRange.minValue, powerRange.maxValue, res); -} - -// Display current power limit -void ShowGetPowerLimit(IADLXManualPowerTuning* manualPowerTuning) -{ - adlx_int powerLimit; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning, &powerLimit); - printf("\tCurrent power limit: %d, return code is: %d(0 means success)\n", powerLimit, res); -} - -// Set power limit -void ShowSetPowerLimit(IADLXManualPowerTuning* manualPowerTuning) -{ - ADLX_IntRange powerRange; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetPowerLimitRange(manualPowerTuning, &powerRange); - res = manualPowerTuning->pVtbl->SetPowerLimit(manualPowerTuning, powerRange.minValue + (powerRange.maxValue - powerRange.minValue) / 2); - printf("\tSet power limit %s\n", (ADLX_SUCCEEDED (res) ? "succeeded" : "failed")); - adlx_int powerLimit; - res = manualPowerTuning->pVtbl->GetPowerLimit(manualPowerTuning, &powerLimit); - printf("\tSet current power limit to: %d, return code is: %d(0 means success)\n", powerLimit, res); -} - - -// Show how to check TDCLimit is supported. -void ShowTDCLimitSupported(IADLXManualPowerTuning* manualPowerTuning) -{ - adlx_bool tdcSupported; - ADLX_RESULT res = manualPowerTuning->pVtbl->IsSupportedTDCLimit(manualPowerTuning, &tdcSupported); - printf("\tIs TDC Limit supported: %d, return code is: %d(0 means success)\n", tdcSupported, res); -} - -// Show how to get TDC limit range. -void ShowGetTDCLimitRange(IADLXManualPowerTuning* manualPowerTuning) -{ - ADLX_IntRange tdcRange; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning, &tdcRange); - printf("\tGet TDC limit range is: (%d, %d), return code is: %d (0 means success)\n", tdcRange.minValue, tdcRange.maxValue, res); -} - -// Show how to get current TDC limit. -void ShowGetTDCLimit(IADLXManualPowerTuning* manualPowerTuning) -{ - adlx_int tdcLimit; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning, &tdcLimit); - printf("\tThe current TDC limit is: %d, return code is: %d (0 means success)\n", tdcLimit, res); -} - -// Show how to set TDC limit. -void ShowSetTDCLimit(IADLXManualPowerTuning* manualPowerTuning) -{ - ADLX_IntRange tdcRange; - ADLX_RESULT res = manualPowerTuning->pVtbl->GetTDCLimitRange(manualPowerTuning, &tdcRange); - res = manualPowerTuning->pVtbl->SetTDCLimit(manualPowerTuning, tdcRange.minValue + (tdcRange.maxValue - tdcRange.minValue) / 2); - adlx_int tdcLimit; - res = manualPowerTuning->pVtbl->GetTDCLimit(manualPowerTuning, &tdcLimit); - printf("\tSet current TDC limit to: %d, return code is: %d (0 means success)\n", tdcLimit, res); -} diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/CMakeLists.txt deleted file mode 100644 index eacccf3..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualVRAMTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualVRAMTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/ReadMe.html deleted file mode 100644 index 9eb3df6..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Get Memory Timing support.
2 Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable
3 Set Memory Timing level.
4 Set VRAMTuning state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/ManualVRAMTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.c b/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.c deleted file mode 100644 index 1143d4b..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.c +++ /dev/null @@ -1,546 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualVRAMTuning.c -/// \brief Demonstrates how to control GPU manual VRAM tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUManualVRAMTuning.h" -#include "SDK/Include/IGPUTuning.h" - -// Display Memory Timing support -void ShowSupport(IADLXInterface* vramTuningIfc); - -// Get VRAM state -void GetState(IADLXInterface* vramTuningIfc); - -// Set Memory Timing Level -void SetTimingLevel(IADLXInterface* vramTuningIfc); - -// Set VRAM state -void SetState(IADLXInterface* vramTuningIfc); - -// Main menu -void MainMenu(IADLXInterface* vramTuningIfc); - -// Menu action control -void MenuControl(IADLXInterface* vramTuningIfc); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get System Services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPUs - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get GPU tuning service - IADLXGPUTuningServices* gpuTuningService = NULL; - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningService); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get ManualVRAMTuning support - adlx_bool supported; - gpuTuningService->pVtbl->IsSupportedManualVRAMTuning(gpuTuningService, gpu, &supported); - printf("\tThe GPU support for manual VRAM tuning is: %d \n", supported); - - if (supported) - { - // Get ManualVRAMTuning interface - IADLXInterface* vramTuningIfc = NULL; - res = gpuTuningService->pVtbl->GetManualVRAMTuning(gpuTuningService, gpu, &vramTuningIfc); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(vramTuningIfc); - MenuControl(vramTuningIfc); - } - // Release the vramTuningIfc interface - if (vramTuningIfc != NULL) - { - vramTuningIfc->pVtbl->Release(vramTuningIfc); - vramTuningIfc = NULL; - } - } - else - { - printf("\tThis GPU Doesn't support Manual VRAM Tuning \n"); - } - - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - else - { - printf("Failed to get GPU tuning service\n"); - } - - // Release the gpuTuningService interface - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - - // Release the GPUs list interface - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -static const char* getDescStr(ADLX_MEMORYTIMING_DESCRIPTION desc) -{ - switch (desc) - { - case MEMORYTIMING_DEFAULT: - return "Default"; - case MEMORYTIMING_FAST_TIMING: - return "Fast Timing"; - case MEMORYTIMING_FAST_TIMING_LEVEL_2: - return "Fast Timing Level2"; - case MEMORYTIMING_AUTOMATIC: - return "Automatic"; - case MEMORYTIMING_MEMORYTIMING_LEVEL_1: - return "Memory Timing Level1"; - case MEMORYTIMING_MEMORYTIMING_LEVEL_2: - return "Memory Timing Level2"; - } - return "Default"; -}; - -void ShowSupport(IADLXInterface* vramTuningIfc) -{ - adlx_bool supported = false; - IADLXManualVRAMTuning2* vramTuning2 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2); - IADLXManualVRAMTuning1* vramTuning1 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1); - ADLX_RESULT res = ADLX_FAIL; - if (vramTuning2) - { - res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported); - } - else if (vramTuning1) - { - res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported); - } - - printf("\tIsSupported: %d, return code is: %d(0 means success)\n", supported, res); - - // Release the ManualVRAMTuning2 interface - if (vramTuning2 != NULL) - { - vramTuning2->pVtbl->Release(vramTuning2); - vramTuning2 = NULL; - } - - // Release the ManualVRAMTuning1 interface - if (vramTuning1 != NULL) - { - vramTuning1->pVtbl->Release(vramTuning1); - vramTuning1 = NULL; - } -} - -void GetState(IADLXInterface* vramTuningIfc) -{ - IADLXManualVRAMTuning2* vramTuning2 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2); - IADLXManualVRAMTuning1* vramTuning1 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1); - ADLX_MEMORYTIMING_DESCRIPTION desc; - IADLXMemoryTimingDescriptionList* descList = NULL; - if (vramTuning2) - { - vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2, &descList); - vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2, &desc); - - adlx_int freq; - ADLX_IntRange rang; - ADLX_RESULT res = vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2, &freq); - printf("\tMaxVRAMFrequency is: %d, return code is: %d(0 means success)\n", freq, res); - res = vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2, &rang); - printf("\tMaxVRAMFrequencyRange: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", rang.minValue, rang.maxValue, rang.step, res); - } - else if (vramTuning1) - { - vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1, &descList); - vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1, &desc); - - IADLXManualTuningStateList* states = NULL; - vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1, &states); - adlx_uint s = states->pVtbl->Begin(states); - printf("\tState is:\n"); - for (; s != states->pVtbl->End(states); s++) - { - IADLXManualTuningState* state = NULL; - adlx_int frequency; - adlx_int voltage; - states->pVtbl->At_ManualTuningStateList(states, s, &state); - state->pVtbl->GetFrequency(state, &frequency); - state->pVtbl->GetVoltage(state, &voltage); - printf("\t\tfrequency: %d, voltage: %d \n", frequency, voltage); - if (state != NULL) - { - state->pVtbl->Release(state); - state = NULL; - } - } - if (states != NULL) - { - states->pVtbl->Release(states); - states = NULL; - } - - ADLX_IntRange frequencyRange; - ADLX_IntRange voltageRange; - ADLX_RESULT res = vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1, &frequencyRange, &voltageRange); - printf("\tFrequency Range: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", frequencyRange.minValue, frequencyRange.maxValue, frequencyRange.step, res); - printf("\tVoltage Range: [ %d, %d ], step: %d, return code is: %d(0 means success)\n", voltageRange.minValue, voltageRange.maxValue, voltageRange.step, res); - } - - if (descList) - { - printf ("\tCurrent Timing desc is: %s\n", getDescStr (desc)); - printf ("\tSupported memory timing desc list:\n"); - for (adlx_uint s = 0; s != descList->pVtbl->End (descList); s++) - { - IADLXMemoryTimingDescription* item = NULL; - descList->pVtbl->At_MemoryTimingDescriptionList (descList, s, &item); - item->pVtbl->GetDescription (item, &desc); - printf ("\t %s\n", getDescStr (desc)); - - // Release the IADLXMemoryTimingDescription interface - if (item) - { - item->pVtbl->Release (item); - item = NULL; - } - } - } - printf("\n"); - - // Release the IADLXMemoryTimingDescriptionList interface - if (descList != NULL) - { - descList->pVtbl->Release(descList); - descList = NULL; - } - - // Release the ManualVRAMTuning2 interface - if (vramTuning2 != NULL) - { - vramTuning2->pVtbl->Release(vramTuning2); - vramTuning2 = NULL; - } - - // Release the ManualVRAMTuning1 interface - if (vramTuning1 != NULL) - { - vramTuning1->pVtbl->Release(vramTuning1); - vramTuning1 = NULL; - } -} - -void SetTimingLevel(IADLXInterface* vramTuningIfc) -{ - ADLX_RESULT res; - IADLXManualVRAMTuning2* vramTuning2 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2); - IADLXManualVRAMTuning1* vramTuning1 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1); - ADLX_MEMORYTIMING_DESCRIPTION desc, currentDesc; - IADLXMemoryTimingDescriptionList* descList = NULL; - IADLXMemoryTimingDescription* item = NULL; - adlx_bool supported = false; - if (vramTuning2) - { - //If MemoryTiming is supported, then only will set the MemoryTiming - res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported); - if (supported) - { - res = vramTuning2->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning2, &descList); - if (descList) - { - vramTuning2->pVtbl->GetMemoryTimingDescription(vramTuning2, ¤tDesc); - for (adlx_uint s = 0; s != descList->pVtbl->End(descList); s++) - { - descList->pVtbl->At_MemoryTimingDescriptionList(descList, s, &item); - item->pVtbl->GetDescription(item, &desc); - if (desc != currentDesc) - { - res = vramTuning2->pVtbl->SetMemoryTimingDescription(vramTuning2, desc); - printf("\tSet Memory Timing description to %s: return code is: %d (0 means success)\n", getDescStr(desc), res); - break; - } - } - } - else - { - printf("\tFailed to get the Supported Memory Timing Description List.\n"); - } - } - else - { - - printf("\tMemory Timing level not supported, so cannot set Memory Timing Description List\n"); - } - } - else if (vramTuning1) - { - //If MemoryTiming is supported, then only will set the MemoryTiming - res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported); - if (supported) - { - res = vramTuning1->pVtbl->GetSupportedMemoryTimingDescriptionList(vramTuning1, &descList); - if (descList) - { - vramTuning1->pVtbl->GetMemoryTimingDescription(vramTuning1, ¤tDesc); - for (adlx_uint s = 0; s != descList->pVtbl->End(descList); s++) - { - descList->pVtbl->At_MemoryTimingDescriptionList(descList, s, &item); - item->pVtbl->GetDescription(item, &desc); - if (desc != currentDesc) - { - res = vramTuning1->pVtbl->SetMemoryTimingDescription(vramTuning1, desc); - printf("\tSet Memory Timing description to %s: return code is: %d (0 means success)\n", getDescStr(desc), res); - break; - } - } - } - else - { - printf("\tFailed to get the Supported Memory Timing Description List.\n"); - } - } - else - { - printf("\tMemory Timing level not supported, so cannot set Memory Timing Description List\n"); - } - } - - // Release the IADLXMemoryTimingDescription interface - if (item != NULL) - { - item->pVtbl->Release(item); - item = NULL; - } - - // Release the IADLXMemoryTimingDescriptionList interface - if (descList != NULL) - { - descList->pVtbl->Release(descList); - descList = NULL; - } - - // Release the ManualVRAMTuning2 interface - if (vramTuning2 != NULL) - { - vramTuning2->pVtbl->Release(vramTuning2); - vramTuning2 = NULL; - } - - // Release the ManualVRAMTuning1 interface - if (vramTuning1 != NULL) - { - vramTuning1->pVtbl->Release(vramTuning1); - vramTuning1 = NULL; - } -} - -void SetState(IADLXInterface* vramTuningIfc) -{ - ADLX_RESULT res; - IADLXManualVRAMTuning2* vramTuning2 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2); - IADLXManualVRAMTuning1* vramTuning1 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1); - adlx_bool supported = false; - if (vramTuning2) - { - //If MemoryTiming is supported, then only will set the state - res = vramTuning2->pVtbl->IsSupportedMemoryTiming(vramTuning2, &supported); - if (supported) - { - adlx_int freq; - ADLX_IntRange rang; - vramTuning2->pVtbl->GetMaxVRAMFrequency(vramTuning2, &freq); - vramTuning2->pVtbl->GetMaxVRAMFrequencyRange(vramTuning2, &rang); - if (freq != rang.minValue) - { - res = vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2, rang.minValue); - printf("\tSet minimum frequency: return code is: %d (0 means success)\n", res); - } - else - { - res = vramTuning2->pVtbl->SetMaxVRAMFrequency(vramTuning2, rang.minValue + rang.step * 2); - printf("\tSet maximum frequency: return code is: %d (0 means success)\n", res); - } - } - else - { - printf("\tTuning not supported, cannot set the state\n"); - } - } - else if (vramTuning1) - { - //If MemoryTiming is supported, then only will set the state - res = vramTuning1->pVtbl->IsSupportedMemoryTiming(vramTuning1, &supported); - if (supported) - { - ADLX_IntRange frequencyRange; - ADLX_IntRange voltageRange; - vramTuning1->pVtbl->GetVRAMTuningRanges(vramTuning1, &frequencyRange, &voltageRange); - IADLXManualTuningStateList* states = NULL; - vramTuning1->pVtbl->GetVRAMTuningStates(vramTuning1, &states); - adlx_uint s = states->pVtbl->Begin(states); - for (; s != states->pVtbl->End(states); s++) - { - IADLXManualTuningState* state = NULL; - adlx_int frequency; - adlx_int voltage; - states->pVtbl->At_ManualTuningStateList(states, s, &state); - state->pVtbl->GetFrequency(state, &frequency); - state->pVtbl->GetVoltage(state, &voltage); - // Only change the first - res = state->pVtbl->SetFrequency(state, frequency != frequencyRange.minValue ? frequencyRange.minValue : frequencyRange.maxValue); - res = state->pVtbl->SetVoltage(state, voltage != voltageRange.minValue ? voltageRange.minValue : voltageRange.maxValue); - break; - } - res = vramTuning1->pVtbl->SetVRAMTuningStates(vramTuning1, states); - printf("\tChange VRAM tuning states: return code is: %d (0 means success)\n", res); - } - else - { - printf("\tTuning not supported, cannot set the state\n"); - } - } - - // Release the ManualVRAMTuning2 interface - if (vramTuning2 != NULL) - { - vramTuning2->pVtbl->Release(vramTuning2); - vramTuning2 = NULL; - } - - // Release the ManualVRAMTuning1 interface - if (vramTuning1 != NULL) - { - vramTuning1->pVtbl->Release(vramTuning1); - vramTuning1 = NULL; - } -} - -void MainMenu(IADLXInterface* vramTuningIfc) -{ - IADLXManualVRAMTuning2* vramTuning2 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning2(), &vramTuning2); - IADLXManualVRAMTuning1* vramTuning1 = NULL; - vramTuningIfc->pVtbl->QueryInterface(vramTuningIfc, IID_IADLXManualVRAMTuning1(), &vramTuning1); - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display Memory Timing support\n"); - if (vramTuning2) - printf("\t->Press 2 to display Memory Timing level and frequency range\n"); - else if (vramTuning1) - printf("\t->Press 2 to display Memory Timing level, VRAM frequency, and the voltage global range for all states\n"); - - printf("\t->Press 3 to change current Memory Timing Level\n"); - if (vramTuning2) - printf("\t->Press 4 to change current VRAM maximum frequency value\n"); - else if (vramTuning1) - printf("\t->Press 4 to change VRAM states\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); - - // Release the ManualVRAMTuning2 interface - if (vramTuning2 != NULL) - { - vramTuning2->pVtbl->Release(vramTuning2); - vramTuning2 = NULL; - } - - // Release the ManualVRAMTuning1 interface - if (vramTuning1 != NULL) - { - vramTuning1->pVtbl->Release(vramTuning1); - vramTuning1 = NULL; - } -} - -void MenuControl(IADLXInterface* vramTuningIfc) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Get Memory Timing support - case '1': - ShowSupport(vramTuningIfc); - break; - - // Get VRAM state - case '2': - GetState(vramTuningIfc); - break; - - // Set timing level - case '3': - SetTimingLevel(vramTuningIfc); - break; - - // Set VRAM state - case '4': - SetState(vramTuningIfc); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(vramTuningIfc); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/CMakeLists.txt b/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/CMakeLists.txt deleted file mode 100644 index 1b2e40b..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SmartAccessMemory") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSmartAccessMemory.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/ReadMe.html b/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/ReadMe.html deleted file mode 100644 index 8d31ebd..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartAccess Memory support status on a GPU.
2 Display AMD SmartAccess Memory enabled status.
3 Set AMD SmartAccess Memory state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/GPUTuning/SmartAccessMemory

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.c b/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.c deleted file mode 100644 index a588a5a..0000000 --- a/vendor/adlx/Samples/C/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.c +++ /dev/null @@ -1,361 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSmartAccessMemory.c -/// \brief Demonstrates how to control AMD SmartAccess Memory when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/ISmartAccessMemory.h" -#include "SDK/Include/IGPUTuning1.h" - -static HANDLE SAMEvent = NULL; - -static adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedListener* pGPUTuningChangedListener, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) -{ - IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = NULL; - pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent, IID_IADLXGPUTuningChangedEvent1(), &pGPUTuningChangedEvent1); - adlx_bool SAMChange = pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1); - if (SAMChange) - { - adlx_bool enabled = false, completed = false; - pGPUTuningChangedEvent1->pVtbl->GetSmartAccessMemoryStatus(pGPUTuningChangedEvent1, &enabled, &completed); - pGPUTuningChangedEvent1->pVtbl->Release(pGPUTuningChangedEvent1); - pGPUTuningChangedEvent1 = NULL; - } - - SetEvent(SAMEvent); - return true; -} -static IADLXGPUTuningChangedListenerVtbl gpuTuningChangedVtable = { &OnGPUTuningChanged }; -static IADLXGPUTuningChangedListener gpuTuningChangedListener = { &gpuTuningChangedVtable }; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus); - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode); - -// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported -adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus); - -// Display AMD SmartAccess Memory support status on a GPU -void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus); - -// Display AMD SmartAccess Memory enabled status -void ShowSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus); - -// Set AMD SmartAccess Memory state -void SetSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus); - -int main () -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED (res)) - { - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - IADLXGPUTuningServices* gpuTuningService = NULL; - IADLXGPUTuningServices1* gpuTuningService1 = NULL; - IADLXGPUTuningChangedHandling* gpuTuningHandling = NULL; - IADLXGPUList* gpus = NULL; - if (sys != NULL) - { - res = sys->pVtbl->GetGPUTuningServices (sys, &gpuTuningService); - if (ADLX_SUCCEEDED(res)) - { - // Get gpuTuningService1 via gpuTuningService::QueryInterface() - res = gpuTuningService->pVtbl->QueryInterface(gpuTuningService, IID_IADLXGPUTuningServices1(), &gpuTuningService1); - if (ADLX_SUCCEEDED(res)) - { - - res = gpuTuningService1->pVtbl->GetGPUTuningChangedHandling(gpuTuningService1, &gpuTuningHandling); - if (ADLX_SUCCEEDED(res)) - { - // Add listener - SAMEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - ADLX_RESULT eventRes = gpuTuningHandling->pVtbl->AddGPUTuningEventListener(gpuTuningHandling, &gpuTuningChangedListener); - - // Menu - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(gpuTuningService1, gpus); - } - else - printf("Failed to get GPU list\n"); - - // Remove listener - if (ADLX_SUCCEEDED(eventRes)) - eventRes = gpuTuningHandling->pVtbl->RemoveGPUTuningEventListener(gpuTuningHandling, &gpuTuningChangedListener); - } - else - printf("Failed to get GPU Tuning Changed Handling\n"); - } - else - printf("Failed to get gpuTuningService1\n"); - } - else - printf("Failed to get gpuTuningService\n"); - } - else - printf("Failed to get systemService\n"); - // Free - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - if (gpuTuningHandling != NULL) - { - gpuTuningHandling->pVtbl->Release(gpuTuningHandling); - gpuTuningHandling = NULL; - } - if (gpuTuningService1 != NULL) - { - gpuTuningService1->pVtbl->Release(gpuTuningService1); - gpuTuningService1 = NULL; - } - if (gpuTuningService != NULL) - { - gpuTuningService->pVtbl->Release(gpuTuningService); - gpuTuningService = NULL; - } - } - else - return WaitAndExit ("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system ("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display AMD SmartAccess Memory supported GPUs\n"); - printf("\t->Press 2 to display AMD SmartAccess Memory enabled status\n"); - printf("\t->Press 3 to set the AMD SmartAccess Memory state\n"); - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus) -{ - int num = 0; - while ((num = getchar ()) != 'q' && num != 'Q') - { - switch (num) - { - // Display AMD SmartAccess Memory support status on a GPU - case '1': - ShowSmartAccessMemorySupport(gpuTuningService1, gpus); - break; - - // Display AMD SmartAccess Memory enabled status - case '2': - ShowSmartAccessMemoryState(gpuTuningService1, gpus); - break; - - // Set AMD SmartAccess Memory state - case '3': - SetSmartAccessMemoryState(gpuTuningService1, gpus); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu (); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system ("pause"); - return retCode; -} - -// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported -adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus) -{ - adlx_uint supportedIndex= -1; - IADLXGPU* oneGPU = NULL; - IADLXSmartAccessMemory* smartAccessMemory = NULL; - for (auto index = gpus->pVtbl->Begin(gpus); index != gpus->pVtbl->End(gpus); ++index) - { - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Get the AMD SmartAccess Memory interface - res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - ADLX_RESULT res = smartAccessMemory->pVtbl->IsSupported(smartAccessMemory, &supported); - if (ADLX_SUCCEEDED(res) && supported) - { - supportedIndex = index; - smartAccessMemory->pVtbl->Release(smartAccessMemory); - oneGPU->pVtbl->Release(oneGPU); - break; - } - } - } - if (smartAccessMemory != NULL) - { - smartAccessMemory->pVtbl->Release(smartAccessMemory); - smartAccessMemory = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } - return supportedIndex; -} - -// Display AMD SmartAccess Memory support status on a GPU -void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - printf("All GPUs doesn't support AMD SmartAccess Memory\n"); - else - printf("The %dth GPU support AMD SmartAccess Memory\n", (index + 1)); -} - -// Display AMD SmartAccess Memory enabled status -void ShowSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - printf("All GPUs doesn't support AMD SmartAccess Memory\n"); - else - { - IADLXGPU* oneGPU = NULL; - IADLXSmartAccessMemory* smartAccessMemory = NULL; - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool enabled = false; - res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("The AMD SmartAccess Memory is %s on the %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1)); - else - printf("Call IsEnabled() failed\n"); - } - else - printf("Failed to get smartAccessMemory\n"); - } - else - printf("Failed to get the GPU\n"); - - if (smartAccessMemory != NULL) - { - smartAccessMemory->pVtbl->Release(smartAccessMemory); - smartAccessMemory = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} - -// Set AMD SmartAccess Memory state -void SetSmartAccessMemoryState(IADLXGPUTuningServices1* gpuTuningService1, IADLXGPUList* gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - printf("All GPUs doesn't support AMD SmartAccess Memory\n"); - else - { - IADLXGPU* oneGPU = NULL; - IADLXSmartAccessMemory* smartAccessMemory = NULL; - ADLX_RESULT res = gpus->pVtbl->At_GPUList(gpus, index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - res = gpuTuningService1->pVtbl->GetSmartAccessMemory(gpuTuningService1, oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool enabled = false; - res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("Currently AMD SmartAccess Memory is %s on %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1)); - else - printf("Call IsEnabled() failed\n"); - res = smartAccessMemory->pVtbl->SetEnabled(smartAccessMemory, !enabled); - if (ADLX_SUCCEEDED(res)) - printf("Set AMD SmartAccess Memory to %s for %dth GPU\n", (!enabled ? "enabled" : "disabled"), (index + 1)); - else - printf("Call SetEnabled() failed\n"); - - // First event received quickly before SAM start - WaitForSingleObject(SAMEvent, 2000); - - // When receive the first event, avoid calling any other ADLX method, and if any UI application is running, we must close it to avoid crashing - // Close(application)...... - - // Second event received after SAM completed, the maximum consuming time less than 20 seconds. - WaitForSingleObject(SAMEvent, 20000); - - // Now SAM completed, we can restart the UI application, and continue to call ADLX function - // Start(application)...... - - res = smartAccessMemory->pVtbl->IsEnabled(smartAccessMemory, &enabled); - if (ADLX_SUCCEEDED(res)) - printf("After setting, AMD SmartAccess Memory is %s on %dth GPU\n", (enabled ? "enabled" : "disabled"), (index + 1)); - else - printf("Call IsEnabled() failed\n"); - } - else - printf("Failed to get smartAccessMemory\n"); - } - else - printf("Failed to get the GPU\n"); - - if (smartAccessMemory != NULL) - { - smartAccessMemory->pVtbl->Release(smartAccessMemory); - smartAccessMemory = NULL; - } - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/GPUs/CMakeLists.txt b/vendor/adlx/Samples/C/Generic/GPUs/CMakeLists.txt deleted file mode 100644 index 180173f..0000000 --- a/vendor/adlx/Samples/C/Generic/GPUs/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUs") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUs.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Generic/GPUs/ReadMe.html b/vendor/adlx/Samples/C/Generic/GPUs/ReadMe.html deleted file mode 100644 index bcaf3c8..0000000 --- a/vendor/adlx/Samples/C/Generic/GPUs/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.

-

Sample Path

-

/Samples/C/Generic/GPUs

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/GPUs/mainGPUs.c b/vendor/adlx/Samples/C/Generic/GPUs/mainGPUs.c deleted file mode 100644 index d6b9280..0000000 --- a/vendor/adlx/Samples/C/Generic/GPUs/mainGPUs.c +++ /dev/null @@ -1,284 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUs.c -/// \brief Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX. -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/ISystem1.h" -#include - -// Callback for GPU change event -adlx_bool ADLX_STD_CALL OnGPUListChanged(IADLXGPUsEventListener* pThis, IADLXGPUList* pNewGPUs) -{ - printf("GPU list change event received\n"); - if (pNewGPUs == NULL) - { - printf("GPU list does not exist\n"); - return false; - } - - printf("GPU list size: %d\n", pNewGPUs->pVtbl->Size(pNewGPUs)); - - return true; -} - -// Display GPU information -void ShowGPUInfo(IADLXGPU* gpu); - -// Show GPU hybrid graphic type -void ShowHybridGraphicType(); - -// Add event lister for GPU change -void AddGPUEventListener(); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPU* gpu); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPU list - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPU* gpu = NULL; - res = gpus->pVtbl->At_GPUList(gpus, 0, &gpu); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(gpu); - } - - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - } - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Display GPU information -void ShowGPUInfo(IADLXGPU* gpu) -{ - if (gpu != NULL) - { - printf("\n==== GPU info ====\n"); - // Show GPU info - const char* vendorId = NULL; - ADLX_RESULT ret = gpu->pVtbl->VendorId(gpu, &vendorId); - printf("VendorId: %s, return code is: %d(0 means success)\n", vendorId, ret); - - ADLX_ASIC_FAMILY_TYPE asicFamilyType = ASIC_UNDEFINED; - ret = gpu->pVtbl->ASICFamilyType(gpu, &asicFamilyType); - printf("ASICFamilyType: %d, return code is: %d(0 means success)\n", asicFamilyType, ret); - - ADLX_GPU_TYPE gpuType = GPUTYPE_UNDEFINED; - ret = gpu->pVtbl->Type(gpu, &gpuType); - printf("Type: %d, return code is: %d(0 means success)\n", gpuType, ret); - - adlx_bool isExternal = false; - ret = gpu->pVtbl->IsExternal(gpu, &isExternal); - printf("IsExternal: %d, return code is: %d(0 means success)\n", isExternal, ret); - - const char* gpuName = NULL; - ret = gpu->pVtbl->Name(gpu, &gpuName); - printf("Name: %s, return code is: %d(0 means success)\n", gpuName, ret); - - const char* driverPath = NULL; - ret = gpu->pVtbl->DriverPath(gpu, &driverPath); - printf("DriverPath: %s, return code is: %d(0 means success)\n", driverPath, ret); - - const char* pnpString = NULL; - ret = gpu->pVtbl->PNPString(gpu, &pnpString); - printf("PNPString: %s, return code is: %d(0 means success)\n", pnpString, ret); - - adlx_bool hasDesktops = false; - ret = gpu->pVtbl->HasDesktops(gpu, &hasDesktops); - printf("HasDesktops: %d, return code is: %d(0 means success)\n", hasDesktops, ret); - - adlx_uint totalVRAM = 0; - ret = gpu->pVtbl->TotalVRAM(gpu, &totalVRAM); - printf("TotalVRAM: %d MB, return code is: %d(0 means success)\n", totalVRAM, ret); - - adlx_int id; - ret = gpu->pVtbl->UniqueId(gpu, &id); - printf("UniqueId: %d, return code is: %d(0 means success)\n", id, ret); - - IADLXGPU1* gpu1 = NULL; - ret = gpu->pVtbl->QueryInterface(gpu, IID_IADLXGPU1(), &gpu1); - if (ADLX_SUCCEEDED(ret)) - { - const char* productName = NULL; - ret = gpu1->pVtbl->ProductName(gpu1, &productName); - printf("ProductName: %s\n", productName); - - ADLX_MGPU_MODE mode = MGPU_NONE; - ret = gpu1->pVtbl->MultiGPUMode(gpu1, &mode); - printf("Multi-GPU Mode: "); - if (mode == MGPU_PRIMARY) - printf("GPU is the primary GPU\n"); - else if (mode == MGPU_SECONDARY) - printf("GPU is the secondary GPU\n"); - else - printf("GPU is not in Multi-GPU\n"); - - ADLX_PCI_BUS_TYPE busType = UNDEFINED; - ret = gpu1->pVtbl->PCIBusType(gpu1, &busType); - printf("PCIBusType: %d\n", busType); - - adlx_uint laneWidth = 0; - ret = gpu1->pVtbl->PCIBusLaneWidth(gpu1, &laneWidth); - printf("PCIBusLaneWidth: %d\n", laneWidth); - - gpu1->pVtbl->Release(gpu1); - gpu1 = NULL; - } - - gpu->pVtbl->Release(gpu); - gpu = NULL; - } -} - -// Display GPU hybrid graphic type -void ShowHybridGraphicType() -{ - ADLX_HG_TYPE hgType = NONE; - - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - ADLX_RESULT res = sys->pVtbl->GetHybridGraphicsType(sys, &hgType); - if (ADLX_SUCCEEDED(res)) - { - switch (hgType) - { - case NONE: - printf("The GPU hybrid type is: NONE\n"); - break; - case AMD: - printf("The GPU hybrid type is: AMD\n"); - break; - case OTHER: - printf("The GPU hybrid type is: OTHER\n"); - break; - } - } -} - -// Add GPU change event listener -void AddGPUEventListener() -{ - IADLXGPUsEventListenerVtbl GPUsEventListenerVtbl = {&OnGPUListChanged}; - IADLXGPUsEventListener gpuListener = {&GPUsEventListenerVtbl}; - - IADLXGPUsChangedHandling* gpusChangedHandling = NULL; - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - ADLX_RESULT res = sys->pVtbl->GetGPUsChangedHandling(sys, &gpusChangedHandling); - if (ADLX_SUCCEEDED(res) && gpusChangedHandling) - { - res = gpusChangedHandling->pVtbl->AddGPUsListEventListener(gpusChangedHandling, &gpuListener); - if (ADLX_SUCCEEDED(res)) - { - printf("Addition of GPU event listener successful\n"); - } - - // Enable or disable a GPU device using Windows Device Manager - Sleep(15 * 1000); - - res = gpusChangedHandling->pVtbl->RemoveGPUsListEventListener(gpusChangedHandling, &gpuListener); - if (ADLX_SUCCEEDED(res)) - { - printf("Removal of GPU event listener successful\n"); - } - - gpusChangedHandling->pVtbl->Release(gpusChangedHandling); - } -} - -// Main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display GPU information\n"); - - printf("\t->Press 2 to add GPU event listener\n"); - - printf("\t->Press 3 to display GPU hybrid graphic type\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXGPU* gpu) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display GPU information - case '1': - ShowGPUInfo(gpu); - break; - // Add GPU change event listener - case '2': - AddGPUEventListener(); - break; - // Display GPU hybrid graphic type - case '3': - ShowHybridGraphicType(); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/InvalidObject/CMakeLists.txt b/vendor/adlx/Samples/C/Generic/InvalidObject/CMakeLists.txt deleted file mode 100644 index 917cbff..0000000 --- a/vendor/adlx/Samples/C/Generic/InvalidObject/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "InvalidObject") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainInvalidObject.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Generic/InvalidObject/ReadMe.html b/vendor/adlx/Samples/C/Generic/InvalidObject/ReadMe.html deleted file mode 100644 index d803549..0000000 --- a/vendor/adlx/Samples/C/Generic/InvalidObject/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to handle invalid objects when programming with ADLX.

-

Sample Path

-

/Samples/C/Generic/InvalidObject

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/InvalidObject/mainInvalidObject.c b/vendor/adlx/Samples/C/Generic/InvalidObject/mainInvalidObject.c deleted file mode 100644 index b2960a3..0000000 --- a/vendor/adlx/Samples/C/Generic/InvalidObject/mainInvalidObject.c +++ /dev/null @@ -1,109 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainInvalidObject.c -/// \brief Demonstrates how to handle invalid objects when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get the display list and iterate through the list - IADLXDisplayList* displayList = NULL; - res = displayService->pVtbl->GetDisplays(displayService, &displayList); - if (ADLX_SUCCEEDED(res)) - { - adlx_uint it = displayList->pVtbl->Begin(displayList); - IADLXDisplay* display = NULL; - for (; it != displayList->pVtbl->End(displayList); it++) - { - res = displayList->pVtbl->At_DisplayList(displayList, it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Save the first display - break; - } - } - - // Get the display name and prompt to unplug the display - const char* dispName; - res = display->pVtbl->Name(display, &dispName); - printf("Within 15 seconds, unplug the display %s. \n", dispName); - - // Block for 15s - Sleep(15 * 1000); - - // After 15 seconds, reading the display name again. If the display was unplugged, the method will fail and return ADLX_INVALID_OBJECT. - res = display->pVtbl->Name(display, &dispName); - printf ("Get display name return code is: %d (%d means that the method was called into an invalid object)\n", res, ADLX_INVALID_OBJECT); - if (ADLX_INVALID_OBJECT == res) - { - //To do: Handle the invalid display - printf ("The display is invalid.\n"); - } - //Release the display interface - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - } - - // Release the displayList interface - if (NULL != displayList) - { - displayList->pVtbl->Release(displayList); - displayList = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/Log/CMakeLists.txt b/vendor/adlx/Samples/C/Generic/Log/CMakeLists.txt deleted file mode 100644 index b04e155..0000000 --- a/vendor/adlx/Samples/C/Generic/Log/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Log") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainLog.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Generic/Log/ReadMe.html b/vendor/adlx/Samples/C/Generic/Log/ReadMe.html deleted file mode 100644 index 8ab0519..0000000 --- a/vendor/adlx/Samples/C/Generic/Log/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to enable log and get log data when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Enable log with local file, file [./ADLX.log] is created.
2 Enable log with DebugView.
3 Eenable log with app handle.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/Generic/Log

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/Log/mainLog.c b/vendor/adlx/Samples/C/Generic/Log/mainLog.c deleted file mode 100644 index f7ee5b6..0000000 --- a/vendor/adlx/Samples/C/Generic/Log/mainLog.c +++ /dev/null @@ -1,172 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainLog.c -/// \brief Demonstrates how to enable log and get log data when programming with ADLX. -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" - -// CallBack to handle ADLX log -ADLX_RESULT ADLX_STD_CALL WriteLog(IADLXLog* pThis, const wchar_t* msg) -{ - wprintf(L"%s", msg); - return ADLX_OK; -} - -// Application's log struct demostration, application can capture ADLX log here -typedef struct AppHandlLog -{ - ADLX_RESULT(ADLX_STD_CALL* WriteLog) - (IADLXLog* pThis, const wchar_t* msg); -} AppHandlLog; - -// Local file, ADLX log data is saved to file -void UseLocalFile() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Log destination, severity, logfile - ADLX_LOG_DESTINATION mode = LOCALFILE; - ADLX_LOG_SEVERITY severity = LDEBUG; - wchar_t logfile[] = L"./ADLX.log"; - - // Enable log - ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, NULL, logfile); - printf("Enabled log result: %d (0 means success)\n", res); -} - -// Configure ADLX log to send errors, warnings and debug information messages to the DebugView -void UseDebugView() -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Log destination, severity - ADLX_LOG_DESTINATION mode = DBGVIEW; - ADLX_LOG_SEVERITY severity = LDEBUG; - - // Enable log - ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, NULL, NULL); - printf("Enabled log result : %d (0 means Success)\n", res); -} - -// Application handle log, application's callback will handle the ADLX log -void UseAppHandlLog(AppHandlLog** appHandlLog) -{ - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Log destination, severity - ADLX_LOG_DESTINATION mode = APPLICATION; - ADLX_LOG_SEVERITY severity = LDEBUG; - - // Enable log - ADLX_RESULT res = sys->pVtbl->EnableLog(sys, mode, severity, (IADLXLog*)appHandlLog, NULL); - printf("Enabled log result : %d (0 means Success)\n", res); -} - -// Main menu -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - printf("\t->Press 1 to enable log with local file, file [./ADLX.log] will be created.\n"); - printf("\t->Press 2 to enable log with DebugView\n"); - printf("\t->Press 3 to enable log with app handle\n"); -} - -// Menu action control -void MenuControl(AppHandlLog** appHandlLog) -{ - int num = 0; - num = getchar(); - switch (num) - { - // Local file - case '1': - UseLocalFile(); - break; - - // DebugView - case '2': - UseDebugView(); - break; - - // App handle - case '3': - UseAppHandlLog(appHandlLog); - break; - - default: - printf("Invalid input\n"); - break; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // App create object to handle ADLX log - AppHandlLog* appHandlLog = (AppHandlLog*)malloc(sizeof(AppHandlLog)); - appHandlLog->WriteLog = &WriteLog; - - // Menu - MainMenu(); - MenuControl(&appHandlLog); - - // Try get log by using some interfaces - // Get display service and display numbers - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - adlx_uint displayNum; - displayService->pVtbl->GetNumberOfDisplays(displayService, &displayNum); - } - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // appHandlLog may be used throughout the life cycle of ADLX, - // So destroy appHandlLog after destroying ADLX - free(appHandlLog); - appHandlLog = NULL; - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Pause for user see the print out - system("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/WorkWithADL/CMakeLists.txt b/vendor/adlx/Samples/C/Generic/WorkWithADL/CMakeLists.txt deleted file mode 100644 index 1b15e67..0000000 --- a/vendor/adlx/Samples/C/Generic/WorkWithADL/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "WorkWithADL") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainWorkWithADL.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/Generic/WorkWithADL/ReadMe.html b/vendor/adlx/Samples/C/Generic/WorkWithADL/ReadMe.html deleted file mode 100644 index b0e2b0b..0000000 --- a/vendor/adlx/Samples/C/Generic/WorkWithADL/ReadMe.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -

Demonstartes how to work with ADLX along ADL when programming with ADLX.

- -

Sample Path

-

/Samples/C/Generic/WorkWithADL

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/Generic/WorkWithADL/mainWorkWithADL.c b/vendor/adlx/Samples/C/Generic/WorkWithADL/mainWorkWithADL.c deleted file mode 100644 index e6fa081..0000000 --- a/vendor/adlx/Samples/C/Generic/WorkWithADL/mainWorkWithADL.c +++ /dev/null @@ -1,153 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainWorkWithADL.c -/// \brief Demonstartes how to work with ADLX along ADL when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" - -// ADL dll name -#ifndef _WIN64 -#define ADL_DLL_Name L"atiadlxy.dll" -#else // WIN32 -#define ADL_DLL_Name L"atiadlxx.dll" -#endif - -typedef void*(__stdcall* ADL_MALLOC_CALL)(int); -typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL, int iEnumConnectedAdapter, void** context, int); -typedef int (*ADL_MAIN_CONTROL_DESTROY)(void*); - -// Memory allocation callback for ADL -// iSize_ - number of bytes to be allocated -static void* __stdcall ADL_Client_Main_Memory_Alloc(int iSize_) -{ - void* lpBuffer = malloc(iSize_); - return lpBuffer; -} - -// Callback ADL for memory release -// lpBuffer_ - the memory buffer to dealocate and make NULL -static void __stdcall ADL_Main_Memory_Free_Client(void** lpBuffer_) -{ - if (NULL != lpBuffer_ && NULL != *lpBuffer_) - { - free(*lpBuffer_); - *lpBuffer_ = NULL; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - //Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("Pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Define ADL context and ADL dll handle - void* adlContext = NULL; - HINSTANCE adlDll = NULL; - - // Initialize ADL - adlDll = LoadLibraryW(ADL_DLL_Name); - if (NULL == adlDll) - return WaitAndExit("ADL initialization failed", 0); - ADL_MAIN_CONTROL_CREATE adlCreate = (ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll, "ADL2_Main_ControlX2_Create"); - if (adlCreate) - adlCreate(ADL_Client_Main_Memory_Alloc, 1, &adlContext, 1); - printf("ADL initialized successfully\n"); - - // Initialize ADLX - res = ADLXHelper_InitializeWithCallerAdl(adlContext, ADL_Main_Memory_Free_Client); - if (ADLX_SUCCEEDED(res)) - { - printf("ADLX initialized successfully\n"); - } - else - { - printf("ADLX initialization failed\n"); - } - - const char* adlxVersion = ADLXHelper_QueryVersion(); - printf("ADLX version: %s\n", adlxVersion); - adlx_uint64 adlxFullVersion = ADLXHelper_QueryFullVersion(); - printf("ADLX full version: %lld\n", adlxFullVersion); - - // Demonstrates mapping between ADL and ADLX data - IADLXSystem* systemService = ADLXHelper_GetSystemServices(); - IADLMapping* adlMapping = ADLXHelper_GetAdlMapping(); - - if (systemService && adlMapping) - { - adlx_uint totalRAM = 0; - systemService->pVtbl->TotalSystemRAM(systemService, &totalRAM); - printf("Total System RAM: %d MB\n", totalRAM); - // Map ADLX to ADL - IADLXGPUList* gpus = NULL; - systemService->pVtbl->GetGPUs(systemService, &gpus); - IADLXGPU* gpu = NULL; - adlx_uint it = 0; - gpus->pVtbl->At_GPUList(gpus, it, &gpu); - const char* name = NULL; - gpu->pVtbl->Name(gpu, &name); - adlx_int adapterIndex; - adlMapping->pVtbl->AdlAdapterIndexFromADLXGPU(adlMapping, gpu, &adapterIndex); - printf("ADL AdapterIndex from ADLXGPU: %s, adapterIndex is : %d\n", name, adapterIndex); - adlx_int bus = 0; - adlx_int device = 0; - adlx_int function = 0; - res = adlMapping->pVtbl->BdfFromADLXGPU (adlMapping, gpu, &bus, &device, &function); - printf("Get BDF from ADLXGPU bus: %d, device: %d, function: %d\n", bus, device, function); - - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - - // Map ADL to ADLX, get adapterIndex via ADL - IADLXGPU* gpuInfo = NULL; - adlMapping->pVtbl->GetADLXGPUFromAdlAdapterIndex(adlMapping, adapterIndex, &gpuInfo); - gpuInfo->pVtbl->Name(gpuInfo, &name); - printf(" ADLXGPU from adapterIndex: %d, the GPU name is : %s\n", adapterIndex, name); - - if (gpuInfo != NULL) - { - gpuInfo->pVtbl->Release(gpuInfo); - gpuInfo = NULL; - } - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Destroy ADL - ADL_MAIN_CONTROL_DESTROY adlDestroy = (ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll, "ADL2_Main_Control_Destroy"); - if (NULL != adlDestroy) - adlDestroy(adlContext); - FreeLibrary(adlDll); - adlDll = NULL; - adlContext = NULL; - printf("Destroy ADL\n"); - - // Pause to see the print out - system("Pause"); - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/I2C/I2C/CMakeLists.txt b/vendor/adlx/Samples/C/I2C/I2C/CMakeLists.txt deleted file mode 100644 index 6a8ae75..0000000 --- a/vendor/adlx/Samples/C/I2C/I2C/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "I2C") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainI2C.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/I2C/I2C/ReadMe.html b/vendor/adlx/Samples/C/I2C/I2C/ReadMe.html deleted file mode 100644 index a01a922..0000000 --- a/vendor/adlx/Samples/C/I2C/I2C/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to read and write data with I2C when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display version.
2 Read.
3 Repeated read.
4 Write.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/C/I2C/I2C

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/I2C/I2C/mainI2C.c b/vendor/adlx/Samples/C/I2C/I2C/mainI2C.c deleted file mode 100644 index 2db8c52..0000000 --- a/vendor/adlx/Samples/C/I2C/I2C/mainI2C.c +++ /dev/null @@ -1,201 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainI2C.c -/// \brief Demonstrates how to read and write data with I2C when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/II2C.h" -#define DATA_SIZE 2 - -// Display version -void ShowVersion(IADLXI2C* i2c); - -// Read -void Read(IADLXI2C* i2c); - -// Repeated read -void RepeatedRead(IADLXI2C* i2c); - -// Write -void Write(IADLXI2C* i2c); - -// Capability -void Capability(IADLXI2C* i2c); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(IADLXI2C* i2c); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get GPU list - IADLXGPUList* gpus = NULL; - res = sys->pVtbl->GetGPUs(sys, &gpus); - - // Get GPU interface - IADLXGPU* gpu = NULL; - adlx_uint index = 0; - res = gpus->pVtbl->At_GPUList(gpus, index, &gpu); - - // Get I2C interface - IADLXI2C* i2c = NULL; - res = sys->pVtbl->GetI2C(sys, gpu, &i2c); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(i2c); - } - - // Release the I2C interface - if (i2c != NULL) - { - i2c->pVtbl->Release(i2c); - i2c = NULL; - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - - // Release the GPUlist interface - if (NULL != gpus) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowVersion(IADLXI2C* i2c) -{ - adlx_int major; - adlx_int minor; - ADLX_RESULT res = i2c->pVtbl->Version(i2c, &major, &minor); - printf("\tI2C version, major: %d, minor: %d\n", major, minor); - printf("\tres is: %d\n", res); -} - -void Read(IADLXI2C* i2c) -{ - // Specific hardware requirements - adlx_byte data[DATA_SIZE] = { 0 }; - ADLX_RESULT res = i2c->pVtbl->Read(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - printf("\tI2C read info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30"); - printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res); -} - -void RepeatedRead(IADLXI2C* i2c) -{ - // Specific hardware requirements - adlx_byte data[DATA_SIZE] = { 0 }; - ADLX_RESULT res = i2c->pVtbl->RepeatedStartRead(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - printf("\tI2C read info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30"); - printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res); -} - -void Write(IADLXI2C* i2c) -{ - // Specific hardware requirements - adlx_byte data[DATA_SIZE] = { 0 }; - data[0] = 176; - ADLX_RESULT res = i2c->pVtbl->Write(i2c, I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - printf("\tI2C write info:\n\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30"); - printf("\n\t\tdataSize: %d\n\t\tdata: %d\n\tres is: %d\n", DATA_SIZE, (int)data[0], res); -} - -void Capability(IADLXI2C* i2c) -{ - adlx_bool isSupported = false; - ADLX_RESULT res = i2c->pVtbl->IsSupported(i2c, I2C_LINE_OEM2, 0x93, &isSupported); - printf("\tI2C support info:\n\t\tline: I2C_LINE_OEM2\n\t\taddress: 0x93\n\t\tisSupported: %d\n", isSupported); - printf("\tres is: %d\n", res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - - printf("\t->Press 1 to display version\n"); - printf("\t->Press 2 to read\n"); - printf("\t->Press 3 to repeated read\n"); - printf("\t->Press 4 to write\n"); - printf("\t->Press 5 to display capability\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLXI2C* i2c) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display version - case '1': - ShowVersion(i2c); - break; - - // Read - case '2': - Read(i2c); - break; - - // Repeated read - case '3': - RepeatedRead(i2c); - break; - - // Write - case '4': - Write(i2c); - break; - - // Capability - case '5': - Capability(i2c); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt deleted file mode 100644 index 6f7e743..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfAllMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfAllMetrics.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/ReadMe.html b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/ReadMe.html deleted file mode 100644 index 89ed01d..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control all metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current all metrics.
2 Show historical all metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfAllMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.c b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.c deleted file mode 100644 index 712c05b..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.c +++ /dev/null @@ -1,645 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfAllMetrics.c -/// \brief Demonstrates how to control all metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" - - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Display all current metrics -void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); - -// Display all historical metrics -void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); - -// ASCII ° -static const signed char g_degree = 248; - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - IADLXPerformanceMonitoringServices *perfMonitoringService = NULL; - res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringService); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUList* gpus = NULL; - // Get GPU list - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_SUCCEEDED(res)) - { - // Use initial GPU - IADLXGPU* oneGPU = NULL; - res = gpus->pVtbl->At_GPUList(gpus, gpus->pVtbl->Begin(gpus), &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringService, oneGPU); - } - else - printf("\tGet particular GPU failed\n"); - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } - else - printf("\tGet GPU list failed\n"); - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - printf("\tGet performance monitoring services failed\n"); - if (perfMonitoringService != NULL) - { - perfMonitoringService->pVtbl->Release(perfMonitoringService); - perfMonitoringService = NULL; - } - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose one of the following options\n"); - - printf("\t->Press 1 to display all current metrics\n"); - printf("\t->Press 2 to display all historical metrics\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display all current metrics - case '1': - ShowCurrentAllMetrics(perfMonitoringServices, oneGPU); - break; - - // Display all historical metrics - case '2': - ShowHistoricalAllMetrics(perfMonitoringServices, oneGPU); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -// Display the system time stamp (in ms) -void GetTimeStampBySystem(IADLXSystemMetrics *systemMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = systemMetrics->pVtbl->TimeStamp(systemMetrics, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The system timp stamp is: %lldms\n", timeStamp); -} - -// Display CPU usage(in %) -void ShowCPUUsage(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display CPU usage support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("CPU usage support status: %d\n", supported); - if (supported) - { - adlx_double cpuUsage = 0; - res = systemMetrics->pVtbl->CPUUsage(systemMetrics, &cpuUsage); - if (ADLX_SUCCEEDED(res)) - printf("The CPU usage is: %f%%\n", cpuUsage); - } - } -} - -// Display system RAM (in MB) -void ShowSystemRAM(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display system RAM usage support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("System RAM usage support status: %d\n", supported); - if (supported) - { - adlx_int systemRAM = 0; - res = systemMetrics->pVtbl->SystemRAM(systemMetrics, &systemRAM); - if (ADLX_SUCCEEDED(res)) - printf("The system RAM is: %dMB\n", systemRAM); - } - } -} - -// Display SmartShift -void ShowSmartShift(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display SmartShift support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("SmartShift support status: %d\n", supported); - if (supported) - { - adlx_int smartShift; - res = systemMetrics->pVtbl->SmartShift(systemMetrics, &smartShift); - if (ADLX_SUCCEEDED(res)) - printf("The smart shift is: %d\n", smartShift); - } - } -} - -// Display the GPU metrics time stamp (in ms) -void GetTimeStampByGPU(IADLXGPUMetrics *gpuMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = gpuMetrics->pVtbl->TimeStamp(gpuMetrics, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The GPU timp stamp is: %lldms\n", timeStamp); -} - -// Display GPU usage (in %) -void ShowGPUUsage(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU usage support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU usage support status: %d\n", supported); - if (supported) - { - adlx_double usage = 0; - res = gpuMetrics->pVtbl->GPUUsage(gpuMetrics, &usage); - if (ADLX_SUCCEEDED(res)) - printf("The GPU usage is: %f%%\n", usage); - } - } -} - -// Display GPU clock speed (in MHz) -void ShowGPUClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU clock speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU system clock support status: %d\n", supported); - if (supported) - { - adlx_int systemClock = 0; - res = gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics, &systemClock); - if (ADLX_SUCCEEDED(res)) - printf("The GPU system clock is: %dMHz\n", systemClock); - } - } -} - -// Display GPU VRAM clock speed (in MHz) -void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU VRAM clock speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU memory clock support status: %d\n", supported); - if (supported) - { - adlx_int memoryClock = 0; - res = gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics, &memoryClock); - if (ADLX_SUCCEEDED(res)) - printf("The GPU memory clock is: %dMHz\n", memoryClock); - } - } -} - -// Display GPU temperature(in °C) -void ShowGPUTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU temperature support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU temperture support status: %d\n", supported); - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->pVtbl->GPUTemperature(gpuMetrics, &temperature); - if (ADLX_SUCCEEDED(res)) - printf("The GPU temperature is: %f%cC\n", temperature, g_degree); - } - } -} - -// Display GPU hotspot temperature(in °C) -void ShowGPUHotspotTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU hotspot temperature support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU hotspot temperature support status: %d\n", supported); - if (supported) - { - adlx_double hotspotTemperature = 0; - res = gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics, &hotspotTemperature); - if (ADLX_SUCCEEDED(res)) - printf("The GPU hotspot temperature is: %f%cC\n", hotspotTemperature, g_degree); - } - } -} - -// Display GPU power (in W) -void ShowGPUPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU power support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU power support status: %d\n", supported); - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->pVtbl->GPUPower(gpuMetrics, &power); - if (ADLX_SUCCEEDED(res)) - printf("The GPU power is: %fW\n", power); - } - } -} - -// Display GPU fan speed (in RPM) -void ShowGPUFanSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU fan speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU fan speed support status: %d\n", supported); - if (supported) - { - adlx_int fanSpeed = 0; - res = gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics, &fanSpeed); - if (ADLX_SUCCEEDED(res)) - printf("The GPU fan speed is: %dRPM\n", fanSpeed); - } - } -} - -// Display GPU VRAM (in MB) -void ShowGPUVRAM(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU VRAM support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU VRAM support status: %d\n", supported); - if (supported) - { - adlx_int VRAM = 0; - res = gpuMetrics->pVtbl->GPUVRAM(gpuMetrics, &VRAM); - if (ADLX_SUCCEEDED(res)) - printf("The GPU VRAM is: %dMB\n", VRAM); - } - } -} - -// Display GPU Voltage (in mV) -void ShowGPUVoltage(IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU voltage support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU voltage support status: %d\n", supported); - if (supported) - { - adlx_int Voltage = 0; - res = gpuMetrics->pVtbl->GPUVoltage(gpuMetrics, &Voltage); - if (ADLX_SUCCEEDED(res)) - printf("The GPU Voltage is: %dmV\n", Voltage); - } - } -} - -// Display all current metrics -void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - // Get system metrics support - IADLXSystemMetricsSupport *systemMetricsSupport = NULL; - ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport); - // Get GPU metrics support - IADLXGPUMetricsSupport *gpuMetricsSupport = NULL; - res2 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - - // Accumulate and display current metrics for each of 10 loops - IADLXAllMetrics *allMetrics = NULL; - IADLXSystemMetrics *systemMetrics = NULL; - IADLXGPUMetrics *gpuMetrics = NULL; - IADLXFPS *oneFPS = NULL; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get all current metrics - ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetCurrentAllMetrics(perfMonitoringServices, &allMetrics); - if (ADLX_SUCCEEDED(res1)) - { - printf("The current all metrics: \n"); - // Get current system metrics - res1 = allMetrics->pVtbl->GetSystemMetrics(allMetrics, &systemMetrics); - // Display timestamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - GetTimeStampBySystem(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - } - // Free - if (systemMetrics != NULL) - { - systemMetrics->pVtbl->Release(systemMetrics); - systemMetrics = NULL; - } - // Get current GPU metrics - res1 = allMetrics->pVtbl->GetGPUMetrics(allMetrics, oneGPU, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - GetTimeStampByGPU(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - } - // Free - if (gpuMetrics != NULL) - { - gpuMetrics->pVtbl->Release(gpuMetrics); - gpuMetrics = NULL; - } - // Get current FPS metrics - res1 = allMetrics->pVtbl->GetFPS(allMetrics, &oneFPS); - if (ADLX_SUCCEEDED(res1)) - { - adlx_int64 timeStamp = 0; - res1 = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp); - if (ADLX_SUCCEEDED(res1)) - printf("The current metric time stamp is: %lldms\n", timeStamp); - adlx_int fpsData = 0; - res1 = oneFPS->pVtbl->FPS(oneFPS, &fpsData); - if (ADLX_SUCCEEDED(res1)) - printf("The current metric FPS is: %d\n", fpsData); - else if (res1 == ADLX_NOT_SUPPORTED) - printf("FPS not supported\n"); - } - // Free - if (oneFPS != NULL) - { - oneFPS->pVtbl->Release(oneFPS); - oneFPS = NULL; - } - } - Sleep(1000); - // Free - if (allMetrics != NULL) - { - allMetrics->pVtbl->Release(allMetrics); - allMetrics = NULL; - } - } - // Free - if (systemMetricsSupport != NULL) - { - systemMetricsSupport->pVtbl->Release(systemMetricsSupport); - systemMetricsSupport = NULL; - } - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } - - MainMenu(); -} - -// Show all historical metrics -void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Clear historical data failed\n"); - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Start tracking performance metrics failed\n"); - return; - } - - // Wait for 10 seconds to accumulate metrics - printf("Wait for 10 seconds to accumulate metrics...\n"); - Sleep(10000); - - // Get all metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter) - IADLXAllMetricsList *allMetricsList = NULL; - res = perfMonitoringServices->pVtbl->GetAllMetricsHistory(perfMonitoringServices, 10000, 0, &allMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get system metrics support - IADLXSystemMetricsSupport *systemMetricsSupport = NULL; - ADLX_RESULT systemRes = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport); - - // Get GPU metrics support - IADLXGPUMetricsSupport *gpuMetricsSupport = NULL; - ADLX_RESULT gpuRes = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - - // Display all the metrics in the list - IADLXAllMetrics *allMetrics = NULL; - IADLXSystemMetrics *systemMetrics = NULL; - IADLXGPUMetrics *gpuMetrics = NULL; - IADLXFPS *oneFPS = NULL; - for (int i = allMetricsList->pVtbl->Begin(allMetricsList); i != allMetricsList->pVtbl->End(allMetricsList); ++i) - { - printf("********** historical system metrics %d: **********\n", i + 1); - res = allMetricsList->pVtbl->At_AllMetricsList(allMetricsList, i, &allMetrics); - if (ADLX_SUCCEEDED(res)) - { - res = allMetrics->pVtbl->GetSystemMetrics(allMetrics, &systemMetrics); - // Display first system metrics time stamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(systemRes) && ADLX_SUCCEEDED(res)) - { - GetTimeStampBySystem(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - } - // Free - if (systemMetrics != NULL) - { - systemMetrics->pVtbl->Release(systemMetrics); - systemMetrics = NULL; - } - res = allMetrics->pVtbl->GetGPUMetrics(allMetrics, oneGPU, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(gpuRes) && ADLX_SUCCEEDED(res)) - { - GetTimeStampByGPU(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - } - // Free - if (gpuMetrics != NULL) - { - gpuMetrics->pVtbl->Release(gpuMetrics); - gpuMetrics = NULL; - } - res = allMetrics->pVtbl->GetFPS(allMetrics, &oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The time stamp is: %lldms\n", timeStamp); - adlx_int fpsData = 0; - res = oneFPS->pVtbl->FPS(oneFPS, &fpsData); - if (ADLX_SUCCEEDED(res)) - printf("The FPS is: %d\n", fpsData); - else if (res == ADLX_NOT_SUPPORTED) - printf("Don't support FPS\n"); - } - // Free - if (oneFPS != NULL) - { - oneFPS->pVtbl->Release(oneFPS); - oneFPS = NULL; - } - printf("\n"); - } - // Free - if (allMetrics != NULL) - { - allMetrics->pVtbl->Release(allMetrics); - allMetrics = NULL; - } - } - // Free - if (systemMetricsSupport != NULL) - { - systemMetricsSupport->pVtbl->Release(systemMetricsSupport); - systemMetricsSupport = NULL; - } - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } - } - // Free - if (allMetricsList != NULL) - { - allMetricsList->pVtbl->Release(allMetricsList); - allMetricsList = NULL; - } - - // Stop tracking performance metrics - res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Stop tracking performance metrics failed\n"); - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt deleted file mode 100644 index dd6a668..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfFPSMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfFPSMetrics.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html deleted file mode 100644 index 4688f51..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control FPS metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current FPS metrics.
2 Show historical FPS metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfFPSMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.c b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.c deleted file mode 100644 index 2bdb7eb..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.c +++ /dev/null @@ -1,232 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainFPSMetrics.c -/// \brief Demonstrates how to control FPS metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" - - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Display current FPS metrics -void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices); - -// Display historical FPS metrics -void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - IADLXPerformanceMonitoringServices *perfMonitoringServices = NULL; - res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringServices); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringServices); - } - else - printf("\tGet Performance Monitoring services failed\n"); - if (perfMonitoringServices != NULL) - { - perfMonitoringServices->pVtbl->Release(perfMonitoringServices); - perfMonitoringServices = NULL; - } - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display current FPS metrics\n"); - printf("\t->Press 2 to display historical FPS metrics\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display menu options\n"); -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices* perfMonitoringServices) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display current metrics - case '1': - ShowCurrentFPSMetrics(perfMonitoringServices); - break; - - // Display historical metrics - case '2': - ShowHistoricalFPSMetrics(perfMonitoringServices); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -// Display current FPS metrics -void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServices* perfMonitoringServices) -{ - // Accumulate and display current metrics for each of the 10 loops - IADLXFPS* oneFPS = NULL; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current FPS metrics - ADLX_RESULT res = perfMonitoringServices->pVtbl->GetCurrentFPS(perfMonitoringServices, &oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The current metric time stamp is: %lldms\n", timeStamp); - adlx_int fpsData = 0; - res = oneFPS->pVtbl->FPS(oneFPS, &fpsData); - if (ADLX_SUCCEEDED(res)) - printf("The current metric FPS is: %d\n", fpsData); - else if (res == ADLX_NOT_SUPPORTED) - printf("FPS not supported\n"); - } - Sleep(1000); - if (oneFPS != NULL) - { - oneFPS->pVtbl->Release(oneFPS); - oneFPS = NULL; - } - } - - MainMenu(); -} - -// Display historical FPS metrics -void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Clear historical data failed\n"); - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to start tracking performance metrics\n"); - return; - } - - // Wait 10 seconds to accumulate metrics - printf("Wait for 10 seconds to accumulate FPS...\n"); - Sleep(10000); - - // Get FPS metrics history from 10 seconds ago (10000 ms: the second parameter) to the present time (0 ms: the third parameter) - IADLXFPSList* fpsList = NULL; - res = perfMonitoringServices->pVtbl->GetFPSHistory(perfMonitoringServices, 10000, 0, &fpsList); - if (ADLX_SUCCEEDED(res)) - { - // Display all the listed FPS metrics - IADLXFPS* oneFPS = NULL; - for (int i = fpsList->pVtbl->Begin(fpsList); i != fpsList->pVtbl->End(fpsList); ++i) - { - printf("********** historical FPS metrics %d: **********\n", i + 1); - res = fpsList->pVtbl->At_FPSList(fpsList, i, &oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->pVtbl->TimeStamp(oneFPS, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The time stamp is: %lldms\n", timeStamp); - adlx_int fpsData = 0; - res = oneFPS->pVtbl->FPS(oneFPS, &fpsData); - if (ADLX_SUCCEEDED(res)) - printf("The FPS is: %d\n", fpsData); - else if (res == ADLX_NOT_SUPPORTED) - printf("FPS not supported\n"); - } - printf("\n"); - - // Free - if (oneFPS != NULL) - { - oneFPS->pVtbl->Release(oneFPS); - oneFPS = NULL; - } - } - } - - // Free - if (fpsList != NULL) - { - fpsList->pVtbl->Release(fpsList); - fpsList = NULL; - } - - // Stop tracking performance metrics - res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to stop tracking performance metrics\n"); - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt deleted file mode 100644 index 90b4414..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfGPUMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfGPUMetrics.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html deleted file mode 100644 index 003ec19..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to control GPU metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Show GPU metrics range.
2 Show current GPU metrics.
3 Show current GPU metrics from historical data.
4 Show historical GPU metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfGPUMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.c b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.c deleted file mode 100644 index 15cc3a0..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.c +++ /dev/null @@ -1,707 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfGPUMetrics.c -/// \brief Demonstrates how to control GPU metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Show GPU metrics range -void ShowGPUMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Show current GPU metrics -void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); -void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU); - -// Show historical GPU metrics -void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU); - -// ASCII ° -static const signed char g_degree = 248; - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - IADLXPerformanceMonitoringServices *perfMonitoringService = NULL; - res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringService); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUList* gpus = NULL; - // Get GPU list - res = sys->pVtbl->GetGPUs(sys, &gpus); - if (ADLX_SUCCEEDED(res)) - { - // Use initial GPU - IADLXGPU* oneGPU = NULL; - res = gpus->pVtbl->At_GPUList(gpus, gpus->pVtbl->Begin(gpus), &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringService, oneGPU); - } - else - printf("\tGet particular GPU failed\n"); - if (oneGPU != NULL) - { - oneGPU->pVtbl->Release(oneGPU); - oneGPU = NULL; - } - } - else - printf("\tGet GPU list failed\n"); - if (gpus != NULL) - { - gpus->pVtbl->Release(gpus); - gpus = NULL; - } - } - else - printf("\tGet Performance Monitoring services failed\n"); - if (perfMonitoringService != NULL) - { - perfMonitoringService->pVtbl->Release(perfMonitoringService); - perfMonitoringService = NULL; - } - } - else - return WaitAndExit("\tg_ADLXHelp initialization failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display the GPU metrics range\n"); - printf("\t->Press 2 to display the current GPU metrics\n"); - printf("\t->Press 3 to display the current GPU metrics from historical data\n"); - printf("\t->Press 4 to display the historical GPU metrics\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show GPU metrics range - case '1': - ShowGPUMetricsRange(perfMonitoringServices, oneGPU); - break; - - // Display current GPU metrics - case '2': - ShowCurrentGPUMetrics(perfMonitoringServices, oneGPU); - break; - - // Display current GPU metrics from historical data - case '3': - ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices, oneGPU); - break; - - // Display historical GPU metrics - case '4': - ShowHistoricalGPUMetrics(perfMonitoringServices, oneGPU); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -// Display GPU metrics range -void ShowGPUMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU) -{ - // Get GPU metrics support - IADLXGPUMetricsSupport* gpuMetricsSupport = NULL; - ADLX_RESULT res = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - if (ADLX_SUCCEEDED(res)) - { - adlx_int minValue = 0, maxValue = 0; - - // Get GPU usage range - res = gpuMetricsSupport->pVtbl->GetGPUUsageRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU usage range between %d%% and %d%%\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU usage range not supported\n"); - - // Get GPU clock speed range - res = gpuMetricsSupport->pVtbl->GetGPUClockSpeedRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU clock speed range between %dMHz and %dMHz\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU clock speed range not supported\n"); - - // Get GPU VRAM clock speed range - res = gpuMetricsSupport->pVtbl->GetGPUVRAMClockSpeedRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU VRAM clock speed range between %dMHz and %dMHz\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU VRAM clock speed range not supported\n"); - - // Get GPU temperature range - res = gpuMetricsSupport->pVtbl->GetGPUTemperatureRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU temperature range between %d%cC and %d%cC\n", minValue, g_degree, maxValue, g_degree); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU temperature range not supported\n"); - - // Get GPU hotspot temperature range - res = gpuMetricsSupport->pVtbl->GetGPUHotspotTemperatureRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU hotspot temperature range between %d%cC and %d%cC\n", minValue, g_degree, maxValue, g_degree); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU hotspot temperature range not supported\n"); - - // Get GPU power range - res = gpuMetricsSupport->pVtbl->GetGPUPowerRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU power range between %dW and %dW\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU power range not supported\n"); - - // Get GPU fan speed range - res = gpuMetricsSupport->pVtbl->GetGPUFanSpeedRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU fan speed range between %dRPM and %dRPM\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU fan speed range not supported\n"); - - // Get GPU VRAM range - res = gpuMetricsSupport->pVtbl->GetGPUVRAMRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU VRAM range between %dMB and %dMB\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU VRAM range not supported\n"); - - // Get GPU voltage range - res = gpuMetricsSupport->pVtbl->GetGPUVoltageRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU voltage range between %dmV and %dmV\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU voltage range not supported\n"); - - // Get GPU total board power range - res = gpuMetricsSupport->pVtbl->GetGPUTotalBoardPowerRange(gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The GPU total board power range between %dW and %dW\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("GPU total board power range not supported\n"); - - // Get GPU intake temperature range - res = gpuMetricsSupport->pVtbl->GetGPUIntakeTemperatureRange (gpuMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED (res)) - printf ("The GPU intake temperature range between %dW and %dW\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf ("GPU intake temperature range not supported\n"); - } - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } -} - -// Display the system time stamp (in ms) -void GetTimeStamp(IADLXGPUMetrics *gpuMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = gpuMetrics->pVtbl->TimeStamp(gpuMetrics, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The GPU timp stamp is: %lldms\n", timeStamp); -} - -// Display GPU usage (in %) -void ShowGPUUsage(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU usage support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUUsage(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU usage support status: %d\n", supported); - if (supported) - { - adlx_double usage = 0; - res = gpuMetrics->pVtbl->GPUUsage(gpuMetrics, &usage); - if (ADLX_SUCCEEDED(res)) - printf("The GPU usage is: %f%%\n", usage); - } - } -} - -// Display GPU clock speed (in MHz) -void ShowGPUClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU clock speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUClockSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU clock speed support status: %d\n", supported); - if (supported) - { - adlx_int systemClock = 0; - res = gpuMetrics->pVtbl->GPUClockSpeed(gpuMetrics, &systemClock); - if (ADLX_SUCCEEDED(res)) - printf("The GPU system clock is: %dMHz\n", systemClock); - } - } -} - -// Display GPU VRAM clock speed (in MHz) -void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display the GPU VRAM clock speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAMClockSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU VRAM clock speed support status: %d\n", supported); - if (supported) - { - adlx_int memoryClock = 0; - res = gpuMetrics->pVtbl->GPUVRAMClockSpeed(gpuMetrics, &memoryClock); - if (ADLX_SUCCEEDED(res)) - printf("The GPU memory clock is: %dMHz\n", memoryClock); - } - } -} - -// Display GPU temperature(in °C) -void ShowGPUTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display the GPU temperature support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTemperature(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU temperature support status: %d\n", supported); - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->pVtbl->GPUTemperature(gpuMetrics, &temperature); - if (ADLX_SUCCEEDED(res)) - printf("The GPU temperature is: %f%cC\n", temperature, g_degree); - } - } -} - -// Display GPU hotspot temperature(in °C) -void ShowGPUHotspotTemperature(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU hotspot temperature support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUHotspotTemperature(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU hotspot temperature support status: %d\n", supported); - if (supported) - { - adlx_double hotspotTemperature = 0; - res = gpuMetrics->pVtbl->GPUHotspotTemperature(gpuMetrics, &hotspotTemperature); - if (ADLX_SUCCEEDED(res)) - printf("The GPU hotspot temperature is: %f%cC\n", hotspotTemperature, g_degree); - } - } -} - -// Display GPU power(in W) -void ShowGPUPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU power support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUPower(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU power support status: %d\n", supported); - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->pVtbl->GPUPower(gpuMetrics, &power); - if (ADLX_SUCCEEDED(res)) - printf("The GPU power is: %fW\n", power); - } - } -} - -// Display GPU total board power(in W) -void ShowGPUTotalBoardPower(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU total board power support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUTotalBoardPower(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU total board power support status: %d\n", supported); - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->pVtbl->GPUTotalBoardPower(gpuMetrics, &power); - if (ADLX_SUCCEEDED(res)) - printf("The GPU total board power is: %fW\n", power); - } - } -} - -// Display GPU temperature(in °C) -void ShowGPUIntakeTemperature (IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics) -{ - adlx_bool supported = false; - // Display the GPU temperature support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUIntakeTemperature (gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED (res)) - { - printf ("GPU intake temperature support status: %d\n", supported); - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->pVtbl->GPUIntakeTemperature (gpuMetrics, &temperature); - if (ADLX_SUCCEEDED (res)) - printf ("The GPU intake temperature is: %f%cC\n", temperature, g_degree); - } - } -} - -// Display GPU fan speed (in RPM) -void ShowGPUFanSpeed(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU fan speed support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUFanSpeed(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU fan speed support status: %d\n", supported); - if (supported) - { - adlx_int fanSpeed = 0; - res = gpuMetrics->pVtbl->GPUFanSpeed(gpuMetrics, &fanSpeed); - if (ADLX_SUCCEEDED(res)) - printf("The GPU fan speed is: %dRPM\n", fanSpeed); - } - } -} - -// Display GPU VRAM (in MB) -void ShowGPUVRAM(IADLXGPUMetricsSupport *gpuMetricsSupport, IADLXGPUMetrics *gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU VRAM support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVRAM(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU VRAM support status: %d\n", supported); - if (supported) - { - adlx_int VRAM = 0; - res = gpuMetrics->pVtbl->GPUVRAM(gpuMetrics, &VRAM); - if (ADLX_SUCCEEDED(res)) - printf("The GPU VRAM is: %dMB\n", VRAM); - } - } -} - -// Display GPU Voltage (in mV) -void ShowGPUVoltage(IADLXGPUMetricsSupport* gpuMetricsSupport, IADLXGPUMetrics* gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU voltage support status - ADLX_RESULT res = gpuMetricsSupport->pVtbl->IsSupportedGPUVoltage(gpuMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("GPU voltage support status: %d\n", supported); - if (supported) - { - adlx_int Voltage = 0; - res = gpuMetrics->pVtbl->GPUVoltage(gpuMetrics, &Voltage); - if (ADLX_SUCCEEDED(res)) - printf("The GPU Voltage is: %dmV\n", Voltage); - } - } -} - -// Display current GPU metrics -void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - // Get GPU metrics support - IADLXGPUMetricsSupport *gpuMetricsSupport = NULL; - ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - - // Accumulate and display current metrics for each of 10 loops - IADLXGPUMetrics *gpuMetrics = NULL; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current GPU metrics - ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetCurrentGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetrics); - - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - printf("The current GPU metrics: \n"); - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics); - } - Sleep(1000); - - // Free - if (gpuMetrics != NULL) - { - gpuMetrics->pVtbl->Release(gpuMetrics); - gpuMetrics = NULL; - } - } - - // Free - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } - - MainMenu(); -} - -void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServices* perfMonitoringServices, IADLXGPU* oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to clear historical data\n"); - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to start tracking performance metrics\n"); - return; - } - - // Get GPU metrics support - IADLXGPUMetricsSupport* gpuMetricsSupport = NULL; - ADLX_RESULT metricsSupportRet = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - - // Accumulate and display current metrics for each of 10 loops - adlx_int startMs = 0; - adlx_int stopMs = 0; - for (int it = 0; it < 10; ++it) - { - // Clear screen - system("cls"); - - IADLXGPUMetricsList* gpuMetricsList = NULL; - res = perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices, oneGPU, startMs, stopMs, &gpuMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Display all the GPU metrics in the list - IADLXGPUMetrics* gpuMetrics = NULL; - for (int i = gpuMetricsList->pVtbl->Begin(gpuMetricsList); i != gpuMetricsList->pVtbl->End(gpuMetricsList); ++i) - { - res = gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList, i, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(metricsSupportRet) && ADLX_SUCCEEDED(res)) - { - printf("The current GPU metrics: \n"); - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics); - } - - // Release IADLXGPUMetrics interface - if (gpuMetrics != NULL) - { - gpuMetrics->pVtbl->Release(gpuMetrics); - gpuMetrics = NULL; - } - } - } - - // Release IADLXGPUMetricsList interface - if (gpuMetricsList != NULL) - { - gpuMetricsList->pVtbl->Release(gpuMetricsList); - gpuMetricsList = NULL; - } - - Sleep(1000); - } - - // Release IADLXGPUMetricsSupport interface - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } - - // Stop tracking performance metrics - res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to stop tracking performance metrics\n"); - } - - MainMenu(); -} - -// Display historical GPU Metrics -void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices, IADLXGPU *oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to clear historical data\n"); - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to start tracking performance metrics\n"); - return; - } - - // Wait for 10 seconds to accumulate metrics - printf("Wait for 10 seconds to accumulate metrics...\n"); - Sleep(10000); - - // Get GPU metrics history from 10 seconds ago(10000 ms: the third parameter) to the present time(0 ms: the fourth parameter) - IADLXGPUMetricsList* gpuMetricsList = NULL; - res = perfMonitoringServices->pVtbl->GetGPUMetricsHistory(perfMonitoringServices, oneGPU, 10000, 0, &gpuMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU metrics support - IADLXGPUMetricsSupport* gpuMetricsSupport = NULL; - ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedGPUMetrics(perfMonitoringServices, oneGPU, &gpuMetricsSupport); - - // Display all the GPU metrics in the list - IADLXGPUMetrics* gpuMetrics = NULL; - for (int i = gpuMetricsList->pVtbl->Begin(gpuMetricsList); i != gpuMetricsList->pVtbl->End(gpuMetricsList); ++i) - { - printf("********** historical GPU metrics %d: **********\n", i + 1); - ADLX_RESULT res2 = gpuMetricsList->pVtbl->At_GPUMetricsList(gpuMetricsList, i, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics); - } - printf("\n"); - if (gpuMetrics != NULL) - { - gpuMetrics->pVtbl->Release(gpuMetrics); - gpuMetrics = NULL; - } - } - if (gpuMetricsSupport != NULL) - { - gpuMetricsSupport->pVtbl->Release(gpuMetricsSupport); - gpuMetricsSupport = NULL; - } - } - if (gpuMetricsList != NULL) - { - gpuMetricsList->pVtbl->Release(gpuMetricsList); - gpuMetricsList = NULL; - } - - // Stop tracking performance metrics - res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to stop tracking performance metrics\n"); - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt deleted file mode 100644 index 976ab36..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfSystemMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfSystemMetrics.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html deleted file mode 100644 index 96de653..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control system metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current system metrics.
2 Show historical system metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PerformanceMonitoring/PerfSystemMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.c b/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.c deleted file mode 100644 index 5506196..0000000 --- a/vendor/adlx/Samples/C/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.c +++ /dev/null @@ -1,441 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfSystemMetrics.c -/// \brief Demonstrates how to control system metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring1.h" - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Display system metrics range -void ShowSystemMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Display current system metrics -void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices); - -// Display historical system metrics -void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices); - - int main() - { - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - IADLXPerformanceMonitoringServices *perfMonitoringServices = NULL; - ADLX_RESULT res = sys->pVtbl->GetPerformanceMonitoringServices(sys, &perfMonitoringServices); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringServices); - } - else - printf("\tGet performance monitoring services failed\n"); - if (perfMonitoringServices != NULL) - { - perfMonitoringServices->pVtbl->Release(perfMonitoringServices); - perfMonitoringServices = NULL; - } - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; - } - -// Main menu -void MainMenu() -{ - printf("\tChoose one from the following options\n"); - - printf("\t->Press 1 to display the system metrics range\n"); - printf("\t->Press 2 to display the current system metrics\n"); - printf("\t->Press 3 to display the historical system metrics\n"); - - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display the main menu options\n"); -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServices *perfMonitoringServices) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display system metrics range - case '1': - ShowSystemMetricsRange(perfMonitoringServices); - break; - - // Display current metrics - case '2': - ShowCurrentSystemMetrics(perfMonitoringServices); - break; - - // Display historical metrics - case '3': - ShowHistoricalSystemMetrics(perfMonitoringServices); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -// Display system metrics range -void ShowSystemMetricsRange(IADLXPerformanceMonitoringServices* perfMonitoringServices) -{ - // Get system metrics support - IADLXSystemMetricsSupport* systemMetricsSupport = NULL; - ADLX_RESULT res = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport); - if (ADLX_SUCCEEDED(res)) - { - adlx_int minValue = 0, maxValue = 0; - - // Get CPU usage range - res = systemMetricsSupport->pVtbl->GetCPUUsageRange(systemMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The CPU usage range between %d%% and %d%%\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("CPU usage range not supported\n"); - - // Get system RAM range - res = systemMetricsSupport->pVtbl->GetSystemRAMRange(systemMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The system RAM range between %dMB and %dMB\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("System RAM range not supported\n"); - - // Get SmartShift range - res = systemMetricsSupport->pVtbl->GetSmartShiftRange(systemMetricsSupport, &minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - printf("The smart shift range between %d and %d\n", minValue, maxValue); - else if (res == ADLX_NOT_SUPPORTED) - printf("SmartShift range not supported\n"); - } - if (systemMetricsSupport != NULL) - { - systemMetricsSupport->pVtbl->Release(systemMetricsSupport); - systemMetricsSupport = NULL; - } -} - -// Display the system time stamp (in ms) -void GetTimeStamp(IADLXSystemMetrics *systemMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = systemMetrics->pVtbl->TimeStamp(systemMetrics, &timeStamp); - if (ADLX_SUCCEEDED(res)) - printf("The system timp stamp is: %lldms\n", timeStamp); -} - -// Display CPU usage (in %) -void ShowCPUUsage(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display CPU usage support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedCPUUsage(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("CPU usage support status: %d\n", supported); - if (supported) - { - adlx_double cpuUsage = 0; - res = systemMetrics->pVtbl->CPUUsage(systemMetrics, &cpuUsage); - if (ADLX_SUCCEEDED(res)) - printf("The CPU usage is: %f%%\n", cpuUsage); - } - } -} - -// Display system RAM (in MB) -void ShowSystemRAM(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display system RAM usage support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSystemRAM(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("System RAM usage support status: %d\n", supported); - if (supported) - { - adlx_int systemRAM = 0; - res = systemMetrics->pVtbl->SystemRAM(systemMetrics, &systemRAM); - if (ADLX_SUCCEEDED(res)) - printf("The system RAM is: %dMB\n", systemRAM); - } - } -} - -// Show SmartShift -void ShowSmartShift(IADLXSystemMetricsSupport *systemMetricsSupport, IADLXSystemMetrics *systemMetrics) -{ - adlx_bool supported = false; - // Display SmartShift support status - ADLX_RESULT res = systemMetricsSupport->pVtbl->IsSupportedSmartShift(systemMetricsSupport, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("SmartShift support status: %d\n", supported); - if (supported) - { - adlx_int smartShift; - res = systemMetrics->pVtbl->SmartShift(systemMetrics, &smartShift); - if (ADLX_SUCCEEDED(res)) - printf("The smart shift is: %d\n", smartShift); - } - } -} - -// Show SmartShift Max -void ShowSmartShiftMax(IADLXSystemMetricsSupport* systemMetricsSupport, IADLXSystemMetrics* systemMetrics) -{ - IADLXSystemMetricsSupport1* sysMetricsSupport1 = NULL; - ADLX_RESULT res = systemMetricsSupport->pVtbl->QueryInterface(systemMetricsSupport, IID_IADLXSystemMetricsSupport1(), (void**)&sysMetricsSupport1); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - // Display power distribution support status - res = sysMetricsSupport1->pVtbl->IsSupportedPowerDistribution(sysMetricsSupport1, &supported); - if (ADLX_SUCCEEDED(res)) - { - printf("PowerDistribution support status: %d\n", supported); - if (supported) - { - IADLXSystemMetrics1* sysMetrics1 = NULL; - res = systemMetrics->pVtbl->QueryInterface(systemMetrics, IID_IADLXSystemMetrics1(), (void*)&sysMetrics1); - if (ADLX_SUCCEEDED(res)) - { - int apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit; - res = sysMetrics1->pVtbl->PowerDistribution(sysMetrics1, &apuShiftValue, &gpuShiftValue, &apuShiftLimit, &gpuShiftLimit, &totalShiftLimit); - if (ADLX_SUCCEEDED(res)) - printf("The PowerDistribution is:\n apuShiftValue: %d , gpuShiftValue: %d , apuShiftLimit: %d , gpuShiftLimit: %d , totalShiftLimit: %d\n" - , apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit); - - // Release IADLXSystemMetrics1 interface - sysMetrics1->pVtbl->Release(sysMetrics1); - } - else - { - printf("\tGet IADLXSystemMetrics1Ptr failed\n"); - } - } - } - - // Release IADLXSystemMetricsSupport1 interface - sysMetricsSupport1->pVtbl->Release(sysMetricsSupport1); - } - else - { - printf("\tGet IADLXSystemMetricsSupport1Ptr failed\n"); - } -} - -// Display current system metrics -void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices) -{ - // Get system metrics support - IADLXSystemMetricsSupport* systemMetricsSupport = NULL; - ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport); - - // Accumulate and display current metrics for each of the 10 loops - IADLXSystemMetrics* systemMetrics = NULL; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current system metrics - ADLX_RESULT res2 = perfMonitoringServices->pVtbl->GetCurrentSystemMetrics(perfMonitoringServices, &systemMetrics); - - // Display timestamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - printf("The current system metrics: \n"); - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - ShowSmartShiftMax(systemMetricsSupport, systemMetrics); - } - Sleep(1000); - - // Free - if (systemMetrics != NULL) - { - systemMetrics->pVtbl->Release(systemMetrics); - systemMetrics = NULL; - } - } - - // Free - if (systemMetricsSupport != NULL) - { - systemMetricsSupport->pVtbl->Release(systemMetricsSupport); - systemMetricsSupport = NULL; - } - - MainMenu(); -} - -// Display historical system metrics -void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServices *perfMonitoringServices) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->pVtbl->ClearPerformanceMetricsHistory(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to clear historical data\n"); - return; - } - - // Get current max historical size (in s) - adlx_int maxHistorySize = 0; - res = perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices, &maxHistorySize); - if (ADLX_SUCCEEDED(res)) - printf("The current max historical size is: %ds\n", maxHistorySize); - // Get the max historical size range. The max historical size must be set within this range. - ADLX_IntRange range; - res = perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySizeRange(perfMonitoringServices, &range); - if (ADLX_SUCCEEDED(res)) - printf("The range of max historical size is: (%d, %d)s\n", range.minValue, range.maxValue); - // Change max historical size to minimum value - res = perfMonitoringServices->pVtbl->SetMaxPerformanceMetricsHistorySize(perfMonitoringServices, range.minValue); - if (ADLX_SUCCEEDED(res)) - { - perfMonitoringServices->pVtbl->GetMaxPerformanceMetricsHistorySize(perfMonitoringServices, &maxHistorySize); - printf("Set max historical size to minimum value succeeded, the current max historical is: %ds\n", maxHistorySize); - } - - // Get current sampling interval (in ms) - adlx_int samplingInterval = 0; - res = perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices, &samplingInterval); - if (ADLX_SUCCEEDED(res)) - printf("The current sampling interval is: %dms\n", samplingInterval); - // Get the sampling interval range. The sampling interval must be set within this range. - res = perfMonitoringServices->pVtbl->GetSamplingIntervalRange(perfMonitoringServices, &range); - if (ADLX_SUCCEEDED(res)) - printf("The range of sampling interval is: (%d, %d)ms\n", range.minValue, range.maxValue); - // Change sampling interval to minimum value - res = perfMonitoringServices->pVtbl->SetSamplingInterval(perfMonitoringServices, range.minValue); - if (ADLX_SUCCEEDED(res)) - { - perfMonitoringServices->pVtbl->GetSamplingInterval(perfMonitoringServices, &samplingInterval); - printf("Set sampling interval to minimum value succeeded, the current sampling interval is: %dms\n", samplingInterval); - } - - // Start tracking performance metrics - res = perfMonitoringServices->pVtbl->StartPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to start tracking performance metrics\n"); - return; - } - - // Wait for 10 seconds to accumulate metrics - printf("Wait for 10 seconds to accumulate metrics...\n"); - Sleep(10000); - - // Check the current performance metrics historical size (in s) upon accumulation - adlx_int currentHistorySize = 0; - res = perfMonitoringServices->pVtbl->GetCurrentPerformanceMetricsHistorySize(perfMonitoringServices, ¤tHistorySize); - if (ADLX_SUCCEEDED(res)) - printf("The current historical size is: %ds\n", currentHistorySize); - - // Get system metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter) - IADLXSystemMetricsList* systemMetricsList = NULL; - res = perfMonitoringServices->pVtbl->GetSystemMetricsHistory(perfMonitoringServices, 10000, 0, &systemMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get the system metrics support - IADLXSystemMetricsSupport* systemMetricsSupport = NULL; - ADLX_RESULT res1 = perfMonitoringServices->pVtbl->GetSupportedSystemMetrics(perfMonitoringServices, &systemMetricsSupport); - - // Display all the system metrics in the list - IADLXSystemMetrics* systemMetrics = NULL; - for (int i = systemMetricsList->pVtbl->Begin(systemMetricsList); i != systemMetricsList->pVtbl->End(systemMetricsList); ++i) - { - printf("********** historical system metrics %d: **********\n", i + 1); - ADLX_RESULT res2 = systemMetricsList->pVtbl->At_SystemMetricsList(systemMetricsList, i, &systemMetrics); - // Display first system metrics time stamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - ShowSmartShiftMax(systemMetricsSupport, systemMetrics); - } - printf("\n"); - if (systemMetrics != NULL) - { - systemMetrics->pVtbl->Release(systemMetrics); - systemMetrics = NULL; - } - } - if (systemMetricsSupport != NULL) - { - systemMetricsSupport->pVtbl->Release(systemMetricsSupport); - systemMetricsSupport = NULL; - } - } - if (systemMetricsList != NULL) - { - systemMetricsList->pVtbl->Release(systemMetricsList); - systemMetricsList = NULL; - } - - // Stop tracking performance metrics - res = perfMonitoringServices->pVtbl->StopPerformanceMetricsTracking(perfMonitoringServices); - if (ADLX_FAILED(res)) - { - printf("Failed to stop tracking performance metrics\n"); - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/CMakeLists.txt b/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/CMakeLists.txt deleted file mode 100644 index 5d7a7bf..0000000 --- a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SmartShiftMax") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSmartShiftMax.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/ReadMe.html b/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/ReadMe.html deleted file mode 100644 index 36d1c49..0000000 --- a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to control AMD SmartShift Max when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartShift Max support.
2 Display AMD SmartShift Max bias value, bias mode, and bias range.
3 Set SmartShift Max bias mode to Manual.
4 Set SmartShift Max bias mode to Auto.
5 Set SmartShift Max bias value.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/C/PowerTuning/SmartShiftMax

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/mainSmartShiftMax.c b/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/mainSmartShiftMax.c deleted file mode 100644 index cbff679..0000000 --- a/vendor/adlx/Samples/C/PowerTuning/SmartShiftMax/mainSmartShiftMax.c +++ /dev/null @@ -1,202 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSmartShiftMax.c -/// \brief Demonstrates how to control AMD SmartShift Max when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPowerTuning.h" -#include "SDK/Include/ISystem1.h" - -// Display AMD SmartShift max support -void ShowSmartShiftMaxSupport(IADLXSmartShiftMax* ssm); - -// Display current AMD SmartShift max state -void ShowSmartShiftMaxSate(IADLXSmartShiftMax* ssm); - -// Set AMD SmartShift max bias mode -void SetSmartShiftMaxBiasMode(IADLXSmartShiftMax* ssm, int index); - -// Set AMD SmartShift max bias value -void SetSmartShiftMaxBiasValue(IADLXSmartShiftMax* ssm); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXSmartShiftMax* ssm); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get IADLXSystem1 interface - IADLXSystem1* system1 = NULL; - res = sys->pVtbl->QueryInterface(sys, IID_IADLXSystem1(), (void**)(&system1)); - if (ADLX_SUCCEEDED(res)) - { - // Get power tuning services - IADLXPowerTuningServices* powerTuningServices = NULL; - res = system1->pVtbl->GetPowerTuningServices(system1, &powerTuningServices); - - // Get AMD SmartShift Max interface - IADLXSmartShiftMax* ssm = NULL; - res = powerTuningServices->pVtbl->GetSmartShiftMax(powerTuningServices, &ssm); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(ssm); - } - - // Release AMD SmartShift Max interface - if (ssm != NULL) - { - ssm->pVtbl->Release(ssm); - ssm = NULL; - } - - // Release power tuning services interface - if (powerTuningServices != NULL) - { - powerTuningServices->pVtbl->Release(powerTuningServices); - powerTuningServices = NULL; - } - } - else - { - printf("Failed to get IADLXSystem1 interface\n"); - } - - // Release IADLXSystem1 interface - if (system1 != NULL) - { - system1->pVtbl->Release(system1); - system1 = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowSmartShiftMaxSupport(IADLXSmartShiftMax* ssm) -{ - adlx_bool supported = false; - ssm->pVtbl->IsSupported(ssm, &supported); - printf("\tIsSupported: %d\n", supported); -} - -void ShowSmartShiftMaxSate(IADLXSmartShiftMax* ssm) -{ - ADLX_SSM_BIAS_MODE mode; - ADLX_RESULT ret = ssm->pVtbl->GetBiasMode(ssm, &mode); - if (ADLX_SUCCEEDED(ret)) - printf("\tBias mode: %s\n", (mode == SSM_BIAS_MANUAL ? "manual" : "auto")); - else - printf("\tFailed to get bias mode, error code: %d\n", ret); - - adlx_int bias = 0; - ret = ssm->pVtbl->GetBias(ssm, &bias); - if (ADLX_SUCCEEDED(ret)) - printf("\tBias value: %d\n", bias); - else - printf("\tFailed to get bias value, error code: %d\n", ret); - - ADLX_IntRange range; - ret = ssm->pVtbl->GetBiasRange(ssm, &range); - if (ADLX_SUCCEEDED(ret)) - printf("\tBias range: [ %d, %d ], step: %d\n", range.minValue, range.maxValue, range.step); - else - printf("\tFailed to get bias range, error code: %d\n", ret); -} - -void SetSmartShiftMaxBiasMode(IADLXSmartShiftMax* ssm, int index) -{ - ADLX_SSM_BIAS_MODE mode = index == 0 ? SSM_BIAS_MANUAL : SSM_BIAS_AUTO; - ADLX_RESULT res = ssm->pVtbl->SetBiasMode(ssm, mode); - printf("\tSet bias mode %s, return code: %d\n", (mode == SSM_BIAS_MANUAL ? "manual" : "auto"), res); -} - -void SetSmartShiftMaxBiasValue(IADLXSmartShiftMax* ssm) -{ - adlx_int bias = 0; - ssm->pVtbl->GetBias(ssm, &bias); - ADLX_IntRange range; - ssm->pVtbl->GetBiasRange(ssm, &range); - adlx_int base = (range.maxValue + range.minValue) / 2; - adlx_int value = bias == base ? base + range.step : base; - ADLX_RESULT res = ssm->pVtbl->SetBias(ssm, value); - printf("\tSet bias value: %d, return code: %d\n", value, res); -} - -void MainMenu() -{ - printf("\tChoose from the following options:\n"); - printf("\t->Press 1 to display AMD SmartShift Max support\n"); - printf("\t->Press 2 to display AMD SmartShift Max bias value, bias mode, and bias range\n"); - printf("\t->Press 3 to set AMD SmartShift Max bias mode to Manual\n"); - printf("\t->Press 4 to set AMD SmartShift Max bias mode to Auto\n"); - printf("\t->Press 5 to set AMD SmartShift Max bias value\n"); - printf("\t->Press Q/q to terminate the application\n"); - printf("\t->Press M/m to display main menu options\n"); -} - -void MenuControl(IADLXSmartShiftMax* ssm) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display AMD SmartShift max support - case '1': - ShowSmartShiftMaxSupport(ssm); - break; - - // Display current AMD SmartShift max state - case '2': - ShowSmartShiftMaxSate(ssm); - break; - - // Set AMD SmartShift max bias mode - case '3': - case '4': - SetSmartShiftMaxBiasMode(ssm, num - '3'); - break; - - // Set AMD SmartShift max bias value - case '5': - SetSmartShiftMaxBiasValue(ssm); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/C/ReadMe.md b/vendor/adlx/Samples/C/ReadMe.md deleted file mode 100644 index 3e23591..0000000 --- a/vendor/adlx/Samples/C/ReadMe.md +++ /dev/null @@ -1,31 +0,0 @@ -@page page_sample_c C Samples - -This document describes how to build the ADLX C samples and the environment in which they can be executed. The ADLX C samples are organized per domain, and they demonstrate the entire ADLX functionality. - -

Supported Operating Systems

-Windows® 10 (32- and 64-bit versions) and up. - -

Build Tool

-Visual Studio 2019 with C and C++ components for desktop. - -

Prerequisites

-- ADLX SDK is installed. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Run Visual Studio 2019.
  2. -
  3. Click File > Open > CMake.
  4. -
  5. Select the `~Samples\C` folder from the Address bar in the pop-up dialog box.
  6. -
  7. Select `CMakeLists.txt` in `~ADLX\Samples\C` and click Open.
  8. -
  9. Select vs2019_Release_x64 in the Configuration drop-down.
  10. -
  11. Click Switch between available views > CMake Targets view in the Solution Explorer.
  12. -
  13. Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, `DisplayInfo.exe`.
  14. -
  15. Right-click on the same sample and click Build.
  16. -
  17. Run the sample.
  18. -
diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt b/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt deleted file mode 100644 index dfafce0..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AsyncEventHandling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAsyncEventHandling.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html b/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html deleted file mode 100644 index 7d32cd4..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/AsyncEventHandling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.c b/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.c deleted file mode 100644 index 8bdef5e..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.c +++ /dev/null @@ -1,183 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAsyncEventHandling.c -/// \brief Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplay3DLUT.h" -#include "SDK/Include/IDisplayGamma.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" -#include - -// Handle thread -HANDLE thread = NULL; - -// Gamut changed event -HANDLE gamutChangedEvent = NULL; - -// Work thread -DWORD WINAPI WorkThread(LPVOID lpParam) -{ - // Some time-consuming operations - Sleep(5000); - IADLXDisplayGamutChangedEvent* gamutChanged = (IADLXDisplayGamutChangedEvent*)(lpParam); - printf ("On the asynchronous thread: Thread Id: %d : After the time-consuming operations, get the display gamut changed event:\n", GetCurrentThreadId()); - printf("\tColor space change: %d\n\tWhite point change: %d\n", - gamutChanged->pVtbl->IsColorSpaceChanged(gamutChanged), - gamutChanged->pVtbl->IsWhitePointChanged(gamutChanged)); - - // Release the interface when the task is completed. - gamutChanged->pVtbl->Release(gamutChanged); - - SetEvent(gamutChangedEvent); - - return 0; -} - -// CallBack for displayGamut -adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedListener* pThis, IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) -{ - // Acquire the interface before passing to the asynchronous thread - pDisplayGamutChangedEvent->pVtbl->Acquire(pDisplayGamutChangedEvent); - thread = CreateThread(NULL, 0, WorkThread, pDisplayGamutChangedEvent, 0, NULL); - - // Returns true will make ADLX continue to notify next listener or false to stop to notify - return true; -} - -// CallBack struct for displayGamut -typedef struct DisplayGamutCallBack -{ - adlx_bool(ADLX_STD_CALL* OnDisplayGamutChanged)(IADLXDisplayGamutChangedListener*, IADLXDisplayGamutChangedEvent*); -} DisplayGamutCallBack; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (NULL != msg) - printf("%s\n", msg); - - system("pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create event - gamutChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get display service - IADLXDisplayServices* displayService = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display change handling - IADLXDisplayChangedHandling* displayChangeHandl = NULL; - res = displayService->pVtbl->GetDisplayChangedHandling(displayService, &displayChangeHandl); - if (ADLX_SUCCEEDED(res)) - { - DisplayGamutCallBack* displayGamutCallBack = (DisplayGamutCallBack*)malloc(sizeof(DisplayGamutCallBack)); - displayGamutCallBack->OnDisplayGamutChanged = &OnDisplayGamutChanged; - - // ADD callback to the handl - ADLX_RESULT addListenerRes = ADLX_FAIL; - { - addListenerRes = displayChangeHandl->pVtbl->AddDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack); - } - - // Set gamut for the first display - IADLXDisplayList* displays = NULL; - displayService->pVtbl->GetDisplays(displayService , &displays); - adlx_uint it = 0; - IADLXDisplay* display = NULL; - displays->pVtbl->At_DisplayList(displays, it, &display); - IADLXDisplayGamut* dispGamut = NULL; - res = displayService->pVtbl->GetGamut(displayService, display, &dispGamut); - res = dispGamut->pVtbl->SetGamut_PW_PG(dispGamut, WHITE_POINT_5000K, GAMUT_SPACE_CIE_RGB); - printf("set gamut ret: %d\n", res); - if (ADLX_SUCCEEDED(res)) - { - printf("This will trigger gamut change and send gamut change in thread: %d\n", GetCurrentThreadId()); - } - if (NULL != dispGamut) - { - dispGamut->pVtbl->Release(dispGamut); - } - if (NULL != display) - { - display->pVtbl->Release(display); - display = NULL; - } - if (NULL != displays) - { - displays->pVtbl->Release(displays); - displays = NULL; - } - - if (ADLX_SUCCEEDED (addListenerRes)) - { - // Wait for gamut change - WaitForSingleObject(gamutChangedEvent, INFINITE); - CloseHandle(thread); - - // Remove and destroy callback - res = displayChangeHandl->pVtbl->RemoveDisplayGamutEventListener(displayChangeHandl, (IADLXDisplayGamutChangedListener*)&displayGamutCallBack); - if (ADLX_FAILED (res)) - printf("Remove display gamut event listener failed\n"); - } - - if (NULL != displayGamutCallBack) - { - free(displayGamutCallBack); - displayGamutCallBack = NULL; - } - } - - // Release the displayChangeHandl interface - if (NULL != displayChangeHandl) - { - displayChangeHandl->pVtbl->Release(displayChangeHandl); - displayChangeHandl = NULL; - } - } - - // Release the displayService interface - if (NULL != displayService) - { - displayService->pVtbl->Release(displayService); - displayService = NULL; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX result: %d\n", res); - - // Close event - if (gamutChangedEvent) - CloseHandle(gamutChangedEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt b/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt deleted file mode 100644 index 252e941..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Sync3DReceive") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSync3DReceive.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html b/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html deleted file mode 100644 index 461f6e6..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in 3D settings using ADLX.
- To receive the event, another application must be used to change these settings, such as AntiLag. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/Sync3DReceive

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.c b/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.c deleted file mode 100644 index dc7cc2c..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.c +++ /dev/null @@ -1,237 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSync3DReceive.c -/// \brief Demonstrates how to receive notifications of changes in 3D settings using ADLX. To receive the event, another application (such as AntiLag) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include "conio.h" - -// Block event to verify call back -HANDLE blockEvent = NULL; -HANDLE quitEvent = NULL; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName); - -// Call back to handle changed events -adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedListener *pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) -{ - // Get the GPU interface - IADLXGPU* gpu = NULL; - p3DSettingsChangedEvent->pVtbl->GetGPU(p3DSettingsChangedEvent, &gpu); - - //RadeonSuperResolution is a global feature (the GPU interface is NULL); skip printing its name - if (!p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent)) - { - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - printf("GPU: %s get sync event\n", uniqueName); - } - ADLX_SYNC_ORIGIN origin = p3DSettingsChangedEvent->pVtbl->GetOrigin(p3DSettingsChangedEvent); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - if (p3DSettingsChangedEvent->pVtbl->IsAntiLagChanged(p3DSettingsChangedEvent)) - { - printf("\tAnti-Lag is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsChillChanged(p3DSettingsChangedEvent)) - { - printf("\tChill is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsBoostChanged(p3DSettingsChangedEvent)) - { - printf("\tBoost is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsImageSharpeningChanged(p3DSettingsChangedEvent)) - { - printf("\tImage Sharpening is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsEnhancedSyncChanged(p3DSettingsChangedEvent)) - { - printf("\tEnhanced Sync is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsWaitForVerticalRefreshChanged(p3DSettingsChangedEvent)) - { - printf("\tWait For Vertical Refresh is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsFrameRateTargetControlChanged(p3DSettingsChangedEvent)) - { - printf("\tFRTC is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsAntiAliasingChanged(p3DSettingsChangedEvent)) - { - printf("\tAnti-Aliasing is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsMorphologicalAntiAliasingChanged(p3DSettingsChangedEvent)) - { - printf("\tMorphological Anti-Aliasing is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsAnisotropicFilteringChanged(p3DSettingsChangedEvent)) - { - printf("\tAnisotropic Filtering is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsTessellationModeChanged(p3DSettingsChangedEvent)) - { - printf("\tTessellation Mode is changed\n"); - } - else if (p3DSettingsChangedEvent->pVtbl->IsResetShaderCache(p3DSettingsChangedEvent)) - { - printf("\tResetShaderCache\n"); - } - } - - if (origin == SYNC_ORIGIN_UNKNOWN) - { - if (p3DSettingsChangedEvent->pVtbl->IsRadeonSuperResolutionChanged(p3DSettingsChangedEvent)) - { - printf("\tget sync event, RSR changed\n"); - } - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -} - -// Wait for quit signal -DWORD WINAPI QuitWait(LPVOID lpParam) -{ - adlx_bool* loopFlag = (adlx_bool*)lpParam; - while (true) - { - // Non-blocking checking if the I/O cache has characters - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(quitEvent); - break; - } - } - Sleep(100); - } - return 0; -} - -static IADLX3DSettingsChangedListenerVtbl vtbl = {&On3DSettingsChanged}; -static IADLX3DSettingsChangedListener eventListener = {&vtbl}; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create quit event - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create event array - HANDLE eventArray[] = { blockEvent, quitEvent }; - - // Get the System Services interface - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - - // Get the 3D Settings Service interface - IADLX3DSettingsServices *d3dSettingSrv = NULL; - res = sys->pVtbl->Get3DSettingsServices(sys, &d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get the Change Handle interface - IADLX3DSettingsChangedHandling *changeHandle = NULL;; - res = d3dSettingSrv->pVtbl->Get3DSettingsChangedHandling(d3dSettingSrv, &changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Add call back - changeHandle->pVtbl->Add3DSettingsEventListener(changeHandle, &eventListener); - - // Create a thread to detect quit input - adlx_bool loopFlag = true; - DWORD threadId = 0; - HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId); - - printf("\nWaiting for 3DSetting change event... Press Q/q to quit\n"); - while (true) - { - // Wait for change event or request to quit - DWORD waitRet = WaitForMultipleObjects(2, eventArray, FALSE, INFINITE); - if (!loopFlag) - { - CloseHandle(hThread); - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->pVtbl->Remove3DSettingsEventListener(changeHandle, &eventListener); - } - // Release the Change Handle interface - if (changeHandle != NULL) - { - changeHandle->pVtbl->Release(changeHandle); - changeHandle = NULL; - } - // Release the 3DSettings Services interface - if (d3dSettingSrv != NULL) - { - d3dSettingSrv->pVtbl->Release(d3dSettingSrv); - d3dSettingSrv = NULL; - } - } - else - { - printf("Failed to get 3DSettings Services\n"); - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - if (quitEvent) - CloseHandle(quitEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName) -{ - if (NULL != gpu && NULL != uniqueName) - { - const char* gpuName = NULL; - gpu->pVtbl->Name(gpu, &gpuName); - adlx_int id; - gpu->pVtbl->UniqueId(gpu, &id); - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt deleted file mode 100644 index fa50df6..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncDisplayReceive") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncDisplayReceive.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html deleted file mode 100644 index 4b83787..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in display settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the DisplayFreeSync. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.c b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.c deleted file mode 100644 index 402eab7..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.c +++ /dev/null @@ -1,317 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncDisplayReceive.c -/// \brief Demonstrates how to receive notifications of changes in display settings using ADLX. To receive the event, another application (such as DisplayFreeSync) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" -#include "SDK/Include/IDisplays1.h" -#include "SDK/Include/IDisplays2.h" -#include "SDK/Include/IDisplaySettings.h" -#include "conio.h" - -// Block event to verify call back -HANDLE displaySettingsEvent = NULL; -HANDLE display3DLUTEvent = NULL; -// Quit event to exit -HANDLE quitEvent = NULL; - -// Get the display unique name -void DisplayUniqueName(IADLXDisplay* display, char* uniqueName); - -// Call back to handle changed events -adlx_bool ADLX_STD_CALL OnDisplaySettingsChanged(IADLXDisplaySettingsChangedListener* pThis, IADLXDisplaySettingsChangedEvent* pDisplaySettingsChangedEvent) -{ - ADLX_SYNC_ORIGIN origin = pDisplaySettingsChangedEvent->pVtbl->GetOrigin(pDisplaySettingsChangedEvent); - - if (origin == SYNC_ORIGIN_EXTERNAL) - { - IADLXDisplay *display = NULL; - pDisplaySettingsChangedEvent->pVtbl->GetDisplay(pDisplaySettingsChangedEvent, &display); - char displayName[128] = "Unknown"; - DisplayUniqueName(display, displayName); - if (pDisplaySettingsChangedEvent->pVtbl->IsColorDepthChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Color Depth is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorBrightnessChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Color Brightness is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorContrastChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Color Contrast is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorHueChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Color Hue is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorSaturationChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Color Saturation is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomColorTemperatureChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Color Temperature is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsCustomResolutionChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Custom Resolution is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsFreeSyncChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, FreeSync is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsGPUScalingChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, GPU Scaling is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsHDCPChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, HDCP is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsIntegerScalingChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Integer Scaling is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsPixelFormatChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Pixel Format is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsScalingModeChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, Scaling Mode is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsVariBrightChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, VariBright is changed\n", displayName); - } - else if (pDisplaySettingsChangedEvent->pVtbl->IsVSRChanged(pDisplaySettingsChangedEvent)) - { - printf("Display %s get sync event, VSR is changed\n", displayName); - } - - // Get IADLXDisplaySettingsChangedEvent1 interface - IADLXDisplaySettingsChangedEvent1* pDisplaySettingChangedEvent1 = NULL; - ADLX_RESULT res = pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent, IID_IADLXDisplaySettingsChangedEvent1(), &pDisplaySettingChangedEvent1); - if (!ADLX_SUCCEEDED(res) || NULL == pDisplaySettingChangedEvent1) - { - printf("IID_IADLXDisplaySettingsChangedEvent1 not supported"); - } - else - { - if (pDisplaySettingChangedEvent1->pVtbl->IsDisplayBlankingChanged(pDisplaySettingChangedEvent1)) - { - printf("Display %s get sync event, Display blanking is changed\n", displayName); - } - } - - // Release the IADLXDisplaySettingsChangedEvent1 interface - if (pDisplaySettingChangedEvent1 != NULL) - { - pDisplaySettingChangedEvent1->pVtbl->Release(pDisplaySettingChangedEvent1); - pDisplaySettingChangedEvent1 = NULL; - } - - // Get IADLXDisplaySettingsChangedEvent2 interface - IADLXDisplaySettingsChangedEvent2* pDisplaySettingChangedEvent2 = NULL; - res = pDisplaySettingsChangedEvent->pVtbl->QueryInterface(pDisplaySettingsChangedEvent, IID_IADLXDisplaySettingsChangedEvent2(), &pDisplaySettingChangedEvent2); - if (!ADLX_SUCCEEDED(res) || NULL == pDisplaySettingChangedEvent2) - { - printf("IID_IADLXDisplaySettingsChangedEvent2 not supported"); - } - else - { - if (pDisplaySettingChangedEvent2->pVtbl->IsDisplayConnectivityExperienceChanged(pDisplaySettingChangedEvent2)) - { - printf("Display %s get sync event, Display connectivity experience is changed\n", displayName); - } - } - - // Release the IADLXDisplaySettingsChangedEvent2 interface - if (pDisplaySettingChangedEvent2 != NULL) - { - pDisplaySettingChangedEvent2->pVtbl->Release(pDisplaySettingChangedEvent2); - pDisplaySettingChangedEvent2 = NULL; - } - - // Release the Display interface - if (display != NULL) - { - display->pVtbl->Release(display); - display = NULL; - } - } - SetEvent(displaySettingsEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -} - -adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedListener* pThis, IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) -{ - ADLX_SYNC_ORIGIN origin = pDisplay3DLUTChangedEvent->pVtbl->GetOrigin(pDisplay3DLUTChangedEvent); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - IADLXDisplay* display = NULL; - pDisplay3DLUTChangedEvent->pVtbl->GetDisplay(pDisplay3DLUTChangedEvent, &display); - const char* displayName = NULL; - display->pVtbl->Name(display, &displayName); - if (pDisplay3DLUTChangedEvent->pVtbl->IsSCEChanged(pDisplay3DLUTChangedEvent)) - { - printf("Display %s get sync event, SCE is changed\n", displayName); - } - else if (pDisplay3DLUTChangedEvent->pVtbl->IsCustom3DLUTChanged(pDisplay3DLUTChangedEvent)) - { - printf("Display %s get sync event, Custom 3DLUT is changed\n", displayName); - } - - // Release the Display interface - if (display != NULL) - { - display->pVtbl->Release(display); - display = NULL; - } - } - SetEvent(display3DLUTEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -} - -static IADLXDisplaySettingsChangedListenerVtbl displaySettingsVtbl = {&OnDisplaySettingsChanged}; -static IADLXDisplaySettingsChangedListener displaySettingsEventListener = {&displaySettingsVtbl}; -static IADLXDisplay3DLUTChangedListenerVtbl display3DLUTVtbl = {&OnDisplay3DLUTChanged}; -static IADLXDisplay3DLUTChangedListener display3DLUTEventListener = {&display3DLUTVtbl}; - -DWORD WINAPI QuitWait(LPVOID lpParam) -{ - adlx_bool* loopFlag = (adlx_bool*)lpParam; - while (true) - { - // Non-blocking checking if the I/O cache has characters - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(quitEvent); - break; - } - } - Sleep(100); - } - return 0; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - displaySettingsEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - display3DLUTEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - // Create quit event - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create event array - HANDLE eventArray[] = { displaySettingsEvent, display3DLUTEvent, quitEvent }; - - // Get Display Services - IADLXSystem *sys = ADLXHelper_GetSystemServices(); - IADLXDisplayServices *displayServices = NULL; - res = sys->pVtbl->GetDisplaysServices(sys, &displayServices); - - if (ADLX_SUCCEEDED(res)) - { - // Get the Change Handle interface - IADLXDisplayChangedHandling *changeHandle = NULL; - res = displayServices->pVtbl->GetDisplayChangedHandling(displayServices, &changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Add call back - changeHandle->pVtbl->AddDisplaySettingsEventListener(changeHandle, &displaySettingsEventListener); - changeHandle->pVtbl->AddDisplay3DLUTEventListener(changeHandle, &display3DLUTEventListener); - - // Create a thread to detect quit input - adlx_bool loopFlag = true; - DWORD threadId = 0; - HANDLE hThread = CreateThread(NULL, 0, QuitWait, &loopFlag, 0, &threadId); - - printf("\nWaiting for display change event... Press Q/q to quit\n"); - while (true) - { - // Wait for change event or request to quit - DWORD waitRet = WaitForMultipleObjects(3, eventArray, FALSE, INFINITE); - if (!loopFlag) - { - CloseHandle(hThread); - break; - } - } - - // Remove call back - changeHandle->pVtbl->RemoveDisplaySettingsEventListener(changeHandle, &displaySettingsEventListener); - changeHandle->pVtbl->RemoveDisplay3DLUTEventListener(changeHandle, &display3DLUTEventListener); - } - // Release the Change Handle interface - if (changeHandle != NULL) - { - changeHandle->pVtbl->Release(changeHandle); - changeHandle = NULL; - } - // Release the Display Services interface - if (displayServices != NULL) - { - displayServices->pVtbl->Release(displayServices); - displayServices = NULL; - } - } - else - { - printf("Failed to get Display Services\n"); - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (displaySettingsEvent) - CloseHandle(displaySettingsEvent); - if (display3DLUTEvent) - CloseHandle(display3DLUTEvent); - if (quitEvent) - CloseHandle(quitEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void DisplayUniqueName(IADLXDisplay* display, char* uniqueName) -{ - if (NULL != display && NULL != uniqueName) - { - const char* gpuName = NULL; - display->pVtbl->Name(display, &gpuName); - adlx_size id; - display->pVtbl->UniqueId(display, &id); - sprintf_s(uniqueName, 128, "name:%s, id:%zu", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt deleted file mode 100644 index 7f968bc..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncGPUTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncGPUTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html deleted file mode 100644 index 3e63690..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in GPU tuning settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the GPUAutoTuning. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncGPUTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.c b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.c deleted file mode 100644 index 95fbaba..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.c +++ /dev/null @@ -1,182 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncGPUTuning.c -/// \brief Demonstrates how to receive notifications of changes in GPU tuning settings using ADLX. To receive the event, another application (such as GPUAutoTuning) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IGPUTuning1.h" - -// Block event to verify call back -HANDLE blockEvent = NULL; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName); - -// Call back to handle changed events -adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedListener* pthis, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) -{ - ADLX_SYNC_ORIGIN origin = pGPUTuningChangedEvent->pVtbl->GetOrigin(pGPUTuningChangedEvent); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = NULL; - pGPUTuningChangedEvent->pVtbl->QueryInterface(pGPUTuningChangedEvent, IID_IADLXGPUTuningChangedEvent1(), (void**)(&pGPUTuningChangedEvent1)); - // Get the GPU interface - IADLXGPU* gpu = NULL; - pGPUTuningChangedEvent->pVtbl->GetGPU(pGPUTuningChangedEvent, &gpu); - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - printf("GPU: %s get sync event\n", uniqueName); - - if (pGPUTuningChangedEvent->pVtbl->IsAutomaticTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tAutomaticTuningChanged\n"); - } - else if (pGPUTuningChangedEvent->pVtbl->IsPresetTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tPresetTuningChanged\n"); - } - else if (pGPUTuningChangedEvent->pVtbl->IsManualGPUCLKTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tManualGPUCLKTuningChanged\n"); - } - else if (pGPUTuningChangedEvent->pVtbl->IsManualVRAMTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tManualVRAMTuningChanged\n"); - } - else if (pGPUTuningChangedEvent->pVtbl->IsManualFanTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tManualFanTuningChanged\n"); - } - else if (pGPUTuningChangedEvent->pVtbl->IsManualPowerTuningChanged(pGPUTuningChangedEvent)) - { - printf("\tManualPowerTuningChanged\n"); - } - else if (pGPUTuningChangedEvent1->pVtbl->IsSmartAccessMemoryChanged(pGPUTuningChangedEvent1)) - { - printf("\tSmartAccessMemoryChanged\n"); - } - - // Release the GPU interface - if (gpu != NULL) - { - gpu->pVtbl->Release(gpu); - gpu = NULL; - } - } - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -} -typedef struct GPUTuningChangedCall -{ - adlx_bool(ADLX_STD_CALL* OnGPUTuningChanged)(IADLXGPUTuningChangedListener*, IADLXGPUTuningChangedEvent*); -} GPUTuningChangedCall; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get the System Services interface - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get the GPU Tuning Service interface - IADLXGPUTuningServices* gpuTuningSrv = NULL; - res = sys->pVtbl->GetGPUTuningServices(sys, &gpuTuningSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get the Change Handle interface - IADLXGPUTuningChangedHandling* changeHandle = NULL; - res = gpuTuningSrv->pVtbl->GetGPUTuningChangedHandling(gpuTuningSrv, &changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - GPUTuningChangedCall* call = (GPUTuningChangedCall*)malloc(sizeof(GPUTuningChangedCall)); - call->OnGPUTuningChanged = &OnGPUTuningChanged; - - // Add call back - changeHandle->pVtbl->AddGPUTuningEventListener(changeHandle, (IADLXGPUTuningChangedListener*)&call); - - // Waits for GPUTuning sync with a timeout of 60s - while (true) - { - printf("\nWaiting for GPUTuning change event (60s)...\n"); - DWORD waitRet = WaitForSingleObject(blockEvent, 60000); - if (waitRet == WAIT_TIMEOUT) - { - printf("== = Wait timeout(60s), ready to quit == = \n"); - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->pVtbl->RemoveGPUTuningEventListener(changeHandle, (IADLXGPUTuningChangedListener*)&call); - - // Release call back - free(call); - call = NULL; - } - - // Release the Change Handle interface - if (changeHandle != NULL) - { - changeHandle->pVtbl->Release(changeHandle); - changeHandle = NULL; - } - } - else - { - printf("Failed to get GPUTuning Services\n"); - } - - // Release the GPUTuning Service interface - if (gpuTuningSrv != NULL) - { - gpuTuningSrv->pVtbl->Release(gpuTuningSrv); - gpuTuningSrv = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPU* gpu, char* uniqueName) -{ - if (NULL != gpu && NULL != uniqueName) - { - const char* gpuName = NULL; - gpu->pVtbl->Name(gpu, &gpuName); - adlx_int id; - gpu->pVtbl->UniqueId(gpu, &id); - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt deleted file mode 100644 index 91c9099..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncPowerTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncPowerTuning.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html deleted file mode 100644 index f6794eb..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in power tuning settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the SmartShiftMax. -

-

Sample Path

-

/Samples/C/ReceivingEventsNotifications/SyncPowerTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.c b/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.c deleted file mode 100644 index 5fea255..0000000 --- a/vendor/adlx/Samples/C/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.c +++ /dev/null @@ -1,143 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncPowerTuning.c -/// \brief Demonstrates how to receive notifications of changes in power tuning settings using ADLX. To receive the event, another application (such as SmartShiftMax) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/IPowerTuning.h" -#include "SDK/Include/ISystem1.h" - -// Block event to verify call back -HANDLE blockEvent = NULL; - -// Call back to handle changed events -adlx_bool ADLX_STD_CALL OnPowerTuningChanged(IADLXPowerTuningChangedListener* pthis, IADLXPowerTuningChangedEvent* pPoweruningChangedEvent) -{ - ADLX_SYNC_ORIGIN origin = pPoweruningChangedEvent->pVtbl->GetOrigin(pPoweruningChangedEvent); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - if (pPoweruningChangedEvent->pVtbl->IsSmartShiftMaxChanged(pPoweruningChangedEvent)) - { - printf("\tSmartShiftMaxChanged\n"); - } - } - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; -} -typedef struct PowerTuningChangedCall -{ - adlx_bool(ADLX_STD_CALL* OnPowerTuningChanged)(IADLXPowerTuningChangedListener*, IADLXPowerTuningChangedEvent*); -} PowerTuningChangedCall; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = ADLXHelper_Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get system services - IADLXSystem* sys = ADLXHelper_GetSystemServices(); - - // Get IADLXSystem1 interface - IADLXSystem1* system1 = NULL; - res = sys->pVtbl->QueryInterface(sys, IID_IADLXSystem1(), (void**)(&system1)); - if (ADLX_SUCCEEDED(res)) - { - // Get power tuning services - IADLXPowerTuningServices* powerTuningServices = NULL; - res = system1->pVtbl->GetPowerTuningServices(system1, &powerTuningServices); - - if (ADLX_SUCCEEDED(res)) - { - // Get the Change Handle interface - IADLXPowerTuningChangedHandling* changeHandle = NULL; - res = powerTuningServices->pVtbl->GetPowerTuningChangedHandling(powerTuningServices, &changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - PowerTuningChangedCall* call = (PowerTuningChangedCall*)malloc(sizeof(PowerTuningChangedCall)); - call->OnPowerTuningChanged = &OnPowerTuningChanged; - - // Add call back - changeHandle->pVtbl->AddPowerTuningEventListener(changeHandle, (IADLXPowerTuningChangedListener*)&call); - - // Waits for power tuning sync with a timeout of 60s - while (true) - { - printf("\nWaiting for power tuning change event (60s)...\n"); - DWORD waitRet = WaitForSingleObject(blockEvent, 60000); - if (waitRet == WAIT_TIMEOUT) - { - printf("== = Wait timeout(60s), ready to quit == = \n"); - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->pVtbl->RemovePowerTuningEventListener(changeHandle, (IADLXPowerTuningChangedListener*)&call); - - // Release call back - free(call); - call = NULL; - } - else - printf("Failed to get power tuning changed handling interface\n"); - - // Release the Change Handle interface - if (changeHandle != NULL) - { - changeHandle->pVtbl->Release(changeHandle); - changeHandle = NULL; - } - } - else - printf("Failed to get power tuning service\n"); - - // Release power tuning services interface - if (powerTuningServices != NULL) - { - powerTuningServices->pVtbl->Release(powerTuningServices); - powerTuningServices = NULL; - } - } - else - printf("Failed to get IADLXSystem1\n"); - - // Release IADLXSystem1 interface - if (system1 != NULL) - { - system1->pVtbl->Release(system1); - system1 = NULL; - } - } - else - { - printf("ADLX initialization failed\n"); - return 0; - } - - // Destroy ADLX - res = ADLXHelper_Terminate(); - printf("Destroy ADLX res: %d\n", res); - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUService/CMakeLists.txt b/vendor/adlx/Samples/C/ServiceCall/GPUService/CMakeLists.txt deleted file mode 100644 index 1ad8f77..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUService/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUService") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "GlobalDefs.h" - "mainGPUService.c" - "ShareMemory.c" - "UserProcess.c" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/C/ADLXHelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.c - ) - - add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUService/GlobalDefs.h b/vendor/adlx/Samples/C/ServiceCall/GPUService/GlobalDefs.h deleted file mode 100644 index 979de7e..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUService/GlobalDefs.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _GLOBAL_DEFS_H -#define _GLOBAL_DEFS_H -#pragma once - -#include - -#define ADLX_FUNCTION_NAME L"GPUInfo" -#define ADXL_EVENT_NAME L"Global\\EventADLX_%s" -#define ADXL_SHAREMENORY_NAME L"Global\\ShareMemoryADLX_%s" -#define SHARE_MEMORY_MAX_SIZE (32 * 4 * 1024) - -#define MAX_RESULT_LEN 512 - -#define MAX_DEBUG_STR_LEN 1024 - -void XTrace (wchar_t* lpszFormat, ...); - -BOOL ShmCreate (WCHAR* shmFileName, ULONG sharedFilesize); -VOID ShmDestory (); -BOOL ShmWriteBuffer (WCHAR* shmFileName, PVOID sharedBuffer, ULONG size); -BOOL ShmReadBuffer (WCHAR* shmFileName, PVOID sharedBuffer, ULONG size); - -typedef BOOL (*AdlxExecutor) (WCHAR* resultBuffer); - -typedef struct _Messager -{ - WCHAR* adlxEntityName; - AdlxExecutor exector; -} Messager; - -typedef struct _ResponseData -{ - int size; - WCHAR executedResults[MAX_RESULT_LEN]; -} ResponseData; - -#endif //_GLOBAL_DEFS_H \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUService/ShareMemory.c b/vendor/adlx/Samples/C/ServiceCall/GPUService/ShareMemory.c deleted file mode 100644 index 92e2390..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUService/ShareMemory.c +++ /dev/null @@ -1,107 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file ShareMemory.c -/// \brief This document demonstrate how to use shared memory. - -#include -#include "GlobalDefs.h" - -static HANDLE g_SharedFile = NULL; -static PVOID g_SharedBuffer = NULL; - -// Create shared memory -BOOL ShmCreate (WCHAR* shmFileName, ULONG sharedFilesize) -{ - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - - // N.B: After setting this permission, the general application does not have administrator privileges - // In order to start to open mapping g_SharedFile Otherwise Access Denny - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - HANDLE g_SharedFile = CreateFileMappingW (INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, sharedFilesize, shmFileName); - if (g_SharedFile == NULL) - { - XTrace (L"ADLX Call Service: ShareMem::Create: CreateFileMappingW, error: %d\n", GetLastError()); - return FALSE; - } - - LPVOID g_SharedBuffer = MapViewOfFile (g_SharedFile, FILE_MAP_ALL_ACCESS, 0, 0, sharedFilesize); - if (g_SharedBuffer == NULL) - { - XTrace (L"ADLX Call Service: ShareMem::Create: MapViewOfFile, error: %d\n", GetLastError ()); - return FALSE; - } - - XTrace (L"ADLX Call Service: ShareMem::Create: OK\n"); - - return TRUE; -} - -// Destory shared memory -VOID ShmDestory () -{ - if (g_SharedBuffer) - { - UnmapViewOfFile (g_SharedBuffer); - g_SharedBuffer = NULL; - } - - if (g_SharedFile) - { - CloseHandle (g_SharedFile); - g_SharedFile = NULL; - } -} - -// Write data to shared memory -BOOL ShmWriteBuffer (WCHAR* shmFileName, PVOID buffer, ULONG size) -{ - HANDLE shmFile = OpenFileMappingW (FILE_MAP_ALL_ACCESS, FALSE, shmFileName); - if (shmFile) - { - LPVOID g_SharedBuffer = MapViewOfFile (shmFile, FILE_MAP_ALL_ACCESS, 0, 0, size); - if (g_SharedBuffer) - { - memcpy_s (g_SharedBuffer, size, buffer, size); - return TRUE; - } - } - return FALSE; -} - -// Read data from shared memory -BOOL ShmReadBuffer (WCHAR* shmFileName, PVOID buffer, ULONG size) -{ - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - BOOL result = FALSE; - HANDLE g_SharedFile = OpenFileMappingW (FILE_MAP_ALL_ACCESS, FALSE, shmFileName); - if (g_SharedFile) - { - g_SharedBuffer = MapViewOfFile (g_SharedFile, FILE_MAP_ALL_ACCESS, 0, 0, size); - if (g_SharedBuffer) - { - memcpy_s (buffer, size, g_SharedBuffer, size); - result = TRUE; - } - } - - return result; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUService/UserProcess.c b/vendor/adlx/Samples/C/ServiceCall/GPUService/UserProcess.c deleted file mode 100644 index e5ebf27..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUService/UserProcess.c +++ /dev/null @@ -1,264 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file UserProcess.c -/// \brief This document demonstrate how to create user process. - -#include -#include -#include "GlobalDefs.h" - -// Get process id -static DWORD GetProcessIdOfWinLogon (DWORD id); - -// Get token by name -static HANDLE GetTokenByName (); - -// Invoke process -static BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd); - -// The thread to create user process -static DWORD WINAPI CreateUserProcess (LPVOID lpParam); - -DWORD GetProcessIdOfWinLogon (DWORD id) -{ - HANDLE hSnap = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); - if (hSnap == INVALID_HANDLE_VALUE) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'CreateToolhelp32Snapshot' failed."); - return 0; - } - - PROCESSENTRY32 ProcEntry = { 0 }; - ProcEntry.dwSize = sizeof (PROCESSENTRY32); - - if (!Process32First (hSnap, &ProcEntry)) - { - CloseHandle (hSnap); - XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'Process32First' failed."); - return 0; - } - - DWORD processId = 0; - for (;;) - { - if (strcmp (ProcEntry.szExeFile, "winlogon.exe") == 0) - { - DWORD logonSessionId = 0; - if (!ProcessIdToSessionId (ProcEntry.th32ProcessID, &logonSessionId)) - continue; - - if (logonSessionId == id) - { - processId = ProcEntry.th32ProcessID; - break; - } - } - - if (!Process32Next (hSnap, &ProcEntry)) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetProcessIdOfWinLogon: 'Process32Next' failed."); - break; - } - } - CloseHandle (hSnap); - - return processId; -} - -HANDLE GetTokenByName () -{ - typedef BOOL (WINAPI* LPWTSQUERYUSERTOKEN)(DWORD, PHANDLE); - LPWTSQUERYUSERTOKEN fWTSQueryUserTokenPtr = NULL; - - HMODULE hLib = NULL; - HANDLE hToken = NULL; - - do - { - DWORD sessionId = WTSGetActiveConsoleSessionId (); - if (sessionId == 0xFFFFFFFF) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName:WTSGetActiveConsoleSessionId: failed."); - break; - } - - if (fWTSQueryUserTokenPtr == NULL) - { - if (hLib == NULL) - hLib = LoadLibrary ("WtsApi32.dll"); - - if (hLib) - fWTSQueryUserTokenPtr = (LPWTSQUERYUSERTOKEN)GetProcAddress (hLib, "WTSQueryUserToken"); - - if (!fWTSQueryUserTokenPtr) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: Get symbol 'WTSQueryUserToken' failed."); - break; - } - } - - if (!fWTSQueryUserTokenPtr (sessionId, &hToken)) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'fWTSQueryUserTokenPtr' failed, error code: %d.", GetLastError ()); - break; - } - - DWORD winLogonProcessId = GetProcessIdOfWinLogon (sessionId); - HANDLE hWinlogon = OpenProcess (MAXIMUM_ALLOWED, FALSE, winLogonProcessId); - if (hWinlogon == NULL) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'OpenProcess' failed."); - break; - } - - BOOL bResult = OpenProcessToken (hWinlogon, TOKEN_ALL_ACCESS, &hToken); - CloseHandle (hWinlogon); - - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'OpenProcessToken' failed."); - break; - } - - HANDLE hTokenDup = NULL; - bResult = DuplicateTokenEx (hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup); - CloseHandle (hToken); - hToken = NULL; - - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'DuplicateTokenEx' failed."); - break; - } - - bResult = SetTokenInformation (hTokenDup, TokenSessionId, (void*)&sessionId, sizeof (DWORD)); - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcessGetTokenByName: 'SetTokenInformation' failed."); - break; - } - - TOKEN_PRIVILEGES TokenPriv = { 0 }; - LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &TokenPriv.Privileges[0].Luid); - - TokenPriv.PrivilegeCount = 0; - TokenPriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - AdjustTokenPrivileges (hTokenDup, FALSE, &TokenPriv, sizeof (TokenPriv), NULL, NULL); - - hToken = hTokenDup; - - } while (0); - - if (hLib) - FreeLibrary (hLib); - - return hToken; -} - -BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd) -{ - if (image == NULL || cmd == NULL) - { - XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: parameter(s) invalid."); - return FALSE; - } - - HANDLE hToken = GetTokenByName(); - if (hToken == NULL) // "SVCHOST.EXE" - { - XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: GetTokenByName failed."); - return FALSE; - } - - XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'GetTokenByName', hToken:%d.", hToken); - XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'GetTokenByName', image:%s, cmd:%s", image, cmd); - - STARTUPINFOW si; - ZeroMemory (&si, sizeof (STARTUPINFOW)); - si.cb = sizeof (STARTUPINFOW); - si.lpDesktop = L"winsta0\\default"; - - PROCESS_INFORMATION pi; - BOOL ret = CreateProcessAsUserW (hToken, image, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); - if (!ret) - { - XTrace (L"ADLX Call Service: InvokeUserProcessInvokeProcess: 'CreateProcessAsUserW' failed, error code:%d.", GetLastError()); - return FALSE; - } - - return ret; -} - -DWORD WINAPI CreateUserProcess (LPVOID lpParam) -{ - if (lpParam == NULL) - return FALSE; - - wchar_t imagePath[MAX_RESULT_LEN] = { 0 }; - GetModuleFileNameW (NULL, imagePath, MAX_PATH); - - InvokeProcess (imagePath, (WCHAR*)lpParam); - - return TRUE; -} - -BOOL GetUserProcessData (Messager* messager, ResponseData* responseData) -{ - if (messager == NULL) - { - XTrace (L"ADLX Call Service: GetUserProcessData: invalid messager"); - return FALSE; - } - - if (responseData == NULL) - { - XTrace (L"ADLX Call Service: GetUserProcessData: NULL responseData"); - return FALSE; - } - - WCHAR eventPath[MAX_PATH] = { 0 }; - WCHAR shmPath[MAX_PATH] = { 0 }; - - swprintf_s (eventPath, MAX_PATH, ADXL_EVENT_NAME, messager->adlxEntityName); - swprintf_s (shmPath, MAX_PATH, ADXL_SHAREMENORY_NAME, messager->adlxEntityName); - - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - HANDLE finishEvent = CreateEventW (&sa, FALSE, FALSE, eventPath); - - XTrace (L"ADLX Call Service: Main: GetUserProcessData, evt: %s, shmpath: %s\n", eventPath, shmPath); - - if (ShmCreate (shmPath, SHARE_MEMORY_MAX_SIZE)) - { - if (ShmWriteBuffer (shmPath, (PVOID)messager, sizeof (Messager))) - { - // Create user process to call ADLX function - DWORD threadId = 0; - CreateThread (NULL, 0, CreateUserProcess, (LPVOID)messager->adlxEntityName, 0, &threadId); - // Wait user process to write result to shared memory - if (WAIT_TIMEOUT == WaitForSingleObject (finishEvent, INFINITE)) - { - return FALSE; - } - // Get template structure from shared memory - if (ShmReadBuffer (shmPath, (PVOID)responseData, sizeof (ResponseData))) - { - XTrace (L"ADLX Call Service: Main: GetUserProcessData: Readback result: %s", responseData->executedResults); - ShmDestory (); - return TRUE; - } - } - } - return FALSE; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUService/mainGPUService.c b/vendor/adlx/Samples/C/ServiceCall/GPUService/mainGPUService.c deleted file mode 100644 index fe78ffc..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUService/mainGPUService.c +++ /dev/null @@ -1,437 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUService.c -/// \brief This document demonstrate how to use windows service call to get GPU information. - -#pragma warning(suppress: 6248) - -#include -#include -#include -#include "SDK/ADLXHelper/Windows/C/ADLXHelper.h" -#include "SDK/Include/ISystem.h" -#include "GlobalDefs.h" -#include - -void XTrace (wchar_t* lpszFormat, ...) -{ - va_list args; - va_start (args, lpszFormat); - int nBuf; - WCHAR szBuffer[MAX_DEBUG_STR_LEN]; - nBuf = _vsnwprintf_s (szBuffer, MAX_DEBUG_STR_LEN, _TRUNCATE, lpszFormat, args); - OutputDebugStringW (szBuffer); - va_end (args); -} - -// Service name -#define ADLX_SERVICE_NAME L"ADLX GPU Service" - -// Global variables for service routine -SERVICE_STATUS_HANDLE g_StatusHandle = NULL; -SERVICE_STATUS g_ServiceStatus = { 0 }; -HANDLE g_ServiceStopEvent = INVALID_HANDLE_VALUE; - -// Service routine -VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv); -VOID WINAPI ServiceCtrlHandler (DWORD); -DWORD WINAPI ServiceWorkerThread (LPVOID lpParam); - -// Install/unistall this service -// N.B: Need admin permission -// User can also install/unistall this service by windows command line -// Usage: SC CREATE "ADLX GPU Service" "GPUService.exe" -// SC DELETE "ADLX GPU Service" -void InstallService (); -void RemoveService (); - -// Invoker GPU information with ADLX in user process by share memory communication -extern BOOL GetUserProcessData (Messager* messager, ResponseData* responseData); - -// ADLX executor to be run in user process -// Retrieve the first available GPU vender id and name -BOOL GetAdlxGpuInfo (WCHAR* resultBuffer) -{ - if (resultBuffer == NULL) - { - XTrace (L"ADLX Call Service: GetAdlxGpuInfo: invalid argument"); - return FALSE; - } - - if (ADLX_FAILED (ADLXHelper_Initialize ())) - { - XTrace (L"ADLX Call Service: GetAdlxGpuInfo: ADLX helper initalize failed."); - return FALSE; - } - - BOOL ret = FALSE; - - IADLXSystem* sys = ADLXHelper_GetSystemServices (); - IADLXGPUList* gpus = NULL; - ADLX_RESULT res = sys->pVtbl->GetGPUs (sys, &gpus); - if (ADLX_SUCCEEDED (res) && !gpus->pVtbl->Empty(gpus)) - { - IADLXGPU* gpu = NULL; - res = gpus->pVtbl->At_GPUList (gpus, 0, &gpu); - if (ADLX_SUCCEEDED (res) && gpu) - { - const char* vendorId = NULL; - res = gpu->pVtbl->VendorId (gpu, &vendorId); - if (ADLX_SUCCEEDED (res)) - { - swprintf_s (resultBuffer, MAX_RESULT_LEN, L"VenderId=%hs ", vendorId); - } - - const char* gpuName = NULL; - res = gpu->pVtbl->Name (gpu, &gpuName); - if (ADLX_SUCCEEDED (res)) - { - swprintf_s (resultBuffer + wcslen(resultBuffer), MAX_RESULT_LEN - wcslen (resultBuffer), L"GpuName=%hs", gpuName); - } - - gpu->pVtbl->Release (gpu); - ret = TRUE; - } - - if (gpus != NULL) - { - gpus->pVtbl->Release (gpus); - } - } - - return ret; -} - -// Get and dump GPU vender id and name -void ShowGPUInfo () -{ - ResponseData result; - Messager oneMessager; - oneMessager.adlxEntityName = ADLX_FUNCTION_NAME; - oneMessager.exector = GetAdlxGpuInfo; - - if (GetUserProcessData (&oneMessager, &result)) - { - // Dump results - XTrace (L"ADLX Call Service:ShowGPUInfo: %s", result.executedResults); - } -} - -// Usage -void Usage () -{ - printf ("\n"); - printf ("\tThis exe is a service executable, you can install/unistall it with:\n"); - printf ("\t SC CREATE 'ADLX GPU Service' 'GPUService.exe'\n"); - printf ("\t SC DELETE 'ADLX GPU Service'\n"); - printf ("\n"); - printf ("\tOr use the executable itself to install/uninstall:\n"); - printf ("\t GPUService.exe -install or GPUService.exe /install\n"); - printf ("\t GPUService.exe -remove or GPUService.exe /remove\n"); - printf ("\n"); - printf ("\t Use GPUService.exe -help, GPUService.exe /help to show this usage, or GPUService.exe ?\n"); - printf ("\n"); -} - -int wmain (int argc, wchar_t* argv[]) -{ - XTrace (L"ADLX Call Service: Main: Entry"); - XTrace (L"ADLX Call Service: Main: Args:%s", GetCommandLineW ()); - - if ((argc > 1)) - { - if (((*argv[1] == '-') || (*argv[1] == '/'))) - { - if (_wcsicmp (L"install", argv[1] + 1) == 0) - { - InstallService (); - return 0; - } - else if (_wcsicmp (L"remove", argv[1] + 1) == 0) - { - RemoveService (); - return 0; - } - else if (_wcsicmp (L"help", argv[1] + 1) == 0) - { - Usage (); - return 0; - } - } - else if (_wcsicmp (L"?", argv[1]) == 0) - { - Usage (); - return 0; - } - } - else if (_wcsicmp (L"GPUInfo", GetCommandLineW ()) == 0) - { - WCHAR eventPath[MAX_PATH] = { 0 }; - WCHAR shmPath[MAX_PATH] = { 0 }; - - swprintf_s (eventPath, MAX_PATH, ADXL_EVENT_NAME, ADLX_FUNCTION_NAME); - swprintf_s (shmPath, MAX_PATH, ADXL_SHAREMENORY_NAME, ADLX_FUNCTION_NAME); - - XTrace (L"ADLX Call Service: Main: GPUInfo evt: %s, shmpath: %s\n", eventPath, shmPath); - - if (ShmCreate (shmPath, SHARE_MEMORY_MAX_SIZE)) - { - Messager messager; - if (ShmReadBuffer (shmPath, (PVOID)&messager, sizeof (Messager))) - { - ResponseData result; - if (messager.exector (result.executedResults)) - { - result.size = (int)wcslen (result.executedResults); - ShmWriteBuffer (shmPath, (PVOID*)&result, (ULONG)sizeof (result)); - - HANDLE hEvent = OpenEventW (EVENT_ALL_ACCESS, FALSE, eventPath); - if (hEvent) - { - SetEvent (hEvent); - CloseHandle (hEvent); - XTrace (L"ADLX Call Service: Main: GPUInfo, user app finished."); - } - } - } - } - - return 0; - } - - SERVICE_TABLE_ENTRYW ServiceTable[] = - { - { ADLX_SERVICE_NAME, (LPSERVICE_MAIN_FUNCTIONW)ServiceMain }, - { NULL, NULL } - }; - - if (StartServiceCtrlDispatcherW (ServiceTable) == FALSE) - { - XTrace (L"ADLX Call Service: Main: StartServiceCtrlDispatcher returned error."); - return GetLastError (); - } - - XTrace (L"ADLX Call Service: Main: Exit"); - - return 0; -} - -VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv) -{ - DWORD Status = E_FAIL; - - XTrace (L"ADLX Call Service: ServiceMain: Entry"); - - g_StatusHandle = RegisterServiceCtrlHandlerW (ADLX_SERVICE_NAME, ServiceCtrlHandler); - if (g_StatusHandle == NULL) - { - XTrace (L"ADLX Call Service: ServiceMain: RegisterServiceCtrlHandler returned error"); - goto EXIT; - } - - // Tell the service controller we are starting - ZeroMemory (&g_ServiceStatus, sizeof (g_ServiceStatus)); - g_ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_START_PENDING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwServiceSpecificExitCode = 0; - g_ServiceStatus.dwCheckPoint = 0; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - - /* - * Perform tasks neccesary to start the service here - */ - XTrace (L"ADLX Call Service: ServiceMain: Performing Service Start Operations"); - - // Create stop event to wait on later. - g_ServiceStopEvent = CreateEvent (NULL, TRUE, FALSE, NULL); - if (g_ServiceStopEvent == NULL) - { - XTrace (L"ADLX Call Service: ServiceMain: CreateEvent(g_ServiceStopEvent) returned error"); - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOPPED; - g_ServiceStatus.dwWin32ExitCode = GetLastError (); - g_ServiceStatus.dwCheckPoint = 1; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - goto EXIT; - } - - // Tell the service controller we are started - g_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP; - g_ServiceStatus.dwCurrentState = SERVICE_RUNNING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 0; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - - // Start the thread that will perform the main task of the service - HANDLE hThread = CreateThread (NULL, 0, ServiceWorkerThread, NULL, 0, NULL); - - XTrace (L"ADLX Call Service: ServiceMain: Waiting for Worker Thread to complete"); - - // Wait until our worker thread exits effectively signaling that the service needs to stop - WaitForSingleObject (hThread, INFINITE); - - XTrace (L"ADLX Call Service: ServiceMain: Worker Thread Stop Event signaled"); - - /* - * Perform any cleanup tasks - */ - XTrace (L"ADLX Call Service: ServiceMain: Performing Cleanup Operations"); - - CloseHandle (g_ServiceStopEvent); - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOPPED; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 3; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - -EXIT: - XTrace (L"ADLX Call Service: ServiceMain: Exit"); - - return; -} - -VOID WINAPI ServiceCtrlHandler (DWORD CtrlCode) -{ - XTrace (L"ADLX Call Service: ServiceCtrlHandler: Entry"); - - switch (CtrlCode) - { - case SERVICE_CONTROL_STOP: - - XTrace (L"ADLX Call Service: ServiceCtrlHandler: SERVICE_CONTROL_STOP Request"); - - if (g_ServiceStatus.dwCurrentState != SERVICE_RUNNING) - break; - - /* - * Perform tasks neccesary to stop the service here - */ - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 4; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceCtrlHandler: SetServiceStatus returned error"); - } - - // This will signal the worker thread to shut down - SetEvent (g_ServiceStopEvent); - break; - - default: - break; - } - - XTrace (L"ADLX Call Service: ServiceCtrlHandler: Exit"); -} - -DWORD WINAPI ServiceWorkerThread (LPVOID lpParam) -{ - XTrace (L"ADLX Call Service: ServiceWorkerThread: Entry"); - - // Periodically check if the service has been requested to stop - while (WaitForSingleObject (g_ServiceStopEvent, 0) != WAIT_OBJECT_0) - { - ShowGPUInfo (); - Sleep (3 * 1000); - } - - XTrace (L"ADLX Call Service: ServiceWorkerThread: Exit"); - - return ERROR_SUCCESS; -} - -void InstallService () -{ - WCHAR path[512] = { 0 }; - if (GetModuleFileNameW (NULL, path, 512) == 0) - { - XTrace (L"ADLX Call Service: InstallService: Cannot get g_SharedFile path."); - return; - } - - SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE); - if (serviceManager) - { - SC_HANDLE serviceHandle = CreateServiceW ( - serviceManager, ADLX_SERVICE_NAME, ADLX_SERVICE_NAME, SERVICE_QUERY_STATUS, - SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS, - SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path, - NULL, NULL, L"", NULL, NULL); - - if (serviceHandle) - { - CloseServiceHandle (serviceHandle); - } - else - { - XTrace (L"ADLX Call Service: InstallService: Cannot create service."); - } - - CloseServiceHandle (serviceManager); - } - else - { - XTrace (L"ADLX Call Service: InstallService: Cannot open service."); - } -} - -void RemoveService () -{ - SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT); - if (!serviceManager) - { - XTrace (L"ADLX Call Service: RemoveService: Cannot open service manager."); - return; - } - - SC_HANDLE serviceHandle = OpenServiceW (serviceManager, ADLX_SERVICE_NAME, DELETE | SERVICE_STOP); - if (!serviceHandle) - { - CloseServiceHandle (serviceManager); - XTrace (L"ADLX Call Service: RemoveService: Cannot open service."); - return; - } - - if (!DeleteService (serviceHandle)) - { - CloseServiceHandle (serviceHandle); - CloseServiceHandle (serviceManager); - XTrace (L"ADLX Call Service: RemoveService: Delete service failed."); - return; - } - - XTrace (L"ADLX Call Service: RemoveService: Deleted service."); - - SERVICE_STATUS serviceStatus = { 0 }; - ControlService (serviceHandle, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&serviceStatus); - - CloseServiceHandle (serviceHandle); - CloseServiceHandle (serviceManager); -} \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/GPUServiceCall.md b/vendor/adlx/Samples/C/ServiceCall/GPUServiceCall.md deleted file mode 100644 index eb0380b..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/GPUServiceCall.md +++ /dev/null @@ -1,86 +0,0 @@ - -# Background - -User may encounter a situation where they cannot directly use ADLX -functionalities in windows service application. - -This documentation demonstrates how to call ADLX functionalities in -windows service call. - -We have the sample codes in -"ADLX\\Samples\\CPP\\ServiceCall\\GPUService" as CPP project or -"ADLX\\Samples\\C\\ServiceCall\\GPUService" as C project. They both -generate executable "GPUService.exe". - -# Usage - -This executable is run as service (if you run it as a normal application -it will abort with errors) - -## Install this service - -1) Open windows command line utility with administrator permission. - Switch directory to the executable's path, take my dev PC for - example: - -> "D:\\DevShared3\\Work\\Repo\\drivers\\drivers\\ADLX\\Samples\\C\\build\\bin\\Debug\\" - -2) Copy "ADLX.dll"(ADLX library binary) in this folder, then enter - "GPUService.exe -install: - -> ![Text Description automatically -> generated](media/image1.png){width="5.768055555555556in" -> height="3.15in"} - -3) Check if the service is installed: - -> Open windows' service settings by win+R with services.msc: -> -> ![Graphical user interface, text, application Description -> automatically generated](media/image2.png){width="3.075569772528434in" -> height="1.7870527121609798in"} -> -> Check service with name "ADLX GPU Service" -> -> ![](media/image3.png){width="5.159722222222222in" -> height="3.0510476815398073in"} - -## Uninstall "ADLX GPU Service" - -Open windows command line utility with administrator permission, enter -"GPUService.exe -remove" - -![](media/image4.png){width="5.763888888888889in" -height="0.6527777777777778in"} - -The service is removed in OS. - -## Debug this service - -1. Start the service: - -![Graphical user interface, application Description automatically -generated](media/image5.png){width="5.768055555555556in" -height="2.3826388888888888in"} - -2. Run the debugging executable (compiled with debug configuration) - -Open Dbgview.exe (visual studio contains it by default) with -administrator mode to view the output of this service. By default, the -service runs a worker thread in backgound to output GPU vendor id and -name periodically with 3 seconds. - -3. Set Dbgview.exe (admin mode) with below options: - -![Graphical user interface, text, application, email Description -automatically generated](media/image6.png){width="5.768055555555556in" -height="2.9611111111111112in"} - -4. Check the service outputs (with "ADLX Call Service:" prefix): - -![](media/image7.png){width="5.7659722222222225in" -height="1.8958333333333333in"} diff --git a/vendor/adlx/Samples/C/ServiceCall/ReadMe.html b/vendor/adlx/Samples/C/ServiceCall/ReadMe.html deleted file mode 100644 index a9ea3b5..0000000 --- a/vendor/adlx/Samples/C/ServiceCall/ReadMe.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -

Background

-

User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.

-

This documentation demonstrates how to call ADLX functionalities in windows service call.

-

We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.

-

Usage

-

This executable is run as service (if you run it as a normal application it will abort with errors)

-

Install this service

-
    -
  1. Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:

  2. -
-
-

“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/C/build/bin/Debug/”

-
-
    -
  1. Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:

  2. -
-
-

Text Description automatically generated

-
-
    -
  1. Check if the service is installed:

  2. -
-
-

Open windows’ service settings by win+R with services.msc:

-

Graphical user interface, text, application Description automatically generated

-

Check service with name “ADLX GPU Service”

-

-
-

Uninstall “ADLX GPU Service”

-

Open windows command line utility with administrator permission, enter “GPUService.exe -remove”

-

-

The service is removed in OS.

-

Debug this service

-
    -
  1. Start the service:

  2. -
-

Graphical user interface, application Description automatically generated

-
    -
  1. Run the debugging executable (compiled with debug configuration)

  2. -
-

Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.

-
    -
  1. Set Dbgview.exe (admin mode) with below options:

  2. -
-

Graphical user interface, text, application, email Description automatically generated

-
    -
  1. Check the service outputs (with “ADLX Call Service:”prefix):

  2. -
-

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/C/ServiceCall/media/image1.png b/vendor/adlx/Samples/C/ServiceCall/media/image1.png deleted file mode 100644 index c945c18ed9d5316523a6c5de5179e0cd15216ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59823 zcmagFbx>RD7dBd@xVsaa06_~BYjLNzLveT4oECR?2*urt2WWAEI}|Hk+$9jm$2q_6 z-uvfWGnvf$PWJ3~XVzY8Jzc+<#uYvHqm|>BWoscnpN;+vhc!i=3YOix=3v|9)N$I+t0zc(E@f zFZD^&$N1>cGlxMQl80t(VI?KQ!~6f3jwQE_r^2Jp$_8XS3S9c_44i90ocEhN>pZo(9Ce zI}M868$Uw`o9vvE6)lVVZcshJgBRe*duw-XvL(SvIGLQ*Gx8gG;5F`@<;igIH%usw$!}Y@& zE+N6=%v3VXf$3~6Ei?vDp^>TN8ud)wiE`z<`+*l`ydgQhqu5su?T#7rJr^!fyW1x= z+pL!Ay%c>M<)N~8{?~nZsxddW`9!g7{j~oKUGmUa1R+9)(zis~voedf4T?YR7LHCF z@cLF4{A(A!yJY$5oH4e6_PkUCTOL^04WD&~R)1hV@d+l0V@Im%-ypYQToI@E8#fE; z89sNHI-FgwHsmsMh)Hb3*20@^BI^EkzwnfZ2)T?6`=k=T+Tt}st(^j~mWcW-P(LM^ z=oFGZnNO)1>dUF=k)`sd_AF|vpVJMw4^Etw(_;E-`Jxp|zfFk})X@_2>}pWT87VC) z(&a{|53!nkugc&_4C`kEtZf>)+Ty+4Y>~(T0zoC8QGbqJsPh2hST+2_+$t61*jNjc zxYBZ^!7?b4LPD6kJG{W@eSfucgq0L~H|JgIkl+&+gTDNp`P9V%0LMaX2q8!u%admj zG#ro&_huGN7D{|)DN!evsAZ)z!wfl;{UUdIIU!$B$;L{u0jmRNbmxhrKA$ll1;UW& zJ?JW`g0s(5D}Jc@uk%_{Evcy)X4EbgG|IKunJ$la>?XTVKAnSok@%+GJE!&8glx5) z=7enOl(VRXP*J{~Q%{_8>$f`yfvEzd{SrMOobnCQ=*QwYh7RUN_XWnzL@?lP{dLbB zgbUK)+rI(??I~C>RrdU3>*Urd-fqHn+i6?AYMTE{dqQt;Gbksiu5UPS&_v>U4inMp z4-F&kmP<(5L~nNL?ztpkDi`!3K`ARKkYdR4Nr2%9Ff{d?rI74t=&Q5Eft7;krR3C{ zuv4!cSHPEn#%=Y=fvzRE)WtA(MS}#obWUy89X80=IG<1Tjwn)JS9|Q}f@f9P^JvvK z(|gS?cEK2&eM@aplHZ;d+);ZmR~rDAU-KRMXoSbn`v67u53(y=an%JRk{E-BX0Ny& z3jhd_kTFM=m5%JAYl z?sjpir}OKJ+l(!wg5c)uqO+DK(T>F3+R$jeDykAIZG5c|_Till#GYVc)y&$ zURRTjLzhDX97q%@{V zbpzK**_EGW3L$9?2=|pN=|n{XV1wBNPo%j2Z3>zsqraM6NPcy-qs8@~_v?s1uOZ!j zUzg+8{~Vh5CKf+=!9reEmf3DiWt(h{oI;0sb=EegQa#z+HEgpMw_3o+Ti@GIVJPzY z^s>6PtDnN;?jP~H9niEIGo(cVHD=(R*`|V{v<#ZK*L4;6gaALj4uUUt4~fI8!LaU! z5%91x@(;yIM>{8^Qj@#SI=0#Yo`)$OX|m6GnXl5A<-2+2;O0mRsy8!)fv_q)pp zkk!P*Ujh3IbNuN;D+0VM%areu_p(C$gU^^x>5u}E4LT-C69QWrnS^HYYqct2AVFfj z!F`rfUQXC@&?mgH&8%AHA}(FEVL4+a6XkJ2GsQlQ5a#~L;l_%xvN8lFAoSPK72!Jk zrp3nA?t5*iL4IXp?kV`R!z0>+m0`T&W{dW;rLAk=^y$W#S5)XzkQ26ZHymXhKL0K% zP^3%8)|9#h;!l+zk%uMA1V=`q zEqPvFVWYjIBT6Xii&kJ0^gH1Qx)uQc+zPf;2>H%ZYh!kK21uuY4xAze-i@~KPl>

Tw190r7*&r?9} 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 diff --git a/vendor/adlx/Samples/C/ServiceCall/media/image4.png b/vendor/adlx/Samples/C/ServiceCall/media/image4.png deleted file mode 100644 index d03b04df934623cc8e539b2f10a568a1ffd720f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18953 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%0DYIT$8NLBEg=P^J9f|9_#{lM* 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 Hu0mjfZgM-- diff --git a/vendor/adlx/Samples/C/ServiceCall/media/image6.png b/vendor/adlx/Samples/C/ServiceCall/media/image6.png deleted file mode 100644 index c91e3acd1cc0e31e0f60cc98badb8f8b95bf562e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48071 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 diff --git a/vendor/adlx/Samples/C/ServiceCall/media/image7.png b/vendor/adlx/Samples/C/ServiceCall/media/image7.png deleted file mode 100644 index 562aab8e8a9623fb29902b5d51de6d6aaf453311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77045 zcmX_n1yEaC+ci+!DHMl5@#4kZ3lu9*tQ0Hm4#6EtDS?(2*Fu3pi@SSpFBT-ho!~)2 ze%|li`)4LQ=geeI&g^I9S!=JgPy8EgRU&*^d^9vPB6T%oJv1~7uE*mBTurSymsO%d+8bf_oBJ> zBe_byIlivUTx^F(3GSV_l$xFknyVLARXb>5J+`C%TNkWuldjr{EZkrN=a zgDAP@lYn@@*^mrk3l$9LL>z~~%EgwM!oR7`VsMc}eF8K7+)xGd^pfbdIMr_nVsK2z zp`>#mcL;;1WAdagZE=i!jFO?7-8k?=f=Xy&S}qyI3LmQe%x(I#dWA5s&vN|I$_x;i z{8=5`3RqRY%=a-^H7n{R$LwJId7-*T+wG98Q@X}NJ71%KSNG*m29ttuk&QOxTt+jo zA1z@9E5AO7>ZeRqZW_^qs4ZPhFy9H@SMdBvL0cy^VVkGc;=b!mT_>HbC~~li`GsWwJzWM(RNL7!0c040 zsfV~emP3-Q-OY)ee$1fhFf#-(++D%0EKvBJ_x%&6v*bx+rA>en#*T1HIsc|ssSN~# zpR}xnMC#;@;NiX`$kJwm_(*ADy+RI|5h=$dA7Mg-!B`x8joQ*#xSUO>su%4gC%LD= z(S9FZo**>N5STK)lK5DC9W-o0d_S^qSa{ok75*`yI4;Fe+X>@gFfN51G?cBvvQ5Z3$h5L;yXU}@D%`a^Gip0 z-%@&b*Tofnmo*PPwxyY zc`psKw2rv82rzU=R|SOO+mD+^)|QhKx8DjMH}6cm?F_2UQh+I46Wn_50CyvT;5)4k z(NXq3>K1g_GG`r@Gk+4f{wE0uE4p|z2D6P?MWNToLSq{)CBtVO6C3Z)GG(I zk7%MmjE)r%qYszSD~X$XU$f)5#&NI^u)b=Rp3}MeEP4EMeF`{AnF)&H?7V<(scIwM zfm(529|HFwxk$*>#GRqIIE6|J=l89+aNllIercQ#A#(aK6wz*G>vQQzqS&-?=$M!} z_|Cl@)VLZ#;x2nF4I&3t)rx=>Zcm<3NA|k6V>(mu@8;g%R!W}}t|E6ac|QAk-0!La z4=(3D;gig5=f_#%7u})Kuc5np?fkv7bF_B1_V9cC3B{2~3cu}G;8C*-rr~j~i4xr| zAnb`d!&F4!5Y7EoMXSf_dHi4TR=|TBd&?~{%$43sD9kJgT9iw4pPhILm+{}o{`I7d zJ_owx7RPbiN%xN3PaOHcEnemtKO6m~?ev1txCH^5eUJhAp|F(Wf}k-nB+!_75EGXa z!0LEFyzD0qPLw|IbgWnHwMO^Nb#8A~TzxV%6$#Ec0dV_9jEt7%m1rPMP+l-$D{fW0 zFPw+x($~`RLnMoPTkJV@aaHxpu7p`)_b}jBkQRJkWMZQZM8?M`7fxJ!f*j8{pvzH-8z>Pl8NhE0k?gshW;g$yYujW*_#W# z>R#-poRB%kxbN+OZXDs*2Wg16wm=hQu3=XYcQBr{s`vq*9}s%Z-R1=qZj%Xy9y!Iw zo!rWdQ@>NZJETEiV)xFA;euXKS=t?R<#a;27_oQ>1DcNF5v= zi5zO)sPegrO)3#nZ2JvgRV{gAqK{rHbh5sRlc%Dr_Oo*m2h?haU`fchc?2V5*EG*)==I z7+6BA0G_2`?(h@$h09Qz2J}pD?A@xbwI>0ucxreYwL}Lldg%%I#v)A*vLdwSBV#_i}sH1y$ zp(+S^LBor<#p#`!rWhB!1;QV4)HqA!qbs>1Bb7X02=(YVoZj(aOsa|OXmWH?A!{Yf z=xF)tL*2H^Ga(?nqZ0}>QA#(HjyYdysS>V^EXm^4{QcXisE~le$e%h#3O|I~Uinot z(~B3M(Q;_U>7@vT=z{2jZ@8q-!s-|QQ61|#GIIA!?sQH5IW+ljhA&5F=7}*7nQ`r^ z>KY2S%U$!^yX9k;scLWn$K)CnN0L5$XDUSIe*7DM*v$xHYa)ytb9(K569+L0aH-m` z;y-M=Gc1VIISDevol}(qk|!Ovk+fb*$FQg-LA5e(3(^oq;)ybm$=_q*;tlwy@C!PfW9a9pRUz`b#yNCzDF&U^INTv+st!Z!&Z>)&?DpttnbtsxDnI7(C*B^7`AO|Y?`r= zW0coz-OAVvu_;ecRTtYgo@hhRYSYVv+y4p$FiL+Ux$68BGAnvQFO9BY?J8Y;fL?aK zJ@D<{I(CYk4};4q+oH)Sp6KL?v%`Zd*GWwS5K(0?^4j%#8giR=Y=t^-+~7i{cL@MxBq$tnwp z4AW+a&qRuNz{Atgi+XsExu+Z!cWEeX-1m(Vcg8@E68Pq@n_hO_q*Y)2DeDN|q2Biq zoq;M?^nvh;fry~B8O(QTvIi425@yLPXc>1gFOA(#_i}LHP~Bq_~tu95GUHWWLOd{wCSkMN$b0vXYViHH8WL2Z)Rh7Iu|pT%F#K;Wu1Iu8s7d8zQNX*K+X01q2?O^qa+!L=$jQ?eiX}rkUJ-LfwCx z;d(77>0>fulg@wYJr$wfD}_ky`J#m53GXHOM|JQ;W?=ywB{t`s~vxUElH7-w5Qhv7+A+3eV!ceU5OuN^oYdo6j zs?>O^6j*8)2k$uEqFBGGJ&$Mox;vvIl?z<={L4Ip(Z)O8%_2^Wb)! zFISHW)s?wbY3a$chsr-Ls2vuW(O2(hnMTjWxCx$bE@+mQL(*hsGozrpJ}~h)8MLDf zx-CO6n2D>+!$SdBOFAAt*2OweO%X303a~uKKu&maYUory9G8T|tL50hM-M zw2=>XMcpKsO%QQKxB4yvjgqQ~BQk)Z!|FUygJFh zod$IjY#SF-`kan?3SPN@qW-4dMKMN$n2br8 z5PZG@_4GAj^55D$OUoEXWih!-I6-|J99=`pgmZJmYFeNk=ZTXje+ODxQ>icHRJhI> z1gunle>@i=POI}FrOu1mKU9AIvR(-ct>bhcNNjkfu(qmmnG|kdCd)%K3Ol4pyaEL_ z(PZ>Y&ruTdX~Xfy!kYs@bU?d5DSuaN zV!KzRyIZt8&%4H+Jjhp)kM3;9G0VKx?_>hmC}154Dm+LLp|eoK(6ww1jlr-oPdm=79+!1w4t5 ze%Em&2_lO6)*tIz&mD9QNs9cM&MnQ=x>)JvUTStL5-6mMwxGg zr&F;Q7-T4@sCwT`q{?UT5ogcF)kle7v_JnsNrtUKr>d#_!s>TP(v+5l`hPIq`!OQ_ zS~0p4jeXM=>mx{8#nDXyzsB0qbthu!s)KvHBjujQYHu^@ewcEz52t&%2ZQ}8S50GB zS=Wjt_&u-glxXR2dq(QO9n{qxU6qPz^E+kt>M(U|OYujYv6zG{8tM!P6O$yJ)-x`T zD}3d*;Z%INtsleTJ~p<>3KE^4VwW9^7n%xx{Mz{>c_m8Gz0`xRjY+wFPB&#vnYh6* z(KS6wRIfRn(#qeV0z`Y|Y(-cvaXC+ht+Mwol-#YqAFF=@agYZdxb&+dtex^jAa# z?pxCr;~hK5RiT{U$nv$e2I}UV(3kDxBWlCKri$qenQ}0~Th}{}-pJmy`Sy(}8TtFm zJL8z`vlkRUOS<0di1TQ=lBK?nezsSU^iRXh`>=$eSD`sGld`_wW#C}vgyBuF&i85W z*Do!hhx)(IczDgUdT80%-_l9VrwT}Qs&!h!{e+duy*B1PH3|9<)q0?Op=ob$SssH_g{fE!W?&0-;I-RhLNPNKG_Uh(6 zE}r)a)%!jGOpZ-!H{EDMXKn%;CC_+kUt5zZ*zh`!oq;1DEp^9Ut--jY9~RgoDft2T z?sw773tHr^R4tA&JQ9_`OTi2L{o7{(UCK z@)_Yvis=ShL6Z4A6an}}b7TjPs;{(+VC3nq#l&;PRicpDtzWjTv;I6P$@>%+i#4XY%Z8nQsS=?-Ae9@s&!wrOL(nKX00uX1Wn|Dqh|CNO z3`8HK0~^ML{OvBo#)7@Qy%k#|lOzF!tg@9{X&JsSQ#sQakpL&B*TzKYIXNp=_utdE z#>YQ3n%mjgHS(g|tr}7?8Ut#; zJVyE+GC$9O>8=&<{%U!dXY)*uf|9bgx0gao%XN33_BqY-H@ZS20QQ_MubV(A_bsk< zs}BeDBGja6!ueOWqU;xi`3Ls1H@krun(Vs}uUJ`#A8;v-Fq_PCOB_WBn zaKY>L?(S~x?X>@sun3Dhe`(aRH>Nx-C$zqD!bf5<5j6fGAmDrC8Bb474_8w_&(}zP z9CG5>ws&8@e2F~?amRVi!ZNkI90>vu2VYFxHEn>_-oVo-BS}&U3-LP6Eu@l7=OeN4 z4P9@sf%p9W>lr(F#Tm$b_896q_|Z2;4Cc&y^|5SG`R;v;Ej%vHuBet4ho9l&mTE#4 z=H{#H9s&|lNqa3XlmS5)F=SG(i}Hgv4;RS6O3qcEBi7T4Z-e?NNs2)$Qrw{mnmKT#i?kb zxiqj!9lH@v-`=!=`FBDTpvu7`JSjhaQZfd^A*{g)xZ)Zb8iRuxD$vt*d384U@_84s z^|U*v^>pCjZts4ZsaGM}$Q4N0VMc24qvlD%Cpcfk6RH;{4K0#QCdRm14%^&JXoWPt zcZ|X{e;g34X4@3O0FwPRvp)_>>i zgB!(%k-=7_g;BNsD>2rX+VY2Yv&8RFcMP1vT;y)fzihpbnVFdtxIGIMTwGijP&IAs zS0*MIXte2+xb&YvAbh{Aa5pzMZPyfKXrXdxWn-gQc217ipBDHZh76bRrP9=WK<#FKObxk6a+<(@EbpoEmmSTQmx(QL-`>?VadcD@W=J>F)rAIPlzA~5U%3%J z-kqs{AC)pY`xb#fbgitI8Efg{xQ*+KeTv1V;-o;wCFUzyWB;IpA+&DJ>bp3Pp+_AI zzuB<>q8r}c!kNN>$6e@$Z99y0^^KL4-{7x5#mD3EnYCaF2?<367{nZO8f;rU;o{NA z8-7d^An=uwP%8gr&$uqB!MWgsFRl%jwEz7*ZeAw$ti_z3)f7V!=;$fn({U*=*qB&n zbbC-GI9H~#Nd6_y=0;a?Zf=y3#Y)5)Dir78pwkaJ-?W6&6+{edVG^Zz(0kr02Q!fZUDt&?vm5fK$?034A3xVJuo z&1u{S#B(x-_i%G(DGXDrVLwk^r<=m?-w6l7H&*PXt!&69Bb z*~Zouuh9`fNwxN3mPcpI=n2;{A7L;f5Q=_(GZ8kx`)D5q;gX()VRPxo-V~v&3s-*m zhfvm{_@8iTii%PK*W*zI;f+tgNeTDItriNQp`zP6{aeAFY-}X0{wJi7SmzaHK?Q~0 zg#K$GLR)0+*8&09fzZUfx@ay^tE2(WkZ$r03OF{GI_u7x*Pl*`<0k^jRvR(0y2~;Hbbh;U{5g((5c6X@{4+%Xt2Nme0 zfyt4@lw+B`R&H+c=pL_d1$gxN9>EMVX$w;uEpc@qWH93e0w41&MiFn)o$qLu*k)ti zrWw9ysbs0&5-XRlKEbVIE~im*iM8ZKBf>~O-wP(rY4Q>sz$*nSynz951JP$E^Yol| zB;Q7Vrvz^Nmeg_95E|u4wE9t)*mmXxyXx!d!NBjkH4+0t5EV}a=Y2>m2~`8j09&3L{#SMaMG6BcR}sjah_3Y^~;t(bJzkc1&Y=? zbk+Fx4erY)Ng^*XJCU{#F5m!V2z*AD?hZH`Tz~5+IbvPaf7CS!h77^}68bV$5a1ke z4;ctG_WMEA#*AiMxz9HSXWnivJnO<4u|oS{{;P$ye9fqKMZ&HDo&1T&IM~;G5z_@Y4na#_yDeM^PU^^rv~+<1u28r*age0AQw*8dh-0T z{?N@(Tjw|#D3Mp3(HDBW-*<_vefydc{NQ>J-hR;*JZ@+ zg+H_NR=NZT@3|NM9m(~ZF4Bo(`~UWw%07okz-iQ4On;s}EIouqE#s|U@9wgRGG#)g zbtkQ35r4K$NAS+u(virpJpD_|VJn`}o7J{AkI-i#^ znQU##sA8$=E!`Xw4m16jU7bGY0i&BFLHsuX3hzW&C?&n5HmZKVO3odQ=5QW@atfn*3NRA9GUj? z> zUrQC>miS&uZ2hv5ib%=bj z;3r%dV;8-U8SIU+&hHt_ANkzChnD2e8O&gcT};d(l!okv9$r`Bc^0g<94LvPccKyB z`k5Dich){GPX#>{1ZD-Jvr70elv3V&w?N~#29AQbNS{$fef!KhD<=G$RgxBu49~%l zR@v8%;>maV#-l?i(}*KxQh4;QC59A7;{&VdwuG#R4)Rh{_7LqCbBsps!EFP0dW^ zIK7ERib^w6Qz@&V)-ah$o~SDgMB&ezojo-JtKO^4T$OWh@3;JMT{Zo2W4QF^ z%2*d^V%j=P2l@9-)qW(Y7-4a()R_Bxr|MlE#*R%Trq0b!&{wB@AFL=KAe400M{NvQ z>grjf5`r93nPt)`*c6G;-tKUIohaZG!XK~Tb9e)?sw*cm-1g%v|L)rT#MyyoJmTkf zf~CL`L8;>Ctehw7dLz`HOuWNXZn+P;45nS1#&VItGRbciqWAXHH~X=A`^V^NV2+j% zBO3B=TxhBBiF`%6Ihb&dK6&=t0K4Xv=yRtsXf3U2V7Z1L$2m+`dOiH>!qbAD4-{`t zLX0t~NC0(&6Z!2$@>OwPzO&qdi@(rs5j%SWe6EtLwHL9u3Frn(evZ}tXOlKg8z{VX zb|%;^*}--B%q+{t@H&Q&YcGSEVeeINu&f=sy`a!^LTNf7&wDGff|qjWDo57QGN}Tr zm5+O01Z(JQONT$blDBytoGmjc^t(CC7OOhK95+cLGRcVboijf4m=5G2XYqE{_qjw* zN;pVN^1D#!n7aJkBJ&1YIm+!A_)tVCV(Du~dOD=O zyYIki`IRHvnMYG8^ytc6Wy@4hg+_PKk+yGt{rT;dmyL1&vv>jSh<73GrFUdO1yO7< zrQq{}S4t_GO>S+ShDLs$DLBg~XjbtXRuHLuL&~%JhD)xc~{n!fx zX5Fk9i-_Elev@CNM~uo}lgK{5zfaD}iMuW1$rks;pfPD4cXAXQpZ2wv zrQ=D&v992w3-Qg`!|M)0r(|XzAUGWruP=c05Ma}<(laoGK8B1+KXiKKAWs??_)T$j z81ZJI`6E+)YZ*0+8Ai>RgJw5CN=N!}xQv}=l;=6W45K0O73aYrczT^8*z7&&cY~Pb zW)qvAm;~iKQP#EJ{7Ji4ML)iN0lx2%cJk_h?NXvOdu5ghMxB*8@i@5gFek4cStT?~ znOwa6x!$9qH2oJVqPop_|^Za zLE67D2;{^s?;{}yeV)0m;Np-DS5S zag6#{sVHe$z#4YZa?o{-$K_R=z9w1rkMno}sAlK5;EhM(P@%<#L?5c#iP62x8;MH0 z&>ia6CD!93dp#oAj|=$ZUU1e-zqb?3`&ghG3xC>P5wk^(g&I`_`6b!(p0Pf5$z8EQ zH^(nygMnAK-_N`=^9j<__bNP9a0g2xOtRc3 zR!8`bIWtj)_4|BT*_9K@(=Rzawa}oNnXUQTW+GZ!Ot>?0<~}|$pKv2KqFdtrjk`wD zRq7_|+^xRbVx;p+F&8SONXWU^%e5moM=W~+yuzKY4cEsqQS;VZ( zj-_)jZD(yTsNSpc+c=8x=$Hd9iUDsqBR{i#~FP-3C+_UDIBq z%LiXtfb)K-T|MEYNajoNP9+ESCCF0rb%q(X9%J*hwsb%br4+HK6*%bob3oYuh@`w~ zBjoR?!Ut_RdB?atAo={q0NMQW?4%h)=XQPYeZhV zys$Xw0TmMYgz#=L)4YFZeNTxz6A5n5=SI$d71*-m}6TN0xCVj zo1c-;q8ZH|4=};rSqXf2J=#(Rxl9o_7<292!f#md%H1k=4g51YU-dq<@$#LPnMBgk zxFQNNzz3;rS-Dv{8b|#Zt(o^->IqBu(`el=QNNIOUV4|&(jM(u-EX%q=*4DwcBu#` zJRjvr3;TQ2^_#JLz9;kcoIi;pwI8XrqWzvx2vCazF8`YOYi*ix6Ih??)Q&Jx<1kEO zk?oWXZJbRT(X}Ya2>lbxw&uh8`?Jyrjg*1YRt@iUQ4W8V0Ix{`CNRm3IS?&K(!LK7qGMyOm*Ls=m>*ZbK+@e)_cXDDc$$0xi^T zE|vkD1$W)xYoniyJ8^1+sy4^~rD_0clTHIfk_LCxvy-dXmyl*riVf0UdNltr$Y39Bod`v>y(F=w4m|qv3=~NS`Kx)RX1218haP(#8`51<`VIpCMjZfV5Zgq%$wULiCC7j6| zOx1d}GZkXxF+UV0&{xJ@Zd}jCN`a;W+&HFnIipPo|U4!C4xuiv-Q7^1ealv++M;AQ$&MjUdNWSEi`;nHN!p)`*L4t@%-i6KJAq~*Spn`GXy4-4rA7z$s~>hWDoPHtnErQTy$<{dmJV z^Mq`hLdYhGa4PU~`}Vv>NZi@E2+y4ZONZ@hqM7zePjxAWU>aBx`4FFvzC00f2o%aC zI_^zc8_Yqi?~j7sPS*(&R|AO+Lh<5+_Ih zVEi|qy_6y3lZ$`58^;xJ5-6_Vbt9?0;|F_*kOQ3aL+mutJ=we z9V3zN;5KjM9(MEyLf2WrO8c?{JH~S3l?_SnEbLOdQ8)Ccio8M;>p9oiiMzf9^t_WD zfZ$7PZMV6u-1mo??eiy1Q}2Y{iQcTEL=PzLhp&BAvhW&MOyu&Zd-rsveC29)f2513 zot99^)gBKV%$E4KjGW>xu5-*$2$goWJyWZWKNt#4Js6YxBG@dzfXe6d{j}1+gAu$Bwpi$N(P7`e&E>pB4}4 z3INJ^8bpPQxqQsj%Qw$=pNf6ZOu+_vrJF3P`f5iToS45pp~oW4C>@UThsH(V&2F5~ zGXzU7P>x%3fV zZxU~-2M3l2b`r;+XjuNn#AJ8~Z|33VbIIrvvcV}0>inzx?mun-ujgWV?c*to9FI|8 zxh>s8o~;;&47hZ(oJcox8cZRlcC;FIH`JW1`DR@f!-*pWJ4PW0lM4$mRcP({-yjCCE)m_|?VfVSA@#OAs znv6hhR%x?eZ5RpLF|xez;fW0|(I$8RV2x?0D*+S2AE@{nU@N$6d|zEVbwp*<_WY;P zfk~UFzHiwfhfKMrhuuU)ohn0|b!usO`}zVecZ+Ji1JiF8?H92RLX4w^*v0nhQy5>j zY1tw_E?x2bMKNBR(}NhgtTCZx1h3#Pht@pXBG_48X8&w>;6Xq2rI~GLY#ur#{CguN zYKD-}qU~^5zzV5BrHu=(kJ#ij;t{sN__+m~s)VHzw#=?WpS^C~ znhmiD(Wg)+7K@h{$Wetu&+Yi{WvFbIJ`&fyp?Q8DNlzRsYwRMNJyh*Oh`6S2V9dZZ zfKyGDaWblM-?v-b8dq-8m0fNQXJgcg{`sUg`Qm-zH^Dwp&2_A6zTlkO(YUu)1e@g@ zgW(^aT#Fw06i$+0{{j%|p_tYbB{QcM7SykRxsfP|nrq#CIsV%Vy*0q&DlBwa9S!Au znyHGT?|nGOf&LS>Y1C@&vxKAC|=2&&94=Q27kRDJ8Ax- zzD+l)eV2{*9^k~95wg(#@M*YxrJbZ$IJG$`IBr1vn#}bqN3Niz!{N1c;?kYY97B(> zl(OvRTSd80RqJiT%zIA&>PcdP(w=pXh+#hqaOfw&^_NZwZEKhzH!ZiY;UY)QXXXsd zV8HoNZ@0tr7xubNe zqT%ll= z`1fKA1gCFIJFtq9No?j0l~CisP3V+Hm|S7aPx#+^u&e%!;MdIu=4LM@wrqYYtrfft zjZI$r)9~`}{J7s69X~jPTTMb$^JALs{t?A44JN%NeXQd#=W(?wl^xq!vwZD4FVQs- zQhVRL`SsWWh4TJdF^N$1M1%|n7RE3bjyXp7$eq=-fu}@XlVR-Opm51iDhGLKwKL6gFuVdlG}}7{j12Fm8k(w*0y-g( z!Ws_`Y?ACd_fKfig0h3)w%yfrdNf|a5%%nx9_}yqdo)%zZT1i(<1e!d_5pBc_Z+2N#*aWwyzf2}54uo5%60u*H? z(WUO>2^hjm;V^h3fM}bKM8lF8ZtS6G`m%I#{Q@UQG@c%ZsORLp!+`(L5U$XBk*=o~ z?gK}g(W?at4+?GcBny5UL&*x%+leqATy!yf^9kKfL<-j>&Jl4oD`{{^0wF)}Y_uMa zB)LLPuX4Rgx@L?DSf3cqQ`wTUDalIQ&FM@H9y~=2R}tyx=QYhVF^K6ts0KUwc~@gK z264faFnryyiFz7*2q*3?@u8=fW?`SRM~H0l((qiQZFJCK#zI%gpg`6W8ZVpqJojEJ z3~f0vy+6lTq#uhz?`Z2`IGclE@RYczT3-<;`4oqFng8j(S!?MDMbuo4-0$32+F|XP*K?iA@(Tgx-e+eM1M%6N{ zxJXvr^|kNQ0nk#%sPL8FjLVd?X-+3!RT=|}IJPvZs%Rmwjs5ymzzq1oI+$YLP= z08{9X$X6*2OI=ESGY7+r8Qeq*7um3!i9-(wRtsqM{l~@DohfCiMra0ffPXL4$aC2; zmM5;Basoy5@Iq)gz#BMl?##rRjn0&TP1#H)q+I4vr{)Hd9seP(WbuRyLqKv5Qy9-> zO*LX)>Rlot#a+%%_YFj)E6>QNQ$_SPz8wQkq!7{Jw59*so+VVn@=(DkPp*l}(Idh!xTl_c;cxi__ZflLHC*}B?3$A*GK0(SE@X2nU!}046 zm2l{afJ7Z9X{dVZvr5eA^q-->Rghh&x7}Lrw1E7IAXLY~C;n`AGQ;v?_V6?In?1VH z&`zISvaYUMahp8V{38_%qcyf9&KhGpY40uj#swX@js z0sFE*jtsh})Pnrd6~VXXuH6+K!WDIP=dy(R-oK{}NFRrr-u^0OAxHQ$IA!UfojNo9 zi-iy`Jqy#z@DN!{Y1}vT9Hjo4w}X!R5Ge*pxC;3`WRt+HK-Qnn5LB7%J}|G@0(WB4 za{HBYT(#TP!O5nbqP12Cgv)%gPFkqnz&4L(g9lUHWS)=%Zw7uEE-OE9l-fPjspj8$ zM&H12la-~3i#db15goE6y`js*+|_ppN*YFppx>qiJ49+B?;Xz)2}kpa1d-lmHSMxm zh~8fzcpp!;)Qj9W%t1xc01;?tX8H*$U1$Q@xhZRw(J@={nUVbP`A$x$f}|%M(Sn?b zE{^nSWSoO#Hp@=16!RDWG6-iLD>BaqJv<{0RRkLeiflG=TD~9s0n*HYClG$nZd6Qo zSksAubvkqbm?@ByL?0(~!5tiyXxMnda6I|!F~&kP+2}OsmQ!1=`$|tx zY8JMZA8}{x`ZlnG0=27Z(5I-iZ` zPzv87Zj?3NPFm;k_hN6`90<%SjChT{N4F^+c3c{cGxmC1uj*D%A{T;t~Nc{91FlLM!FwVB=!Nnze0sZPviOEIwNLd;6CA-yOs z6%|Q6_WUYf7*3^lZYL}xrLJ(LSN7DtboCB{>tiv=dhMa5vC;HRRxATB274bzI2phW zMlz1|Bymh>rbHf0e3lxF_}m>`aU+P;BV+Zt=~<$c*hJZ^_NUNJm8dgnqFFITYX&A#mY{q@Ys%-#9d>0kLTO^{7_NU|D=aC|_nw zhZ5-87Ng3d1kIOY%!6>KBFG{3PAGFKr-){+8ySH4d*QXa%^-9tcZ zo?wRpVg@~huu_mkdFJmss}wI7%FWZKn$x(_y(WPX*;f$VSxO4&6QA9FPp_sp+^Xf* zLgz+<%pHp3S17VUVC3yagfSa&@@U?Ip2tr=xe0EyZznd}rSP!4IL#&*FG=5zc6)`0 z@3IjFC$hWt#4uT6b23Z}bqjs`;k6&0{sP|gCqeoabJ=YAcMsuR@CXERH}=|(Q*gJE zoJKr5zYSm?lQ{zo06O@+Pv<{ob4p_1E0kGHSX_FdC`Dn&{6{0SB+EZ zD_saO+iofN?m%Rpg+v!x%}3p@JABO(5owPrT$`APEB$!?8;yg0#F$OTFH1b-Ymf3I zhfe7uenO;gtsdhixyvn8SIKAyR?F-}$LrcTz)OLGjI#vH+|bt@ud?pP+hs$Iny;tM7%gEQN8~Q>st_E;qUsxB ztW_gC8|kCvc>52r1*%<##AWC1M~?4by@bAnLjE5B#y~m0WY7I6V>lVa06?Ri2nhbK zZ5NJGyR%=t!?6cvXzc%mg4hM}59g?j-=%X$s4pL*Kx{&?-wGk$;@FLssb8HC`oS>1 zOJL|J8pnDBSpG==~)Vx&rtuiq4qn>{)T+(`@(n~#zg`KKR52A06hj{0#pC1Ljjb) zCWG2P5fI)E@9Ta2qqvZG>3mLp=Vz7_;l6Aod#TKQI?`;B}zq9TVRk)uPpwKK(1xcD4rzW{Cyg0yh{5H>3=7W6D~^vDOUz5 zyeH-H6Lu6_$mqxFDRV737vkgf1RThb9pwLY1X(9&hINX|sl#U|DDuqUy3_RkqZ;AdP3P(SN0g7Q zzv%)WQ#zILMV5V%WPC{fPZEl!S*MVXbomPF#^sXCFY+xV&PV4yOF)FnzVRH%;d-&Y z2kWpev=5Kk5|E&4Sx=#!M{051IWhkYoS*B(I;*a`j?zER>0Bl=2XwB-$sW9ZFaY@a zSCPRRXW2RMERtk@j>;EoMz;I{>3akHznOJqnKYB;vc7V$5!an)4iD7U_5sT_dzBZ{ni<@m01jpC>tApmaedmqEIV?MlZ&xx}PDx54#P zzw5|epFP8Q8fXTn(*F$GfaDW@hU)S;vj1nu4mVJK;d)*@P_?UCp1NLw9^B3cYVjEg zzPG6Rz>#{<9;!OrDA-24?sMGMY&)*oCL1(twgKtI^%m+v`U>axKVNs8+Cqo&u^#lF z%es;E<$g(dZxL4LNXE%}v8`DTVz$-iIUkkFHWAJV8{??Yl6-F5O zlUjkE9jxozJg9{1MZW2EgfG+*9zsZ9^60amv!U1@-Nr>vx4ucrM}cm zlM9kTv+0*80DtQY9djMkHfE-_;ePN1mPfj~%SzOfBR?x`-^{k+e{##w#(2EsjVy$(jtl0#^flD{aW{-Y3x#?Ly3jRTHvbXmk-z zlrOXkrCr{xV!B#?v0bx-^DN(l^x-;ic`Sp|SO%vtvkll@%%WYyzM$4$JQni`y09Mf zYf5t124a2GvehC9>!`5Lw@m$_~OIw!~?=4(V7P=8X{O{|wn#ugi>Z6lsj z=cV>j$rt(v*^=ABjM9YbC_mSM`=wAXA)hFp`>~l?KIP|pYWYIF*JV(-DqFHV)`R=E zx^3A8VjmLgFO)&~gnCjQ6Ac~3`iL?%>?!tFPG>z?hNvUkM?9x#N6x3VkC<1KFSH@0 zvkkbtSw}vv7r@tw>FYYOUX;eN)iz-{f(()`=)!ucbYb~on%HjyyAZQXmMz+C!(M!j z`-d&*;1Dh9&oq~hz>a~%dZN_cIHnt2C>&e$}KTzA4^;BQO`7~v48GH@P;WCBx=5mR} zcH5{c>mjru<>fp=ok$L!SC_%| zVA;&;>7BM;|7(tWPUmA$hRAAPDdykoC${ES zr)|jJoOdH#Ja?u1%$j+{GR6ENbGc%g`kJlzjs4Ql*xZWw`E4FSzW@IF(cLD#aaN*F zNcnjf`pg$G{n(SL1c@Y)NFs?O`WTd-i=oec8PgB#RwexB(Y7yhv$nECMP(JHlzqs` z%0^*jEtVsj8WFvkv`<+7GX{}wTgasl4HTMhY z6C=H7ll6+n1HJ3^;HxM4x{+H@26ZjQl-(#OuK~Xpf7r_%!`FQY6OV2NDN{qeR0jeu z|wIv0}&d$a7+%g8b8t7aB#!29qq5}=BJ>YK{mDgYX_TQf7Y7`U|p?`E-l_Jv0 z>==qlN=cq*_tyFfG<1q}*-8VlHss|MV(vEBA1W479<{))T2I+34@;M{$ZjY%MGiOM0(= zzGrP7ZnpZ!s8bLq=toR+7(8rz&@`|>z@r8(LBYbee%edR5D^^>6SBv^*dYAfJm`Na z>g)S3HzG%buQ$R|@(FqXN_Xe&LCRn!j8A?D-?&oxHxJ!Q7Z4BXsJU|QXCqZ z8W5Y13Z7N$lDB3C!5f()Ow+l-PlgK6+t-T`X=xeG+Mpm_OtVttX<*=|c zfQx$=+6WB0k{+JHG3XqdA;qSUpOJ=^E+w_kJcEBHNkJY62nvFCLj&*~x@Z{?zXH6K zI_nEiH%I_xWdzpRM{!157v(KOC`}0$fn3`KaYM_gTgVEl!#18 z6OT1%Z5geVIfw`jK~+r)LhKB1>hwt%n0XO6oQ8|F8G_@g&@XR?o0BaPqGMoXt9^z{#tj>b57@+3^m-BHz8 z1rHY|IG6>ava%6w=2|#&<|JG^gAwWD4&Ae+(9$wQW_=eHM-&L~jDz~S*C_#!sOcI- zTNT-cpw!7s=Q(P7D$p1XV{WolRk z7h5CPhh$=Yg=V4y?a(=Y4B2%`bT;N8EIbOqktsAYT}4e21$$2pq-*fEGlQ9hJ+dkq zFw#>8dplFaMkS)QsR#19Quup1qa?2mtNexJP+!D^r(mGF87A6#aB}lRL$4TgvXf%b zIyl7<5e3OHbe%7{n|o1^7lXLCC<+q!8>FWb;pI~^nnZwW{YU9I&L_PHthzyQJa$+)y zE6U(uVnU$85GMQ;=sp>oC}5kqMqzk-9978yI7#5Jx<$NYrKWLNGZKPgk(d;PgzQpe zM)<*vY?NG7kEw}1*b+#I$*&c_+1zM5%(Tr30M27#pa;%YIWe5tWvM(Y`LY*#%=(D18mlF5W0^R${!j1(AW#NKH&aesw$AiW6bt;r$&p^9q*BnE(%4h6wg7iqJtUWRV!W>% zY3Uir$jQgd@)|noijYqAsBGvIvI_QC67A7eS&FKfR^gbbu`&-8O$-KB(dT5d&F!9L zROIKPy>AR-@(vW{7onse7bz*}7@b~%qP7>87KSxcAQ==#$JExKk!UEF5 z1ajzqMY{r1qy5MvJyNqt{t};DflRL81B}R8NjAw(&BX-uiy=iTl9Q9sJHod&7Eqka zpthA-fb#aVqO4-WK5CjA=tVYNlULh}#l=Y!7Z#wstp$bUH5eTpKv7{nYU>*?pd3V5 zHkXx(fk{$iZ5H`C87OaVM}0*JD(c!GYoofCHeq&ll=@93>bqp9uc|;bUEkDHkLLC+ zOpOntIImK;4aa?>uCN&03}A^yx>~3|kRzC$Lw9|p(AHJWA|UOkFGFT-F(wFc^|sZb zu($|~Egb^5ZL2Osc2NxtA_9E<9mu4zI|jvDJT(QykdIuxy0|p0L|SqZ6yviPk~Jcy zxE9mnN;EZesB%aokwg-0kOWe$0i^t=(2%?fo$|le=1Brc{=VDpNs&k*i6oLpqH7@u zq(~s;A4V%#x!dkZkw_wmB$7y?Yat1wTm__*mX={ z(GkoEw*xMxwbf-z&(2_VeRnFbyts%J)qlQLxDB+0)>h^)s1)z#udOU#kjft(7njke z#)j#fl5|kr{8(MUfN}`Ssyj|BUw!jwnDVK!EzV3}cue)Q1?e@c92So?Xkm656O-bu zg~_oYO!B@GqQ&`H%q@u9X4Uo>nNU5lySxD9(C~VhtIKm37#b07&CEnaZ3|MC=4UW6 zHmNMvzt7PIqYuf^X!bwE?e{)|Ronvh@bkwbLruahU8hOtw=!5OYn${cmX- zRo7M)F*Y_Tbl%~yF)UtdeP{qoPK=QKsSP)q@gGiV8;p<*7XA)4V49nq!jN(hGg}_7 z|7Q@7_ht2fBN`hS#Q4;-aNF-nv`BRs85t!W#=OS0Op7#5wx(@ION(qr<;M8dpm~zP z?K(9vipjb4t?$=Bt5laIeyHoJG&{3#OK)vuiRwY^Njx#F-l8oM_s`k6&1u(4Q=`Ll zt$3r7eSva#W25(#e5geKJ|uyZtALc6`g(Mh7Q@ED5xPc}P|U5NyEYL%37NvhgI#s- z_4Y(UUJX?7d=o9tjUqI}1(iLb^H><`hJ}?Q`Y65+_0++eu1zYe$0mQewu-{c2v{52 zA-A*(y>->Fw&n6I&@3B6n41&qEKT5-RDv~f@}-$c@D7c|1jXRF;Wn6CxnPvWb8mG9 z9IdR7kX43>Q6=2$oe>e6jfL?!G*_m=+0F`4g%zqonU>(|Xo#4?7EF?p_i(X+t9=A| z$CfZ4D~5YmxUj#aIWJqV$0cKHC@05}80-&s??@;H=CLw6iTspU_(!E+hFr7U#*{z` zb*?QSg*OAAKJYd|()iKbSr}-YhNZPFl8eevk{*r=T9?pIzOTD10lJ2E$c_z!O+box zv5F>#`VbxB0dE&4Be_-=dE=+U7-LTX-jdR8>Pz;Sj-qVSu<~HgJD;Vf) zhnzrLPj@GQ!8y!MDpB9iCIG*RPeTlh zED#XwhfE>bWO;r9-96&Q;hAwI`UeNeUNTHi55nx!1-N>6BeSp?O6357P&y}5?T3L22IbutnG!+m-1H>L>%o)|oYv5%=%F%1;5kSAq`zNf0|Iw_ zvOdfah?*Peffd`p$Qg3Bfviig!R*R1275cm2BgO}HmD>U#H1FZt+@%~H1MX!R5l=r zaIhDqJV*V%m2@0OeO&|D0FYJYA|NywJsr*HADhME>==4f z@6#FT??rP{GX^JSFxZd*9V2s?I=Y~&NrryXb%wzGK%X2D&L;2-i$kER8GK_)F*~ND zdeXR9TcLb1Y9|Ht^FGlA6GP}x*?^z{E*?IG=034~uSEIrUI>iOL06v=L+!=5c;*;R zpE?0Y?*!@vt7vVkNB_t)R%eFb?d*egxeTpcebgtHgt5k>WOi~G?X4~7P(8N4wzNPt z9w3jz?_Fv^u(uPOfXS{Z|@(OI0iWQ@Ab zF_fi7VVoRZPHYtVhBRk5YeG=zYb-`eel^YT*&8k*BPA1KswJDw+A>skjX++RfWt@6 zA+5XtOXLKc^iJWdo+;Y;rqNWDOas^laT$e}7;J~9cOd-S38*Ajlk1p4yq^<1V#LQq z1)@5JMfhWIo{YjvJxfzai;shBoJao@5;8I{P01@fLtmRgN@_l4XNM8w>xyBqP=b zUS9ra>l{F4h%*iz`VeLgAy}N@psxi>$5;v)B``M9MM`oav~?_??32OK)(GWPKEIPC zH6j>cfgy;EDW;$kjAI8sgtnoh034gLQeo#5t159bwO6Ggr-cH>`~Y+=9*2p!BjSo{ zkrZSD_mEh)S{NfTsSv42aR>{JL~(ToMmjs7b>=8^tX)w-{nPN=Asjk(3Kcc&C?|lz z0IP-q`0P+CPM_P4w+@~{69q0mD=mEV(E)^~lw+i~3`dXaARs6OBMhW1U6Gg^i@3Br zG?ypg;4xz)Bws6l;ADI&u{;p-BPs)`!e=p4s~hmIh> zvJKrW$$0JE*Kpq09g`H)4Gje0WiCKY-YOj^3!pVN zE&xG3z9?@~pd>X0qXa0~hsp;(*(!}hpMH`+$~Ejs>8i>_T9G(#hg$OB=pT;BnR%4w z#-OOO2GQZs7#tS?geEP`Pa`qH8!<)gSfN>ZWkE8|lXK0f8$^9^JW8r+5fv7V@#$sA zYATVLBR+;%NCCs!I|w!H;u9AA%_T_8Die;eI*qu!) zW-&)m+A@mz@)YD2<{>d58MA~d%Ch2NWo$}y>Yy292P*PnVe1;WvBXcnBQh!wLsX5i zfj0P&(}~TPz5cZG^P6T9hPv!NkE0nMuiL zn;}8D+r1}+oL8a`jvPLZ(}zwVJ+}ldcjRu<=x z80v(G+(t~&OfM`r9wQ@zXliXlfW3|I7;|WJ2F>2di8t46`!YAa)sYtN3eUu1(vg5d zWElEn?QjoE!s_w@q6tvOrBp)E(~Rik5{xSqNF!j_R+)#FpWcnQ`WEUlxiHc-MMPLQ z8aw-uOdzkKzKQ};EEF9b2=MoSsXo8&rxXr)x(JPkq+ry7rLhh;`37TTmLe^+yV*xa zsZYmXXnF;c9Yt^oPQcva3Mz6lkXPLeWn(P`&nQHN#|ckMHMKS%#?K2jw$2C%i%0*^ z1XANd;bd-%z_>DW)s@2A(;Wr|4j7tQ#sIZXMyBdzZ7VZKk4}S<`qkRmKhN7>x10G?C1e6yM?ct2rmEc%kQYoZ86l^dKriW;9F>8ItHtis86+nr5r`~=si7X+ zeZ668!0i-?!Q;d$<4y@34NDDGUcup-=ruz^Qk%sZf38X|NQr~XHhtEC& z2kMVw11&H)e+l8FV`*JCa#I4)+}($m*hrL>by}N+yQ3*8dPbmV%!jp|Gd%qWv=G9n%8i7* zg9B3X#K)lfC}<2!h*QbRj1&q$1z2XUL_jP()(5famE@$>FdpPjAZ6>*J&TC-^*~xl z6B-NB5fl)DKwnR|xOk#fHjKuybT~RW!_CW^f?^~h<8sm2kOw=TDDiP>6|F8Uq9QF3 zZUp8!`-V_P_KTt*mzrCM&Xzj3INHO}IS@Sq14s|`fvvqgQu8-n62~+>(1{QiH+Y3b zU~pkYxCIju6ol;hE{yfJlMDyA1x7;nasdVN?5qM|S-h{Q98Tmkom_(`2rr+$Q2%9o|m%aPZ=nxpfe*2%un70Iy*2eK1Yb zMlEuFQ}G(g3sT_W83N_>5<2V3kdvMa7dICu#^=bfCm}pC0fTdE80@Mcot;qKJAe@i zV4;D52&2F>Kfj3Hrcwk`Aa5ERM^AOG(1&9(i-r9R0ZuMREfF7+u1t%91KB^lqyftd zi%5$PK|n|{$yh>93js8zSVS08J=>$x|GYT+1zJSb_1O!qL?o>{rtCB!tKp>Lx z#mB}wOS0&{>RmC*qwuluL@)I#e&eqX+rTpnUEA28xw06|DjQT3rjiYUF*vnEAc$>{ z1Q%Cl$jJt^1pe6uN&@>u31RRFND%tUXje5H939~sk$^?&kF7QNa3>Jk(LYB(whz8O z?(mC=!PvwMn#;2gM*XdOYynM$48y11ydi5OU5X#WYTpWRz3olzZy*` zWz?^I5SLYs#l;2G7N#LQJO(nF%q&h1z~9w@CLRP#R;Cf)W(SX;RI$G_l)&A?8?A~N z3=x3hN8-KQZBg4hhVHsTgp!W!{Xv zG)(~2X+elc&qq^ZH9ERv$V-kvOiU!wGgA;A9D#(?G$ba)p|GNwfJmWWgLY~|OAt-B+qdF%VcJ|aaCzdcjN%i#hKze?Ya2qQ>D;sg4 zZivjT#Po14jkRFpH+G|;Bo$Ff8AwZrKuUQB%^t|cHvZt7G^tmR^{$!8bFH;+8 zzT$*w?P?&Ux~?9w>M~f_+QG`%6T^#Z=&VmiTzZpW1Fm3U!*f5yU41 zqfM!LjBjZa0e(Rkq_&-#P$0n98~OF}O?xf){(E(C0<6rP(bP48ftEU0S=+(F(G4=? zG@?A6VQ*)JxPp2iZ+mSqe8XbE`*!(J*zm9*6xNITT#8a6kx?eTYCk_K9EHvNSm_$N zYx3dY>Vf+9J|Uk-t4IuXLwsSA@Yt-cn+*a3voSfhg8uF@M5d(+_srW%3)by1K@OuL zBLU9tp%~{Xt}LOkA{PNsN#M6b^jaAcNTJTP1*8mj)<9qD9I`7}w^_Ja8pF!U78R{M zsLqXnv9SgErh)GARJiy=p}rsyE}@%05V$-)gY+0bs)sZ3D(ZxWTv0iSC2AM8QEjjI zE|;8GUwFo33;Ju)>f$uAQlsJO=7aKbai7ofvZ^)K)NQ(oCF#`m;QIQ)?h$* z%PJ?x@`Yc1ugB~dTuh8%@92)ore2}0Ov}rnv*X8c zHJ#@?wYgd*>!3-j^EzoBUxDU^yF?pUx}o=D*q|mmLAWisM&*lVRW=|>3-W}ujXmPi zOEI&ca@gch)l%l?HQH%$VN-Bf);Q+=q)BW1$lYI|;m&G!x`qqKWBsi(eq0e46b|{M z_*l03{YX=zV;C8mz#=)LlJqd>>gz#YR}YyL;%6t=#!RxB0wiRV3i_-2_A-CCQ$?#P zTMafBz{b%PZh>KF@1Iz2hgIssS&?2yA%7JU;E2%lYQe5*J+`aSh7G3Sqj23$1M$3uJ*!Hr{reERVy(#*}=XHL|N)*V~P0X-tlg;JEcKd1pj; z!PL?kVad6|Q*AtE)#6t)`p@jd0HPxU;qDuShN40wW~5~O_o%4*3@y8 z0#9*zG8)Ne4|J8o$HNW9?K1RKI9i*)#@3pAqSz<4jlT*F*2#pe7kD;dV z!FI%lrC@12@NxUoSej6xzNJObOVd_rQui}H$Fxj-KuzLUm`7}IC}fixdMz)_A|o~y zot+!+Tw;I1eWazS3Zt`2RL(|O>hjiYtl@Kohg$iFb<4>WK+2Q~q^vEB!PCqLb{^sr zgW1u(LO+PgEXF`jBg~8qky+bIc2vT`%o=Ttb+Ds&Rash$#LPaoW<#4pGTP=xHoRY_hmGGNouiRCFR1$WKpAUIC<(SCnIFm>kLw4UWJ_ zj1Wj!R@NgRAyeoS{PL#M#4yzLUtu5%?>vb_LHjth_B0ZF9dORT5^aiERAR{Cu6z zKDvy#$teu>%Mj)3kH*0TtSt5;ggW0ewbJTG}B%zp0v;ZeB4|FM%2#X0pX;~%W;$wyDSLa9IZLSS{ z6L)kDY<^KyjquUOc4{9b`p72o>QtOPc@70NE!?w_73YN{0R-_A$Q5u32opP*2CYo> z!_U^4V&LKDBWI&W0L(QY2J=*4eOe+cZ6Z}AZV>mK!eoDhw7#EQ$J|5)naOaB~YqfB!IAOVeO$YY#84WOR2l!czY%foETg zk5YTay5Zo7V@S%b$HY(_&RjSOeJd9%lHY00N`|Gi7`zEV!t9h8T1FQH8x)ZZLUS9i zI3b6To@j$ivO&DBIlLkgg@6^8QH6qxSh9f!8hS?2S62rcb5oon8y z42_{6BoGmC*@&UOR9#mIGeaYC_Wm^H22qle3_Cj)lsER%IBJ8pyCba3e9+V;L!_5E z+0+27vO&l@@^S3!F<82VU}ka@j*hxGeC`73+J-4QC}D8Y5`Ek3_ZXk>utPj=HpWCTz{Ot8`(ZCGdeS?Uk;B)GNE;7oSpd64RDa-+pDft)}7(#J&671}q zP*~ZG$v!z;tgLZCM-S=6O^6S)!+9Nj)Hin^!p97!&*{M{As18q^)N8dCEFPztF#uu zZq8`#9Ym;)CxH_mSdlM_3JXJRWe?g4BXIVt9-2EE;A3S@ebo#`Ms}#_mLpoQfj(;6 zc=ECY?K7v)IIs~6x1)v89vB&Dqq=_%ebwo>a7+tk7meUSlY-gtZkU`ui_pXzOpHw< z(%%I(W+n(oDnw&Zia6G&tvEDg`}@N!h`%tuEck;K`5?l>{m?bHj3{eIMCY*Y0`g-b zkzXfn_)m=sKwNnzY765KNxm%D*$|gZZP4D@080~Xq-16i_%lUaWf9yQOyLs{i;=+r zxSL(X87)(!HE-_(UbcmHbU&W)%|rt*M{sp|NWK?G^Djr)3Vmz<5kdkHFo< z0Ef<=qdqc>frb)9CW{kxWp_QiT^yiAdE4rHkrYD5I!;J0ti;4XD|Gbrh0XH))d|qG zut!=pT+bSzX|0-dsF~* z71gOxaQ6ts$kYn*QbQ3_+JV}FXv7!QATv4;{MHYqqBwV)Ii`c6Mj3&LMTB_=p^qQC zT%AKws6DLt9a%g<-Hgg?}N9o z=yPKUFc&5yk-tqxT(m!$`-YGh7>aJf1Z#`4Fgbl1m37qwO6Ru+DJ81gJtG}eNXii# z1LNc%(#3aiFy+&%u1To@GPY1nQL^}+l(k7RkS)%gJB|GMK~!W$KtTnighya#bP+S; z==)VK$r_e-BP}_FW<}!5pQihokdUS>a}62sF(52~$~Z?H*Rw!gUI8K1a-2H)0b){f zP+U=sn!Fg8ndrjURYaRZZGahD;=HuBt%yB zwjgDoJ`4I6^l|aLFBSFm@t%9HKMSjn1aI~0hc}$rv&1|)5ho;;_owW zP+4Xi@`R@i)(FV;Bf-ZN)<#;e^bHoyS7wJJozXPW>S!B$B4UJNOG zo`kZtF)a4BBRV3OI7I-DJv0*tbG3tsnJqkA{2&_~K{`1-(@PiO7gd7(u2MKU*g!|y z8bdQH80qdrNvX;PtMe$L8PAC7tKs}U8xc&-BO*Es-Q7ICiZDL3*#_~MWcSq>B#{%5 zw^ZYWryfCiw-UV-sW^992R>wjs`dd?#0Ef1&kAXU{3O>R0)v7C$3HHsBcLt5-zXzC zfA;tQZ((gWI?EbSTHlFj)tgi6vV2j{ z(htli5EvmoostqBMP)1S;d2keEw>3X1C6+F=p=l7ypd7RK!7Wf0)-4I>1k+hsf9oJ zk#d^lM<(Y|`!pem9A8#(Ejk;kk(Ct<-HX~N$}2~buPZEcPa-%inF4-10o4Gw`UfK- z#1HysE|7dLWE3_EI?T;YZLI!Gj6gZQ`Kcc@6{iOxyLA*Zy)_7TaDk(jAL3II5El^v zR}&K$(&VWiuawGfMPF?$k_yY zb4dkSWTG!z80|!eZVs>^GO+|@t^bo;!Bl*;}Nr!f_Yj9T#}lidYLcpFp&z6bG!tIxfNL<7L50kY_Q5~E0lH@{ zBE6JXcxDml9e~N1MWiK!K~4c8H_8vyjYBjkPD5xmPZ-4xloaKKN;!{>d1NI;Bgi8R z?cLpQ*VkJ2xxC)VKDV})g2Bonfx$4?IoZJU*+ZE7`u9-r{oj+%=NClIz(M~4O!W;A zl3I(ZvNU9opOROmBAWbjWljo)rl-*@>p)*u6^0QuygfA``{Fs zGox|(yb1ZZGGQVuugOI$P2icF%v>O!T*K`2oST5P3!A!ZovF{fG>(gKtm@#wVuGNC?l7 zj9aOiX_O{=!7(HgOEV+zu+)Q=fi>jAGia(xg@dC5N-C%m3OR`=So!<85ZYZvS49#| zoYIE16B}q5_dn%JQEXSkfr40 zZ9vK*{4Dk1K+Y+~%L(@O-uqqR~c<*+}Osw2fTQ)z^Xkyq18<<22FHk4-b-e~C^p`e}#F9$2=o13A7P0If`Rux?lqy ztT|D^$gP$MHb{vJBO7_4SvEqmaI%5DCE4E;?F1syBSjkwPOl)*!gU3`h6a62=KYS{vyj zFfkwe~80biPh8yIP$yrUnbX;JVa9b2i+As!Y; z$;u-;J5d0Qhq1Xe-0kdW^3aGC0#Zg=dZ-y*Mp2|AJfji_;D)1!f_<2qGkiTA$uSc+ zv2%eZ^$Aa355y*?Av-CCf)L5y@(41&THw-=HxXDM-g?j^MN=8{X{_m4lS7XWhl{Nv z{KA3}9O_Fmd{_9nyTFA&T8m7H$RKB2&^nJq0_J^qocJ34o-H$ShMj8KrYqU-N^|qZcb?IqA_Ep15+Dk3Q7x5 zw3L%Sa7RLEBgThmGUej|OR{rlXf|pK3t;bPh1hJ>!xal7i1MYGJpoT27Y}4nf6B;j zp~*r!+*}+H8N;jMa@ZNr44wM-0QLXs%tUzDn?ujs9Q~8jV`+9D9}t2*xeUfehA69R zLR54FS{fP==I4gM)O?x%^uYZ5IXHQE3%6%`+Uw!!O!A}iFgeRXW)-Of%-a>C6s!~A z>go(rGj~+yXTd;M2hKDmr)gH6>T6Fv@f@Pl#kY>9hXsl&RLk?oj13n0K^KA2nv@{& z2S!LKuEDr`7{0C^u%+?P)GGq)?($5eW>jE!pas4jt}r#RMM_dGBHS!tU|~z3XdK;D zdANAt6pZYGK(QXft!3~DOcJi|tS%6IZbn@fM*2jbYwH`1iMbV|g+{|Yzz5-4R+#$A zcQJPRtw;!sMQ(Zw&R?`bVQvzPFPXv9lly@sA`-G8YpKZC= z{PbCLj#0l@nL(^?2;}_=1X@1cq8> zu%fXQol;2k?17`P4$fUNL|yj?+N*Qn>g9|47CB^fZGz9W_Y6QE#Y3j*)M$!pT~Nw8 z5lH7;{GuRNC}2gCmgszOGLRMM24hn<;pLwK@hVSH7@8X!VMJ|RS=k`mGQ28C*`PJy zUf|N=B9@j3_Ypc>TwD^;)`PtUvC~;lpXUr~6u6g`gnNQaT<~_p_waamN8|SM25l{f zWoq0@Tp-=lB-}@%b8D1mVS#ieJ=FKM`JDrsX$A3t&g2Zly)H|1t$Gs{U&nfLUAEE^ z%^VliHxP+fck%BEx-1L{q-@=jvL=2LMD>s5^1byr)h46W%V_)O!>(XocE{%Tm+AoVfXn%Uhz~ zdD2ULe^pH@WSd2nKfiIWd2UwJpNUs!HuTz_*iPJcxG(WHfL6!`d~b96`=V6OIkB(s zbxhp0qFSq%nVDVhD+{Xq3{2d=mef;WBHrk>NEtMJWl)>Z)@}=JaVYNY?rz21-QC?C zTHKug!QG)~aCaxT7k78RoO8aL-$^!+3^51r4Dr8?4{2 z4IQY}JX!z?unU1ph^&RFiV#OdRuWCC81BIxALv0ybnOp|?LjDqcuYFZ5dW9f+-_`RF9hd{);d>MTTR(&jYeYTOz?8}xrH>9m!9C)_bHqd@^*IM zAo0jgccao*WYpDP9fTrs74;&Lkun9;D|-#XZz6a$H^TgLopNW17^N|Dsz8(67PKIbt1|S7Q;rpB>{+GokY7uC8qvL5_xg$<>sooexeEGlTOP{rrsr zPX4$#!(_4F-~CZnP5THh({w)U@ld}m{Sk5^4}bZs$aqbu3z+603#!@TXFknnvI3s@ zRXduiVYOAXJoRQLr|ZSRab%}0hnuW*X_Vr((9K&SZ==N-OcrdY^nI_WNyk$&4*ZHg zgoF_A_t%}Nv0&l(&}$i{52Rl(S!($85zc*vE$SVYQ4W{For$(_PQ?sXMHDL*7K$KD zU8Pg(!(*vm^}l+_>{i)g>|-d>q-}m$f)AaqpLANJC}9{tnYF27o%H{b{uhPE$|d55 zK12wG%oSVcC2K+TVotT5ZDRQf;$R=;|Aq8F>qvSljG_|=aj>w7y4lf(wyple!H7*u zrW>!kq`j_Cnjg%-|8te+9vl{0(CFej3(f=rFeyIuSHFp!L||t~q+z3&Co81KSchfh z#Ot@Orz+wQ+=<8q2=qjDH1)NAdCB8^y3T_4M)rZWqT=SpiGsr-Y-A2%!rrle4~p8V z@Z9va{gcz3K1c1?Lf79lWwqbqC|3karUty*J1EShtq#S-EBUf$^N|YubMqMaGSuh1 z3G5m~0s>#_^00dh)32DRlsY24H7V?m_r&Vwmyru8`}4|7e*KlmNuvLgJhsU-_OSbu zvUCRf&M?WxvQ6?61LNz{AzSM)>=Bpr5*O#Rc1UHf^({z^m|CITqg={u06RP?N<=13 z(}JB|ff`xn2)2_`PE{=}^mG(sOEbwcy{fSjkGVGD@DT0cRhM=`mWsJ^&*gSe-lmt| zczGCtVlQTxx=N+UVfwbYxzcN*fhpp)AB&8foJi~~i}F7tXnugxCkOhub(fV<|4GKV z1vM4qmVUW!sy@sx==0S0%9r0?g2$6_5}yJ5qVOPT`%s=dzvo3J=0n^>TBO|jgOrDwIsmiM_g5HqdcZ{9t?_c_&Z1QSkXhUj?Q&~+V92oEg z<$9G#Z~=}`LPE3<1Ny-X{m$xAei*rsZV~||C-ML)s@MlNJ{}l3KJLoaaFL{R+i1BsPY*?iZaUz{d*Ti;aiNWYVQ#3m-RPN&8!^Z-x=5_Gy@L< zt^o4hett!_Dd!--kf~$cd{9Rc=kf6~6N%05njEC^RW!})WKuS+pFKShrKQxNadA-6 zW77Z5vBNvh-MN;ua)p@X+;zlc#3?xtFCXPHlKxxU^IjwM8JO~g+Wi~s!X_8*jEscZBy}q7r2do0#bmVo2UK?N z85ty)fZdR+kG|gag_oZw;ORjp%v=z07ZN~we zJQXo>ySBS%m_~M9cuvU6hqmb%c$gIVTC;pks};3kLC1sHto* zIbDsMz93VVBduAXe1#X2LEk3rRaDgcPUwPvh>O#`Hk$fnf&_vuGhTfy>WI1A;1w6(b zg--VD8)EoMf0i{Ici(#?a?!(>zKLEN+3bikhp2Qi?%Lfm2G^pME~&^rn1P)VdA>DK zVJPd=17LEAMUUl`&i{v+9z562)et*Qyw3Oo{cJrgU9bPxlvftowaEx7oT*y;db;a&kxIERU-0kf`i8BpLnUk zA$ID@gJ=^>oO6M-I&9`vk)v(92n`CvCH~NUY#Dd14=DQP{R&@_#lH8h$;1EM)8g)3 zrRg9=nWilGf{g(|$!WpXz}_eQf+sss6+gzfXI&E*mciaDk~C9*C!*d=FMonlAi^B` z-ei1um>FiETy~k5Svvi**&C{$-r}d3*9Z*fY54d8RZyA_p}%kL*u)%K6h>&8MbFgcio$~-pa`E3n>Wej`%LFNHZX)g&$gl# z_Dg~=SUiNNA|DwYo7vI%>X)<_++Y}wk)D74L~rz7K5Z zJ+UI<1M=@HF-6HQEVQ(WiCI4|{mGarWHnPPC#8P}u?lKeOUYdR<-o`;q=||OiittZ zq@&w1u0ne0rg8<%sR(j^MFo9xojd5+SkKrU?3v5>I*g<1R;9T7nYhGeX@q9}T(X6V z6Bhr^wQ#VNl#UrU!T(;e^hmWT1mDtfFGpZMH7n5;pi z#P+5$X?}p)HG$s-xGK7A17}%TA?CBml)@cLQDn)i$Wm7=K z?obK4teB{+Pn$%(0&*3DiDNDy>NlMKK3xRt{^KkAgLXta9DrIS8AtTLZnRs@|9lFB z^5`fnlOQ(@-5#ggEi?#yP~wG|t=hZJ*bVtC1_3Mkrvs#I(fl4a)sNk@#pXr9N>yW_ zW|g|o*aeK}OO2PN>FZuJ;HT-5bd40^nMa5C1eNnoEW#(`Su4|=(%rzs8rfQ`Zj^MC z+m1egW5AJ(rIy>N=3D5gxe+mW9wXsKDG|oZ-S!j{(dWm1sI=~kgLOJEm+9$m?)t^e ztr1IUz4+M5PS~UC5u>B%2$`+vuJl$*+{T1ooTA^i;Ona3IxBCrsEA3DBW(m3^!4LC zz_HCD7x(VYHI{~ro#l(y2ekR%kLk|6PppEtT*XfXm4a;pXSiSCfvvG2auc5<(F2sH z(PD-a7C9L9qNKC8*LL+1WHK zy5~3W{INr@2#-Wmb8+d`bf<|wuL#Oix>dRfTH?7@{wUZpThP&RJ-fT#j7i@9Ssz7| zS1ZxQ-jPypeNnOs(M-eprCf+Kj%PbvnmGvj71u`wZWo&HPzCurC6W$*KW0=e1?31_ zZPB(wdcH5dq0vD|^%nPSqk8ws3Z&MuS(+j|2`4|sSEJAH0PMha4oE}*06IDxQ=pvv zpJ_e4B(_GwuakfNpNrxP-@c>N3B2xF$Iq;UknLzoT`+t1&n?9FI_3a3Hi3Sq$*t|M z#ks=dMq-*ZB;>E1k`uH84a%W)b=Ko35W3ko!Hpwgh4T?UA<{{{hW~JUm$LzTFyHxf z=?rZyVz;;D>84^5qFJIR=wU8=%c{%7)y(j}7P|A~#7$Pq?_vUsRhQ$2nF1P+B0+=V zXjPI5W5OY?-{Zv@zsiczbnFXwxy$mtgR7Objpn! zd$IDEXC$S=kvo@wDgY!_J=|d)pi!O+#1H!!EFAUxLMF^~?vOOHKRX@lTwebW+5==U zU$N897pzV9QcN<4N&a(XbXEKBon*9FBA$A;xCHZ8TG|v65wpRam}x#BpG=b*%GkH< zh)l^xj-dR7Dz`GaTm1lQ@(?Sx-0oWuHF7W9w6h7xOvxIKqk0124%}iqn^A~yX&VLr zaF2#Iu@naH+0qBL)c<8QPT;HH4&)`^G)U$NWbE0S5fVZ&BE^sBmdHjKrO7 zkzk4V6P*4M`LxL1s;fyDsQE4gn(=6%_3lAw5kGUHjer}uM{-l>k5yWg_|-yfHBGEv zn)#1uHx$}hzswl^&~<%^#cqif*6}1_2?GCwAOZG=4DBkRG(PZLn-+Ukz*tgOPE1VB z-H(S%zU%Z#d1-y4rh+IRf<6vkDVN=|9!9BD#{HSenS*S{a+d)3Lr$4oUQ(w^Qt($U z(Ihet(ygs*E@57+KEU+!+SZEn&sR%STXXrz#{#z+|19K#H2NC0gTT;p@p63>-Y-|H6IzdmtY71Q@A=5_k zz|i|OOIRm7rwZhclQC%33}=+)rRB_c|)*y~8;6<#Q;(}%^d1RO!5OhPL|dGH~x-qwEBNn!DxB5Uj5(H7Z*Lojn! z-NeQyT?%_5W(>XSZFI#RcQ{cX^tKr?8TEy*a&NCNHV%%mgEpRhfr%=%mA4jl<-U+E zjn9xd2PWX~#GZnN0^qlEqjD4JuAuLYrq$Tj+)mJhA<^P}RNtV0U&}Qk?59FYZl*1N zroYddK~1G*YubG}%%xYg*KdJQ2lA5*FhDAkVuqh$P|5`UQntpJ&5)qGRlA|$2n9TI z43>yX#zYf~@KBo#7LgQ~Yfi@41IEMM-J3 zgz~^j%ZG;KB9tVZzOufFxh1Uij?W6u#k}TM`$`%j5vQ51c43z!KHtjs|2>j2PHL?v0n@GyBEyfD{S411$B5*tuOUZOVoD2W>>m@MiSMl^$x29p)!$ z;zEskLoV&2!oRZQ>IE(;s%94PnLv3jKTvCCJvRrDvs!zbesF4HyQ(!0C04aPF(qwA z@}*>AZw+d?&L4enPRir&@fBuQUew)WE6wy{@;p&uUV(B}8BO@{?aaR7&E4Y?0dY^! zZ#C`i87X&aD2XW8>q~pLhAHLO6bV|CDQ5+h3i9y@*`seSPIzf+c;hij+Td#0t!d4I zqM~X*+k-F`kYH;?LO?`omPo$_PR#-gUgg+J7M;E1^tbQLZA!MWA|!ah?2{wfi;M1bEY zY*ZN)Eox%^c=O|-eYL5fId0sn*k=~nN|S!(bq{PPkM&{3J>yyFCAVZui_FPwtTkm( zaiu6&f1q}GVB;A+WPscj2mPkeTRT|Rmhdt4Z|njlb%lLD1H>hd{Pb|CkGYe?hX0_E z_ca{AXU)};J(}^Nwv9>1&yF;vaUKmbwZ5djj$^jQ-^Z#bbn+f?rFD>dDYIC0I5?pC z5C#zDO;uL8Gi++&RhLt|FD_neuF6YY6uBnTP@a{%@q?IeVBnU|gmNHHW34S!Nqw_$ z#f_VnKfkFJ*cn1EE1{D-##+Q4lQ!oDi^*E=Z(BL_JBe&T zP!TVVFws|UoxYTTTU7g`mGo}kddzmKz`)A8CSo%Ljatyr(8R$i0P21Y6nqDltE&Uh zOdP9((V$8%l+7=F8vr)saXB3O=4(2+?Ydy=#%Vnr8HWJEJ(8jFP((F*5jpPHCxdrF z>1T5;?RDXTnQ7J|5S4EOpO{`&0HD8kvnankG4BaK6C*3RM4Ce5b+`ygQBz-{ZAujRZsH}b?;Kxwbh=0smod9wX{=vsAK z9lZbdC5QK>*-6S*Uka4S?Vl;NlCybJz*l11?uXII%E<7Lblaj^?U7RdY{!^5un8jt z8a}yz?8F2h=j^T@5OyUh94NH#GvN9Ad2nN-N8zm{))0VRQ+(ZdHs9K^NESVAB<>zy zis-n>^k9>3I}TGU5_2vPbF}qe!w6#I5Q`cf^O6b4C!_XmZU)kmnZ?ZgGgH;NM%xrd zYh|i35;fv(rXPCi%I9=^a_y-$Kv~YGH4us75h4*oq?=_8Frzn93s)|WWA{-tZ+eOw zFJcyD{Z~)PaG+U+&Arr^8@=nTj%y98p|w9vgFAm6^Epe04ir~1O7=dU{v9E4`+$f2 zl^pdflagD{)WL@zHV4vr;`F3k`Yz zrRF_&c2-5+^~X_RWi+CDo!|CmyZ3%wU42{F{Luy9Es8|9C>#MX1jj1s_I_AgVw%s~ zLk;V?vaGNXBtypcjw?O^T#>gdytG0mmt|&bS3H83vqh@ES=x;8?OzIS(vE8=X({AdM2BL#@6$RNb^f;F=Vc2`n3VMgXkIn2@QiuzEyD(NV7`Zv0I z?|7xK3Kf(_H+x2+?8ei`^$CzkO4}?&wR>`&VR$+=X&ltHNh4&%#S)h*Vn(?p0|3V>;k2_RY@ujd4N;^heAD zS~)~i%Sbf0zk` zKgGv;nq}CNr!>?1vuJK^?Hf9=?pH~Pi-u-e*X%RgviEHuG?rBHp3&IDDmn8Nt)(lP zKf%q*{M*xn$)5^~)AQ5PjIkFR>9P}?Eh0tzHEX>~PrrJ^6W~pX~}}K>z8=QnmT7fUX#_o-a0rA zfU#3&Q|q`rU9mh1xugU(yUXR9y`ZVLw>`NK_B*$7nkAqlv4O+BZN)(!m>dzrNR5w8Y9xZ1RrF-*1NeLZ^ z(1Nv+GwF(M&$JzXKt;I^Z<+9WUWpu$l@eKfY6$Ad-=>4`jqG?LIF@)7@Y1euj!+mk zG@tEm`dK>HE*;5Ie`tGN&`}~m^TC0D5L7wYkN^ORTbVTmkXp;E!dWQ$3YYTG!ctYA zCny!j&=|l_SlQCDiNVKA&8)9uH_ytcf$=vwQ>43N*GxXOnXK*QwmbrT){V6SrCTb5 zA82yogVvQ;#Jb%dSwdClh%POVdFz-^cG<|z%sI?uz!rulh)jGIR==cacI zFH*sgrXu{xQ+Oxd=yYorF;CczX?h({eSGKz{x+sOBWsp4*wTGYvB0jdq(bK~H>*>+ z>)FvouKGA@wPB&}V8b`dC$ARX;Y16UY73RnFXeduYb=P9nr57sw<9ei29Cq+n@$p# ztMdsKB%GK|c(J?x2F13h?s%cZGVv7B{(diq^ZdH&r=B2Wn(pn3ydHx?p@FE0hi~F7 zx9x!!ucurd%fq=(IWjt$Ti6_t(jwODut6p=EIYM}Q^LE`em9~}j>whb<59dyWp(4= zEU1fBRJ!&N12rr6`XnJJZm>yHypCPH)+{6=!VV%NW7=5n<#lKu4O-$;r{HaNeL}zv z?`LjxkyNpUO|9N6G4WM`jSK2LHjboOactqc1_kRyrG~Z&dy5|&9a(zoh5>H~u2xo+ zuuc_H8`9q?S_jpavUAK`je=%?G}kg2r4=>tlf?JX-m_Mz=LCTx~rYDSyA{?`WPzNo($i_PwDNxrv@V_+$J6{6tt z;|Z!`D4!8%zwW)o3+ESoc(3nb!TO!T;_k$dqk~s>LIRX540fme&5hj_0#`q*%y246 zE=PBNG8n)VDVkRM`k2X*h}})W&$WxQsi_G&B1FT(*V#E5>Yh*}4Uc&KmHX)aw(3$)D26`0Qk~Gc_RHaeNIfp0lcvkPxQQmr&4@Tm1;O_| zhST$BcK7(7^rK=|fv1S6nQ3l@vmTx&ujO5HKz-9&`_(X`#pmtLCq6lXxr;wJD_sD` z2WMt6Y45fD3`cu1%CF#h@f4sBi8U<(^vODNa@N zyoDn>8L;|Zeo!3B^4Q8ESC6NV+UPhifrEa>W{8UpgJV&HdNjPC!U34qBYrg8YH4}m zm1v)navkY=U-*|+WmHDwF4;rAd`yk@#w9wgF(KQ4mT)ftu{u7?qcY~>om8ZE3R0(syy)2#t&KQs&+}QXEmp7uxPQGiK>vSjVd*UA74#v4?ZSZWpi!( z{uxgs3AMp0%JXF((%bxX(=|4t`UlVl)0EA(cVVA}JmQK>Vk0HN^OL;g#Gg-B9UYd` z%C5JKMoG;KaE$1p-$v)uPEwY?f^&llBWv|knK~Y_`1~3*G_^nlA{PFfCncbtdgG*X! z2v1;)qDUBw1~09JlP1_-$0K65le8@IU9Lq+xHFMzyvA^9*H9~5THBT41T3Vv;9+%! zx8-S~&`9Fj-XyAUA^UHH^65jmC@B~_F)YQuyGHGJs z*p={T2HTc^U^X6GCR3M|s@lxLE$~=9;RuYC0(p};Za2-&6=QFcld>hw5O9uPEoDiV znfI42Zn+8-$MklSlaJa|Z0vrYqz`q+l~cp=3zMDfk{taS|ix^roqbGENm;w^vX(YIp=xyNkLqZ zaxzNsZA;Cwwvuqa!?UFy`Lb(;?(@BM-R$~W*~^hN`s&Kcn!F=YWi0YXReY{Av42P* z8k(Ytl8lxWB*6i-9Ks%&3=Wut(217@Z-B{FM~?C(jPmfIX~t4|X?2ynD_=b84wxkG zVts^7S)pIwUhya7^B=j;EwXZtD_G`GrU9D$Gb{cp`2zyn1kb^tOy$PfW&CA!5MB($ zLrIxNDy|w;PcvfZtT>M@By`5DQJ<=QhCH2|%U2+FaZxiX1EWrTT+;!!QF(vC;z#K@ zKHyc3gnL^6NttE-05Ug5xpMyp=3Faz$R=l{Z+=KjsBw zkCM7N{>y>B=xwZ0GNa-wD_3Q70=)mjWJd(tbvyEF57A1kiYo;>`-?nM>NJ}x%lc}s z8}@K?9FpVNj)U^Xbljd})b%lrx;h0lqul^)PF z^3)p#kmuMYeTm75k6%`$Bxm}=MCfzx`zEDjkZE`$n%52hQba2Y3iwq9$K|b~zh4Z@ z-WaXqKqg2Uaq4{Zh|tzA*c@bx05Y*gtyz^9@rqP+JPIe9S*JH6E7^A})Bqr~%PPc_ z)eE}UN7SvsC%V8*V~&5GcQ z4h~Lt(cw2drH#Hqm>(?6v#$*#5agqo9!)cMGsm16MPNJ(CKJSz|($S9*V^0UH^4Kwjq=<>i|R~?w;CQLdTwdaIA zTwGG+1s`4MgX>+$9c(0Nl%qGEB-?ODmRJiIzmJ*lm+x&f)tVtL7Q?{B0F+vVG5O&= ztYPBfU(s1S+j)9F8$Tjw?alp~a$Kn~v*grF7hPHBXNNm@AE-+&(4BoEi&de8%*ltQ zq8IG;Ny{S(lWI;B$I@1t#Zm?xB&Y1=6H>8+yydf`l>vn=a+2lhHG0A8rk_S=m0<_= zmqAn@+$>qnx$-<)q*#Egyf;aTTVLfkd>J6xWScc@g(rTd6!1xwMiv%m>1z?a&4`pG z8AUTZS@^_ahFMu*1L{OZ@p1}I3y9_h{y;EO3KuRN^3v~ zZ!>bjy{peZ=NVl!NpW-H6CTzMweP~M*GhcGTvg(c^@So6v_h0_r8NRNDMG7DB+CR@f<6bcn?4Wqj~)g+9(| zc46#NTm3fTOKFzmqTtpBCi#3{6@Q_oHB2!x6+y~2nP9056nuQ*pgag;60p{?W@4*n z9D5QA<>NQjH@iY}(-~gS$iitn&uYCh(OD~eb}Q~!M7(oHA!{A$>cpE5NUGu-@Jty0 zr?CF7Q#kTSpN|Kj@&-rbglTaDQPyd@HhjrNC+69IAypKzJz7YC))N^koXb^+r|m5> zTAtGoALUP`Nd_*bRdD}?|+u0qDZfa=~nOiF%a(9&nd z@nj6%f?<5Y!(jV4EcD4R!j;%M2u^`9!e3xXD?LD0A7imo@#E-@{Ch9FehFJos zc5?2@s>{8jnouqC2RMTMk9_vtxMRZ;BkF!QdcmvB71jcD_|IxeKDg3Uc3%GVX;Y-v zr*;&)CGjI=a4#7%|*UUB!vfT3I0oX|1Oz9XRL0(uu= zCoAXKUC1pRZZfx_H=CDk2jR$bUQ$`M_aKJ3RjJ)S&3QY4u(*yYD_CVx$x`dRIbUG~ z7j6$yQmrM9zn!h3pyKG2Y%N4ikd_`W0kK7Lea&3+h#a(06H+VCHU7H$bGeBA&?5wm zYd&J=!Giqc-pfrsx7pMiYCfE7ka@cq1a? z%zWJwjOD0$3#+= z#>}uV>hMs))y?B4PImX?3dxp{NBSDKSgjS)LLM;#O)SkBlTSvys0^OjoiL(U(+&Pa zKjq@LjmK}#F-jzT7xC#j13e2IR$GfL&b*0}`c584#6x5r0sB+I1|^!-zEVe5*}dg zP5cBxz^|#buS2+~Y_4~;ZJncQYa~hhDSYs9#fAA_JG2y}yt!(vTChUm@y8o(F8#SG zUMT4v8ZOfny5!`=`1OgS*V&hYgC$tn&J9+Ey|E-V^9}57@y=%-QYMoOgqrW(qGWPzv(Yp z-_7s@%}#bOwzepP6PJ2%RqM;a9`FX>c3L z_hXw{gY!nn2Md!1O!oSXjT*R9<2nfxjzeQ>CFM z&bw_$X@jW1G(ctrkt5x>V8@09b@1GpjQ62j{?4|PECaIhzoI&-uq|>{{SviZ4LL7) zWT1AJU0`-7UuaWRvpirrnSIBNTMMW~M!$;~M`98lF(OX6?A6dJyZL)_qfg9J7qMx- zmc@vWA-amkKh5GS(5^@zu5hB-rkb2(3Ue(pU_YJ0&x%UA92|a zVK|oq5C0-x{o`4`p*%#ykcy5eskHjV{#8&D&=&;VHB*Cpw3eijPi1wwYj_a;TFLgA zCatxuOR;;MQNCj0(p_-T|BE*&(h2o~S`8b?>*g7sLM`LFfH$wsa=j#I*J)Z;U)aQt z7Na9%Z$w{h4`g@R3mYHFIau{T6f;ziiW z&6*D-M%UyR_7OFy&bQ_&8h(f^cEh;2J z%YWA*YHqE0YLhR#LmBYjA&2=tF;IR%K7o&r059(a!PImPo|Ch0uok--!cZ6#7vp1p z3p8jaxuD?F-%W$8G`@7A5L?^w8Z1tEm8tNPiqxi!lxgy=m79wzv3LWi;2f)dBIn0| z=km-J@%=BnxHtXBc9hLLVAE`O^!R`cCDe=Nl)*l)%IqB*U$VKV@-lk`Ln)@HRq8>h8?7gU(ny3`idKHwfZhA0MBz zvv&uzod8S&DhXk{6j#qe|IF~rWM}KfZ`&~c5jQmd{-06;_a?Z|m%PWN$LSv?oP^%n z=Z5&-E%-m0u>Z*)&?>4SA%$Xs7=Kut=?NvGe2%JD$nLPIYcZV58?LK2eDQ7HV$}AG zspc=9UwtuHJK?gIx>PTZkgn_nFA%qKQ2w{89WHSd2if6d01xr-29ARI*2MrG*_Dks zr!`=1rof%=tgHHq)GkpfX=oZbG?SW{8AzuJPRwhYWBVgFDZSQfC7^;Nk$Qt!bN9ly z5$>+y(eqI@e0+R7S|7P@Nqv5FXEf)phF;F$_xE4X3KHDks=YVCO?AmmgS)>lv;30c zIOXkY=$vx{v_st8%#+K=2O{t*=@guPE@k>Ov`{%U)?+pYG?WCDnRPYA>{%vN|AA4% zg_@#<)Wf$uf9i-MC?pDCK(N^7Vo+b@^X&FT)+8TcHrpxp6>xpcd=WmncYg-v?(uARhQfl z`=n@@%Z{SK+qO7^y!=OT5`SJs+`r_EefUd=)1B{8${Y*4L=DHGYRIr|xS*n+W6pWx zh@4w((fvdD6+-KH$~)lyAuwtGG3c9Pk1wGe+TQl%A{NF&1^GT)^r;EEeN1@~9fXXC zf8HaN&_@*8ue#RfpM>5_hJZ;EdXb;Qnu9v^82nMEF$o2TFnE-kguC{JCCR|_9QDWk zKRTj}x~asXw5(!JNfVyeop4CztWf=#U5w5ra<(6H+C;e z2qKi``xG?{@|Km=h^?;0Tv3Pam{=7j%{426GrYMsGD+Dv5_jih?_k9n$&uirESgm*h|O?OrET;GCXzU#K2P8^OR%a3s^ZnTODnPmXwckWrX^70xK z^c7F;miPEQtPnC!93~6uHoLe%Wc-QorEG3H`wOl}GgnWpP4{)6b}1bfgq2X9ADB(c zSPn!Se3@(8((`b246JvbXyUD9kVLAWoP11O=KjCQvy)_1ORB00liY&rzY@q;MV$on z_s%aXa*=f`RJOh=e>d*IWb-RDD<|b4WU(e|TDj`0!?it;i^Y`W`-pd_{%3{Dlgj6m z2QutlIFViHg-bsD{Y9)Ctwql+Wl8P&f^6FEq;E;jFAtOkvO>W8PRWC#CqBjTDBRKUNuI)P zE!*-?pNE-~*nCQ2Wf@{a87QSaytR*u2rrzpX9 z$c^@d-ve7Fx%Jt{&jj-$Yi&IZUE_!2BydS@vQ_xfJ|!i!Ex`SAe?H}Z7=t{P$EPZ^ ztD~w&D=X?NJTD2yw`j5Ilw}nTL(bL~btN%CFp734rt00{{;2Y(=zZjDPn6;{&;4M@ z6JfwLWk@C z-^*@_HFpA(UNL_o9##2*g+9`HjM`eqlj7*>jVO2cM^ro?zYbpaJCO*>Tnyc)Hc zU!Il=ls_MLjP+|fe8pNgJdJX0__IqF9x@whcs&&te1$fiSnEf#^(Y6LNukdBlG>g% zv4t*JZbi#9C6(!M! zVHy*9wL>x`(uqb}TRdj)vZ$35GHE^UVblKf92I^5rg}zJlXeVS@1CvwQK@ui->Qa# z;xrSEXT~p0uMpMbn?kDd-ZsqFU^B0L!m8rn&}yr3VJ2zm>lT+cL?3DLzBMp{{Y=UBENsqbB@&I^4Y)rm=MT1_4nFDGrh}!X;AkO6^$=2b|%DeZL)`o z;vz=J=P8W7%R5)z;eJ>q92a^+Ye@_>KMZ&qrw~+No{N{l5{gn z2xEy5ut^37{l@GD0!HyhdTQ8_ygoacAT%z4YWcR7nO%8)jMVr7%oZCn(hxQGPBJgV zr?vY+S$PJIJ^5~J6Pt^}RP>0vc6#~j>!0N98&OOS_VLcAU*YmQmuc=_#dMGU@BH}>|ON&cF>>IIOWSd?m<>`qG z4KAx5X`T8N)swPPGM0Oah{-6VqP&!aV=t!7K@yAnD$vKa6pi;p8QwYMdI@Kz@;6n8Oiznk*9svTlXtb?8IX=U^dXL%CY)s%cvg*4 zK7}MaNKulCD?b}YMjGzXRnCSxaCHph)N1g#Jvb#@ihhPGH%snG$1P;zY^Ys`)(Fm; zDn)leAm13BfLF#R-nI%M03AYVYJ^D3C9fWPNFrx0C$6|i9JPZubA@a?65>U0FDJIozAkbW+1!uB8_=6@+`fiAO~_V=oZBVt5WHjkKBY?-7bQe9rp#^Li`Y0XFL#7EpE zI=@*)qCQSfHn?^5bvmYx*jVVLNJig9l}*@PXN=dD6PM!eV8>(xP@~Bur9i{>@-*ez z3N)p~EN|%O@9CzxwuG|gLDj{4aZwos6?JTE8)$E9rKBpKrrs%5WYk~ZSVKlh6&tGu zGz%loE6%2WVqHf22GXOikx<&JzE6dal=8|#l)C7VQD#|MIQQc6Fr2y=8R)0Bp^Tg= z>FAv{>MIH;FRGEwXqUFeYI5_6RJZf1Q>~QORH7-bQthPB+5G~N;-NC}9K|}Wloti?D z)3RwCoWpF`Au{|SW$mLlq#<({RtdfFh+Tsd!|ob!Vb_Svl#%zbbZ`avG&a}MBZQ>2 zx`O276e?Q>Rn4E}-WD>lpRJf4vJ)ez7ScCTQ%{0428m(eBuCyPI!{RJ<|>g7uSmIR zXM1UYc%);?vrv>&R9<^@fAJn%ye_-YKZD(c6n-?s@f*`raDHa zR?#hXa4$aRd7CEEpp_J55El_fSXM0)Jwv3WCKDc)%iQE7X;G0BmsGHJY-YB-ga-*3 zEIqT1ZZ~WYef>5`k+-B=)-%%DMQK$Xoz0C5_K#ASon!K3>o*u**kOKfgtU}o9>wG^GuTFI zVF?qxQlHBkWZ+OjN?I0mQjg}Q`p`DCk&_TbPC=IpSPuxf9LfF*X6A$V5A%muR92pwL{$Xh1eb@ zDB~1-2ea7167h_8U>1`7N(8by6 zEKV7yIO1Zl-MWnVmVhS_n-w?m;0kN$JwLhp00$&dhjR!}2#i zM4qdZPQ228PjUwKd!ce|9%ovN-0Syn?benGVJMeSfL92$Ge=01y83g5yE+GZz7|)8 z5Q^#^T%{?vXZ!=rGZ`$~<1*x2u8^J%yi>!t8*6c-<>IOqLKd5XtDz6C4DRg7Rq8YD z^!uD%O_hi3*rl$xTjg4ekh@`p$l%>0G8|WTzNYTiNnYY}rwpJStuX^~M^ zR~J(YPfs0OdH2UK= z%Qd}p`fVcXeS?yhZbtgM7?@d6Wo_75V`^H6!c*`tGc4b?vc>wslzihF8`3b2j*YUh zv&X)W6ea$yo>6vWls`T(!P@cyBdW^-A2UN^99h&9KLv;7i1v<7){jncS#)&w^ssT@ zC(owC4Y?*Ayc}DOHs}<2^o`GPe6Y>f#3ZXrb4)F62=QGKS#>fHaIdg9Jw)HIe`c#C zCz{lXF7^0X?5)kx+uzUp>K2FFhjfb^7qUX zDMm&|B@cJV2)QT3@&Tjs8|+OE^2$d(MrmCKre`J{-8M6W@~)1K9*!+m)}}_(ydIle z7IHqv%>0s+qe+&xwpE!c*JhS?rA+JTk>iE!W32i;M#d*p8H~?MUU?l1^mH*A*vB+C z)<@rv$Y^a}IyEa}0}}+cI|cD2f@gGG$VM^thmU0BFCA-Mp&A@Q9-TS)fx84Q8)t|9 z{X}Oc(k6R6oav4DEGB$L174|Lo{2@J+63-7!KXXI)7Ovp;CvsN2k*?ZIt$}7pGrlN zIL%U1q&@TW_u`Q@$d5C5Uf$)EzsE;1t}}CHwD|A0*g4x@$1^g)nL&Q*kA#$-IsFs6NiPHM=9Ul%g-lH0$j(#uP&o68q?4Y0 zVO(Fd7SERYWl%e5aJWdC{{&H7L(uFYyeKX?Xgq8lfwgSff>Q4aOUP%M`8>Z7IBMz(KgcH4g>fhruv$OlW zZoS=NL}&1Si|$ylTy!8F>>WIwaa1h7ZtoqcOHP*Z zvKNvRmtrYa8Y=&al^5gjp?uSh8i&oSV_zCMMVrK7wP2RfyIbCWqCcOSeFCfTgk8DU z<$ZeYUGZ^qaCH3GFOgy;*kpZvc|?Iz(z3I&hcjTo_oX4ScYhIv?`)^1{*lv}3zIU% z{4Bnp_&x0HZb`md-*Z%E&>eE3({p%qi1}UQ@*-GFI(B!qIemc(h%X-gaqwK9Eh{A3S-*I~nPZhl#T)G6f3?Cv{fZ#tX4O2bbL}?Vbmxw7~~D z!xuR7aK`cBzO-2Z3)(M&$EjL-{zBmMxHvvIkao$x9Y8PX^h*0=&>dlW#{bxv+s^Lp zw&b^e4b!4O;#ePO3w&<&51#dq?}uCZq@A4|>@T6x>v20D_YePA5hN+^K~g4XW>^~@ zBu*;T?fc>E+I?(J)sb1#sy^ITT}4uIBKIScQJ40ffyZH>q&SI@4L>=spR5rU9?zax z>hk&oIXPL>^-L15cprd|#mQEZ<02^S9Yw#lL0(cE897DhELN&=;z>x!Wnb}}>^4wP zn8ftHQ^x zjda#kkzdt>O}=9{=8=#TDO}Hx6#eE5mp=K|6gG~@FB^BSzD-n2yvSmJf#x!(%-itC+sXOEvXwbeM00mHaA&c+hF%_m&JuSX*BkkonOLi z(9u+1sqXzyU^VPXdpyprYDeRYRf)qCXyi_HCv0v#+aUVL3%x>d!z8^G8N}q)Vb$-m zyz1Wr;j!wetF2_$G||~Nz> QT!bW8=6UYc#rPEbxhJYE-f!&u`1--<(Gl9r{^+QTUq5; zh)+pm7_o`zRBD^pmWFss$nwh43a4_fV%ukAbjrWCN66CL)HqWM8|pqH)A2TITmF4p zUZcCtSz23@GJ42^o0o`;iKVQi8>@6!>vEq-iQHqQwWfid!66JvWf3yI zytFKX1%Hm3kB=lR{`f9pq#=j9;ZbDgC9|t{s%pne%l^GW($o3#DX{PBaC4E8{A_9q z>nX`hr*m}l@qV%0^%eF4Hc~uxBcmf@tZp5#JvBgXel;r#)2!^AsMpV7Jl>Uj-&U8Y z6sejo%D`o3RlZGe{h&LP!GLtuTbpa@fMvY3kUQ}?YFRy8S)jhYndya9^|wm~5$kKa z{`6l!O?niGg`F%7XbB0;#O}7Ld8jlirjtEpCMQ`~_p8J!c8%&ah2&)@W)ys^FE622 zU3|FN++1g4ZJn(n9jlXVy!pmwNU82qpW9rTCNnXGzV<0r*OwV6C}RKj{|HyeJsSS% zPnbaOLmwDT;>vaVg_A)o-VDi=$_Jg5;3vRBM}wdKAj6(x_d) zkbKAeM~O@u+epvOqi^n+{FXkYyda6_xD;Ajg%nD=y&`F} zD1$7oP3r3g>#J)VN#B^+_YPL~daoi#(e9aM*Q}L&@2hSX&}BJ}n( zqLQ@C%?=at;5H3)T5jBm;CO$Bq}Yd&uU5R)6B^5ksFabRwtA4Z>O5Y1<&#{!6NgdS zy@iez5|V2IFMNXG?phv(JmTJsG{#mAm~7AGuO$8TqjR`V4+x8Rz{If^+wlaiUwNBH zu_@F|`8Urc-ic-O++B454*fFatpm~-?$FfH$6!wjuYcyFeERL%tQ{Vc_$Zc`${N$abvvZh?r^M#m(a~@y4zDq-uIt)t^w=+Dd6-8|~9;jLnTv($pw~xq-pCd2Zc#i;rKq%HXD+ z>E#Cg@Y5gXo#aZ49t&?j{4D?LGjFkYV5GRGT}qmCx?Od2&rfmd`s=)tkg7UGe0U>_ zgq2}rMy$*(2l|CSc znZ;fDsDl#$)m<){ERrst@3H>U_`n`G5rP5Y5wPBDUwP}A^(vrbyK+Sq> zyel9NSf3ssDLRxkX*7nLvk8+om0Xl9-;v z@Zo!r6VJ)yk0heNlGxswBmOA1KSXesZVRE_HG zA8gYy?za|v5%oRIbPr6j)H+6YeKl2S*;HplkXfpgg5zblu}C`jBk8kNY3~;Dv9&;5 z`-p1galEC6gF~YnJ01s@jKpdy8`+y3Cn53?SxL!~-x5b#7srxs+fnHliz@L|RI+&U z8oOCJ%wM~~VNwn&p|`00-+#^Utq{6D@=^NUx#V$(;hT4HRo8JG`-qYILL{YOoxJ)vx?aDHtD;`mMh%DyOm`NXSqeC$(bKk?U`6jrf* zCmLIIy}Y-KF-b?u$3I2wtFK}%D#tBpJFBQtmk=(7!-zYi{qFBk^0C)B%u1x@kN$%G zx8Gq@;+lKsO`1RQDVjd>DJJjUV=1MSvz!FRF5hSLwW~PCW|-&}LZZyBWaN_`b%TB( z-^~g!l7hIoIEi6%i`#$whh#U%pup#SDnB?`rKY}J&FkI47GfX9F(Tw{eeFO-$=$S9 zmy?lF!Ol!Sz0%RwYl^AevZ1%E39-s$Tl#dx=x1H`FpC=ps@^h?|GB0Rup}v2b{oNTEv6oO^UPxk2Atlv9xNI(( zD|65e`U#5NvP(?#L&moZO!n2&JF`P?O&&S<4Hy?@q~V)DpOl4B>grtLeJSI+LTWwK zwKPck)JH@6By*!JbPbG9U0JKnDix<^QdFsZtlfBy(LQNk+xy9lc|=l?hN^-J4vuwn zH8;@J-AH|F2U%$;G`01q_L_1s9}$yMMteaT$>9-%#D<}*ZKE(Log^7B)zuafelLQ& z;!+wq#yHsDWNd6q4F`KGJiPNZw?m@P^!LzFluq)aDDH;bq_wY)=KeVrhZ^O5#Z;s! zGuQ=GH}*2n(@DqB68p20bTl6 zHzVTMQOsyxz={y~v57v?3pA|GOi(NBd`F#zxs^@2TB;cs8ltSK{i*zRn2wm}8WsZB zNKr*IRar@-X5>(=?UeH2q^c-`)+s+>ww`Pd7Z=XLfsTpBavp`nQd(Bc&Y_w1hDy?7 z!X*D2)qB635hN)uK~na%mpQU1b7n4STyjZHNquZ{V`F{kIkm`h=(c7^OHCmyUxR8a zRAI)&xy)>vIP==nS%{$pe}P(*POGHSKLfHcHBNd)I+N0%dE5?aH3if)_u+QBn3T>t zH7lD9lQd|XQ)>K~MRn@5`r70m*~K+DJwDc_x=2Y$p-dW3m(50#RPLghCTtGrz;n{b z$FL?5?&?_>Z6h@` zjZDQ-XpNTYhJH4e21zceRYwFDF*VXhmZpI%o12NL0czSLEi&TSkVYx9NXSB21KSP< z?X6mQzKFJ2|CIMRY)%8^(phJQN6V;V6We$%C1HEKjo4*U=SA8Rv_kSmjZ~89m z-|%g6@B1-*jdJh%)#prK_igHZmaq9H^_p3(>Ey5Oecy!XtNrJU%JSaVDDf)KydS;1 z%kjTi_u-z>-9&FR;Di+bJq{_m3C-{DWk*Zec}Ig?UmoLtNcCH(v^OP+p6p8YipKmRKnN$~vU?_m3tf5YYve-PWR{}x9-^NSq+ z%r9~BQ$J7JPkw;<|L-F-{lX7^U;rw z(jWv=J3Pm!)ZKC+o*5Mylx?rOyVIl;6;eL3D6|J!JL<`;ZlrVkX?1$X>>$>(c;>Ez zu@{}jL01!5m38Q(vij8au8{u4eeC*mk`q$Mk+y5;;OSXFuhT(`wv6J+7HMlYx$)^& z36(+8^tv9m?U2%YiA4E>Kbaa4YYT(($Uk$ z%IXT`rKNPuJfr^aI3hDUm)#>BqXWH64fj)BRY6^SJv%xJW9>CU#7byr8pf>Oqq3}+ zW@#sVZa1Axl@yh?VKSUhRaVHz$S`>&6KsWr82O%q3#`NsVfok)2=#sHSMpHnN`51?&}`8y>; zvvC-bbC<8;_|#|dzIjECuj75~4Nm{|(~pDg)i*f%n@`~W(GOt$!5_u+uYMZ$PyGUp zAO0zf|Kca{{PZv4`H7#y_ya$J{s(>x$B+FCh98joZ(V>!MUtY7=B7{B%ZLHBL{9K&~fzl85o{~G15 z?pp)r+>PJ)1Ck%|SNSdZqWsoN9{BT2&OMVCO1`P`mt!UGlzYyv z`QuQ|NxsTGN`6^|bXleRScK%cg*aJN()HD9IdOcgLi)Z+C6>;wSIFJdWl0GJdG_@E z--iDCe+2UneE^RTANvpgB-S7OIh;~%9Y6j-`TbLz{>abb{>h)m^%Fmf>0kb&T>But zzxpV)PrU|jUzc!2>da?weCBPn&hWXnu>Q>_Avr_p*PPU^Nj&|7{xC3vcXEca#TA4d z;La_;^&lLwa%DXBE+e39F9|AdT2 zd{)JBr2TR5uB_pd#?4t&`c$y|^(Qd>r{Bf=-~Q)?@INq1T&Cap&z#7JUZ;$*zwtZO zaB?B&WVC!Dqx@rOp&x2BCUv&KVw-9t?N!CwxzFH+l&({+rd>to& z`li;gKzLm5gjg9q@Jnhv)&I+%!1!M|5kD{Ne=Zb;0vyIKi?ZHLoenAAG zAV^Z)gQPt6-4n!1<7{&)5Vo=1xT6vVWy)KbmNxy{|A^t|{x!y5_|?bL;`;CZQB3Mo z`!`?;EI%mI?+Urmea*LWDh;FY>%JA!*Znh2)bn4D{`-Cy^KbkItiSm?SpMzrVEcE! zgX!0Q8}q;UZTb7})uj)okO)sw3ikLUoQdi9q!Vz+vGV&oIHD8qX|!N4NYLXuK2g;t zeaFX~1&&cHR6ag0exWZ+3o!;_Mx`fYI~ruzN2NN~m^VEK>#71OW&CMKz8mf!eo|7?@gH>KX0 zmERxwb#!0!edr>+8kvcu7v``#H%`>hll(w7)%2+64)QpZ-NGANkwBa@Hek zcOT*z8dlpB@7ji{x*Wt;4uT}*JxGe8g1k94M0ivTkK$4}cKTSGZl}IlLFd%wGnzp@HWvEHN=>G7b_JVB zPj!AKrJ5#eP8Z#E#bjg^u&bz!NPLym1*|Hb?35>M`|3KTq7L1wDJ3>8hNMC*4u_qt z`ZDr09XLE*mWI2Dj!9$VDU~=cHTj8D_s(N88pukHBsaGeqs`0y#vmmPjp_!j<$-RI zM>Jt+x#+yGlATQ1pZz(`zx@oSfA-fHf8a+keE*NA)6TkY`5tvtrTdkWzDDHl{}sb;eUhj@ z`z$VPJ+2B3-i0Mx786Zn8KlL>(J?TtI@WRq)B)Yc>%=6*F&S9;?&_{4wZm@?`XZF? zY3*w!S!6aG*lgy!U_?qeQi7tXr0l>^#(2uHvj1mkevEy+e^ad#BP^#@b?sh()A6jf zmLID#y`*MlNSWwmq+LVX*b>giZr*)ZEdB(0J#O{AXI?ihyN%wq5;8K<=$)8js6|Uy zSTvOlz4SMikd&2&rZk(p;ua=*HQc;)lajVEyxue1inB3ACtG0LTOs1^byA8u)ZcdN zDHly%JP$7wDKV5bk253ki;XWyEa7#Y1IH-p$NF3u$>3 z968)r_5QlkJ-dh5bV@;H3>oQl=$~;FU^5+3S(Zw6RxaZ!Tlgf+R>cpDTsu=to1b}c zOPbb48_6uLX0W}2M=9lUP0}i9P~ek$ly6nO;~eKQ@OoTodX->1Tq5NDL!uMonAzG_ zULbKiNsrfUXQ;h_z8=3uo$|~%+)g|8zzl-&?u*yXVcVbMuEZaop2G6h8cE?{Ois-Z z9}~rz-k;WUOpmsclvBj){;9-ernTHkszy1$& z-~EGXTVVRnzlT9cicXms{kHG*2RW~h8fB)_Kg07rb;(jMZHr#o65}ub2B#nSB(^Iz zad-7{w)3=RRS^HQ5F{z@K~jcCMz9*pm<HE-Pvt$Hr?AeyYkzL2hUCOV3Z+uM zcnQ_VU`G{wD>8cVTF|6N@y^|FmUgU+x7VugLKFSs-ogq|1W>6?u|Hj|F@(6+Hb-5_216%5BvltKlT9(KmN07q0;~Je}&;^ zKcr4ayLaT zA7f&;jlP9#)nM0=-o*A)GjG0ena)YS?U(L`JnF~%o91jglOz|Esh#Xacux-~NPk3f zYA&nmCro!%aq03~@v$jZB$SuaUEUGcP z9wCnLQE`-(_p>n3%?*hoKC?`K5UXlRDa)D&j64RlxM5E&jx$KVt@D~pWJuQAn9M^0V?P0f|6XXO5|33fMT z8El-CPE${6RvJc^m!bL$J|{AdNXf%sKchVM5+D26XKC)6XK!2t3+p(Ncspmq*i0zKe!^z$vxoL^qx*JVbO$*`oE_3P9 zC2mJ&;E=LCD&(kt-6Es^Eo!Cn+u5F{rFDd{&U#i4_h_lDWpn!!{mCKqMFmW3NIiRu zGddfp7@OZ@etd$imR3S9y-h+=Cf(z6G}II_GBHVEaW3o2t3=$sN~N}%*7{NGJ7Zja z{Y_d225Aujc;$`T+_`d>hLL&t>kCvFG##MtT)dMW#th5d1LGjUZarw*m z;eRIso*!42W|hH@GShnUb>FJ)xl(3g>@f*ap`Q@RApYqfNK)QwPl_~B3XWy;QQzfv zRevUpPf4TS$=cLN6P^8iv^3OXczQ7N7>akHEzB|4S5Hn!i+b-srSs=JY~4HJfy0U;^VER6N4#=Fe>%cLbdBs45j_0+3ENJ@Em9(xMkahe(K zXs2Un44X3CcArpLUyouxPJ#Yth4CN#X)Mar?*H>cocz*<*!inhnf~wpjoONK8BzDK zYLbXVe#(f*^!tD0e=vaE)d8;Fe8}Zn5zMadQCL~R$*BiTbs2+WGj#U$V$$uhw6RHF zLjkW|e!$}1({=_%+O>3!@2FONb;mnYXCxC7a)a>fLiPG^YY~kB)nE6~JQ*bw7skSV zxa?N;mX_#h)X1p4jm$@PNz2M1Ctr(4D2=A9fT?X|H0)z`q?7#QY`Oxf*S$i5Iu}o{ zA1_c@DtY1asK&w4Lhh-WQ5l)#CSxrwz8=>!9l1?o}wHwhhzQ|Br5%-dFnCxoi?KkhD?HFfwew3EMQ8wm> zX>U<9uTIG+$Whf*cP1KW8=IH%*TDF`i`^+HL+yTTuJYna3__shTk9EK+Qqmla_)P< zzLhh#5Y;r2b2V5`b%eh47TI}uLU8+77_Fy!YK5`BHYppmG!3odIGCY0uadI(2;!1N z1{q~ognxGkiR+pRERmgAC@jjxESb^OSjN(^m$Bw@>ZH@uRu)oFP(Zni`W4zf(O=J? zLck4cXqy$yk7erX2Bd6Ov3a7@ok|XlPnquT5#l$9MfKu&jx*Yt>zQ5NCSOst%q^!d zt5libpsPtsLvuA#3v1NXlruKDL~mO)2{HF%z|qFA5SX}-`$T1?(%aD|`JPF9Mm9~2 z72LmaOO-)YO&2p0y=r=uu(&)=OxRUkyL3+mC96y}l#uW+l!x-}_MR^K7j^7ScTicP zB{Sp>=|UQc%Nl8DXkcpN6zl2?tqpZ(g@kTzty8G=8;pDm+aC9Cy}|2J7Y5c3Ww5Zs z^~;yZtnYhlS@|40tIJFXSc(C<%^m=r^OV~^j<@iRDHALIU=>)egW<5VRvE)t_3(!ZqV)U+$d zv1q%er2CRix2k}MIE``>lbszz$A(kaH;Gw)NPcc21w|SR`coMZ)({yV%izi`C#xge zy?vdBiN$_Hb6AOqc*yXI-(cIwP#-7KuJ}BsG?Wz*pCuiqBxG%oZJ8%1Gx2grL0t+c^2I@8{&F zeu>Q={|V;*_~}S;bk@0XVI-HgQYWMDg#1#XGLi_- z$Yp5zgt4hk?!?3r9v4e;dOB$Z^^EjYaydHpDHUY9QBSjso}=SZ8DCgIo0maWS^_!c z)hy4BON0InH}5C0wzo%ZW;AbKxr(;kZxrhs#?2X0A4W(ACL_c{1Bc6FGU`mHd2$uq z?gDpj-5@ff2%Yd0pAfa&%pw$v@Y~b<+_`a?JE3VD$mp@Xp_s_1a9YQv*xOnrJ3WbV zA+<`r&b4TWjH{L-AKIi85@j^pI5NkOH0D{QS}O8WDDRkJYN(yq*hGeA4>4|xke^pX zS!p9i$*=aRLeera85cq~Tvy7&kT^~hUTW1-l$9v?l+5;tnTgI)E(y8O^i46?kV{@= z10_;+>IRpn%ZcIE%?ET$ZF01`MoLl~C1vecooB4|H4qx=CwI?ceyEj(UccOC2UPofwu&pU*^WWFcy{< zsjjJ_Nm1vOIMOoHS=ib`Ta-m)WQ-8tCN_m!rln=jIJzu@lVgg62xew$*;<_^At9RX z&K4fVr6IiiF>E^%+;|Yl>e>>eg*k*?f5`aU9JjB(&EUGfzWd>0ykBWQBB>ji#;iM} zATNphf-1}wD=QOygheDUy>;;!FmKP3_Arv9oNQ+I4IHmdl9rlA!}zkabIUxCx)708 zh{55ct1Mm0*<}iA`Y@dwQkIiKUTqtCy@Tq!5|T60>6m^-KA$gKE_LQr4SfSRE2{ij zd7pU$%U^s1!v}s5!%uwBzpq6GOUmY4bst#}|Kt!PDK9}%E<({^$9LvmgB5r^FJLDD zDC^nEdc3mEtWH??eDY6%dR3l%#^=mMcrFZ&l(qEpXB3=Y^RJit;}4ur<9{LK+IftM z&b;U8jWB{U>Pyn7?g~sZE8iG!`k;KH60i3eUoxKAIjoniVfoX)#PBbF0@J_zDNOHs zzp4(Y*yK>vFO@wh-~EH?h{yE*{yyga`Ue>0ujN1g9=5;yDE5L9Tt%f=^9u2nSK-LX z$64QqTiKuCPz+;9Z>;POP)1Rw3Q>F-7o~sxMap00Ta~{`I8XJv<&^t^td;#B%03G< zpCot!`$H~5*~{SHW)a9&f!qCL$xg`+*Wp7V06Xj-X9pC8=Pc_?xCy>)@1W)IgBLBy}nUs79TvOiXPs@{bLVgu!Y$J6P08W(dzx$ENZ^BB*czL*0SORidXmGTwP*f|f17LTIM^Q?xC{ZSOA|M=f9 z|Cc{d+XrROin1YB(HJ`U1_=rgd91DXK9!W{|J6^b8}hBMzK$a;Q{sP`pa$_z2SJkZ zd6JYMUJS)^sWMxlY6B#sV7nKp?$pZ#$i`p&O;v?a-Px~b@kn^G<6kidcE0of z>r@Q^;|CSPWxp2K_5Wc^@>dx>DI4!>_rtI~2*dv1k$?C9`LXi%ZU~;yaeSLwYB<~Q zYa6M@61>t-J`StvK~0??zT%;1_;}aWpVSkze)#K)8szxAJ}D%_e(RoE@09xXr0xZN zU%sx^RpZb9%42OEH7J^VKm5}|GQKuY&o2h4`$}7I9^|*G#{6%7+aG@UH?aK4pW{eO z!5$rtOQTiW8=u+lPbr9h+6a=A_aG@j7341tuKGq!zWSRm{g?mYKQS={?d`bg8r0y( zDZuiFf2tbKvi$M?c^nj@TKa$W6X?GAyPxd%5A6C^v;fXWROg1Qo(}Ir_s_mZow-p| zmES8UT1QF)disf1IsN#{1&cEK6BVmYL4Uy^FomtUt`8yzfkK+yo!!rumCq-%v~&8Y z&vN?FPrb10zA#AHSL~Z8b>T&I2aH&hN>D>9@0Ad!+Xp)2k}oIL6Y(wBxP)JlB3lH@(T(n)i$ZxEjw$Y z3@@yz54%qdR2CI6v;MsECtyNd&}2e(sCd!2@X=>>H2xqN!<6 zwVRGs<{rz#>U1+XP)}KT2X?m?hkg@nO(Ow|`M8=}(S7Z=V)+lhO;dx0n$C7=242#z z*x>s6oB5J9L6R%+q&Q@EQlap5wF&TwgTBO51dd60Pf-{eU#_DW(mJRa5#Z;%38xNw{I`J?!&_vhJ0Cn{(=oI$z z7+xxK(<#=p(9t@|+GG!LDaEwaH?g*M!scWbx9^8Bv2MY1vPN}D8V}O4+1=izv8jRH zzD|aw)|v0GBrbjMJdXeXEZIp!K~yS=!m0+G4jWw+ncRuZ<Y=iPjr6SC9t#yy;GUt<2B|1fJm{b3Bh{BPO$`46N2)!$_Q=YNBP zU-}h}KKz^P3OU;RxnD#7>;De@ugG~JM%y3!1@=GuZ`l&Ubn>BJLHGV|!7Sv*sQ9t@ zs&7X3HGw6tFI9MIiai+KJA8v`iS>nY{QC~?d%sEqjKA?8o-A>EzTw0FPTkjGk4=1B zZeJ$YW0UYME~%SN-!mK?x<5hN)uvE1X;Z_wBtP;YY{($MEO40f`+L}7j! zm)^L+vZA{10<2E=Fmo&<NSakB-g0t@tu;9 znoQs1fojZbzQ2aJf*!0E3)+erRu7HLv^Fubwx=2_%dMNiCf6=*{u}RWr)_uzZ)rDgbUN& ze~&@&3T*k`e}Ux>pI%xEhUbI%_x}jn)tfJr5O_&}VNfF4o(y}}h#l-codOrKvE5xLxvtzM6opn@OTl4qttx~jj@#5|dK}vCV zcL*-U0zunCaR?590L2MV+@-X*ySuwvaNe}{`Mp_Z<*#I|oISH==1lf{zFhn>@)8nE zQP2H_NzSRsBFpwpp*js$v(sQa@(;(b0H(U1LYYtzF*7x5b-dw*)^h{NAYAQj zjCm4`g$B0>!y8c3{5Lw@$UBK=1R(SQrAReZO<5@yk)}IgOX&q#F4j!PhjDEI#FRDz z8)H6C+1J?{-ad^uM!dG^nYs3v83v*^6&ur_@+wg!MG3&i7S^DA{Bj=Nz9{B0?AXbU zGcRrz=*@}A5@#fQ4!Z;Qk7;A@lE=wa>&`1%es=VY;mEuyK6%OAkJdk|=L-mFcSSyy zaYgj+`{QmHza}Z}e^>IDmsOJpR0OrgWeygu@63p$+X>ED1Er+3Q31+RTZA0NEHW!@ zRW&~cDumozy7tDN(OU()cH++{Z?4E8Uw5mhFaKrx-amQr*WMlzA8&;*r52&JGhThK zl9xCT0Z@+ku*AM=tan~aAWuw?tW91_&2*;92<?>mGuS3gd zLj7&u^U(xUH>H=7Y2kSHwz#wBtP-cSM@ss$&wepZH-Mf_tU=Gj*c2gIQMhmR(XyqU zgZ=b1U!&o#-bXqGdtm{kkmmE<>7J?T?7G`!zxtN0g*k#G4Yc`r0~jeqMN7cvqfaJF zEp3%OI%Q&J*481^f^|MNzg+7(Hm6M}f0UlX0V0bA>w`LC3SVGiiIxHbNFbL2PV2L# zO}S}a#SMi6yiP@F|@#U<%yN4 zeuMs3hfH4PFF*W7{>vJDm+$Sjd6JVxGF=vx44q^j&BF{a6xhv}cm;!5wO;EErtvB* zU8h3T)3ybJHeJGXAnx8@rrT5bCr^*pNTt2lgzuVH7cjNRG;2bx_5_? z)J?vhrmHYnh^G=*&^O~<5wo!cMJ6h>+SRPR_+;m8d>L-X&yXtCuK04p#r*@hQ*rc5 z!2lH`uXzK z=MV7nWqBBTBf;PMe~WI?wOSDH?_%A9o8r@>*qv}v8Amg{95f}v%EBRXp^b_>NU{QK znVa`BsJf8nm6hkL5qVy2Nl@yPs3K(Xjo6oI+x%vMut%+&#-#7_DH~3*=uK@TeA~Ah zv+C83fhn0(Xx7!5c(JKkLme9gcg*pU-MQmq3xOZDJ3!6KHnIZoBn8(CY^mY#a%_j% znJ|hHs^X!5g=Ni-sJn_tRx)!TKyEHW$ixmn8*vfINAMPx{Db3ms63A*a>BcFA#`5n9 zfafXH6eal2bt`(E!Rf2nw2t znxB%kwr{Yp$j7FH<cnLP``CdrHawW36x!Z6Vvy?fx#ztfZGU&I<8K%eQsdU1eNYPN_HO9 z{efo=&g*H=P1X2b`=>*!6!^~9L@iKw4tO0)^o@djiDk%H!_%WRDM+cOY5Sz-;r})? z5P2A%T>$>j*QVeIGkRyIWsO>Xi1Wk|v{B8n<*BTjVpE_$FYW>*NWZ*sOw?`{)$3i& zwY~iWZaFAZaeFwkcUPpS08C0N{owkj7BcD56v3 z2hekHA`+Z6qPw_C!>eOmsf6y7$ZflM;(YQEQLNo^Q>oa_s;cA?R?tylChF8G8H|4G ziog~GYLTY0xYy~7&FCr^X(XE{$b9&m%W&n4NPb-(ARO6@iqWl&*79R=!e+m)@L0#$ zh}gDZn+UAvd`nh$BiA>+*M>@N{Ij=Zq|S@JNEIb9Iqe-`}oelAg8bz&(WEAb1~i0Qp!z?HiE|yW4!9289!cmSR4!Zuzp5{8MltA zMo`%06W)+!B;nKjE--%Gk^nC*C0($+Y}e;3Z4kp*};o}pz}_)wy3*)O>J#;z4_>(HwRVYbQ`9ds%mAIW10rV zbFb9OMY!dyA?W2Nk^+6DigCjCz-}m>?QR!QuR`27kfqyo6qo~CAsTT(o%Schw41lg)p>st{ zJW7iKiM#J1u~teELRB?_!lBX{tjjY4*E8=N$v*Bt_~4E6yV?mL(NR63E!cJ_b%!&3hD4ZXGF_lzH} zeT@gKxIqO0X*;Iks49D+an z&5=*r-qf~d8|(@8S`th6`a&wkpvUYQ(ewnCM4x^HXPO&t;OD1n8(e=XWq8FtmGQAAvJt&ib?wq1+LMc zq;y_Iy;+-Uvx2!MU@re(N@CYpAPueP7pNo91TB&Q^V%-tR9}%MIOKHawk|H-V% zuG567=6LY=MNsgW0}dDWtSA@Ph`z-2gMfF)^L&Js7lR^ZUXkaAC9tHv#0y(F;^-)C zj@uWVBY+ZA9yU;7=gM-6Di=!1iF##10-jSY_#&Vpp*n<<2qN%=;7)b0EQ*=6? zkX_Ntv=NNDj?Pn9Gcvw6h1Z z8*WDAH%_=wsZ4wzh;8Y#`FYAn!qi%M6KxoQ7P)k62>pA=(Pu!lmLP--{na1W`{PX} z0>*YKeN&q3gMQq0+Y4Dg@)b3@qgOSB+=O}Y!58fN88aje|CG(k`4~|~;R>Ho35zJ< zH@oe6H0EPL4<@R3yA~z2aCZj$CAIRjl_L1o$<1tUkfRlxO|{*(dt6dPF4b7< zoWe6oYA!F)g#9rn@kN<8@oz{`mn(Pb;7lx8Sw5dNLcZnCxe_E1Ffcl5Ixj+Za~cA! zz5?uKr|zsH_UuuEszu7alK$^TKlu84F~(Ika1CbcBFV|=p-l+c&{vl{;t<> zh97M<6--^)g^VobcHTsurcE+nr)NKM_V-SQG`Zy(@EMX}!K{>`k3<-C4?&g9UUtIy zoV!Yz1eUSdy3xN&sQIt3T`F8A5K3@F(aCI&Y?$fRFP7Yrs3xqoFcl^1<*lyz8gU0h z)bl3)n*ASyJr<^BSdh1=)w!}^)Ursei9f|N%34IHLTo}A`t^=;X|_j?SlaowU*65q zVE8Kw)z^Q;&;MvX*u0RF|Nl-63`5W`Li`Ya|sGEUbi8&Ua@08vcE3O81^=@mCLLTAf>BmWwbkm_A%$^ScUG+ z6{wpcG-$dCs$32_)~nT$66K7#y;h1M=E6}ytmQ%zQWEMo@Ry0Oj5*se%UGyh$m~`d za4v^I3{sJ3amiTVlsFbH4c3oa1&z+<=jHq9wrq71{m}Z;)k2%k+4I zvfRe6vcIep5kx|dgEd+K>XPI_5zp^VQT3o;7+@cJ4w%is{pA4Wz;#|jb@A)wNnu9c zMD?8g&yxLF5ZGx34ba^IuYC#Iz<_xJNLb}uUfI$hEd%CcZ7(K0KCS@Fs(`d#7O?Ml z;afNxMRg(-7Jk|1w6Mf8BdDPBqMHNz*^P}c4LR1r3helTwh6Wdg>XA-uwkgIHzS4? zvDFqR#i4j*F8!@^(k0B{SU#jlR@q6gJFa#xiZ?YJ^&M={qPaK&T0^_HuRkg$#5|r; zPm~xnzHdi=@ZM z0#~~iAAHa&T=(qE=AGfz!1{Z7>gZi-GW1)3rF82cv$Ke$l`GNu5tZ61c1I_Ex%($^ z9}hYNdG5%FVCc~&$iRe`JX6!R_j-)I;j}b7fzesL1w4fZbjSzu*<7G@MRmD^^o+=w zd7KTYo^-)HCF2@jFIbDzX$TwJJ6;$on`lO$tC7F^hYwksyZ&A0ic@tvj^RDkUBjI&B9pyCcsgLVl zopq#DTLW`p>SvDBGw19|6!^Qvm+T;^HOJv}(8es<0_9pI;v*aFRm8J)Re z)84ghGAG-TEo+rsUh-5psbjh5|2Q*m^_a;S1n=&UyWA;LS%FmyjNa%h|ID6~8zty) zd$`5#6W)42utkl`@w3W^VrnPv?Cf@%dybZ}wyl6hRrUI()>x30IC#BJM45#R$Ej7q zy)-y_2s83XybT|J!C)y>e!@a0+=Y=^1FDs%K5q%!G*q^(QiAUJK*px-nm0Q`&qXKlSc?;E( zH+b-g+$-jSYWqqM6EckORdDdi|L9RlEBKu?PcO_*(f+c%K{O58Q7)jIZtZTm#BZ>g`U6jV zqah$UrGO4$XG4omtN&y!N_y_c$kP39H{N@}qpHr=MFx&_PoYT-XV776V&cA;JwA+v zQNspMW(gO@Sb#`Ke3abLl5fa7=MC(Y&~{-=+660duG{|lZB2j27H=T}GjaRueYT;< zQU-B;?)%Kk8nSXIGB|%P&dD6t0IKaqUZeYC8W zD5Enf3hc}zx((Zeni^izG2EWweM@V<)WVr}-gEnJ6xdCz3X_YIjj4GWQfF7`%#q~5 zVph7+!dQ3~U!3_za7;|#Ar-ajoLqw^Bq$PH|8@RM>h9`Z6v>8dT7`ik&tyVuLQ3!T z0Veagh-7zXtfAqrzC9riDd@&#awX7xTuV>IRh{&uN6W#WV_Z@S3zsr*eFtxP6i~Mu zE=l19{9kHm#*;g}d4|3*5TPYR+hPon5%R2aH?+4&_sk6iaod0NJ?U{ zqIG;Fm*$O{^ZUfBEOL7D7t8eG7hHML?RW-%FL+OQezt|Q@vizfJh}SD`7|rpS)e;& zV>Jm2AfihnL>0VfJ^hnruvP=@Hr_(90JOkHPj>^NRW9oQ@}|-L5OVl8K%7pnwn+4| zZ^|Zl;L(e2a2xwCTW$qn6_+&3`pY3LyGAtMXJG z$>VwhdDBDqH9{HdDV9nW=f7Iu+V!`>q1<2m{omT)I;0C(ppTxuL2n|Nu(7v2BG*i| zO|tg3wIlmY{n4qcU)IC`EyCdL%T7k{G|HJ{$!_&NQ zSwU?jE7lYAoJ&iiEcMHCBd9g%upf~yt<@U2u zR*fsNtxY|GItN1|Lk^Mr&U%}{1(jEek&#MPR4GHzteG`3-aa(oEmL#zq?xF6XuW%Y zr1P&;Ko`{3v>OaLjM9wkYqNe=yZFM8?c({v1i_S<=!H4yelneh2z5RN zruG!~RZr}JSxc=_aJ_bFetw|scYDd3AcPz|oO}y`Rjvpqcx>obUn&Mb5 z=h*aR3TTV{OpSHgTb~dna2Bm90B>*F0SmGH-p)Ii)OyN{F zk!3xUJrQ)zWn6hFV$JQ%o_)&>l7U2gY9PIE=Q+JDkcm_*%VzQ(2s9zj$`ot!tQN16 z?*FXZuh)3fFW|-t$XkM2e z*>fMF3l57^dOXyT<@xl6Y2)Rj8=9lo15Qsz2-+-p!I}64QVHB?Q!Z>oJ)u9~Vbuhz zF`m`{oaZtH#H1_H-=?Y-;ayxsR`87Un>?O4-(M7kFCBsC_%}rNa_@}NnKDGd(TxFL z&O@KqP`22)EBmM4#*Y}4fxn6^K7~;iFBE*VU`7rnXL3)!&c}SbJ;6UU01=`fmu=;4 zt(erBe=C^NsUZ)%&{y>utCyY0taESE#xF4Ahyb;}@AQT9fs5>mMFP}iqzui68vv13bcIw{;()!(MDT$Uu+cj!O?#>%}ytGebjk)m45JG&gVOs+9YzBST}3Dhp5tIJMY)u(N6 z&OF&4*Gc&iQazQRky9#T!J%q!_LWMCn@O&EFzV86`;@tHPUsy^sY{~!`Pz{^U@T^f zcM`y^HnNxtv=Nt)gMW>#wIko09?4?K6~{3ctV!4P&Dvjj^T#ny9!|BWXmLcT*MG*K zS6af_1^B7M;$FZd@zw`;YFoKyzo{G!3=MG#w@Og`Fe^1LVM#p+j(b7#Z+vNh8Bkbb z>R6zodAr9ja}HBi-!NH+DNap0N*eHJvqc1Vko>97nAo4YAYhy8P|?k5cw zG0|P>LJ3A{xAlaj3&NutZlt&%xk6u8N&J*);f%iW$0gA6*6l(r2YuvQG@{H!eTsaELEMYjT9{ z+or{buz*nUKjHMN^E$s|ILZftKOYu931}yj3h(6^2D5ZLK8o@s`=)-n9_UdCYL1=9wKI&#qtSBfU=KTRS1UMR`^o`DsZ&z(dJT><>FmUH$T=HYGVUXcQ%b-QKN3^|j#=-(B9i2{Ccj*jl|GSwf zlSTwsTfs#cbMa#pOqQwuUKCUrPK;?}t%y;lV8LLvavRfz4yOsPR_R+H|FgA~|O4u5cTX5S~Ct97iv(LVpG9-0W)>xj9KRVZ8 zA(MCPaJ*1rwYJlPjgJ&+W)VTRI;>?Di?VYX!WpdyDL;iEH8;OCTw5>)AzDZspk9wV(VE-J-tge1Dg8b) z{Q99aUBcTQEuM9(PH5(lbq7bdvRL2hBVP-(xAa|;Zj}&`la892-f*^_lki6-37LXa zTsg062m6GL#F2cm4hjrTp^-2%*SOlF3dPZf&QpUc4&hB0{p}+ipYxU+_J4M2x?zf4 zt2}liRv2Cf5i>EX@lI6OCHir(D15BmrxRsXS9T!)5qDS4q6vyB`w%KnsPXv`-tsS(74YRYuzB4JyLGgWJ0T(4BWhexI>xo}=_ z(-&6jIcv$(wsrEN;=Plu6&w3Fm`(#a#Oc%)=LS#sTw`NftI`?r77O;BficI~>x(AK z&|FY(_?g{6w|}-7`=I>GIjAE}?+dh77`%HS+6usdJje8M0&^ansrW(Br1-~B|;sVir-LiSvUs}fB5v*VM_|((-po99a z1l(VTfkBJ|>|NLmt6A~rs%j^&xJoX0=6P8<97986`Akk6LPDB&IdvUE$=uVtH?N06 z^B-JjaK@_o(QE->^YjGt>)7xBSDMjIaNPF`V>+W&Nh*R>fLnT8Unk19jl%rm^B2qt zZZOHQ%M69h>>%pt8`Ip%->RV-H{T{&AuQCFoJIlSMPg)z=|fR&E*^4*-u&bJnsFMf zq*fVpG>K@P8;|+(5wxQBZKs77(L7f?I@{YFv<5x7OUr-jlJ|qikZ!vq$@7+y;A(Vo z3BnG0j|XTk+_&`Z4|8;bb+e0&8XW;2OCeyHN^c|9{Ukn_|>JZxaG@ZO!boaF34%_6)Z7bB&B7LPn zlPf2@;yFG&F>sU>VrE3K^f^9*O(d)8Qx|#q@d2e$kF5_nyQ~CK^ERg;wZ>pngfX=* zU<(p(hmRDP`#!FCmBX^M!7%I5KxD_dc?5a6gCQM#dHFC~&nQA-bf~Y5_+{(8tc%*q2MuOjmVLm}?l52wzVXRA?4ZO4(C6PjvW2a- z&8MeQRS{fva;)UKy|nCgTNDZ`fE?PgYITCg5CE0}imtci23{V=n6$K$Hr90lBKjNK zAu0?^w&u&LmXg!7BE@Dd<3p!QaT8CjsBXlw3rjh4+tx=937tn@aL-eNpRUI#df^WA zIG@hXHpw2n5dR9xd?>xw&RFP|iH`j*ne$8bEtE7bt}pRrr^#+p$d!xoE44bIIP-iN zcCr8iV~ggb4VQ)`t7YSBU7ACBjRK@!T-0cut_Lr?ts042LjT|OwTa!x=~OO94kuD8C)Y?gkegY9m=8i4Y3E)tL`;+c+xXQi z4e3gl{W@kN#Cf+7u-(1C?mp-shwF!<UE~CT-)L+dJ!_k!v_Q6{Fxcjpwf-YsW32P=#70 zV{A6Vi}9U&smIW>)_pBJexPOp;>m+x)D{Hb$UgsZfJE8OKO*L4~vw2h`jn zJGnBO%D9#7yKz=mW$VY`&zN_si0F;v}V=4S6;^uKm; z?~}+73HbOi1cu^NA*1BvB4kUfn`~w4XxDj|*rC*+;+YeEbAy4iDsZkLf`^xAUV9tb zJzU7joJgmS8y4ZVB~!hTG_i`-HJd(tz9C02dH4$F1OH^haF2IJcNTx}v1vLCMzxj4 z*(`&D=@CxFvg^wnA#|h=Z|x*UbS3+2_{cT?e(fjh(O=90V%bHmQhLbQVAk&t$Y3Ag zT$W2S%rFR6RFmS}oLtmJ5Fnu>Z#w(fB*Fy9Hl4k$gp$9B@E06e6fuX}?xwuQyHLMm zN;7ebnDOxQwsX5+5tmV5#m65MfEo8?0M>y1l1*z%W>WL4ST=D(>4& zH;fI+z>t!n&AU{pf9?{u+8##3VyAPjf+YD<>Jn5Df!P&|2jZ!DMGTZ+x|hm NDd4P diff --git a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/CMakeLists.txt deleted file mode 100644 index 96055f1..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "3DSettingsEvent") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "main3DSettingsEvent.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/ReadMe.html deleted file mode 100644 index 6530a92..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX.

-

Sample Path

-

/Samples/CPP/3DGraphics/3DSettingsEvent

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/main3DSettingsEvent.cpp b/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/main3DSettingsEvent.cpp deleted file mode 100644 index 5a4fcc5..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/3DSettingsEvent/main3DSettingsEvent.cpp +++ /dev/null @@ -1,153 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file main3DSettingsEvent.cpp -/// \brief Demonstrates how to register and unregister for notifications when 3D Graphics settings change, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Block event to verify call back -HANDLE blockEvent = nullptr; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName); - -// Call back to handle changed events -class CallBack3DSettingsChanged : public IADLX3DSettingsChangedListener -{ - public: - adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) override - { - ADLX_RESULT res; - IADLXGPUPtr gpu; - res = p3DSettingsChangedEvent->GetGPU(&gpu); - if (ADLX_SUCCEEDED(res)) - { - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - adlx_bool antiLagChanged = p3DSettingsChangedEvent->IsAntiLagChanged(); - std::cout << "\tGPU: " << uniqueName << " AntiLag changed: " << antiLagChanged << std::endl; - } - - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; - } -}; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // GetGPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get change handle - IADLX3DSettingsChangedHandlingPtr changeHandle; - res = d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - IADLX3DSettingsChangedListener* call = new CallBack3DSettingsChanged; - - // Add call back - ADLX_RESULT addListenerRes = changeHandle->Add3DSettingsEventListener(call); - - // Change anti-lag state - IADLX3DAntiLagPtr antiLag; - d3dSettingSrv->GetAntiLag(gpuInfo, &antiLag); - adlx_bool enable; - antiLag->IsEnabled(&enable); - - std::cout << "\nWaiting for 3DSettings change event (5s)...\n"; - antiLag->SetEnabled(!enable); - WaitForSingleObject(blockEvent, 5000); - - if (ADLX_SUCCEEDED (addListenerRes)) - { - // Remove call back - res = changeHandle->Remove3DSettingsEventListener(call); - if (ADLX_FAILED (res)) - std::cout << "\nRemove 3DSettings event listener failed" << std::endl; - } - - // Delete call back - delete call; - call = nullptr; - } - } - else - { - std::cout << "Failed to get 3DSettings services" << std::endl; - } - } - else - { - std::cout << "ADLX initialization failed" << std::endl; - system("pause"); - return 0; - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName) -{ - if (nullptr != gpu && nullptr != uniqueName) - { - const char* gpuName = nullptr; - ADLX_RESULT res1 = gpu->Name(&gpuName); - adlx_int id; - ADLX_RESULT res2 = gpu->UniqueId(&id); - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/CMakeLists.txt deleted file mode 100644 index 974e8f5..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AnisotropicFiltering") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAnisotropicFiltering.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/ReadMe.html deleted file mode 100644 index 13800e8..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display anisotropic filtering support
2 Display current anisotropic filtering state and level
3 Enable and change anisotropic filtering levels
4 Disable anisotropic filtering
M/m Display main menu options
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AnisotropicFiltering

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.cpp b/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.cpp deleted file mode 100644 index 2f985d1..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AnisotropicFiltering/mainAnisotropicFiltering.cpp +++ /dev/null @@ -1,199 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAnisotropicFiltering.cpp -/// \brief Demonstrates how to access anisotropic filtering options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display anisotropic filtering support -void ShowSupport(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering); - -// Get anisotropic filtering current state -void GetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering); - -// Set anisotropic filtering state -void SetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get AnisotropicFilteringPtr interface - IADLX3DAnisotropicFilteringPtr anisotropicFiltering; - res = d3dSettingSrv->GetAnisotropicFiltering(gpuInfo, &anisotropicFiltering); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(anisotropicFiltering); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -static const std::map levelMap = - { - {AF_LEVEL_INVALID, "Invalid"}, - {AF_LEVEL_X2, "2X"}, - {AF_LEVEL_X4, "4X"}, - {AF_LEVEL_X8, "8X"}, - {AF_LEVEL_X16, "16X"}}; - -void ShowSupport(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering) -{ - adlx_bool supported = false; - ADLX_RESULT res = anisotropicFiltering->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering) -{ - adlx_bool enabled = false; - ADLX_RESULT res = anisotropicFiltering->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsEnabled: " << enabled << std::endl; - ADLX_ANISOTROPIC_FILTERING_LEVEL level; - res = anisotropicFiltering->GetLevel(&level); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tLevel: " << levelMap.find(level)->second << std::endl; -} - -void SetState(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - res = anisotropicFiltering->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success) "<< std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - ADLX_ANISOTROPIC_FILTERING_LEVEL level; - res = anisotropicFiltering->GetLevel(&level); - if (ADLX_SUCCEEDED (res)) - { - level = (level == AF_LEVEL_X2) ? AF_LEVEL_X4 : AF_LEVEL_X2; - res = anisotropicFiltering->SetLevel(level); - std::cout << "\tSet level: " << levelMap.find(level)->second << "Return code is: " << res << " (0 means success) " << std::endl; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display anisotropic filtering support" << std::endl; - std::cout << "\t->Press 2 to display current anisotropic filtering state" << std::endl; - std::cout << "\t->Press 3 to enable and change anisotropic filtering levels" << std::endl; - std::cout << "\t->Press 4 to disable anisotropic filtering" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(const IADLX3DAnisotropicFilteringPtr& anisotropicFiltering) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display anisotropic filtering support - case '1': - ShowSupport(anisotropicFiltering); - break; - - // Display current anisotropic filtering state - case '2': - GetState(anisotropicFiltering); - break; - - // Enable and change anisotropic filtering levels - case '3': - case '4': - SetState(anisotropicFiltering, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/CMakeLists.txt deleted file mode 100644 index 1ff06d0..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AntiAliasing") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAntiAliasing.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/ReadMe.html deleted file mode 100644 index 1150b50..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display anti-aliasing support
2 Display current anti-aliasing state, mode, method, and level
3 Set anti-aliasing mode: Use application settings
4 Set anti-aliasing mode: Enhance application settings
5 Set anti-aliasing mode: Override application settings
6 Set anti-aliasing method
7 Set anti-aliasing level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AntiAliasing

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/mainAntiAliasing.cpp b/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/mainAntiAliasing.cpp deleted file mode 100644 index ef3448d..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiAliasing/mainAntiAliasing.cpp +++ /dev/null @@ -1,256 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAntiAliasing.cpp -/// \brief Demonstrates how to access anti-aliasing options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display anti-aliasing support -void ShowAntiAliasingSupport(const IADLX3DAntiAliasingPtr& antiAliasing); - -// Display anti-aliasing current state -void GetAntiAliasingState(const IADLX3DAntiAliasingPtr& antiAliasing); - -// Set anti-aliasing mode -void SetAntiAliasingMode(const IADLX3DAntiAliasingPtr& antiAliasing, int index); - -// Set anti-aliasing method -void SetAntiAliasingMethod(const IADLX3DAntiAliasingPtr& antiAliasing); - -// Set anti-aliasing level -void SetAntiAliasingLevel(const IADLX3DAntiAliasingPtr& antiAliasing); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DAntiAliasingPtr& antiAliasing); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // GetGPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - if (ADLX_SUCCEEDED(res)) - { - // Get AntiAliasing interface - IADLX3DAntiAliasingPtr antiAliasing; - res = d3dSettingSrv->GetAntiAliasing(gpuInfo, &antiAliasing); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(antiAliasing); - } - } - } - else - { - std::cout << "Failed to get the 3DSettings Services" << std::endl; - } - } - else - { - std::cout << "Failed to get GPU" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -static const std::map antiAliasingMode = - { - {AA_MODE_USE_APP_SETTINGS, "Use application settings"}, - {AA_MODE_ENHANCE_APP_SETTINGS, "Enhance application settings"}, - {AA_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"}}; - -static const std::map antiAliasingMethod = - { - {AA_METHOD_MULTISAMPLING, "Muti-Sampling"}, - {AA_METHOD_ADAPTIVE_MULTISAMPLING, "Adaptive Muti-Sampling"}, - {AA_METHOD_SUPERSAMPLING, "Super Sampling"}}; - -static const std::map antiAliasingLevel = - { - {AA_LEVEL_INVALID, "Level Invalid"}, - {AA_LEVEL_2X, "2X"}, - {AA_LEVEL_2XEQ, "2XEQ"}, - {AA_LEVEL_4X, "4X"}, - {AA_LEVEL_4XEQ, "4XEQ"}, - {AA_LEVEL_8X, "8X"}, - {AA_LEVEL_8XEQ, "8XEQ"}}; - -void ShowAntiAliasingSupport(const IADLX3DAntiAliasingPtr& antiAliasing) -{ - adlx_bool supported = false; - ADLX_RESULT res = antiAliasing->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetAntiAliasingState(const IADLX3DAntiAliasingPtr& antiAliasing) -{ - ADLX_ANTI_ALIASING_MODE mode; - ADLX_RESULT res = antiAliasing->GetMode(&mode); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tMode: " << antiAliasingMode.find (mode)->second << std::endl; - ADLX_ANTI_ALIASING_METHOD method; - res = antiAliasing->GetMethod(&method); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tMethod: " << antiAliasingMethod.find (method)->second << std::endl; - ADLX_ANTI_ALIASING_LEVEL level; - res = antiAliasing->GetLevel(&level); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tLevel: " << antiAliasingLevel.find(level)->second << std::endl; -} - -void SetAntiAliasingMode(const IADLX3DAntiAliasingPtr& antiAliasing, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - ADLX_ANTI_ALIASING_MODE mode = AA_MODE_USE_APP_SETTINGS; - mode = (ADLX_ANTI_ALIASING_MODE)(mode + index); - res = antiAliasing->SetMode(mode); - std::cout << "\tReturn code is : " << res << "(0 means success)" << std::endl; -} - -void SetAntiAliasingMethod(const IADLX3DAntiAliasingPtr& antiAliasing) -{ - ADLX_ANTI_ALIASING_METHOD method = AA_METHOD_MULTISAMPLING; - ADLX_RESULT res = antiAliasing->GetMethod(&method); - if (ADLX_SUCCEEDED (res)) - { - method = (ADLX_ANTI_ALIASING_METHOD)((method + 1) % 3); - res = antiAliasing->SetMethod(method); - std::cout << "\tSet method: " << antiAliasingMethod.find(method)->second << ", res is " << res << std::endl; - } -} - -void SetAntiAliasingLevel(const IADLX3DAntiAliasingPtr& antiAliasing) -{ - ADLX_ANTI_ALIASING_LEVEL level; - ADLX_RESULT res = antiAliasing->GetLevel(&level); - if (ADLX_SUCCEEDED (res)) - { - level = (level == AA_LEVEL_2X) ? AA_LEVEL_4X : AA_LEVEL_2X; - res = antiAliasing->SetLevel(level); - std::cout << "\tSet level: " << antiAliasingLevel.find(level)->second << ", res is " << res << std::endl; - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options" << std::endl; - - std::cout << "\t->Press 1 to display anti-aliasing support" << std::endl; - std::cout << "\t->Press 2 to display current anti-aliasing state" << std::endl; - std::cout << "\t->Press 3 to set anti-aliasing mode: Use application settings" << std::endl; - std::cout << "\t->Press 4 to set anti-aliasing mode: Enhance application settings" << std::endl; - std::cout << "\t->Press 5 to set anti-aliasing mode: Override application settings" << std::endl; - - std::cout << "\t->Press 6 to change anti-aliasing method" << std::endl; - std::cout << "\t->Press 7 to change anti-aliasing level" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DAntiAliasingPtr& antiAliasing) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display anti-aliasing support - case '1': - ShowAntiAliasingSupport(antiAliasing); - break; - - // Display current anti-aliasing status - case '2': - GetAntiAliasingState(antiAliasing); - break; - - // Set anti-aliasing mode - case '3': - case '4': - case '5': - SetAntiAliasingMode(antiAliasing, num - '3'); - break; - - // Set anti-aliasing method - case '6': - SetAntiAliasingMethod(antiAliasing); - break; - - // Set anti-aliasing level - case '7': - SetAntiAliasingLevel(antiAliasing); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/CMakeLists.txt deleted file mode 100644 index 3dd0cd2..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AntiLag") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAntiLag.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/ReadMe.html deleted file mode 100644 index db81aa5..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/ReadMe.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Anti-Lag options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Anti-Lag support
2 Display current Radeon Anti-Lag state
3 Enable Radeon Anti-Lag
4 Disable Radeon Anti-Lag
5 Enable Radeon Anti-Lag
6 Get Radeon Anti-Lag Level
7 Set Radeon Anti-Lag Level to Anti-Lag
8 Set Radeon Anti-Lag Level to Anti-Lag Next
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/AntiLag

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/mainAntiLag.cpp b/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/mainAntiLag.cpp deleted file mode 100644 index d74c4de..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/AntiLag/mainAntiLag.cpp +++ /dev/null @@ -1,220 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAntiLag.cpp -/// \brief Demonstrates how to access AMD Radeon Anti-Lag options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Anti-Lag support -void ShowAntiLagSupport(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1); - -// Display current Anti-Lag state -void GetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1); - -// Set Anti-Lag state -void SetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1, int index); - -// Display current Anti-Lag state -void GetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1); - -// Set Anti-Lag state -void SetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1, ADLX_ANTILAG_STATE level); - -// Menu -void MainMenu(bool alnSupported); - -// Menu control -void MenuControl(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - ADLX_RESULT resALN = ADLX_FAIL; - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get AntiLag interface - IADLX3DAntiLagPtr d3dAntiLag; - - res = d3dSettingSrv->GetAntiLag(gpuInfo, &d3dAntiLag); - IADLX3DAntiLag1Ptr d3dAntiLag1(d3dAntiLag); - if (ADLX_SUCCEEDED(res)) - { - //resALN = d3dAntiLag->QueryInterface(IADLX3DAntiLag1::IID(), reinterpret_cast(&d3dAntiLag1)); - - MainMenu(d3dAntiLag1 != NULL); - MenuControl(d3dAntiLag, d3dAntiLag1); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowAntiLagSupport(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1) -{ - adlx_bool supported = false; - if (d3dAntiLag1 != NULL) - d3dAntiLag1->IsSupported(&supported); - else - d3dAntiLag->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1) -{ - adlx_bool enabled = false; - if (d3dAntiLag1 != NULL) - d3dAntiLag1->IsEnabled(&enabled); - else - d3dAntiLag->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << std::endl; -} - -void SetAntiLagState(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1, int index) -{ - ADLX_RESULT res; - if (d3dAntiLag1 != NULL) - res = d3dAntiLag1->SetEnabled(index == 0); - else - res = d3dAntiLag->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -void GetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1) -{ - ADLX_ANTILAG_STATE level ; - ADLX_RESULT res = d3dAntiLag1->GetLevel(&level); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tLevel: " << (level == ADLX_ANTILAG_STATE::ANTILAG ? "Anti-Lag" : "Anti-Lag Next") << std::endl; -} - -void SetAntiLagLevel(const IADLX3DAntiLag1Ptr& d3dAntiLag1, ADLX_ANTILAG_STATE level) -{ - ADLX_RESULT res = d3dAntiLag1->SetLevel(level); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu(bool alnSupported) -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Anti-Lag support" << std::endl; - std::cout << "\t->Press 2 to display current Anti-Lag state" << std::endl; - std::cout << "\t->Press 3 to enable Anti-Lag" << std::endl; - std::cout << "\t->Press 4 to disable Anti-Lag" << std::endl; - if (alnSupported) - { - std::cout << "\t->Press 5 to Get Level" << std::endl; - std::cout << "\t->Press 6 to Set Level to Anti-Lag" << std::endl; - std::cout << "\t->Press 7 to Set Level to Anti-Lag Next" << std::endl; - } - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DAntiLagPtr& d3dAntiLag, const IADLX3DAntiLag1Ptr& d3dAntiLag1 ) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Anti-Lag support - case '1': - ShowAntiLagSupport(d3dAntiLag, d3dAntiLag1); - break; - - // Display current Anti-Lag state - case '2': - GetAntiLagState(d3dAntiLag, d3dAntiLag1); - break; - - // Set Anti-Lag state - case '3': - case '4': - SetAntiLagState(d3dAntiLag, d3dAntiLag1, num - '3'); - break; - - case '5': - GetAntiLagLevel(d3dAntiLag1); - break; - case '6': - SetAntiLagLevel(d3dAntiLag1, ADLX_ANTILAG_STATE::ANTILAG); - break; - case '7': - SetAntiLagLevel(d3dAntiLag1, ADLX_ANTILAG_STATE::ANTILAGNEXT); - break; - // Display menu options - case 'm': - case 'M': - MainMenu(d3dAntiLag1 != NULL ? true : false); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Boost/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/Boost/CMakeLists.txt deleted file mode 100644 index b031fdb..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Boost/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Boost") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainBoost.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Boost/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/Boost/ReadMe.html deleted file mode 100644 index 9c0fa6d..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Boost/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Boost options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Boost support
2 Display current Radeon Boost state, current resolution, and resolution range
3 Enable Radeon Boost and change minimum resolution
4 Disable Radeon Boost
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Boost

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Boost/mainBoost.cpp b/vendor/adlx/Samples/CPP/3DGraphics/Boost/mainBoost.cpp deleted file mode 100644 index 8df7424..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Boost/mainBoost.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainBoost.cpp -/// \brief Demonstrates how to access AMD Radeon Boost options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Boost support -void ShowBoostSupport(const IADLX3DBoostPtr& d3dBoost); - -// Display current Boost state -void GetBoostState(const IADLX3DBoostPtr& d3dBoost); - -// Set Boost state -void SetBoostState(const IADLX3DBoostPtr& d3dBoost, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DBoostPtr& d3dBoost); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get Boost interface - IADLX3DBoostPtr d3dBoost; - res = d3dSettingSrv->GetBoost(gpuInfo, &d3dBoost); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dBoost); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowBoostSupport(const IADLX3DBoostPtr& d3dBoost) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dBoost->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetBoostState(const IADLX3DBoostPtr& d3dBoost) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dBoost->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsEnabled: " << enabled << std::endl; - adlx_int resolution; - ADLX_IntRange resolutionRange; - res = d3dBoost->GetResolution(&resolution); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tCurrent Resolution:" << resolution << std::endl; - res = d3dBoost->GetResolutionRange(&resolutionRange); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tResolution limit [ " << resolutionRange.minValue << " ," << resolutionRange.maxValue << " ], step: " << resolutionRange.step << std::endl; -} - -void SetBoostState(const IADLX3DBoostPtr& d3dBoost, int index) -{ - ADLX_RESULT res = d3dBoost->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int resolution; - ADLX_IntRange resolutionRange; - ADLX_RESULT res1 = d3dBoost->GetResolution(&resolution); - ADLX_RESULT res2 = d3dBoost->GetResolutionRange(&resolutionRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - if (resolution != resolutionRange.minValue) - { - res = d3dBoost->SetResolution(resolutionRange.minValue); - std::cout << "\tSet minimum resolution limit: return code is: " << res << "(0 means success)" << std::endl; - } - else - { - res = d3dBoost->SetResolution(resolutionRange.maxValue); - std::cout << "\tSet maximum resolution limit: return code is: " << res << "(0 means success)" << std::endl; - } - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Boost support" << std::endl; - std::cout << "\t->Press 2 to display current Boost state" << std::endl; - std::cout << "\t->Press 3 to enable Boost" << std::endl; - std::cout << "\t->Press 4 to disable Boost" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DBoostPtr& d3dBoost) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Boost support - case '1': - ShowBoostSupport(d3dBoost); - break; - - // Display current Boost state - case '2': - GetBoostState(d3dBoost); - break; - - // Set Boost - case '3': - case '4': - SetBoostState(d3dBoost, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Chill/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/Chill/CMakeLists.txt deleted file mode 100644 index 8ea2d8b..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Chill/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Chill") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - - -set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) -set(CMAKE_INSTALL_PREFIX ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} CACHE PATH "" FORCE) - -set(all_file - "mainChill.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Chill/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/Chill/ReadMe.html deleted file mode 100644 index 99ce8bb..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Chill/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Chill options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Chill support
2 Display current Radeon Chill state, current FPS, and FPS range
3 Enable Radeon Chill
4 Disable Radeon Chill
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Chill

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Chill/mainChill.cpp b/vendor/adlx/Samples/CPP/3DGraphics/Chill/mainChill.cpp deleted file mode 100644 index 4f018d8..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Chill/mainChill.cpp +++ /dev/null @@ -1,221 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainChill.cpp -/// \brief Demonstrates how to access AMD Radeon Chill options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Chill support -void ShowChillSupport(const IADLX3DChillPtr& d3dChill); - -// Display current Chill state -void GetChillState(const IADLX3DChillPtr& d3dChill); - -// Set Chill state -void SetChillState(const IADLX3DChillPtr& d3dChill, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DChillPtr& d3dChill); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get Chill interface - IADLX3DChillPtr d3dChill; - res = d3dSettingSrv->GetChill(gpuInfo, &d3dChill); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dChill); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowChillSupport(const IADLX3DChillPtr& d3dChill) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dChill->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetChillState(const IADLX3DChillPtr& d3dChill) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dChill->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsEnabled: " << enabled << std::endl; - adlx_int minFPS, maxFPS; - ADLX_IntRange fpsRange; - res = d3dChill->GetMinFPS(&minFPS); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tCurrent MinFPS: " << minFPS << std::endl; - res = d3dChill->GetMaxFPS(&maxFPS); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tCurrent MaxFPS: " << maxFPS << std::endl; - res = d3dChill->GetFPSRange(&fpsRange); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tFPSSet limit [ " << fpsRange.minValue << " ," << fpsRange.maxValue << " ], step: " << fpsRange.step << std::endl; -} - -void SetChillState(const IADLX3DChillPtr& d3dChill, int index) -{ - ADLX_RESULT res = d3dChill->SetEnabled(index == 0); - std::cout << "\treturn code(0 is Success) is: " << res << std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int minFPS, maxFPS; - ADLX_IntRange fpsRange; - d3dChill->GetMinFPS(&minFPS); - d3dChill->GetMaxFPS(&maxFPS); - d3dChill->GetFPSRange(&fpsRange); - std::cout << "\t\tEnter two space delimited integers:[minFPS, maxFPS]" << std::endl; - - int userKey = 0; - std::vector coeffs; - while (std::cin >> userKey) - { - coeffs.push_back(userKey); - if (coeffs.size() > 1) - break; - } - std::cin.clear(); - std::cin.ignore(INT_MAX, '\n'); - - if (coeffs.size() > 1) - { - res = d3dChill->SetMinFPS(coeffs[0]); - std::cout << "\tSet minimum FPS return code: " << res << "(0 means success)" << std::endl; - res = d3dChill->SetMaxFPS(coeffs[1]); - std::cout << "\tSet maximum FPS return code: " << res << "(0 means success)" << std::endl; - } - else - { - res = d3dChill->SetMinFPS(fpsRange.minValue); - std::cout << "\tUse FPS minimum limit, set minimum FPS return code is: " << res << "(0 means success)" << std::endl; - res = d3dChill->SetMaxFPS(fpsRange.maxValue); - std::cout << "\tUse FPS maximum limit, set maximum FPS return code is: " << res << "(0 means success)" << std::endl; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Chill support" << std::endl; - std::cout << "\t->Press 2 to display current Chill state" << std::endl; - std::cout << "\t->Press 3 to enable Chill" << std::endl; - std::cout << "\t->Press 4 to disable Chill" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DChillPtr& d3dChill) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Chill support - case '1': - ShowChillSupport(d3dChill); - break; - - // Display current Chill state - case '2': - GetChillState(d3dChill); - break; - - // Set Chill state - case '3': - case '4': - SetChillState(d3dChill, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/CMakeLists.txt deleted file mode 100644 index 5c6c971..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "EnhancedSync") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainEnhancedSync.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/ReadMe.html deleted file mode 100644 index 93b8571..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Enhanced Sync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Enhanced Sync support
2 Get and display current Radeon Enhanced Sync state
3 Enable Radeon Enhanced Sync
4 Disable Radeon Enhanced Sync
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/EnhancedSync

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/mainEnhancedSync.cpp b/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/mainEnhancedSync.cpp deleted file mode 100644 index 9808f40..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/EnhancedSync/mainEnhancedSync.cpp +++ /dev/null @@ -1,171 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainEnhancedSync.cpp -/// \brief Demonstrates how to access AMD Radeon Enhanced Sync options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Enhanced Sync support -void ShowEnhancedSyncSupport(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync); - -// Get current Enhanced Sync state -void GetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync); - -// Set Enhanced Sync state -void SetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get EnhancedSync interface - IADLX3DEnhancedSyncPtr d3dEnhancedSync; - res = d3dSettingSrv->GetEnhancedSync(gpuInfo, &d3dEnhancedSync); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dEnhancedSync); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowEnhancedSyncSupport(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dEnhancedSync->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void GetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dEnhancedSync->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void SetEnhancedSyncState(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync, int index) -{ - ADLX_RESULT res = d3dEnhancedSync->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Enhanced Sync support" << std::endl; - std::cout << "\t->Press 2 to get Enhanced Sync state" << std::endl; - std::cout << "\t->Press 3 to enable Enhanced Sync" << std::endl; - std::cout << "\t->Press 4 to disable Enhanced Sync" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DEnhancedSyncPtr& d3dEnhancedSync) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Enhanced Sync support - case '1': - ShowEnhancedSyncSupport(d3dEnhancedSync); - break; - - // Get and display current Enhanced Sync state - case '2': - GetEnhancedSyncState(d3dEnhancedSync); - break; - - // Set Enhanced Sync state - case '3': - case '4': - SetEnhancedSyncState(d3dEnhancedSync, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/FRTC/CMakeLists.txt deleted file mode 100644 index 2a5d34d..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "FRTC") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainFRTC.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/FRTC/ReadMe.html deleted file mode 100644 index bd99f7d..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD FRTC support
2 Get and display current AMD FRTC state and additional information
3 Enable and configure AMD FRTC
4 Disable AMD FRTC
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/FRTC

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/mainFRTC.cpp b/vendor/adlx/Samples/CPP/3DGraphics/FRTC/mainFRTC.cpp deleted file mode 100644 index f764d27..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/FRTC/mainFRTC.cpp +++ /dev/null @@ -1,201 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainFRTC.cpp -/// \brief Demonstrates how to access AMD Frame Rate Target Control (FRTC) options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display FRTC support -void ShowFRTCSupport(const IADLX3DFrameRateTargetControlPtr& frtc); - -// Get and display current FRTC state -void GetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc); - -// Set FRTC state -void SetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DFrameRateTargetControlPtr& frtc); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - if (ADLX_SUCCEEDED(res)) - { - // Get FRTC interface - IADLX3DFrameRateTargetControlPtr frtc; - res = d3dSettingSrv->GetFrameRateTargetControl(gpuInfo, &frtc); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(frtc); - } - } - } - else - { - std::cout << "Failed to get 3DSettings services" << std::endl; - } - } - else - { - std::cout << "Failed to get GPU" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowFRTCSupport(const IADLX3DFrameRateTargetControlPtr& frtc) -{ - adlx_bool supported = false; - ADLX_RESULT res = frtc->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void GetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc) -{ - adlx_bool enabled = false; - ADLX_RESULT res = frtc->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl; - adlx_int fps; - ADLX_IntRange range = {0}; - res = frtc->GetFPS(&fps); - std::cout << "\tCurrent FPS:" << fps << ", return code is: " << res << "(0 means success)" << std::endl; - res = frtc->GetFPSRange(&range); - std::cout << "\tFPS limit [ " << range.minValue << " ," << range.maxValue << " ], step: " << range.step - << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void SetFRTCState(const IADLX3DFrameRateTargetControlPtr& frtc, int index) -{ - ADLX_RESULT res = frtc->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int fps; - ADLX_IntRange range = {0}; - frtc->GetFPS(&fps); - frtc->GetFPSRange(&range); - if (fps != range.minValue) - { - res = frtc->SetFPS(range.minValue); - std::cout << "\tUse minimum FPS limit: return code is: " << res << "(0 means success)" << std::endl; - } - else - { - res = frtc->SetFPS(range.maxValue); - std::cout << "\tUse maximum FPS limit: return code is: " << res << "(0 means success)" << std::endl; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display FRTC support" << std::endl; - std::cout << "\t->Press 2 to get and display current FRTC state" << std::endl; - std::cout << "\t->Press 3 to enable FRTC" << std::endl; - std::cout << "\t->Press 4 to disable FRTC" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DFrameRateTargetControlPtr& frtc) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display FRTC support - case '1': - ShowFRTCSupport(frtc); - break; - - // Get and display current FRTC state - case '2': - GetFRTCState(frtc); - break; - - // Set FRTC state - case '3': - case '4': - SetFRTCState(frtc, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/CMakeLists.txt deleted file mode 100644 index f5c9b61..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ImageSharpening") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainImageSharpening.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/ReadMe.html deleted file mode 100644 index b50e8b8..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Image Sharpening options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Image Sharpening support
2 Get current Radeon Image Sharpening state and additional information
3 Enable and configure Radeon Image Sharpening
4 Disable Radeon Image Sharpening
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/ImageSharpening

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/mainImageSharpening.cpp b/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/mainImageSharpening.cpp deleted file mode 100644 index 0df4b18..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ImageSharpening/mainImageSharpening.cpp +++ /dev/null @@ -1,202 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainImageSharpening.cpp -/// \brief Demonstrates how to access AMD Radeon Image Sharpening options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Image Sharpening support -void ShowImageSharpenSupport(const IADLX3DImageSharpeningPtr& d3dImageSharpen); - -// Get current Image Sharpening state and additional information -void GetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen); - -// Set Image Sharpening state -void SetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DImageSharpeningPtr& d3dImageSharpen); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - if (ADLX_SUCCEEDED(res)) - { - // Get Image Sharpening interface - IADLX3DImageSharpeningPtr d3dImageSharpen; - res = d3dSettingSrv->GetImageSharpening(gpuInfo, &d3dImageSharpen); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(d3dImageSharpen); - } - } - } - else - { - std::cout << "Failed to get 3DSettings services" << std::endl; - } - } - else - { - std::cout << "Failed to get the GPU" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowImageSharpenSupport(const IADLX3DImageSharpeningPtr& d3dImageSharpen) -{ - adlx_bool supported = false; - ADLX_RESULT res = d3dImageSharpen->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -void GetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen) -{ - adlx_bool enabled = false; - ADLX_RESULT res = d3dImageSharpen->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << ", return code is: "<< res << "(0 means success)" << std::endl; - adlx_int sharpness; - ADLX_IntRange sharpnessRange = {0}; - res = d3dImageSharpen->GetSharpness(&sharpness); - std::cout << "\tCurrent Sharpness:" << sharpness - << ", return code is: "<< res << "(0 means success)" << std::endl; - res = d3dImageSharpen->GetSharpnessRange(&sharpnessRange); - std::cout << "\tSharpness limit [ " << sharpnessRange.minValue << " ," << sharpnessRange.maxValue << " ], step: " << sharpnessRange.step - << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -void SetImageSharpenState(const IADLX3DImageSharpeningPtr& d3dImageSharpen, int index) -{ - ADLX_RESULT res = d3dImageSharpen->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int sharpness; - ADLX_IntRange sharpnessRange = {0}; - d3dImageSharpen->GetSharpness(&sharpness); - d3dImageSharpen->GetSharpnessRange(&sharpnessRange); - if (sharpness != sharpnessRange.minValue) - { - res = d3dImageSharpen->SetSharpness(sharpnessRange.minValue); - std::cout << "\tUse minimum Sharpness limit: return code is: " << res << "(0 means success)" << std::endl; - } - else - { - res = d3dImageSharpen->SetSharpness(sharpnessRange.maxValue); - std::cout << "\tUse maximum Sharpness limit: return code is: " << res << "(0 means success)" << std::endl; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Image Sharpening support" << std::endl; - std::cout << "\t->Press 2 to get current Image Sharpening state and additional information" << std::endl; - std::cout << "\t->Press 3 to enable and configure Image Sharpening" << std::endl; - std::cout << "\t->Press 4 to disable Image Sharpening" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DImageSharpeningPtr& d3dImageSharpen) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Image Sharpening support - case '1': - ShowImageSharpenSupport(d3dImageSharpen); - break; - - // Get current Image Sharpening state and additional information - case '2': - GetImageSharpenState(d3dImageSharpen); - break; - - // Set Image Sharpening state - case '3': - case '4': - SetImageSharpenState(d3dImageSharpen, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt deleted file mode 100644 index c8bfb06..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "MorphologicAntiAliasing") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainMorphologicAntiAliasing.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/ReadMe.html deleted file mode 100644 index 4b66c4c..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display morphological anti-aliasing support
2 Get current morphological anti-aliasing state of the GPU
3 Enable morphological anti-aliasing
4 Disable morphological anti-aliasing
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/MorphologicAntiAliasing

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.cpp b/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.cpp deleted file mode 100644 index 1528f03..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/MorphologicAntiAliasing/mainMorphologicAntiAliasing.cpp +++ /dev/null @@ -1,175 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainMorphologicAntiAliasing.cpp -/// \brief Demonstrates how to access morphological anti-aliasing options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display morphological anti-aliasing support -void ShowSupport(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing); - -// Get current morphological anti-aliasing state of the GPU -void GetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing); - -// Set morphological anti-aliasing state -void SetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - if (ADLX_SUCCEEDED(res)) - { - // Get MorphologicAntiAliasing interface - IADLX3DMorphologicalAntiAliasingPtr mAntiAliasing; - res = d3dSettingSrv->GetMorphologicalAntiAliasing(gpuInfo, &mAntiAliasing); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(mAntiAliasing); - } - } - } - else - { - std::cout << "Failed to get the 3DSettings Services" << std::endl; - } - } - else - { - std::cout << "Failed to get the GPU" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -void ShowSupport(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing) -{ - adlx_bool supported = false; - ADLX_RESULT res = mAntiAliasing->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void GetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing) -{ - adlx_bool enabled = false; - ADLX_RESULT res = mAntiAliasing->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void SetState(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing, int index) -{ - ADLX_RESULT res = mAntiAliasing->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display morphological anti-aliasing support" << std::endl; - std::cout << "\t->Press 2 to get current morphological anti-aliasing state of the GPU" << std::endl; - std::cout << "\t->Press 3 to enable morphological anti-aliasing" << std::endl; - std::cout << "\t->Press 4 to disable morphological anti-aliasing" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DMorphologicalAntiAliasingPtr& mAntiAliasing) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display morphological anti-aliasing support - case '1': - ShowSupport(mAntiAliasing); - break; - - // Get and display current morphological anti-aliasing state of the GPU - case '2': - GetState(mAntiAliasing); - break; - - // Set morphological anti-aliasing state - case '3': - case '4': - SetState(mAntiAliasing, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/RSR/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/RSR/CMakeLists.txt deleted file mode 100644 index c4b474e..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/RSR/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "RSR") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainRSR.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/RSR/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/RSR/ReadMe.html deleted file mode 100644 index f2140a7..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/RSR/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to access AMD Radeon™ Super Resolution options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display Radeon Super Resolution support
2 Get current Radeon Super Resolution state and additional information
3 Enable and configure sharpness
4 Disable Radeon Super Resolution
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/RSR

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/RSR/mainRSR.cpp b/vendor/adlx/Samples/CPP/3DGraphics/RSR/mainRSR.cpp deleted file mode 100644 index c9d7abc..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/RSR/mainRSR.cpp +++ /dev/null @@ -1,198 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainRSR.cpp -/// \brief Demonstrates how to access AMD Radeon Super Resolution options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Radeon Super Resolution support -void ShowRadeonSuperResolutionSupport(const IADLX3DRadeonSuperResolutionPtr& rsr); - -// Display current Radeon Super Resolution state -void GetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr); - -// Set Radeon Super Resolution state -void SetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DRadeonSuperResolutionPtr& rsr); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get RadeonSuperResolution interface - IADLX3DRadeonSuperResolutionPtr rsr; - res = d3dSettingSrv->GetRadeonSuperResolution(&rsr); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(rsr); - } - else - { - std::cout << "Get RadeonSuperResolution res: " << res << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowRadeonSuperResolutionSupport(const IADLX3DRadeonSuperResolutionPtr& rsr) -{ - adlx_bool supported = false; - ADLX_RESULT res = rsr->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void GetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr) -{ - adlx_bool enabled = false; - ADLX_RESULT res = rsr->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsEnabled: " << enabled << std::endl; - adlx_int sharpness; - ADLX_IntRange sharpnessRange; - res = rsr->GetSharpness(&sharpness); - if (ADLX_SUCCEEDED (res)) - std::cout << "\tCurrent sharpness:" << sharpness << std::endl; - res = rsr->GetSharpnessRange(&sharpnessRange); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tSharpness limit [ " << sharpnessRange.minValue << " ," << sharpnessRange.maxValue << " ], step: " << sharpnessRange.step << std::endl; -} - -void SetRadeonSuperResolutionState(const IADLX3DRadeonSuperResolutionPtr& rsr, int index) -{ - ADLX_RESULT res = rsr->SetEnabled(index == 0); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; - - if (index == 0 && ADLX_SUCCEEDED(res)) - { - adlx_int sharpness; - ADLX_IntRange sharpnessRange; - ADLX_RESULT res1 = rsr->GetSharpness(&sharpness); - ADLX_RESULT res2 = rsr->GetSharpnessRange(&sharpnessRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - if (sharpness != sharpnessRange.minValue) - { - res = rsr->SetSharpness(sharpnessRange.minValue); - std::cout << "\tSet minimum sharpness limit: return code is: " << res << "(0 means success)" << std::endl; - } - else - { - res = rsr->SetSharpness(sharpnessRange.maxValue); - std::cout << "\tSet maximum sharpness limit: return code is: " << res << "(0 means success)" << std::endl; - } - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Radeon Super Resolution support" << std::endl; - std::cout << "\t->Press 2 to display current Radeon Super Resolution state" << std::endl; - std::cout << "\t->Press 3 to enable Radeon Super Resolution" << std::endl; - std::cout << "\t->Press 4 to disable Radeon Super Resolution" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DRadeonSuperResolutionPtr& d3dRadeonSuperResolution) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Radeon Super Resolution support - case '1': - ShowRadeonSuperResolutionSupport(d3dRadeonSuperResolution); - break; - - // Display current Radeon Super Resolution state - case '2': - GetRadeonSuperResolutionState(d3dRadeonSuperResolution); - break; - - // Set Radeon Super Resolution - case '3': - case '4': - SetRadeonSuperResolutionState(d3dRadeonSuperResolution, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/CMakeLists.txt deleted file mode 100644 index cd74e5e..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ResetShaderCache") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainResetShaderCache.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/ReadMe.html deleted file mode 100644 index 5526cd1..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Display reset shader cache support
2 Reset GPU shader cache
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/ResetShaderCache

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/mainResetShaderCache.cpp b/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/mainResetShaderCache.cpp deleted file mode 100644 index 279add8..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/ResetShaderCache/mainResetShaderCache.cpp +++ /dev/null @@ -1,152 +0,0 @@ - -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainResetShaderCache.cpp -/// \brief Demonstrates how to access reset shader cache options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display reset shader cache support -void ShowSupport(const IADLX3DResetShaderCachePtr& resetShaderCache); - -// Reset GPU shader cache -void ResetShaderCache(const IADLX3DResetShaderCachePtr& resetShaderCache); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DResetShaderCachePtr& resetShaderCache); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get ResetShaderCache interface - IADLX3DResetShaderCachePtr resetShaderCache; - res = d3dSettingSrv->GetResetShaderCache(gpuInfo, &resetShaderCache); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(resetShaderCache); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowSupport(const IADLX3DResetShaderCachePtr& resetShaderCache) -{ - adlx_bool supported = false; - ADLX_RESULT res = resetShaderCache->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void ResetShaderCache(const IADLX3DResetShaderCachePtr& resetShaderCache) -{ - ADLX_RESULT res = resetShaderCache->ResetShaderCache(); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - std::cout << "\t->Press 1 to display reset shader cache support" << std::endl; - std::cout << "\t->Press 2 to reset GPU shader cache" << std::endl; - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DResetShaderCachePtr& resetShaderCache) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display reset shader cache support - case '1': - ShowSupport(resetShaderCache); - break; - - // Reset GPU shader cache - case '2': - ResetShaderCache(resetShaderCache); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/CMakeLists.txt deleted file mode 100644 index 7c8f5e4..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Tessellation") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainTessellation.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/ReadMe.html deleted file mode 100644 index 0902d05..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to access tessellation options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display tessellation support
2 Get GPU tessellation state, mode, and level
3 Set tesellation mode: AMD optimized
4 Set tesellation mode: Use application settings
5 Set tesellation mode: Override application settings
6 Set tesellation level
M/m Display the main menu
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/Tessellation

- - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/mainTessellation.cpp b/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/mainTessellation.cpp deleted file mode 100644 index 1a02343..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/Tessellation/mainTessellation.cpp +++ /dev/null @@ -1,217 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainTessellation.cpp -/// \brief Demonstrates how to access tessellation options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX destory. -// so we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// Display tessellation support -void ShowSupport(const IADLX3DTessellationPtr& tessellation); - -// Get current tessellation state -void GetState(const IADLX3DTessellationPtr& tessellation); - -// Set tessellation mode -void SetMode(const IADLX3DTessellationPtr& tessellation, int index); - -// Set tessellation level -void SetLevel(const IADLX3DTessellationPtr& tessellation); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DTessellationPtr& tessellation); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get IADLX3DTessellation interface - IADLX3DTessellationPtr tessellation; - res = d3dSettingSrv->GetTessellation(gpuInfo, &tessellation); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(tessellation); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the 3DSettings Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -static const std::map Modes = - { - {T_MODE_AMD_OPTIMIZED, "AMD optimized"}, - {T_MODE_USE_APP_SETTINGS, "Use application settings"}, - {T_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"}}; - -static const std::map Levels = - { - {T_LEVEL_OFF, "Off"}, - {T_LEVEL_2X, "2X"}, - {T_LEVEL_4X, "4X"}, - {T_LEVEL_6X, "6X"}, - {T_LEVEL_8X, "8X"}, - {T_LEVEL_16X, "16X"}, - {T_LEVEL_32X, "32X"}, - {T_LEVEL_64X, "64X"}}; - -void ShowSupport(const IADLX3DTessellationPtr& tessellation) -{ - adlx_bool supported = false; - ADLX_RESULT res = tessellation->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void GetState(const IADLX3DTessellationPtr& tessellation) -{ - ADLX_TESSELLATION_MODE mode; - ADLX_RESULT res = tessellation->GetMode(&mode); - std::cout << "\tMode: " << Modes.find(mode)->second << ", return code is: " << res << "(0 means success)" << std::endl; - - ADLX_TESSELLATION_LEVEL level; - res = tessellation->GetLevel(&level); - std::cout << "\tLevel: " << Levels.find(level)->second << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void SetMode(const IADLX3DTessellationPtr& tessellation, int index) -{ - ADLX_RESULT res = ADLX_FAIL; - ADLX_TESSELLATION_MODE mode = T_MODE_AMD_OPTIMIZED; - mode = (ADLX_TESSELLATION_MODE)(mode + index); - res = tessellation->SetMode(mode); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -void SetLevel(const IADLX3DTessellationPtr& tessellation) -{ - ADLX_TESSELLATION_LEVEL level; - tessellation->GetLevel(&level); - level = (level == T_LEVEL_2X) ? T_LEVEL_4X : T_LEVEL_2X; - ADLX_RESULT res = tessellation->SetLevel(level); - std::cout << "\tSet level: " << Levels.find(level)->second << " res is " << res << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display tessellation support" << std::endl; - std::cout << "\t->Press 2 to get tessellation state" << std::endl; - std::cout << "\t->Press 3 to set tessellation mode: AMD optimized" << std::endl; - std::cout << "\t->Press 4 to set tessellation mode: Use application settings" << std::endl; - std::cout << "\t->Press 5 to set tessellation mode: Override application settings" << std::endl; - - std::cout << "\t->Press 6 to set tessellation change level" << std::endl; - - std::cout << "\t->Press Q/q quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DTessellationPtr& tessellation) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display tessellation support - case '1': - ShowSupport(tessellation); - break; - - // Get and display current tessellation state - case '2': - GetState(tessellation); - break; - - // Set tessellation mode - case '3': - case '4': - case '5': - SetMode(tessellation, num - '3'); - break; - - // Set anti-aliasing level - case '6': - SetLevel(tessellation); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt b/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt deleted file mode 100644 index d7136e1..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "WaitForVerticalRefresh") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainWaitForVerticalRefresh.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/ReadMe.html b/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/ReadMe.html deleted file mode 100644 index 19249bd..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to access VSync options, and perform related testing when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Get VSync capability
2 Get the current VSync state and mode
3 Set VSync to Always Off
4 Set VSync to Off (unless specified by the application)
5 Set VSync to On (unless specified by the application)
6 Set VSync to Always On
M/m Display menu options
Q/q Quit the application
-

Sample Path

-

/Samples/CPP/3DGraphics/WaitForVerticalRefresh

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.cpp b/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.cpp deleted file mode 100644 index d4602a7..0000000 --- a/vendor/adlx/Samples/CPP/3DGraphics/WaitForVerticalRefresh/mainWaitForVerticalRefresh.cpp +++ /dev/null @@ -1,188 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainWaitForVerticalRefresh.cpp -/// \brief Demonstrates how to access VSync options, and perform related testing when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display VSync support -void ShowvsyncSupport(const IADLX3DWaitForVerticalRefreshPtr& vsync); - -// Get current VSync state -void GetvsyncState(const IADLX3DWaitForVerticalRefreshPtr& vsync); - -// Set VSync mode -void SetvsyncMode(const IADLX3DWaitForVerticalRefreshPtr& vsync, int index); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLX3DWaitForVerticalRefreshPtr& vsync); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get VSync interface - IADLX3DWaitForVerticalRefreshPtr vsync; - res = d3dSettingSrv->GetWaitForVerticalRefresh(gpuInfo, &vsync); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(vsync); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get 3DSettings services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -static const std::map vsyncMode = - { - {WFVR_ALWAYS_OFF, "Always off"}, - {WFVR_OFF_UNLESS_APP_SPECIFIES, "Off (unless specified by the application)"}, - {WFVR_ON_UNLESS_APP_SPECIFIES, "On (unless specified by the application)"}, - {WFVR_ALWAYS_ON, "Always on"}}; - -void ShowvsyncSupport(const IADLX3DWaitForVerticalRefreshPtr& vsync) -{ - adlx_bool supported = false; - ADLX_RESULT res = vsync->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void GetvsyncState(const IADLX3DWaitForVerticalRefreshPtr& vsync) -{ - adlx_bool enabled = false; - ADLX_RESULT res = vsync->IsEnabled(&enabled); - std::cout << "\tIsEnabled: " << enabled << ", return code is: " << res << "(0 means success)" << std::endl; - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF; - res = vsync->GetMode(&mode); - std::cout << "\tMode: " << vsyncMode.find(mode)->second << ", return code is: " << res << "(0 means success)" << std::endl; -} - -void SetvsyncMode(const IADLX3DWaitForVerticalRefreshPtr& vsync, int index) -{ - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF; - mode = (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE)(mode + index); - ADLX_RESULT res = vsync->SetMode(mode); - std::cout << "\tReturn code is: " << res << "(0 means success)" << std::endl; -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Print out the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display VSync support" << std::endl; - std::cout << "\t->Press 2 to get current VSync state" << std::endl; - std::cout << "\t->Press 3 to set VSync to Always Off" << std::endl; - std::cout << "\t->Press 4 to set VSync to Off (unless specified by the application)" << std::endl; - std::cout << "\t->Press 5 to set VSync to On (unless specified by the application)" << std::endl; - std::cout << "\t->Press 6 to set VSync to Always On" << std::endl; - - std::cout << "\t->Press Q/q to quit the application" << std::endl; - std::cout << "\t->Press M/m to display menu options" << std::endl; -} - -void MenuControl(const IADLX3DWaitForVerticalRefreshPtr& vsync) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display VSync support - case '1': - ShowvsyncSupport(vsync); - break; - - // Get and display current VSync state - case '2': - GetvsyncState(vsync); - break; - - // Set VSync model - case '3': - case '4': - case '5': - case '6': - SetvsyncMode(vsync, num - '3'); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} diff --git a/vendor/adlx/Samples/CPP/CMakeLists.txt b/vendor/adlx/Samples/CPP/CMakeLists.txt deleted file mode 100644 index b2c0580..0000000 --- a/vendor/adlx/Samples/CPP/CMakeLists.txt +++ /dev/null @@ -1,80 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -# CMakeList.txt : Top-level CMake project file, do global configuration -# and include sub-projects here. -# -cmake_minimum_required (VERSION 3.8) - -project ("Samples") -#Set CPP sample as unicode project -add_definitions(-DUNICODE -D_UNICODE) - -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build/bin/) - -set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) -set(CMAKE_INSTALL_PREFIX ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} CACHE PATH "" FORCE) - -file(COPY ${CMAKE_SOURCE_DIR}/../output-night-light.txt DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - -include_directories(../../) - -#macro to get subdir list. the deep is 2 -#[out] subdirnamelist -#[in] targetdir -macro(SUBDIRNAMELIST_MACRO subdirnamelist targetdir) - # message(STATUS "macro subdirnamelist = ${subdirnamelist}") - # message(STATUS "macro targetdir = ${targetdir}") - file(GLOB children ${targetdir}/*/*) #deep is 2 - # message(STATUS "macro children = ${children}") - set(dirlist "") - foreach(child ${children}) - file(RELATIVE_PATH child_name ${targetdir} ${child}) - # message(STATUS "macro child = ${child_name}") - # message(STATUS "targetdir/child = ${targetdir}/${child_name}") - if(IS_DIRECTORY ${targetdir}/${child_name}) - # message(STATUS "yes dir : targetdir/child = ${targetdir}/${child_name}") - list(APPEND dirlist ${child_name}) - endif() - endforeach() - list(APPEND ${subdirnamelist} ${dirlist}) - # message(STATUS "macro dirlist = ${dirlist}") - # message(STATUS "macro subdirnamelist = ${subdirnamelist}") -endmacro() - -#macro to check CMakeLists -#[out] hascmakelist -#[in] targetdir -macro(CHECK_DIR_HAS_CMAKELIST hascmakelist targetdir) - # message(STATUS "macro check has cmakelist targetdir = ${targetdir}") - set(${hascmakelist} FALSE) - if(IS_DIRECTORY ${targetdir}) - # message(STATUS "macro check has cmakelist is dir, targetdir = ${targetdir}") - if(EXISTS ${targetdir}/CMakeLists.txt) - set(${hascmakelist} TRUE) - endif() - else() - message(FATAL_ERROR "Invalid dir para: targetdir = ${targetdir}") - endif() -endmacro() - -#macro to add sub project -macro(AUTO_ADD_SUBDIRECTORY) - set(subdirnamelisttemp "") - SUBDIRNAMELIST_MACRO(subdirnamelisttemp ${CMAKE_CURRENT_SOURCE_DIR}) - # message(STATUS "macro add_subdir subdirnamelisttemp = ${subdirnamelisttemp}") - foreach(subdir ${subdirnamelisttemp}) - # message(STATUS "macro add_subdir subdir = ${subdir}") - set(hascmakelisttemp FALSE) - CHECK_DIR_HAS_CMAKELIST(hascmakelisttemp ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}) - # message(STATUS "macro add_subdir hascmakelisttemp = ${hascmakelisttemp}") - if(${hascmakelisttemp}) - message(STATUS "macro add_subdir go to add_subdir = ${subdir}") - add_subdirectory(${subdir}) - endif() - endforeach() -endmacro() - -#Automatically traverse subdirectories, add sub project -AUTO_ADD_SUBDIRECTORY() \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/CMakeSettings.json b/vendor/adlx/Samples/CPP/CMakeSettings.json deleted file mode 100644 index d758d2d..0000000 --- a/vendor/adlx/Samples/CPP/CMakeSettings.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "configurations": [ - { - "name": "Debug_win32", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x86" ], - "buildRoot": "${projectDir}\\build", - "intelliSenseMode": "windows-msvc-x86" - }, - { - "name": "Release_win32", - "generator": "Ninja", - "configurationType": "Release", - "inheritEnvironments": [ "msvc_x86" ], - "buildRoot": "${projectDir}\\build", - "intelliSenseMode": "windows-msvc-x86" - }, - { - "name": "Debug_x64", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\build", - "inheritEnvironments": [ "msvc_x64_x64" ], - "intelliSenseMode": "windows-msvc-x64" - }, - { - "name": "Release_x64", - "generator": "Ninja", - "configurationType": "Release", - "buildRoot": "${projectDir}\\build", - "inheritEnvironments": [ "msvc_x64_x64" ], - "intelliSenseMode": "windows-msvc-x64" - } - ] -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/CMakeLists.txt b/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/CMakeLists.txt deleted file mode 100644 index ce8f6b0..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DesktopsEvent") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDesktopsEvent.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/ReadMe.html b/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/ReadMe.html deleted file mode 100644 index 9b2ff2c..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -
-

Sample Path

-

/Samples/CPP/Desktop/DesktopsEvent

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/mainDesktopsEvent.cpp b/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/mainDesktopsEvent.cpp deleted file mode 100644 index ec52fe4..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/DesktopsEvent/mainDesktopsEvent.cpp +++ /dev/null @@ -1,182 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDesktopEvent.cpp -/// \brief This document describes how to obtain the desktops changed handle and add/remove call back of changed events through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" -#include "conio.h" -#include -#include -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX destory. -// so we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// event to verify call back -HANDLE hDesktopChangedEvent = nullptr; -HANDLE hQuitSignal = nullptr; - -// Call back to handle changed events -class CallBackDesktopListChanged : public IADLXDesktopListChangedListener -{ - public: - adlx_bool ADLX_STD_CALL OnDesktopListChanged(IADLXDesktopList* pDesktopList) override - { - std::cout << "desktop list has been changed\n"; - adlx_bool slsActive = false; - IADLXDesktopPtr desktop = nullptr; - for (adlx_uint crt = pDesktopList->Begin(); crt != pDesktopList->End(); crt++) - { - ADLX_RESULT res = pDesktopList->At(crt, &desktop); - if (ADLX_SUCCEEDED(res) && nullptr != desktop) - { - ADLX_DESKTOP_TYPE desktopType; - desktop->Type(&desktopType); - if (desktopType == DESKTOP_EYEFINITY) - { - std::cout << "Eyefinity Creation Event is received" << std::endl; - slsActive = true; - break; - } - } - } - - if (false == slsActive) - { - std::cout << "Eyefinity Destruction Event is received" << std::endl; - } - SetEvent(hDesktopChangedEvent); - // Returns true will make ADLX continue to notify next listener or false to stop to notify - return true; - } -}; - -// thread to detect user's input for quit -void QuitWait(adlx_bool* loopFlag); - -int main() -{ - // The ADL_4KWORKAROUND_CANCEL environment variable is a must for Eyefinity - LPCSTR EnvironmentVariable = "ADL_4KWORKAROUND_CANCEL"; - SetEnvironmentVariableA(EnvironmentVariable, "TRUE"); - - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create desktop changed event - hDesktopChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - hQuitSignal = CreateEvent(NULL, TRUE, FALSE, NULL); - HANDLE hSignalArray[2] = { hDesktopChangedEvent, hQuitSignal }; - - // Get desktop services - IADLXDesktopServicesPtr desktopServices; - res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopServices); - if (desktopServices != nullptr && ADLX_SUCCEEDED(res)) - { - adlx_uint numDesktop; - res = desktopServices->GetNumberOfDesktops(&numDesktop); - std::cout << "The number of desktop is: " << numDesktop << std::endl; - - IADLXSimpleEyefinityPtr eyefinity; - res = desktopServices->GetSimpleEyefinity(&eyefinity); - if (eyefinity != nullptr && ADLX_SUCCEEDED(res)) - { - // Verify if support eyefinity - adlx_bool supported = false; - eyefinity->IsSupported(&supported); - if (supported) - { - IADLXDesktopChangedHandlingPtr eventHandling; - desktopServices->GetDesktopChangedHandling(&eventHandling); - IADLXDesktopListChangedListener* eventListener = new CallBackDesktopListChanged; - eventHandling->AddDesktopListEventListener(eventListener); - - std::cout << "Waiting for desktop event... Press Q/q to quit" << std::endl; - // create a thread to detect user's input for quit - adlx_bool loopFlag = true; - std::thread recvUserInput{ QuitWait, &loopFlag }; - recvUserInput.detach(); - - IADLXEyefinityDesktopPtr eyefinityDesktop; - res = eyefinity->Create(&eyefinityDesktop); - while (true) - { - // Waiting for receiving desktop event or user exit event - WaitForMultipleObjects(2, hSignalArray, FALSE, INFINITE); - if (!loopFlag) - break; - ResetEvent(hDesktopChangedEvent); - } - res = eyefinity->DestroyAll(); - - eventHandling->RemoveDesktopListEventListener(eventListener); - delete eventListener; - eventListener = nullptr; - } - else - { - std::cout << "Do not support eyefinity" << std::endl; - } - } - else - { - std::cout << "Get simple eyefinity failed" << std::endl; - } - } - else - { - std::cout << "Failed to get the desktop Services" << std::endl; - } - } - else - { - std::cout << "ADLX initialize failed" << std::endl; - return 0; - } - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (hDesktopChangedEvent) - CloseHandle(hDesktopChangedEvent); - if (hQuitSignal) - CloseHandle(hQuitSignal); - - // Pause for user see the print out - system("pause"); - - return 0; -} - -void QuitWait(adlx_bool* loopFlag) -{ - while (true) - { - // Non-block I/O, check I/O cache whether have characters. - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(hQuitSignal); - } - } - Sleep(100); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/CMakeLists.txt b/vendor/adlx/Samples/CPP/Desktop/Eyefinity/CMakeLists.txt deleted file mode 100644 index c50c6e0..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Eyefinity") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainEyefinity.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/ReadMe.html b/vendor/adlx/Samples/CPP/Desktop/Eyefinity/ReadMe.html deleted file mode 100644 index 775b986..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display AMD Eyefinity support.
2 Create an AMD Eyefinity desktop with all the enabled displays.
3 Destroy all the AMD Eyefinity desktops.
4 Destroy the specified AMD Eyefinity desktop.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Desktop/Eyefinity

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/mainEyefinity.cpp b/vendor/adlx/Samples/CPP/Desktop/Eyefinity/mainEyefinity.cpp deleted file mode 100644 index 9fe3937..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/Eyefinity/mainEyefinity.cpp +++ /dev/null @@ -1,243 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainEyefinity.cpp -/// \brief Demonstrates how to create an AMD Eyefinity desktop when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(); - -// Display Eyefinity support -void ShowEyefinitySupport(); - -// Create an Eyefinity desktop -void CreateEyefinityDesktop(); - -// Destroy all the Eyefinity desktops -void DestroyAllEyefinityDesktop(); - -// Destroy the specified Eyefinity desktop -void DestroyGivenEyefinityDesktop(); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Eyefinity support" << std::endl; - std::cout << "\t->Press 2 to create an Eyefinity desktop with all the enabled displays" << std::endl; - std::cout << "\t->Press 3 to destroy all the Eyefinity desktops" << std::endl; - std::cout << "\t->Press 4 to destroy the specified Eyefinity desktop" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl() -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display Eyefinity support - case '1': - ShowEyefinitySupport(); - break; - - // Create an Eyefinity desktop - case '2': - CreateEyefinityDesktop(); - break; - - // Destroy all the Eyefinity desktops - case '3': - DestroyAllEyefinityDesktop(); - break; - - // Destroy the specified Eyefinity desktop - case '4': - DestroyGivenEyefinityDesktop(); - break; - - // Display the options again - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Display Eyefinity support status -void ShowEyefinitySupport() -{ - IADLXDesktopServicesPtr desktopSrv; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop Services interface" << std::endl; - return; - } - IADLXSimpleEyefinityPtr eyefinity; - res = desktopSrv->GetSimpleEyefinity(&eyefinity); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl; - return; - } - adlx_bool supported = false; - res = eyefinity->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs Eyefinity supported: " << supported << std::endl; -} - -// Create an Eyefinity desktop -void CreateEyefinityDesktop() -{ - IADLXDesktopServicesPtr desktopSrv; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop Services interface" << std::endl; - return; - } - IADLXSimpleEyefinityPtr eyefinity; - res = desktopSrv->GetSimpleEyefinity(&eyefinity); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl; - return; - } - IADLXEyefinityDesktopPtr eyefinityDesktop; - res = eyefinity->Create(&eyefinityDesktop); - std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl; -} - -// Destroy all the Eyefinity desktops -void DestroyAllEyefinityDesktop() -{ - IADLXDesktopServicesPtr desktopSrv; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop Services interface" << std::endl; - return; - } - IADLXSimpleEyefinityPtr eyefinity; - res = desktopSrv->GetSimpleEyefinity(&eyefinity); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl; - return; - } - res = eyefinity->DestroyAll(); - std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl; - -} - -// Destroy the specified Eyefinity desktop -void DestroyGivenEyefinityDesktop() -{ - IADLXDesktopServicesPtr desktopSrv; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop Services interface" << std::endl; - return; - } - IADLXSimpleEyefinityPtr eyefinity; - res = desktopSrv->GetSimpleEyefinity(&eyefinity); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the simple Eyefinity interface" << std::endl; - return; - } - IADLXDesktopListPtr desktops; - res = desktopSrv->GetDesktops(&desktops); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop List interface " << std::endl; - return; - } - for (adlx_uint crt = desktops->Begin(); crt != desktops->End(); ++crt) - { - IADLXDesktopPtr desktop; - res = desktops->At(crt, &desktop); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop interface" << std::endl; - break; - } - IADLXEyefinityDesktopPtr eyefinityDesktop(desktop); - if (eyefinityDesktop == nullptr) - { - std::cout << "\tfailed to get the Eyefinity Desktop interface" << std::endl; - break; - } - res = eyefinity->Destroy(eyefinityDesktop); - std::cout << "\tReturn code for destroying Desktop " << crt << " is: " << res << " (0 means Success)"<< std::endl; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/CMakeLists.txt b/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/CMakeLists.txt deleted file mode 100644 index 97d8ffd..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PrimaryAdapter") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPrimaryAdapter.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/ReadMe.html b/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/ReadMe.html deleted file mode 100644 index 7ac9bcd..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/ReadMe.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - -

Demonstrates how to get the primary adapter when programming with ADLX.

-

Command Prompts

- - - - - - - - - -
Command PromptDescription
1 Display the Primary Adapter.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Desktop/PrimaryAdapter

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/mainPrimaryAdapter.cpp b/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/mainPrimaryAdapter.cpp deleted file mode 100644 index 2c698e3..0000000 --- a/vendor/adlx/Samples/CPP/Desktop/PrimaryAdapter/mainPrimaryAdapter.cpp +++ /dev/null @@ -1,164 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPrimaryAdapter.cpp -/// \brief Demonstrates how to get the primary adapter when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDesktops.h" -#include "SDK/Include/IDisplays.h" -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(); - -// Display the primary adapter -void ShowPrimaryAdapter(); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display the Primary Adapter" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl() -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display the Primary Adapter - case '1': - ShowPrimaryAdapter(); - break; - - // Display the options again - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Display how to get primary adapter -void ShowPrimaryAdapter() -{ - IADLXDesktopServicesPtr desktopSrv; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetDesktopsServices(&desktopSrv); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop Services interface" << std::endl; - return; - } - IADLXDesktopListPtr desktops; - res = desktopSrv->GetDesktops(&desktops); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop List interface " << std::endl; - return; - } - for (adlx_uint crt = desktops->Begin(); crt != desktops->End(); ++crt) - { - IADLXDesktopPtr desktop; - res = desktops->At(crt, &desktop); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Desktop interface" << std::endl; - break; - } - ADLX_Point point = { 0 }; - res = desktop->TopLeft (&point); - if (ADLX_SUCCEEDED(res) && 0 == point.x && 0 == point.y) - { - IADLXDisplayListPtr displays; - res = desktop->GetDisplays(&displays); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the Display List interface" << std::endl; - return; - } - IADLXDisplayPtr display; - res = displays->At(0, &display); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the first display" << std::endl; - return; - } - IADLXGPUPtr gpu; - res = display->GetGPU (&gpu); - if (ADLX_FAILED(res)) - { - std::cout << "\tFailed to get the GPU" << std::endl; - return; - } - const char* gpuName; - gpu->Name (&gpuName); - std::cout << "\tPrimary Adapter: " << gpuName << std::endl; - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/Display3DLUT/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/Display3DLUT/CMakeLists.txt deleted file mode 100644 index 7d147f0..0000000 --- a/vendor/adlx/Samples/CPP/Display/Display3DLUT/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Display3DLUT") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplay3DLUT.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - - diff --git a/vendor/adlx/Samples/CPP/Display/Display3DLUT/ReadMe.html b/vendor/adlx/Samples/CPP/Display/Display3DLUT/ReadMe.html deleted file mode 100644 index e4a4b26..0000000 --- a/vendor/adlx/Samples/CPP/Display/Display3DLUT/ReadMe.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -

Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related tests.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display 3DLUT support.
2 Get 3DLUT state.
3 Set current SCE to disabled.
4 Set current SCE feature to Vivid Gaming profile.
5 Set current SCE feature to Dynamic Contrast profile.
6 Display user 3DLUT support.
7 Clear user 3DLUT.
8 Demonstrates SDR user 3DLUT.
9 Demonstrates HDR user 3DLUT.
a Demonstrates all user 3DLUT.
b Get user 3DLUT index.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/Display3DLUT

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/Display3DLUT/mainDisplay3DLUT.cpp b/vendor/adlx/Samples/CPP/Display/Display3DLUT/mainDisplay3DLUT.cpp deleted file mode 100644 index 08bc1c9..0000000 --- a/vendor/adlx/Samples/CPP/Display/Display3DLUT/mainDisplay3DLUT.cpp +++ /dev/null @@ -1,570 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplay3DLUT.cpp -/// \brief Demonstrates how to obtain the display 3DLUT when programming with ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplay3DLUT.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Constant value used to set size of user 3D LUT data -constexpr auto DEFAULT_NUM_OF_POINTS = MAX_USER_3DLUT_NUM_POINTS; - -// Show display3DLUT support -void ShowDisplay3DLUTSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Get and show current display3DLUT state -void Get3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Set display3DLUT -void Set3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); -// Get user 3DLUT support -void IsSupportedUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Clear user 3DLUT -void ClearUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Get or Set SDR user 3DLUT -void DemoSDRUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Get or Set HDR user 3DLUT -void DemoHDRUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Get or Set all user 3DLUT -void DemoAllUser3DLUT (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); -// Get 3DLUT index -void GetUser3DLUTIndex(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Helper functions - -// Algorigthm to generate a value which ranges from 0 to 0xFFFF -inline double Inputvalue (int index, int bitDepth, int numOfPoints) -{ - return fmin (static_cast(index * pow (2, bitDepth) / static_cast(numOfPoints - 1)), pow (2, bitDepth) - 1); -} - -// The 3DLUT are three axes of a 3-dimensional cube -// Generate 3DLut data bit wise: 17*17*17 triplets/lattice of RGB values. -// Each triplet contains the component of RGB values(16-bit depth) from 0 to 0xFFFF. -adlx_bool GenerateUser3DLUT_BW (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_int numOfPoints, ADLX_3DLUT_Data* user3DLUT) -{ - adlx_bool ret = true; - - const int bitDepth = 16; - - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT (display, &display3DLUT); - if (ADLX_SUCCEEDED (res)) - { - ADLX_UINT16_RGB rgbCoordinate = { 0, 0, 0 }; - adlx_int index = 0; - - for (int r = 0; r < numOfPoints; r++) - { - for (int g = 0; g < numOfPoints; g++) - { - for (int b = 0; b < numOfPoints; b++) - { - rgbCoordinate.red = r; - rgbCoordinate.green = g; - rgbCoordinate.blue = b; - - //Recalculate 3DLUT based on the "Inputvalue" which ranges from 0 to 0xFFFF. The recalculated value falls in the same range of 0 to 0xFFFF to be more "random". - double temp = 0.25 * Inputvalue (r, bitDepth, numOfPoints) + 0.625 * Inputvalue (g, bitDepth, numOfPoints) + 0.125 * Inputvalue (b, bitDepth, numOfPoints); - - // Get the index in the 3D LUT buffer corresponding to the RGB triplet. - res = display3DLUT->GetUser3DLUTIndex (numOfPoints, &rgbCoordinate, &index); - - if (ADLX_SUCCEEDED (res)) - { - adlx_uint16 tValue = static_cast(temp); - user3DLUT->data[index].red = tValue; - user3DLUT->data[index].green = tValue; - user3DLUT->data[index].blue = tValue; - } - else - { - ret = false; - goto EXIT; - } - } - } - } - } - -EXIT: - return ret; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get Display list" << std::endl; - } - } - else - { - std::cout << "Failed to get Display Services" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Display display3DLUT support -void ShowDisplay3DLUTSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === 3D LUT supported status ===" << std::endl; - adlx_bool supported; - ADLX_RESULT res = display3DLUT->IsSupportedSCE(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedSCE: " << supported << std::endl; - res = display3DLUT->IsSupportedSCEVividGaming(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedSCE_VividGaming: " << supported << std::endl; - res = display3DLUT->IsSupportedSCEDynamicContrast(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedSCEDynamicContrast: " << supported << std::endl; - res = display3DLUT->IsSupportedUser3DLUT(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedUser3DLUT: " << supported << std::endl; - } -} - -// Get and display current display3DLUT state -void Get3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get 3D LUT ===" << std::endl; - adlx_bool applied = false; - res = display3DLUT->IsCurrentSCEDisabled(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentSCEDisabled: " << applied << std::endl; - res = display3DLUT->IsCurrentSCEVividGaming(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentSCEVividGaming: " << applied << std::endl; - res = display3DLUT->IsCurrentSCEDynamicContrast(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentSCEDynamicContrast: " << applied << std::endl; - if (applied) - { - ADLX_IntRange range; - res =display3DLUT->GetSCEDynamicContrastRange(&range); - std::cout << "\t\tDynamic Contrast range is: [ " << range.minValue << " , " << range.maxValue << " ]" << std::endl; - adlx_int contrast; - res = display3DLUT->GetSCEDynamicContrast(&contrast); - std::cout << "\t\tDynamic Contrast is: " << contrast << std::endl; - } - } -} - -// Set display3DLUT -void Set3DLUTState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Set 3D LUT ===" << std::endl; - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set SCE disabled - case 0: - res = display3DLUT->SetSCEDisabled(); - break; - - // Set SCE Vivid Gaming - case 1: - res = display3DLUT->SetSCEVividGaming(); - break; - // Set SCE Dynamic Contrast - case 2: - { - ADLX_IntRange range; - display3DLUT->GetSCEDynamicContrastRange(&range); - adlx_int curContrast; - display3DLUT->GetSCEDynamicContrast(&curContrast); - adlx_int contrast; - if (curContrast != range.minValue) - { - contrast = range.minValue; - res = display3DLUT->SetSCEDynamicContrast(contrast); - std::cout << "\tUse minimum Dynamic Contrast" << std::endl; - } - else - { - contrast = range.maxValue; - res = display3DLUT->SetSCEDynamicContrast(contrast); - std::cout << "\tUse maximum Dynamic Contrast" << std::endl; - } - } - break; - default: - break; - } - std::cout << "\tReturn code is: " << res << " (0 means Success)" << std::endl; - } -} - -// Get user 3DLUT support -void IsSupportedUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === IsSupportedUser3DLUT ===" << std::endl; - adlx_bool supported = false; - res = display3DLUT->IsSupportedUser3DLUT(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === IsSupportedUser3DLUT: " << (supported ? "True" : "False") << std::endl; - } - } -} - -// Clear user 3DLUT -void ClearUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === ClearUser3DLUT ===" << std::endl; - res = display3DLUT->ClearUser3DLUT(); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === ClearUser3DLUT succeed ===" << std::endl; - } - else - std::cout << " === ClearUser3DLUT failed ===" << std::endl; - } -} - -// Get or Set SDR user 3DLUT -void DemoSDRUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - // Generate new 3D LUT data - if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - std::cout << " === SetSDRUser3DLUT ===" << std::endl; - res = display3DLUT->SetSDRUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === SetSDRUser3DLUT succeed ===" << std::endl; - } - else - std::cout << " === SetSDRUser3DLUT failed ===" << std::endl; - - std::cout << " === GetSDRUser3DLUT ===" << std::endl; - res = display3DLUT->GetSDRUser3DLUT (&tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === GetSDRUser3DLUT succeed ===" << std::endl; - } - else - std::cout << " === GetSDRUser3DLUT failed ===" << std::endl; - - // Clear 3DLUT - res = display3DLUT->ClearUser3DLUT (); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === Clear succeed ===" << std::endl; - } - else - std::cout << " === Clear failed ===" << std::endl; - } - } -} - -// Get or Set HDR user 3DLUT -void DemoHDRUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - std::cout << " === SetHDRUser3DLUT ===" << std::endl; - - // Generate new 3D LUT data - if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - res = display3DLUT->SetHDRUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === SetHDRUser3DLUT success ===" << std::endl; - } - else - std::cout << " === SetHDRUser3DLUT failed ===" << std::endl; - - std::cout << " === GetHDRUser3DLUT ===" << std::endl; - res = display3DLUT->GetHDRUser3DLUT (&tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === GetHDRUser3DLUT success ===" << std::endl; - } - else - std::cout << " === GetHDRUser3DLUT not avaiable ===" << std::endl; - - // Clear new 3D LUT data - res = display3DLUT->ClearUser3DLUT (); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === Clear success ===" << std::endl; - } - else - std::cout << " === Clear failed ===" << std::endl; - } - } -} - -// Get or Set all user 3DLUT -void DemoAllUser3DLUT(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - ADLX_3DLUT_TRANSFER_FUNCTION tf; - ADLX_3DLUT_COLORSPACE cs; - ADLX_3DLUT_Data data; - adlx_int numOfPoints = 0; - - // Generate data - if (GenerateUser3DLUT_BW (displayService, display, DEFAULT_NUM_OF_POINTS, &data)) - { - tf = TF_SRGB; - cs = CS_SRGB; - - std::cout << " === SetAllUser3DLUT ===" << std::endl; - res = display3DLUT->SetAllUser3DLUT (tf, cs, DEFAULT_NUM_OF_POINTS, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === SetAllUser3DLUT success ===" << std::endl; - } - else - std::cout << " === SetAllUser3DLUT failed ===" << std::endl; - - std::cout << " === GetAllUser3DLUT ===" << std::endl; - res = display3DLUT->GetAllUser3DLUT (&tf, &cs, &numOfPoints, &data); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === GetAllUser3DLUT success ===" << std::endl; - } - else - std::cout << " === GetAllUser3DLUT failed ===" << std::endl; - - // Clear data - res = display3DLUT->ClearUser3DLUT (); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === Clear succeed ===" << std::endl; - } - else - std::cout << " === Clear failed ===" << std::endl; - } - else - { - std::cout << " === GenerateUser3DLUT_BW failed ===" << std::endl; - } - } -} - -void GetUser3DLUTIndex(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display3DLUT - IADLXDisplay3DLUTPtr display3DLUT; - ADLX_RESULT res = displayService->Get3DLUT(display, &display3DLUT); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === GetUser3DLUTIndex ===" << std::endl; - - adlx_int index = 0; - adlx_int lutSize = 6; //5 <= lutSize <= 17 - ADLX_UINT16_RGB rgb = { 0, 0, 0 }; - - res = display3DLUT->GetUser3DLUTIndex(lutSize, &rgb, &index); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === GetUser3DLUTIndex success, index: ===" << index << std::endl; - } - else - std::cout << " === GetUser3DLUTIndex failed ===" << std::endl; - } -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display 3DLUT support" << std::endl; - - std::cout << "\t->Press 2 to get 3DLUT state" << std::endl; - - std::cout << "\t->Press 3 to set current SCE to disabled" << std::endl; - std::cout << "\t->Press 4 to set current SCE feature to Vivid Gaming profile" << std::endl; - std::cout << "\t->Press 5 to set current SCE feature to Dynamic Contrast" << std::endl; - - std::cout << "\t->Press 6 to get user 3DLUT support" << std::endl; - std::cout << "\t->Press 7 to clear user 3DLUT" << std::endl; - std::cout << "\t->Press 8 to show how to set/get SDR user 3DLUT" << std::endl; - std::cout << "\t->Press 9 to show how to set/get HDR user 3DLUT" << std::endl; - std::cout << "\t->Press a to show how to set/get all user 3DLUT" << std::endl; - std::cout << "\t->Press b to get 3DLUT index" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - case '1': - ShowDisplay3DLUTSupport(displayService, display); - break; - case '2': - Get3DLUTState(displayService, display); - break; - case '3': - case '4': - case '5': - Set3DLUTState(displayService, display, num - '3'); - break; - case '6': - IsSupportedUser3DLUT(displayService, display); - break; - case '7': - ClearUser3DLUT(displayService, display); - break; - case '8': - DemoSDRUser3DLUT(displayService, display); - break; - case '9': - DemoHDRUser3DLUT(displayService, display); - break; - case 'a': - DemoAllUser3DLUT(displayService, display); - break; - case 'b': - GetUser3DLUTIndex(displayService, display); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} diff --git a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayBlanking/CMakeLists.txt deleted file mode 100644 index a6ed716..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayBlanking") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayBlanking.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayBlanking/ReadMe.html deleted file mode 100644 index 5924b35..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstartes how to obtain display blanking when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Show display blanking support.
2 Get display blanking state.
3 Set display blank.
4 Set display unblank.
5 Set display blanked for 20 seconds.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayBlanking

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/mainDisplayBlanking.cpp b/vendor/adlx/Samples/CPP/Display/DisplayBlanking/mainDisplayBlanking.cpp deleted file mode 100644 index 8305a4f..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayBlanking/mainDisplayBlanking.cpp +++ /dev/null @@ -1,322 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayBlanking.cpp -/// \brief This document describes how to obtain the display blanking through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include "SDK/Include/IDisplays1.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// thread quit event -static HANDLE quitEvent = nullptr; - -// thread quit flag -static std::atomic g_quit = false; - -// thread for timeout -static std::thread* g_thread = nullptr; - -// thread to unblank display -static void ThreadUnBlankDisplay(IADLXDisplayBlankingPtr displayBlanking); - -// Display display blanking support -void ShowDisplayBlankingSupport(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display); - -// Display current display blanking state -void GetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display); - -// Set display blanked or unblaned -void SetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display); - -// Select display -IADLXDisplayPtr SelectDisplay(const IADLXDisplayListPtr& displays); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - // Convert to display service1 - IADLXDisplayServices1Ptr displayService1(displayService); - if (ADLX_SUCCEEDED(res) && displayService1) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService1->GetDisplays(&displayList); - if (ADLX_SUCCEEDED(res)) - { - // Select the display to config - IADLXDisplayPtr display = SelectDisplay(displayList); - if (display) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService1, display); - } - } - else - { - std::cout << "Failed to get the Displays list" << std::endl; - } - } - else - { - std::cout << "Failed to get the display services1" << std::endl; - } - - // quit thread - if (g_thread && g_thread->joinable()) - { - SetEvent(quitEvent); - g_quit = true; - g_thread->join(); - delete g_thread; - g_thread = nullptr; - } - CloseHandle(quitEvent); - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayBlankingSupport(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display) -{ - IADLXDisplayBlankingPtr displayBlanking; - ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get display blanking supported ===" << std::endl; - adlx_bool supported = false; - res = displayBlanking->IsSupported(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display) -{ - IADLXDisplayBlankingPtr displayBlanking; - ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get display blanking state ===" << std::endl; - adlx_bool blanked = false; - res = displayBlanking->IsCurrentBlanked(&blanked); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentBlanked: " << (blanked ? "true" : "false") << std::endl; - adlx_bool unBlanked = false; - res = displayBlanking->IsCurrentUnblanked(&unBlanked); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentUnblanked: " << (unBlanked ? "true" : "false") << std::endl; - } -} - -void SetDisplayBlankingState(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayBlankingPtr displayBlanking; - ADLX_RESULT res = displayService1->GetDisplayBlanking(display, &displayBlanking); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set display blanked - case 0: - if (g_thread && g_thread->joinable()) - { - SetEvent(quitEvent); - g_quit = true; - g_thread->join(); - delete g_thread; - g_thread = nullptr; - } - std::cout << " === Set display blanked ===" << std::endl; - res = displayBlanking->SetBlanked(); - break; - - // Set display unblanked - case 1: - std::cout << " === Set display unBlanked ===" << std::endl; - res = displayBlanking->SetUnblanked(); - break; - - // Set display blanked and restore after 20 sec - case 2: - if (g_thread && g_thread->joinable()) - { - SetEvent(quitEvent); - g_quit = true; - g_thread->join(); - delete g_thread; - g_thread = nullptr; - } - std::cout << " === Set display blanked for 20 seconds ===" << std::endl; - res = displayBlanking->SetBlanked(); - g_thread = new std::thread(ThreadUnBlankDisplay, displayBlanking); - g_quit = false; - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void ThreadUnBlankDisplay(IADLXDisplayBlankingPtr displayBlanking) -{ - bool opt = false; - while (!g_quit) - { - DWORD r = WaitForSingleObject(quitEvent, 20000); - // quit the thread - if (r == WAIT_OBJECT_0) - { - ResetEvent(quitEvent); - std::cout << "\tThread quit." << std::endl; - break; - } - // Restore display after 20 seconds - if (r == WAIT_TIMEOUT && displayBlanking && !opt) - { - ADLX_RESULT res = displayBlanking->SetUnblanked(); - std::cout << "\tRestore display after 20 seconds, return code is: " << res << " (0 means success)." << std::endl; - opt = true; - } - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to show display blanking support" << std::endl; - - std::cout << "\t->Press 2 to get display blanking state" << std::endl; - - std::cout << "\t->Press 3 to set display blanked" << std::endl; - std::cout << "\t->Press 4 to set display unblanked" << std::endl; - std::cout << "\t->Press 5 to set display blanked for 20 seconds" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -IADLXDisplayPtr SelectDisplay(const IADLXDisplayListPtr& displays) -{ - adlx_uint len = displays->Size(); - if (len == 0) - return nullptr; - - IADLXDisplayPtr display; - if (len < 2) - displays->At(0, &display); - else - { - std::cout << "\tYou can select the display by the key(from 1 to " << len << " )." << std::endl; - for (adlx_uint it = 0; it < len; it++) - { - displays->At(it, &display); - const char* dispName; - display->Name(&dispName); - std::cout << "\t->Press " << it + 1 << " to select " << dispName <<"." << std::endl; - } - int num = 0; - num = getchar() - 48; - if (num < 1 || num > len) - std::cout << "\tInvalid key. The first display will be used." << std::endl; - else - displays->At(num - 1, &display); - } - return display; -} -// Display action control -void MenuControl(const IADLXDisplayServices1Ptr& displayService1, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display display blanking support - case '1': - ShowDisplayBlankingSupport(displayService1, display); - break; - - // Display current display blanking state - case '2': - GetDisplayBlankingState(displayService1, display); - break; - - // Set display blanking or unblanking - case '3': - case '4': - case '5': - SetDisplayBlankingState(displayService1, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/CMakeLists.txt deleted file mode 100644 index 5243305..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayColorDepth") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayColorDepth.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/ReadMe.html deleted file mode 100644 index af591e9..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to obtain the color depth of a display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display color depth support.
2 Get color depth state.
3 Set current color depth to BPC_6.
4 Set current color depth to BPC_8.
5 Set current color depth to BPC_10.
6 Get support state for each color depth.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayColorDepth

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/mainDisplayColorDepth.cpp b/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/mainDisplayColorDepth.cpp deleted file mode 100644 index f991f52..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayColorDepth/mainDisplayColorDepth.cpp +++ /dev/null @@ -1,271 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayColorDepth.cpp -/// \brief Demonstrates how to obtain the Color Depth of a display when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface.  -static ADLXHelper g_ADLXHelp; - -// Display DisplayColorDepthSupport -void ShowDisplayColorDepthSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current display color depth state -void GetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set display color depth -void SetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit("Failed to get display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the printout - system("Pause"); - - return 0; -} - -void ShowDisplayColorDepthSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayColorDepthPtr displayColorDepth; - ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get color depth supported status ===" << std::endl; - adlx_bool supported = false; - res = displayColorDepth->IsSupported(&supported); - std::cout << "\tIsSupported, res " << res << ", supported: " << supported << std::endl; - } -} -void GetSupportStateForEachColorDepth (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayColorDepthPtr displayColorDepth; - ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth); - if (ADLX_SUCCEEDED (res) && displayColorDepth) - { - std::cout << " === Get color depth support list ===" << std::endl; - adlx_bool isSupported = false; - res = displayColorDepth->IsSupportedBPC_6 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_6, result " << res << " BPC_6 support: " << isSupported << std::endl; - res = displayColorDepth->IsSupportedBPC_8 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_6, result " << res << " BPC_8 support: " << isSupported << std::endl; - res = displayColorDepth->IsSupportedBPC_10 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_10, result " << res << " BPC_10 support: " << isSupported << std::endl; - res = displayColorDepth->IsSupportedBPC_12 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_12, result " << res << " BPC_12 support: " << isSupported << std::endl; - res = displayColorDepth->IsSupportedBPC_14 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_14, result " << res << " BPC_14 support: " << isSupported << std::endl; - res = displayColorDepth->IsSupportedBPC_16 (&isSupported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedBPC_16, result " << res << " BPC_16 support: " << isSupported << std::endl; - - const std::unordered_map colorDepthMap{ - {BPC_6, "BPC_6"}, - {BPC_8, "BPC_8"}, - {BPC_10, "BPC_10"}, - {BPC_12, "BPC_12"}, - {BPC_14, "BPC_14"}, - {BPC_16, "BPC_16"} - }; - for_each (colorDepthMap.begin (), colorDepthMap.end (), [&](auto colorDepth) { - res = displayColorDepth->IsSupportedColorDepth (colorDepth.first, &isSupported); - std::cout << "\tIsSupported" << colorDepth.second << ": " << isSupported << std::endl; - }); - } -} - -void GetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - const std::unordered_map colorDepthMap = {{0, "BPC_UNKNOWN"}, {1, "BPC_6"}, {2, "BPC_8"}, {3, "BPC_10"}}; - IADLXDisplayColorDepthPtr displayColorDepth; - ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get color depth enabled status ===" << std::endl; - ADLX_COLOR_DEPTH cd = BPC_UNKNOWN; - res = displayColorDepth->GetValue(&cd); - std::string cdStr = "BPC_Unknown"; - auto searchIter = colorDepthMap.find(cd); - if (searchIter != colorDepthMap.end()) - { - cdStr = searchIter->second; - } - std::cout << "\tGetValue, result " << res << " color depth: " << cdStr.c_str() << std::endl; - } -} - -void SetColorDepthState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayColorDepthPtr displayColorDepth; - ADLX_RESULT res = displayService->GetColorDepth(display, &displayColorDepth); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Set color depth ===" << std::endl; - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // set ColorDepth BPC_6 - case 0: - res = displayColorDepth->SetValue(BPC_6); - break; - // set ColorDepth BPC_8 - case 1: - res = displayColorDepth->SetValue(BPC_8); - break; - // set ColorDepth BPC_10 - case 2: - res = displayColorDepth->SetValue(BPC_10); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<"(0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display color depth support" << std::endl; - - std::cout << "\t->Press 2 to get color depth state" << std::endl; - - std::cout << "\t->Press 3 to set current color depth to BPC_6" << std::endl; - std::cout << "\t->Press 4 to set current color depth to BPC_8" << std::endl; - std::cout << "\t->Press 5 to set current color depth to BPC_10" << std::endl; - - std::cout << "\t->Press 6 to get support state for each color depth" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display DisplayColorDepthSupport - case '1': - ShowDisplayColorDepthSupport(displayService, display); - break; - - // Display current display color depth state - case '2': - GetColorDepthState(displayService, display); - break; - - // Set display color depth - case '3': - case '4': - case '5': - SetColorDepthState(displayService, display, num - '3'); - break; - - case '6': - GetSupportStateForEachColorDepth(displayService, display); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/CMakeLists.txt deleted file mode 100644 index 53fbdbe..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayConnectivityExperience") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayConnectivityExperience.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/ReadMe.html deleted file mode 100644 index 1715d30..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/ReadMe.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -

Demonstrates how to obtain Display Connectivity-Experience when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display HDMI quality detection support.
2 Display DP link support.
3 Get HDMI quality detection status.
4 Set HDMI quality detection status to "Enabled".
5 Set HDMI quality detection status to "Disabled".
6 Display DP link rate.
7 Display number of active lanes.
8 Display number of total lanes.
9 Display relative pre-emphasis.
a Enter the Relative Pre-emphasis settings menu.
b Display relative voltage swing.
c Enter the Relative Voltage Swing settings menu.
d Display if link protection enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

-

Sample Path

/Samples/CPP/Display/DisplayConnectivityExperience -

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.cpp b/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.cpp deleted file mode 100644 index b446c2f..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayConnectivityExperience/mainDisplayConnectivityExperience.cpp +++ /dev/null @@ -1,451 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayConnectivityExperience.cpp -/// \brief Demonstrates how to obtain Connectivity-Experience when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays2.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display supported HDMI quality detection -void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Display supported DP link -void ShowSupportedDPLink(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Display current HDMI quality detection state -void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Set displayVariBright status to enable/disable -void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, adlx_bool enableDisable); - -// Display DP link rate value -void GetDPLinkRate(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Display number of active lanes -void GetNumberOfActiveLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Display number of total lanes -void GetNumberOfTotalLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Display relative pre-emphasis -void GetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Relative pre-emphasis setting menu control -void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Set relative pre-emphasis -void SetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativePreEmphasis); - -// Display relative pre-emphasis -void GetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Relative voltage swing setting menu control -void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Set relative pre-emphasis -void SetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativeVoltageSwing); - -// Display current link protection statue -void GetEnabledLinkProtection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServices2Ptr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - IADLXDisplayServices2Ptr displayServices1(displayService); - - if (nullptr != displayServices1) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display list", 0); - } - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayServices1, display); - } - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowSupportedHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get HDMI quality detection Supported ===" << std::endl; - adlx_bool supported = false; - res = displayConnectivityExperience->IsSupportedHDMIQualityDetection(&supported); - std::cout << "\tHDMI quality detection is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl; - } -} - -void ShowSupportedDPLink(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get DP Link Supported ===" << std::endl; - adlx_bool supported = false; - res = displayConnectivityExperience->IsSupportedDPLink(&supported); - std::cout << "\tDP Link is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl; - } -} - -void GetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get HDMI quality detection enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayConnectivityExperience->IsEnabledHDMIQualityDetection(&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetEnabledHDMIQualityDetection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, adlx_bool enableDisable) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED (res)) - { - if (!enableDisable) - { - res = displayConnectivityExperience->SetEnabledHDMIQualityDetection(false); - std::cout << "\tSet enabled to false, result: " << res << " (0 means success)" << std::endl; - } - else - { - res = displayConnectivityExperience->SetEnabledHDMIQualityDetection (true); - std::cout << "\tSet enabled to true, result: " << res << " (0 means success)" << std::endl; - } - } -} - -void GetDPLinkRate(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - const std::unordered_map DPLinkRateMap = - { - {0, "DP_LINK_RATE_RBR"}, - {1, "DP_LINK_RATE_2_16GBPS"}, - {2, "DP_LINK_RATE_2_43GBPS"}, - {3, "DP_LINK_RATE_HBR"}, - {4, "DP_LINK_RATE_4_32GBPS"}, - {5, "DP_LINK_RATE_HBR2"}, - {6, "DP_LINK_RATE_HBR3"}, - {7, "DP_LINK_RATE_UHBR10"}, - {8, "DP_LINK_RATE_UHBR13D5"}, - {9, "DP_LINK_RATE_UHBR20"}}; - - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get DP link rate ===" << std::endl; - ADLX_DP_LINK_RATE DPLinkRate = ADLX_DP_LINK_RATE::DP_LINK_RATE_UNKNOWN; - res = displayConnectivityExperience->GetDPLinkRate(&DPLinkRate); - std::string DPLinkRateStr = 0 != DPLinkRateMap.count(DPLinkRate) ? DPLinkRateMap.at(DPLinkRate) : "DP_LINK_RATE_UNKNOWN"; - std::cout << "\tGetValue, result: " << res << " mode: " << DPLinkRateStr.c_str() << std::endl; - } -} - -void GetNumberOfActiveLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get number of active lanes ===" << std::endl; - adlx_uint numberOfActiveLanes; - res = displayConnectivityExperience->GetNumberOfActiveLanes(&numberOfActiveLanes); - std::cout << "\tGetValue, result: " << res << " value: " << numberOfActiveLanes << std::endl; - } -} - -void GetNumberOfTotalLanes(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get number of total lanes ===" << std::endl; - adlx_uint numberOfTotalLanes; - res = displayConnectivityExperience->GetNumberOfTotalLanes(&numberOfTotalLanes); - std::cout << "\tGetValue, result: " << res << " value: " << numberOfTotalLanes << std::endl; - } -} - -void GetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get relative pre-emphasis ===" << std::endl; - adlx_int relativePreEmphasis; - res = displayConnectivityExperience->GetRelativePreEmphasis(&relativePreEmphasis); - std::cout << "\tGetValue, result: " << res << " value: " << relativePreEmphasis << std::endl; - } -} - -void RelativePreEmphasisSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - printf (" === relative pre-emphasis setting ===\n"); - printf ("\t->Press integer in [-2:2] to set relative pre-emphasis or return main menu\n"); - int num = 0; - if ((std::cin >> num) && (-2 <= num && num <= 2)) - { - SetRelativePreEmphasis(displayService2, display, num); - } -} - -void SetRelativePreEmphasis(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativePreEmphasis) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Set relative pre-emphasis ===" << std::endl; - res = displayConnectivityExperience->SetRelativePreEmphasis(relativePreEmphasis); - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void GetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get relative voltage swing ===" << std::endl; - adlx_int relativeVoltageSwing; - res = displayConnectivityExperience->GetRelativeVoltageSwing(&relativeVoltageSwing); - std::cout << "\tGetValue, result: " << relativeVoltageSwing << std::endl; - } -} - -void RelativeVoltageSwingSettingMenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - printf (" === relative voltage swing setting ===\n"); - printf ("\t->Press integer in [-2:2] to set relative voltage swing or return main menu\n"); - int num = 0; - if ((std::cin >> num) && (-2 <= num && num <= 2)) - { - SetRelativeVoltageSwing(displayService2, display, num); - } -} - -void SetRelativeVoltageSwing(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display, int relativeVoltageSwing) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Set relative voltage swing ===" << std::endl; - res = displayConnectivityExperience->SetRelativeVoltageSwing(relativeVoltageSwing); - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void GetEnabledLinkProtection(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - IADLXDisplayConnectivityExperiencePtr displayConnectivityExperience; - ADLX_RESULT res = displayService2->GetDisplayConnectivityExperience(display, &displayConnectivityExperience); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get link protection enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayConnectivityExperience->IsEnabledLinkProtection(&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display HDMI quality detection support" << std::endl; - std::cout << "\t->Press 2 to display DP link support" << std::endl; - std::cout << "\t->Press 3 to get HDMI quality detection status" << std::endl; - std::cout << "\t->Press 4 to set HDMI quality detection to Enable" << std::endl; - std::cout << "\t->Press 5 to set HDMI quality detection status to Disable" << std::endl; - std::cout << "\t->Press 6 to display DP link rate" << std::endl; - std::cout << "\t->Press 7 to display number of active lanes" << std::endl; - std::cout << "\t->Press 8 to display number of total lanes" << std::endl; - std::cout << "\t->Press 9 to display relative pre-emphasis" << std::endl; - std::cout << "\t->Press a to enter the Relative Pre-emphasis settings menu" << std::endl; - std::cout << "\t->Press b to display relative voltage swing" << std::endl; - std::cout << "\t->Press c to enter the Relative Voltage Swing settings menu" << std::endl; - std::cout << "\t->Press d to display if link protection is enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServices2Ptr& displayService2, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display supported HDMI quality detection - case '1': - ShowSupportedHDMIQualityDetection(displayService2, display); - break; - - // Display ssupported DP link - case '2': - ShowSupportedDPLink(displayService2, display); - break; - - // Get HDMI quality detection enable - case '3': - GetEnabledHDMIQualityDetection(displayService2, display); - break; - - // Set HDMI quality detection enable - case '4': - SetEnabledHDMIQualityDetection(displayService2, display, true); - break; - - // Set HDMI quality detection disable - case '5': - SetEnabledHDMIQualityDetection(displayService2, display, false); - break; - - // Display DP link rate - case '6': - GetDPLinkRate(displayService2, display); - break; - - // Display number of active lanes - case '7': - GetNumberOfActiveLanes(displayService2, display); - break; - - // Display number of totla lanes - case '8': - GetNumberOfTotalLanes(displayService2, display); - break; - - // Display relative pre-emphasis - case '9': - GetRelativePreEmphasis(displayService2, display); - break; - - // Enter relative pre-emphasis setting control - case 'a': - RelativePreEmphasisSettingMenuControl(displayService2, display); - break; - - // Display relative voltage swing - case 'b': - GetRelativeVoltageSwing(displayService2, display); - break; - - // Enter relative voltage swing setting control - case 'c': - RelativeVoltageSwingSettingMenuControl(displayService2, display); - break; - - // Display link protection status - case 'd': - GetEnabledLinkProtection(displayService2, display); - break; - - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/CMakeLists.txt deleted file mode 100644 index 23e1a30..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayCustomColor") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayCustomColor.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/ReadMe.html deleted file mode 100644 index 28eb9bd..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to use custom color for display when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Enter Hue settings.
2 Enter Saturation settings.
3 Enter Brightness settings.
4 Enter Contrast settings.
5 Enter Temperature settings.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayCustomColor

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/mainDisplayCustomColor.cpp b/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/mainDisplayCustomColor.cpp deleted file mode 100644 index 7c01bcd..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomColor/mainDisplayCustomColor.cpp +++ /dev/null @@ -1,345 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayCustomColor.cpp -/// \brief Demonstrates how to use Custom Color for display when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// Types of Custom Color -constexpr auto CUSTOM_COLOR_HUE = 1; -constexpr auto CUSTOM_COLOR_SATURATION = 2; -constexpr auto CUSTOM_COLOR_BRIGHTNESS = 3; -constexpr auto CUSTOM_COLOR_CONTRAST = 4; -constexpr auto CUSTOM_COLOR_TEMPERATURE = 5; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX destory. -// so we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Executor class for getting and setting Custom Color properties -class CustomColorExecutor; - -// Handler for user input -void ExecuteCommand(CustomColorExecutor& executor, const std::string& colorTypeString); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result : " << res << std::endl; - return WaitAndExit("Failed to get display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the printout - system("Pause"); - - return 0; -} - -class CustomColorExecutor -{ - public: - CustomColorExecutor() = default; - CustomColorExecutor(IADLXDisplayCustomColorPtr pInst, int ct) - : pDisplayColor_(pInst), colorType_(ct) - { - if (pInst == nullptr) - { - std::cout << "custom color executor: custom color instance is null!" << std::endl; - std::exit(0); - } - } - ADLX_RESULT GetSupport(adlx_bool* supported) - { - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->IsHueSupported(supported); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->IsSaturationSupported(supported); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->IsBrightnessSupported(supported); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->IsContrastSupported(supported); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->IsTemperatureSupported(supported); - } - return ADLX_FAIL; - } - ADLX_RESULT GetRange(ADLX_IntRange* range) - { - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->GetHueRange(range); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->GetSaturationRange(range); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->GetBrightnessRange(range); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->GetContrastRange(range); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->GetTemperatureRange(range); - } - return ADLX_FAIL; - } - ADLX_RESULT GetValue(adlx_int* value) - { - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->GetHue(value); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->GetSaturation(value); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->GetBrightness(value); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->GetContrast(value); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->GetTemperature(value); - } - return ADLX_FAIL; - } - ADLX_RESULT SetValue(adlx_int value) - { - switch (colorType_) - { - case CUSTOM_COLOR_HUE: - return pDisplayColor_->SetHue(value); - case CUSTOM_COLOR_SATURATION: - return pDisplayColor_->SetSaturation(value); - case CUSTOM_COLOR_BRIGHTNESS: - return pDisplayColor_->SetBrightness(value); - case CUSTOM_COLOR_CONTRAST: - return pDisplayColor_->SetContrast(value); - case CUSTOM_COLOR_TEMPERATURE: - return pDisplayColor_->SetTemperature(value); - } - return ADLX_FAIL; - } - - private: - int colorType_; - IADLXDisplayCustomColorPtr pDisplayColor_; -}; - -void ExecuteCommand(CustomColorExecutor& executor, const std::string& colorTypeString) -{ - std::cout << "\tChoose from the following options:" << colorTypeString.c_str() << " settings" << std::endl; - std::cout << "\t->Press 1 to display support" << std::endl; - std::cout << "\t->Press 2 to get range data" << std::endl; - std::cout << "\t->Press 3 to display current value" << std::endl; - std::cout << "\t->Press 4 to set current value" << std::endl; - std::cout << "\t->Press X/x to get back to main menu" << std::endl; - - int num = 0; - while ((num = getchar()) != 'x' && num != 'X') - { - switch (num) - { - case '1': - { - std::string str1 = " === Get " + colorTypeString + " Supported ==="; - std::string str2 = "\tIs " + colorTypeString + " Supported: "; - adlx_bool supported = false; - std::cout << str1.c_str() << std::endl; - executor.GetSupport(&supported); - std::cout << str2.c_str() << supported << std::endl; - break; - } - case '2': - { - std::string str1 = " === Get " + colorTypeString + " Range data ==="; - std::string str2 = "\tGet" + colorTypeString + "Range: "; - ADLX_IntRange range = {0}; - std::cout << " === Get Hue Range data ===" << std::endl; - executor.GetRange(&range); - std::cout << str2.c_str() << " min: " << range.minValue << " max: " << range.maxValue << " step: " << range.step << std::endl; - break; - } - case '3': - { - std::string str1 = " === Get current " + colorTypeString + " value ==="; - std::string str2 = "\tGet" + colorTypeString + ": "; - adlx_int value = 0; - std::cout << str1.c_str() << std::endl; - executor.GetValue(&value); - std::cout << str2.c_str() << " value: " << value << std::endl; - break; - } - case '4': - { - ADLX_IntRange range = {0}; - executor.GetRange(&range); - adlx_int currentValue = 0; - executor.GetValue(¤tValue); - adlx_int baseValue = (range.minValue + range.maxValue) / 2; - adlx_int value = (currentValue == baseValue) ? baseValue + range.step : baseValue; - std::string str1 = "\tSet" + colorTypeString + ": "; - std::cout << str1.c_str() << " value: " << value << std::endl; - auto res = executor.SetValue(value); - std::cout << "\tReturn code(0 is Success) is: " << res <<"(0 means success)" << std::endl; - break; - } - default: - break; - } - } - MainMenu(); -} - -void ShowCustomColorSettings(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int colorType) -{ - static const std::unordered_map colorTypeStringMap = - { - {CUSTOM_COLOR_HUE, "Hue"}, - {CUSTOM_COLOR_SATURATION, "Saturation"}, - {CUSTOM_COLOR_BRIGHTNESS, "Brightness"}, - {CUSTOM_COLOR_CONTRAST, "Contrast"}, - {CUSTOM_COLOR_TEMPERATURE, "Temperature"}}; - - IADLXDisplayCustomColorPtr displayCustomColor; - ADLX_RESULT res = displayService->GetCustomColor(display, &displayCustomColor); - if (ADLX_SUCCEEDED(res)) - { - auto executor = CustomColorExecutor(displayCustomColor, colorType); - try - { - ExecuteCommand(executor, colorTypeStringMap.at(colorType)); - } catch (...) - { - std::cout << "Show custom color settings: color type is invalid!" << std::endl; - } - } - else - { - std::cout << "GetCustomColor: failed." << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to enter Hue settings" << std::endl; - std::cout << "\t->Press 2 to enter Saturation settings" << std::endl; - std::cout << "\t->Press 3 to enter Brightness settings" << std::endl; - std::cout << "\t->Press 4 to enter Contrast settings" << std::endl; - std::cout << "\t->Press 5 to enter Temperature settings" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the command prompt menu" << std::endl; -} - -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - case '1': - ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_HUE); - break; - // Display Saturation settings - case '2': - ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_SATURATION); - break; - // Display Brightness settings - case '3': - ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_BRIGHTNESS); - break; - // Display Contrast settings - case '4': - ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_CONTRAST); - break; - // Display Temperature settings - case '5': - ShowCustomColorSettings(displayService, display, CUSTOM_COLOR_TEMPERATURE); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/CMakeLists.txt deleted file mode 100644 index 640dcd4..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayCustomResolution") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayCustomResolution.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/ReadMe.html deleted file mode 100644 index 5b73c76..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to obtain the display custom resolution when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display custom resolution support.
2 Get custom resolution list.
3 Get current applied resolution.
4 Create new customized resolution.
5 Delete available resolution.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayCustomResolution

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/mainDisplayCustomResolution.cpp b/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/mainDisplayCustomResolution.cpp deleted file mode 100644 index e9ba638..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayCustomResolution/mainDisplayCustomResolution.cpp +++ /dev/null @@ -1,332 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayCustomResolution.cpp -/// \brief This document describes how to obtain the display HDCP through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display custom resolution support -void ShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtr pCustomResolution); - -// Display available display resolutions -void GetResolutionList(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionList** ppResolutionList); - -// Display current display resolution -void GetCurrentResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolution** ppResolution); - -// Create new customized display resolution -void CreateNewResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution); - -// Delete display resolution -void DeleteResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution); - -// Print out specified resolution -void PrintResolution(IADLXDisplayResolutionPtr pResolution); - -// Print out specified resolution list -void PrintResolutions(IADLXDisplayResolutionListPtr pResolutionList); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the Display Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowCustomResolutionSupport(IADLXDisplayCustomResolutionPtr pCustomResolution) -{ - std::cout << " === custom resolution supported ===" << std::endl; - adlx_bool supported = false; - ADLX_RESULT res = pCustomResolution->IsSupported(&supported); - std::cout << "\tIsSupported result: " << res << ", supported: " << supported << std::endl; -} - -void GetResolutionList(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionList** ppResolutionList) -{ - ADLX_RESULT res = pCustomResolution->GetResolutionList(ppResolutionList); - if (ADLX_FAILED(res)) - std::cout << " GetResolutionList: failed" << std::endl; - -} - -void GetCurrentResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolution** ppResolution) -{ - ADLX_RESULT res = pCustomResolution->GetCurrentAppliedResolution(ppResolution); - if (ADLX_FAILED(res)) - std::cout << " GetCurrentAppliedResolution: failed" << std::endl; -} - -void CreateNewResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution) -{ - ADLX_RESULT res = pCustomResolution->CreateNewResolution(pResolution); - if (ADLX_FAILED(res)) - std::cout << " CreateNewResolution: failed." << std::endl; -} - -void DeleteResolution(IADLXDisplayCustomResolutionPtr pCustomResolution, IADLXDisplayResolutionPtr pResolution) -{ - PrintResolution(pResolution); - ADLX_RESULT res = pCustomResolution->DeleteResolution(pResolution); - if (ADLX_FAILED(res)) - std::cout << " DeleteResolution: failed." << std::endl; -} - -void PrintResolution(IADLXDisplayResolutionPtr pResolution) -{ - ADLX_CustomResolution cr; - pResolution->GetValue(&cr); - - std::string sPresention = (cr.presentation == ADLX_DISPLAY_SCAN_TYPE::INTERLACED) ? "Interlaced" : "Progressive"; - std::string sTimingStandard = "Manual"; - std::string sHPolarity = (cr.detailedTiming.hPolarity == ADLX_DISPLAY_TIMING_POLARITY::POSITIVE) ? "Positive" : "Negative"; - std::string sVPolarity = (cr.detailedTiming.vPolarity == ADLX_DISPLAY_TIMING_POLARITY::POSITIVE) ? "Positive" : "Negative"; - try - { - const std::unordered_map timingStandardMap = - { - {MANUAL, "Manual"}, {DMT, "DMT"}, {GTF, "GTF"}, {CVT_RB, "CVT - Reduced Blanking"}, {CVT, "CVT"}}; - - sTimingStandard = timingStandardMap.at(cr.timingStandard); - } catch (...) - { - std::cout << " Timing standard out of range!" << std::endl; - return; - } - - char buff[1024] = {0}; - int offset = std::snprintf(buff, sizeof(buff), "\n resolution (Px)\t\t%d x %d\n", cr.resWidth, cr.resHeight); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Refresh Rate (Hz)\t\t%d\n", cr.refreshRate); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Presentation\t\t\t%s\n", sPresention.c_str()); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Standard\t\t%s\n", sTimingStandard.c_str()); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " G.Pixel Clock (kHz)\t\t%d\n", cr.GPixelClock); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Info\t\t\tHorizontal\tVertical\n"); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Total\t\t\t%d\t%d\n", cr.detailedTiming.hTotal, cr.detailedTiming.vTotal); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Display\t\t%d\t%d\n", cr.detailedTiming.hDisplay, cr.detailedTiming.vDisplay); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Front Porch\t\t%d\t%d\n", cr.detailedTiming.hFrontPorch, cr.detailedTiming.vFrontPorch); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Sync Width\t\t%d\t%d\n", cr.detailedTiming.hSyncWidth, cr.detailedTiming.vSyncWidth); - offset += std::snprintf(buff + offset, sizeof(buff) - offset, " Timing Polarity\t\t%s %s\n", sHPolarity.c_str(), sVPolarity.c_str()); - - std::cout << buff << std::endl; -} - -void PrintResolutions(IADLXDisplayResolutionListPtr pResolutionList) -{ - std::cout << " Print out resolution list ==" << std::endl; - if (pResolutionList == nullptr) - { - std::cout << " resolution list is null" << std::endl; - return; - } - - if (pResolutionList->Size() == 0) - { - std::cout << " resolution list is empty!" << std::endl; - return; - } - - ADLX_RESULT res = ADLX_FAIL; - for (adlx_uint crt = 0; crt < pResolutionList->Size(); crt++) - { - IADLXDisplayResolutionPtr pDispResolution = nullptr; - res = pResolutionList->At(crt, &pDispResolution); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " resolution index: " << crt << std::endl; - PrintResolution(pDispResolution); - } - } -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options" << std::endl; - - std::cout << "\t->Press 1 to display custom Resolution support" << std::endl; - - std::cout << "\t->Press 2 to get custom Resolution list" << std::endl; - - std::cout << "\t->Press 3 to get current applied Resolution" << std::endl; - std::cout << "\t->Press 4 to create new customized Resolution" << std::endl; - std::cout << "\t->Press 5 to delete avaible Resolution" << std::endl; - - std::cout << "\t->Press Q/q terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the command prompt menu" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayCustomResolutionPtr pCustomResolution; - displayService->GetCustomResolution(display, &pCustomResolution); - - if (!pCustomResolution) - { - std::cout << "Menu control: cannot retrive custom resolution instance!" << std::endl; - return; - } - - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display custom resolution support - case '1': - ShowCustomResolutionSupport(pCustomResolution); - break; - - // Get current resolution - case '2': - { - std::cout << " === Get resolution list: ===" << std::endl; - IADLXDisplayResolutionListPtr pResolutionList; - GetResolutionList(pCustomResolution, &pResolutionList); - PrintResolutions(pResolutionList); - break; - } - - // Get current applied resolution - case '3': - { - std::cout << " === Get current resolution: ===" << std::endl; - IADLXDisplayResolutionPtr pDisplayResolution; - GetCurrentResolution(pCustomResolution, &pDisplayResolution); - PrintResolution(pDisplayResolution); - break; - } - // Create new customized resolution - case '4': - { - std::cout << " === Create new resolution: ===" << std::endl; - IADLXDisplayResolutionPtr pDisplayResolution; - GetCurrentResolution(pCustomResolution, &pDisplayResolution); - - if (pDisplayResolution) - { - ADLX_CustomResolution customRes = {}; - pDisplayResolution->GetValue(&customRes); - - customRes.resWidth = 1920; - customRes.resHeight = 1080; - customRes.detailedTiming.hDisplay = 1920; - customRes.detailedTiming.vDisplay = 1080; - pDisplayResolution->SetValue(customRes); - - PrintResolution(pDisplayResolution); - CreateNewResolution(pCustomResolution, pDisplayResolution); - } - break; - } - // Delete available resolution - case '5': - { - std::cout << " === Delete resolution: ===" << std::endl; - IADLXDisplayResolutionListPtr pResolutionList; - GetResolutionList(pCustomResolution, &pResolutionList); - if (pResolutionList->Size() > 0) - { - IADLXDisplayResolutionPtr pDisplayResolution; - ADLX_RESULT res = pResolutionList->At(0, &pDisplayResolution); - if (ADLX_SUCCEEDED(res)) - DeleteResolution(pCustomResolution, pDisplayResolution); - } - break; - } - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayEvents/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayEvents/CMakeLists.txt deleted file mode 100644 index 99d9dfa..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayEvents/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayEvents") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayEvents.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayEvents/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayEvents/ReadMe.html deleted file mode 100644 index 3d62ca5..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayEvents/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demontrates how to handle notifications about display change when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Display/DisplayEvents

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayEvents/mainDisplayEvents.cpp b/vendor/adlx/Samples/CPP/Display/DisplayEvents/mainDisplayEvents.cpp deleted file mode 100644 index e5b2d3c..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayEvents/mainDisplayEvents.cpp +++ /dev/null @@ -1,200 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayEvents.cpp -/// \brief Demontrates how to handle notifications about display change when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplay3DLUT.h" -#include "SDK/Include/IDisplayGamma.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Callback for displayListChanged -class DisplayListChangedCallBack : public IADLXDisplayListChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplayListChanged(IADLXDisplayList* pNewDisplays) override - { - std::cout << "Display list has been changed" << std::endl; - - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; - } -}; - -// Callback for displayGamutChanged -class DisplayGamutCallBack : public IADLXDisplayGamutChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) override - { - std::cout << "Display gamut is changed" << std::endl; - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; - } -}; - -// Callback for displayGammaChanged -class DisplayGammaCallBack : public IADLXDisplayGammaChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplayGammaChanged(IADLXDisplayGammaChangedEvent* pDisplayGammaChangedEvent) override - { - std::cout << "Display gamma is changed" << std::endl; - - IADLXDisplayPtr display; - ADLX_RESULT res = pDisplayGammaChangedEvent->GetDisplay(&display); - if (ADLX_SUCCEEDED(res)) - { - const char* displayName = nullptr; - display->Name(&displayName); - adlx_bool changed = pDisplayGammaChangedEvent->IsDeGammaChanged(); - std::cout << "\tDisplay: " << displayName << " DeGamma changed: " << changed << std::endl; - changed = pDisplayGammaChangedEvent->IsReGammaChanged(); - std::cout << "\tDisplay: " << displayName << " ReGamma changed: " << changed << std::endl; - changed = pDisplayGammaChangedEvent->IsGammaCoefficientChanged(); - std::cout << "\tDisplay: " << displayName << " Gamma Coefficient changed: " << changed << std::endl; - changed = pDisplayGammaChangedEvent->IsGammaRampChanged(); - std::cout << "\tDisplay: " << displayName << " Gamma Ramp changed: " << changed << std::endl; - } - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; - } -}; - -// Callback for display3DLUT -class Display3DLUTCallBack : public IADLXDisplay3DLUTChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) override - { - std::cout << "Display 3DLUT is changed" << std::endl; - // If true is returned ADLX continues to notify next listener else if false is retuned ADLX stops the notification. - return true; - } -}; - -// Loop thread -void LoopThread(); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display services - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display change handler - IADLXDisplayChangedHandlingPtr displayChangeHandler; - res = displayService->GetDisplayChangedHandling(&displayChangeHandler); - if (ADLX_FAILED(res)) - return WaitAndExit("Failed to get display change handler", 0); - - // Create the callbacks - IADLXDisplayListChangedListener* listChangeCallBack = new DisplayListChangedCallBack; - IADLXDisplayGammaChangedListener* gammaChangeCallBack = new DisplayGammaCallBack; - IADLXDisplayGamutChangedListener* gamutChangeCallBack = new DisplayGamutCallBack; - IADLXDisplay3DLUTChangedListener* display3DLUTChangeCallBack = new Display3DLUTCallBack; - - // Add the callbacks to the ADLX event handler - { - displayChangeHandler->AddDisplayListEventListener(listChangeCallBack); - displayChangeHandler->AddDisplayGammaEventListener(gammaChangeCallBack); - displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack); - displayChangeHandler->AddDisplay3DLUTEventListener(display3DLUTChangeCallBack); - } - - // Create loop thread for wait event - std::thread loop(&LoopThread); - loop.join(); - - // Remove and destroy callbacks - displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack); - displayChangeHandler->RemoveDisplayListEventListener(listChangeCallBack); - displayChangeHandler->RemoveDisplay3DLUTEventListener(display3DLUTChangeCallBack); - displayChangeHandler->RemoveDisplayGammaEventListener(gammaChangeCallBack); - - delete listChangeCallBack; - listChangeCallBack = nullptr; - delete gamutChangeCallBack; - gamutChangeCallBack = nullptr; - delete gammaChangeCallBack; - gammaChangeCallBack = nullptr; - delete display3DLUTChangeCallBack; - display3DLUTChangeCallBack = nullptr; - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit("Failed to get display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Loop thread -void LoopThread() -{ - std::cout << "Loop thread is currently running." << std::endl; - std::cout << "-> Plug or unplug the display to trigger DisplayListChange, which will further trigger other changes." << std::endl; - std::cout << "->Press Q/q to terminate the loop." << std::endl; - int num = 0; - std::chrono::seconds dura(1); - while ((num = getchar()) != 'q' && num != 'Q') - { - std::cout << "Wait for the event to get triggered. The display can be pluged or unpluged to trigger DisplayListChange." << std::endl; - std::this_thread::sleep_for(dura); - num = getchar(); - if (num == 'q' || num == 'Q') - break; - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/CMakeLists.txt deleted file mode 100644 index 245259d..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayFreeSync") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayFreeSync.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/ReadMe.html deleted file mode 100644 index 63057c6..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display FreeSync when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display FreeSync support.
2 Get FreeSync state.
3 Set current FreeSync to disabled.
4 Set current FreeSync to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayFreeSync

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/mainDisplayFreeSync.cpp b/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/mainDisplayFreeSync.cpp deleted file mode 100644 index 6cdfdc8..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayFreeSync/mainDisplayFreeSync.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayFreeSync.cpp -/// \brief This document describes how to obtain the display FreeSync through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX destory. -// so we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// Dispalay displayFreeSync support -void ShowDisplayFreeSyncSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayFreeSync state -void GetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayFreeSync -void SetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayFreeSyncSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayFreeSyncPtr displayFreeSync; - ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get FreeSync Supported ===" << std::endl; - adlx_bool supported = false; - res = displayFreeSync->IsSupported(&supported); - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayFreeSyncPtr displayFreeSync; - ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get FreeSync Enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayFreeSync->IsEnabled(&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << enabled << std::endl; - } -} - -void SetFreeSyncState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayFreeSyncPtr displayFreeSync; - ADLX_RESULT res = displayService->GetFreeSync(display, &displayFreeSync); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set FreeSync disabled - case 0: - std::cout << " === Set FreeSync Enabled: false" << std::endl; - res = displayFreeSync->SetEnabled(false); - break; - // Set FreeSync enabled - case 1: - std::cout << " === Set FreeSync Enabled: true" << std::endl; - res = displayFreeSync->SetEnabled(true); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display FreeSync support" << std::endl; - - std::cout << "\t->Press 2 to get FreeSync state" << std::endl; - - std::cout << "\t->Press 3 to set current FreeSync to disabled" << std::endl; - std::cout << "\t->Press 4 to set current FreeSync to enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayFreeSync support - case '1': - ShowDisplayFreeSyncSupport(displayService, display); - break; - - // Display current displayFreeSync state - case '2': - GetFreeSyncState(displayService, display); - break; - - // Set displayFreeSync - case '3': - case '4': - SetFreeSyncState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/CMakeLists.txt deleted file mode 100644 index 7b0bba7..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGPUScaling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayGPUScaling.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/ReadMe.html deleted file mode 100644 index 5ee578a..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display GPUScaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display GPUScaling support.
2 Get GPUScaling state.
3 Set current GPUScaling to disabled.
4 Set current GPUScaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGPUScaling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/mainDisplayGPUScaling.cpp b/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/mainDisplayGPUScaling.cpp deleted file mode 100644 index 04be542..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGPUScaling/mainDisplayGPUScaling.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayGPUScaling.cpp -/// \brief This document describes how to obtain the display GPUScaling through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayGPUScaling support -void ShowDisplayGPUScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayGPUScaling state -void GetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayGPUScaling -void SetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayGPUScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayGPUScalingPtr displayGPUScaling; - ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get GPUScaling Supported ===" << std::endl; - adlx_bool supported = false; - res = displayGPUScaling->IsSupported(&supported); - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayGPUScalingPtr displayGPUScaling; - ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get GPUScaling Enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayGPUScaling->IsEnabled(&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetGPUScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayGPUScalingPtr displayGPUScaling; - ADLX_RESULT res = displayService->GetGPUScaling(display, &displayGPUScaling); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set GPUScaling disabled - case 0: - std::cout << " === Set GPUScaling enabled: false" << std::endl; - res = displayGPUScaling->SetEnabled(false); - break; - // Set GPUScaling enabled - case 1: - std::cout << " === Set GPUScaling enabled: true" << std::endl; - res = displayGPUScaling->SetEnabled(true); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display GPUScaling support" << std::endl; - - std::cout << "\t->Press 2 to get GPUScaling state" << std::endl; - - std::cout << "\t->Press 3 to set current GPUScaling to disabled" << std::endl; - std::cout << "\t->Press 4 to set current GPUScaling to enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show displayGPUScaling support - case '1': - ShowDisplayGPUScalingSupport(displayService, display); - break; - - // Display current displayGPUScaling state - case '2': - GetGPUScalingState(displayService, display); - break; - - // Set displayGPUScaling - case '3': - case '4': - SetGPUScalingState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamma/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayGamma/CMakeLists.txt deleted file mode 100644 index e0436bd..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamma/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGamma") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../../../output-night-light.txt DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - -set(all_file - "mainDisplayGamma.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamma/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayGamma/ReadMe.html deleted file mode 100644 index 8d07b4f..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamma/ReadMe.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -

Demonstrates how to obtain the display Gamma when programming with ADLX and perform related tests.

- -

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Show display gamma support.
2 Display current gamma information.
3 Set ReGammaSRGB using predefined coefficients.
4 Set ReGamma using custom coefficients.
5 Set ReGamma using ramp from file[file path: output-night-light.txt].
6 ReGamma using ramp from memory.
7 Reset Gamma ramp.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGamma

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamma/mainDisplayGamma.cpp b/vendor/adlx/Samples/CPP/Display/DisplayGamma/mainDisplayGamma.cpp deleted file mode 100644 index 9037440..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamma/mainDisplayGamma.cpp +++ /dev/null @@ -1,407 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayGamma.cpp -/// \brief Demonstrates how to obtain the display Gamma when programming with ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplayGamma.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX destory. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Print Gamma ramp -static void ShowGammaRamp(const ADLX_GammaRamp& gammaRamp); - -// Display Gamma support -void ShowDisplayGammaSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Get current Gamma state -void GetCurrentGammaState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -//  Set gamma by coefficient; if return value is 0, gamma coefficient is successfully set. Else an error occured. -ADLX_RESULT SetGammaWithCustomCoeffs(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set Gamma -void SetGamma(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Create regamma ramp -ADLX_GammaRamp CreateReGammaRamp(const float fGamma); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the Display Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Print gamma ramp -static void ShowGammaRamp(const ADLX_GammaRamp& gammaRamp) -{ - for (int j = 0; j < 3; j++) - { - printf("\nGetGammaRamp [%c]:\n", (j == 0) ? 'R' : ((j == 1) ? 'G' : (j == 2) ? 'B' - : 'E')); - for (int i = 0; i < 256; i++) - { - printf("%05d ", gammaRamp.gamma[i + j * 256]); - if (i % 10 == 9) - printf("\n"); - } - } - printf("\n"); -} - -// Display gamma support status -void ShowDisplayGammaSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display gamma - IADLXDisplayGammaPtr displayGamma; - ADLX_RESULT res = displayService->GetGamma(display, &displayGamma); - adlx_bool support = false; - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Re-Gamma supported status ===" << std::endl; - res = displayGamma->IsSupportedReGammaSRGB(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedReGammaSRGB: " << support << std::endl; - res = displayGamma->IsSupportedReGammaBT709(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedReGammaBT709: " << support << std::endl; - res = displayGamma->IsSupportedReGammaPQ(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedReGammaPQ: " << support << std::endl; - res = displayGamma->IsSupportedReGammaPQ2084Interim(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedReGammaPQ2084Interim: " << support << std::endl; - res = displayGamma->IsSupportedReGamma36(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedReGamma36:" << support << std::endl; - } -} - -// Get current gamma state -void GetCurrentGammaState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display gamma - IADLXDisplayGammaPtr displayGamma; - ADLX_RESULT res = displayService->GetGamma(display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Current gamma state ===" << std::endl; - adlx_bool applied = false; - ADLX_RESULT res = ADLX_FAIL; - ADLX_GammaRamp ramp; - ADLX_RegammaCoeff coeff; - - res = displayGamma->IsCurrentReGammaSRGB(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentReGammaSRGB " << applied << std::endl; - res = displayGamma->IsCurrentReGammaBT709(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentReGammaBT709 " << applied << std::endl; - res = displayGamma->IsCurrentReGammaPQ(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentReGammaPQ " << applied << std::endl; - res = displayGamma->IsCurrentReGammaPQ2084Interim(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentReGammaPQ2084Interim " << applied << std::endl; - res = displayGamma->IsCurrentReGamma36(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentReGamma36 " << applied << std::endl; - - adlx_bool curCoeff; - res = displayGamma->IsCurrentRegammaCoefficient(&curCoeff); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentRegammaCoefficient " << curCoeff << std::endl; - - adlx_bool reGammaRamp = false; - adlx_bool deGammaRamp = false; - res = displayGamma->IsCurrentReGammaRamp(&reGammaRamp); - res = displayGamma->IsCurrentDeGammaRamp(&deGammaRamp); - if (reGammaRamp) - { - displayGamma->GetGammaRamp(&ramp); - std::cout << "\tcurrent reGammaRamp" << std::endl; - ShowGammaRamp(ramp); - } - else if (deGammaRamp) - { - displayGamma->GetGammaRamp(&ramp); - std::cout << "\tcurrent deGammaRamp" << std::endl; - ShowGammaRamp(ramp); - } - else if (curCoeff) - { - displayGamma->GetGammaCoefficient(&coeff); - std::cout << "\tcurrent coefficient" << std::endl; - std::cout << "\tGetGammaCoefficient:\n" - << "\tCoefficientA0 " << coeff.coefficientA0 << "," - << "CoefficientA1 " << coeff.coefficientA1 << ", " - << "CoefficientA2 " << coeff.coefficientA2 << ", " - << "CoefficientA3 " << coeff.coefficientA3 << ", " - << "Gamma " << coeff.gamma << std::endl; - } - } -} - -// Set gamma by coefficient; if return value is 0, gamma coefficient is successfully set. Else an error occured. -ADLX_RESULT SetGammaWithCustomCoeffs(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get display gamma - IADLXDisplayGammaPtr displayGamma; - ADLX_RESULT res = displayService->GetGamma(display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "\t\tPlease enter five integer numbers, separated by spaces. (eg: 31308 12920 55 55 2400)" << std::endl; - - ADLX_RESULT res = ADLX_OK; - ADLX_RegammaCoeff coeff; - int userKey = 0; - std::vector coeffs; - while (std::cin >> userKey) - { - coeffs.push_back(userKey); - if (coeffs.size() > 4) - break; - } - std::cin.clear(); - std::cin.ignore(INT_MAX, '\n'); - - if (coeffs.size() > 4) - { - coeff.coefficientA0 = coeffs[0]; // 31308; - coeff.coefficientA1 = coeffs[1]; // 12920; - coeff.coefficientA2 = coeffs[2]; // 55; - coeff.coefficientA3 = coeffs[3]; // 55; - coeff.gamma = coeffs[4]; // 2400; - } - else - { - std::cout << "\t\tInvalid input, default value will be used." << std::endl; - coeff.coefficientA0 = 31308; - coeff.coefficientA1 = 12920; - coeff.coefficientA2 = 55; - coeff.coefficientA3 = 55; - coeff.gamma = 2400; - } - res = displayGamma->SetReGammaCoefficient(coeff); - } - return res; -} - -// Set Gamma -void SetGamma(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - // Get display Gamma - IADLXDisplayGammaPtr displayGamma; - ADLX_RESULT res = displayService->GetGamma(display, &displayGamma); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Set gamma ===" << std::endl; - ADLX_RESULT res = ADLX_OK; - - switch (key) - { - // Use preset coefficients for ReGammaSRGB - case 0: - res = displayGamma->SetReGammaSRGB(); - break; - - // Use preset coefficients for DeGammaSRGB - case 1: - res = SetGammaWithCustomCoeffs(displayService, display); - break; - - // use ramp form file, file path: output-night-light.txt - case 2: - res = displayGamma->SetReGammaRamp("output-night-light.txt"); - break; - - // Use ramp from memory - case 3: - { - const float reGammaF = 2.4f; - ADLX_GammaRamp ramp = CreateReGammaRamp(reGammaF); - res = displayGamma->SetReGammaRamp(ramp); - } - break; - - // Reset ramp - case 4: - res = displayGamma->ResetGammaRamp(); - break; - - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success) "<< std::endl; - } -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to show display gamma support" << std::endl; - - std::cout << "\t->Press 2 to display current gamma info" << std::endl; - - std::cout << "\t->Press 3 to set ReGammaSRGB using predefined coefficients" << std::endl; - std::cout << "\t->Press 4 to set ReGamma using custom coefficients" << std::endl; - std::cout << "\t->Press 5 to set ReGamma using ramp from file[file path: ../output-night-light.txt]" << std::endl; - std::cout << "\t->Press 6 to set ReGamma using ramp from memory" << std::endl; - std::cout << "\t->Press 7 to reset Gamma ramp" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show Gamma support - case '1': - ShowDisplayGammaSupport(displayService, display); - break; - - // Get current Gamma state - case '2': - GetCurrentGammaState(displayService, display); - break; - - // Set Gamma - case '3': - case '4': - case '5': - case '6': - case '7': - SetGamma(displayService, display, num - '3'); - break; - - // Show options again - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -ADLX_GammaRamp CreateReGammaRamp(const float fGamma) -{ - ADLX_GammaRamp ramp; - double g_fGammaRemapRGB[3] = { 1,1,0.5 }; - for (int j = 0; j < 3; j++) - { - for (int i = 0; i < 256; i++) - { - - float nAdj = i / 255.0f; - if (nAdj < 0.0031308f) - { - nAdj = nAdj * 12.92f; - } - else - { - nAdj = (1 + 0.055f) * powf(nAdj, 1 / fGamma) - 0.055f; - if (nAdj < 0.0f) - nAdj = 0.0f; - } - ramp.gamma[i + j * 256] = (unsigned short)(1 * g_fGammaRemapRGB[j] * (int)(nAdj * 0xFFFF)); - } - } - return ramp; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamut/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayGamut/CMakeLists.txt deleted file mode 100644 index 78890f6..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamut/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayGamut") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayGamut.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - - - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamut/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayGamut/ReadMe.html deleted file mode 100644 index 7c5c52e..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamut/ReadMe.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -

Demonstrates how to obtain the display Gamut when programming with ADLX and perform related tests.

-

Command Prompts

- - - - - - - - - - - - - - -
Command PromptDescription
1 Display gamut support.
2 Get current display gamut information.
3 Set predefined white point and predefined gamut space.
4 Set custom white point and predefined gamut space.
5 Set predefined white point and custom gamut space.
6 Set custom white point and custom gamut space.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayGamut

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayGamut/mainDisplayGamut.cpp b/vendor/adlx/Samples/CPP/Display/DisplayGamut/mainDisplayGamut.cpp deleted file mode 100644 index 0562a4e..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayGamut/mainDisplayGamut.cpp +++ /dev/null @@ -1,310 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayGamut.cpp -/// \brief Demonstrates how to obtain the display Gamut when programming with ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed.  -// Use global variables to ensure validity of the interface.  -static ADLXHelper g_ADLXHelp; - -// Show display gamut support -void ShowDisplayGamutSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Get and display gamut information, it contains white point and color space -void GetCurrentGamutInfo(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set gamut(white point and color space) -void SetGamut(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// main menu -void MainMenu(); - -// menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Show a menu with options to chose from - MainMenu(); - // Get and execute the choice - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the Displays list" << std::endl; - } - } - else - { - std::cout << "Failed to get the Display Services" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause for user see the print out - system("pause"); - - return 0; -} - -// Show display Gamut support -void ShowDisplayGamutSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get displayGamut - IADLXDisplayGamutPtr displayGamut; - ADLX_RESULT res = displayService->GetGamut(display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - std::cout << " === Gamut Space supported status ===" << std::endl; - res = displayGamut->IsSupportedCCIR709ColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedGamut_CCIR_709: " << supported << std::endl; - res = displayGamut->IsSupportedCCIR601ColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedGamut_CCIR_601: " << supported << std::endl; - res = displayGamut->IsSupportedAdobeRgbColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedGamut_Adobe_RGB: " << supported << std::endl; - res = displayGamut->IsSupportedCIERgbColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedGamut_CIE_RGB: " << supported << std::endl; - res = displayGamut->IsSupportedCCIR2020ColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedCCIR2020ColorSpace: " << supported << std::endl; - res = displayGamut->IsSupportedCustomColorSpace(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedGamut_Custom: " << supported << std::endl; - - std::cout << " === White point supported status ===" << std::endl; - res = displayGamut->IsSupported5000kWhitePoint(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedWhitePoint_5000k: " << supported << std::endl; - res = displayGamut->IsSupported6500kWhitePoint(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedWhitePoint_6500k: " << supported << std::endl; - res = displayGamut->IsSupported7500kWhitePoint(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedWhitePoint_7500k: " << supported << std::endl; - res = displayGamut->IsSupported9300kWhitePoint(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedWhitePoint_9300k: " << supported << std::endl; - res = displayGamut->IsSupportedCustomWhitePoint(&supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsSupportedWhitePoint_Custom: " << supported << std::endl; - } -} - -// Get and show Gamut information, it contains white point and color space -void GetCurrentGamutInfo(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - // Get displayGamut - IADLXDisplayGamutPtr displayGamut; - ADLX_RESULT res = displayService->GetGamut(display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool applied = false; - ADLX_RESULT res = ADLX_FAIL; - std::cout << " === Currnt White point status ===" << std::endl; - res = displayGamut->IsCurrent5000kWhitePoint(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentWhitePoint_5000k: " << applied << std::endl; - res = displayGamut->IsCurrent6500kWhitePoint(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentWhitePoint_6500k: " << applied << std::endl; - res = displayGamut->IsCurrent7500kWhitePoint(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentWhitePoint_7500k: " << applied << std::endl; - res = displayGamut->IsCurrent9300kWhitePoint(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentWhitePoint_9300k: " << applied << std::endl; - res = displayGamut->IsCurrentCustomWhitePoint(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentWhitePoint_Custom: " << applied << std::endl; - ADLX_Point point = {0}; - res = displayGamut->GetWhitePoint(&point); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tGetWhitePoint: ( " << point.x << ", " << point.y << " )" << std::endl; - - std::cout << " === Currnt gamut space status ===" << std::endl; - res = displayGamut->IsCurrentCCIR709ColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentGamut_CCIR_709: " << applied << std::endl; - res = displayGamut->IsCurrentCCIR601ColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentGamut_CCIR_601: " << applied << std::endl; - res = displayGamut->IsCurrentAdobeRgbColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentGamut_Adobe_RGB: " << applied << std::endl; - res = displayGamut->IsCurrentCIERgbColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentGamut_CIE_RGB: " << applied << std::endl; - res = displayGamut->IsCurrentCCIR2020ColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentCCIR2020ColorSpace: " << applied << std::endl; - res = displayGamut->IsCurrentCustomColorSpace(&applied); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIsCurrentCustomColorSpace: " << applied << std::endl; - ADLX_GamutColorSpace gamutCoordinates = {0}; - res = displayGamut->GetGamutColorSpace(&gamutCoordinates); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tGetGamutColorSpace: R( " << gamutCoordinates.red.x << ", " << gamutCoordinates.red.y << " ) " - << "G(" << gamutCoordinates.green.x << ", " << gamutCoordinates.green.y << ") " - << "B(" << gamutCoordinates.blue.x << ", " << gamutCoordinates.blue.y << ") " << std::endl; - } -} - -// Set Gamut(white point and color space) -void SetGamut(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - std::cout << " === Set white point and gamut space ===" << std::endl; - - ADLX_RESULT res = ADLX_FAIL; - ADLX_WHITE_POINT predefinedWhitePoint = WHITE_POINT_6500K; - ADLX_GAMUT_SPACE predefinedGamutSpace = GAMUT_SPACE_ADOBE_RGB; - ADLX_RGB customWhitePoint = {0.654108, 0.767112, 1}; - ADLX_GamutColorSpace customGamutSpace = - { - {6400, 3300}, {3000, 6000}, {1500, 600} - }; - - // Get displayGamut - IADLXDisplayGamutPtr displayGamut; - res = displayService->GetGamut(display, &displayGamut); - if (ADLX_SUCCEEDED(res)) - { - switch (key) - { - case 0: - res = displayGamut->SetGamut(predefinedWhitePoint, predefinedGamutSpace); - break; - case 1: - res = displayGamut->SetGamut(customWhitePoint, predefinedGamutSpace); - break; - case 2: - res = displayGamut->SetGamut(predefinedWhitePoint, customGamutSpace); - break; - case 3: - res = displayGamut->SetGamut(customWhitePoint, customGamutSpace); - break; - - default: - break; - } - std::cout << "\treturn code(0 is Success) is: " << res << std::endl; - } -} - -// main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to show Gamut support" << std::endl; - - std::cout << "\t->Press 2 to get current display Gamut info" << std::endl; - - std::cout << "\t->Press 3 to set predefined white point and predefined Gamut space" << std::endl; - std::cout << "\t->Press 4 to set custom white point and predefined Gamut space" << std::endl; - std::cout << "\t->Press 5 to set predefined white point and custom Gamut space" << std::endl; - std::cout << "\t->Press 6 to set custom white point and custom Gamut space" << std::endl; - - std::cout << "\t->Press Q/q to quit" << std::endl; - std::cout << "\t->Press M/m to show the options again" << std::endl; -} - -// menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show display Gamut support - case '1': - ShowDisplayGamutSupport(displayService, display); - break; - - // Get Gamut information(white point and color space) - case '2': - GetCurrentGamutInfo(displayService, display); - break; - - // Set Gamut(white point and color space) - case '3': - case '4': - case '5': - case '6': - SetGamut(displayService, display, num - '3'); - break; - - // Show options again - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause for user to see it then return the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayHDCP/CMakeLists.txt deleted file mode 100644 index 38b9e48..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayHDCP") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayHDCP.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayHDCP/ReadMe.html deleted file mode 100644 index 1a4a1f5..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display HDCP support.
2 Get HDCP state.
3 Set current HDCP to disabled.
4 Set current HDCP to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayHDCP

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/mainDisplayHDCP.cpp b/vendor/adlx/Samples/CPP/Display/DisplayHDCP/mainDisplayHDCP.cpp deleted file mode 100644 index 3b4f6bb..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayHDCP/mainDisplayHDCP.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayHDCP.cpp -/// \brief Demonstrates how to obtain the display HDCP when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// so we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// Display display HDCP support -void ShowDisplayHDCPSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current display HDCP state -void GetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set display HDCP -void SetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayHDCPSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayHDCPPtr displayHDCP; - ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get HDCP Supported ===" << std::endl; - adlx_bool supported = false; - res = displayHDCP->IsSupported(&supported); - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayHDCPPtr displayHDCP; - ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get HDCP Enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayHDCP->IsEnabled(&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetHDCPState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayHDCPPtr displayHDCP; - ADLX_RESULT res = displayService->GetHDCP(display, &displayHDCP); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set HDCP disabled - case 0: - std::cout << " === Set HDCP Enabled: false" << std::endl; - res = displayHDCP->SetEnabled(false); - break; - // Set HDCP enabled - case 1: - std::cout << " === Set HDCP Enabled: true" << std::endl; - res = displayHDCP->SetEnabled(true); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display HDCP support" << std::endl; - - std::cout << "\t->Press 2 to get HDCP state" << std::endl; - - std::cout << "\t->Press 3 to set current HDCP to disabled" << std::endl; - std::cout << "\t->Press 4 to set current HDCP to enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayHDCP support - case '1': - ShowDisplayHDCPSupport(displayService, display); - break; - - // Display current displayHDCP state - case '2': - GetHDCPState(displayService, display); - break; - - // Set displayHDCP - case '3': - case '4': - SetHDCPState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayInfo/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayInfo/CMakeLists.txt deleted file mode 100644 index 60223a8..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayInfo/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayInfo") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -add_definitions(-DUNICODE -D_UNICODE) - -set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) -set(CMAKE_INSTALL_PREFIX ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} CACHE PATH "" FORCE) - -set(all_file - "mainDisplayInfo.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayInfo/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayInfo/ReadMe.html deleted file mode 100644 index fc79e18..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayInfo/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to obtain the display information when programming with ADLX to perform related tests.

-

Sample Path

-

/Samples/CPP/Display/DisplayInfo

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayInfo/mainDisplayInfo.cpp b/vendor/adlx/Samples/CPP/Display/DisplayInfo/mainDisplayInfo.cpp deleted file mode 100644 index cceab8e..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayInfo/mainDisplayInfo.cpp +++ /dev/null @@ -1,197 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayInfo.cpp -/// \brief Demonstrates how to obtain the display information when programming with ADLX to perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Print diplayInfo information -void ShowDisplayInfo(const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list and iterate through the list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - adlx_uint it = displayList->Begin(); - IADLXDisplayPtr display; - for (; it != displayList->End(); it++) - { - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Get data for each display device and print it on the console - ShowDisplayInfo(display); - } - } - } - else - { - std::cout << "Failed to get the Displays list" << std::endl; - } - - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the Display Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the printout - system("pause"); - - return 0; -} - -// Extra data -// Map with the display type and associated string -static const std::map displayTypeMap = - { - {DISPLAY_TYPE_MONITOR, "CRT"}, - {DISPLAY_TYPE_TELEVISION, "TV"}, - {DISPLAY_TYPE_LCD_PANEL, "LCD"}, - {DISPLAY_TYPE_DIGITAL_FLAT_PANEL, "DFP"}, - {DISPLAY_TYPE_COMPONENT_VIDEO, "CV"}}; - -// Map with the display connector type and associated string -static const std::map displayConnectorMap = - { - {DISPLAY_CONTYPE_UNKNOWN, "UNKNOWN"}, - {DISPLAY_CONTYPE_VGA, "VGA"}, - {DISPLAY_CONTYPE_DVI_D, "DVI D"}, - {DISPLAY_CONTYPE_DVI_I, "DVI I"}, - {DISPLAY_CONTYPE_CVDONGLE_NTSC, "ATICVDONGLE NTSC"}, - {DISPLAY_CONTYPE_CVDONGLE_JPN, "ATICVDONGLE JPN"}, - {DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN, "ATICVDONGLE NONI2C JPN"}, - {DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC, "ATICVDONGLE NONI2C NTSC"}, - {DISPLAY_CONTYPE_PROPRIETARY, "PROPRIETARY"}, - {DISPLAY_CONTYPE_HDMI_TYPE_A, "HDMI TYPE A"}, - {DISPLAY_CONTYPE_HDMI_TYPE_B, "HDMI TYPE B"}, - {DISPLAY_CONTYPE_SVIDEO, "SVIDEO"}, - {DISPLAY_CONTYPE_COMPOSITE, "COMPOSITE"}, - {DISPLAY_CONTYPE_RCA_3COMPONENT, "RCA 3COMPONENT"}, - {DISPLAY_CONTYPE_DISPLAYPORT, "DISPLAYPORT"}, - {DISPLAY_CONTYPE_EDP, "EDP"}, - {DISPLAY_CONTYPE_WIRELESSDISPLAY, "WIRELESSDISPLAY"}, - {DISPLAY_CONTYPE_USB_TYPE_C, "USB TYPE C"}}; - -// Map with the scan type and associated string -static const std::map scanTypeMap = - { - {PROGRESSIVE, "PROGRESSIVE"}, - {INTERLACED, "INTERLACED"} - }; - -// Print diplayInfo information -void ShowDisplayInfo(const IADLXDisplayPtr& display) -{ - ADLX_RESULT res = ADLX_OK; - - std::cout << "\n === Display info ===" << std::endl; - const char* dispName; - res = display->Name(&dispName); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tDisplay name: " << dispName << std::endl; - - adlx_uint manufacturerID; - res = display->ManufacturerID(&manufacturerID); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tManufacturer id: " << manufacturerID << std::endl; - - ADLX_DISPLAY_TYPE displayType; - res = display->DisplayType(&displayType); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tDisplay type: " << displayTypeMap.find(displayType)->second << std::endl; - - ADLX_DISPLAY_CONNECTOR_TYPE connectType; - res = display->ConnectorType(&connectType); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tConnector type: " << displayConnectorMap.find(connectType)->second << std::endl; - - const char* edid; - res = display->EDID(&edid); - if (ADLX_OK != res) - std::cout << "\t Display EDID, error code is: " << res << std::endl; - else - std::cout << "\tEDID: " << edid << std::endl; - - adlx_double refreshRate; - res = display->RefreshRate(&refreshRate); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tRefresh rate: " << refreshRate << std::endl; - - adlx_uint pixelClock; - res = display->PixelClock(&pixelClock); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tPixel clock: " << pixelClock << std::endl; - - adlx_int maxHResolution = 0; - adlx_int maxVResolution = 0; - res = display->NativeResolution(&maxHResolution, &maxVResolution); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tNative resolution[h*v]:" << maxHResolution << " " << maxVResolution << std::endl; - - ADLX_DISPLAY_SCAN_TYPE scanType; - res = display->ScanType(&scanType); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tScan type: " << scanTypeMap.find(scanType)->second << std::endl; - - adlx_size id; - res = display->UniqueId(&id); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tUniqueId: " << id << std::endl; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code  - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/CMakeLists.txt deleted file mode 100644 index 9d1b70b..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayIntegerScaling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayIntegerScaling.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/ReadMe.html deleted file mode 100644 index 5772741..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to obtain integer scaling when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display integer scaling support.
2 Get integer scaling state.
3 Set current integer scaling to disabled.
4 Set current integer scaling to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayIntegerScaling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.cpp b/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.cpp deleted file mode 100644 index 2eb2d1a..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayIntegerScaling/mainDisplayIntegerScaling.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayIntegerScaling.cpp -/// \brief Demonstrates how to obtain the display IntegerScaling when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayIntegerScaling support -void ShowDisplayIntegerScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayIntegerScaling state -void GetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayIntegerScaling -void SetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the displays list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayIntegerScalingSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayIntegerScalingPtr displayIntegerScaling; - ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get IntegerScaling supported ===" << std::endl; - adlx_bool supported = false; - res = displayIntegerScaling->IsSupported(&supported); - std::cout << "\tIsSupported, res: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayIntegerScalingPtr displayIntegerScaling; - ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get IntegerScaling enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayIntegerScaling->IsEnabled(&enabled); - std::cout << "\tGetEnabled, res: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetIntegerScalingState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayIntegerScalingPtr displayIntegerScaling; - ADLX_RESULT res = displayService->GetIntegerScaling(display, &displayIntegerScaling); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set integer scaling disabled - case 0: - std::cout << " === Set IntegerScaling Enabled: false" << std::endl; - res = displayIntegerScaling->SetEnabled(false); - break; - // Set integer scaling enabled - case 1: - std::cout << " === Set IntegerScaling Enabled: true" << std::endl; - res = displayIntegerScaling->SetEnabled(true); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display integer scaling support" << std::endl; - - std::cout << "\t->Press 2 to get integer scaling state" << std::endl; - - std::cout << "\t->Press 3 to set current integer scaling to disabled" << std::endl; - std::cout << "\t->Press 4 to set current integer scaling to enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayIntegerScaling support - case '1': - ShowDisplayIntegerScalingSupport(displayService, display); - break; - - // Display current displayIntegerScaling state - case '2': - GetIntegerScalingState(displayService, display); - break; - - // Set displayIntegerScaling - case '3': - case '4': - SetIntegerScalingState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/CMakeLists.txt deleted file mode 100644 index fddf52d..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayPixelFormat") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayPixelFormat.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/ReadMe.html deleted file mode 100644 index e077193..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Display pixel format support.
2 Get pixel format state.
3 Set current pixel format to RGB_444_FULL.
4 Set current pixel format to YCBCR_444.
5 Set current pixel format to YCBCR_422.
6 Set current pixel format to RGB_444_LIMITED.
7 Get support state for each pixel format.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayPixelFormat

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/mainDisplayPixelFormat.cpp b/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/mainDisplayPixelFormat.cpp deleted file mode 100644 index b40bf16..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayPixelFormat/mainDisplayPixelFormat.cpp +++ /dev/null @@ -1,285 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayPixelFormat.cpp -/// \brief Demonstrates how to obtain the pixel format when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayPixelFormat support -void ShowDisplayPixelFormatSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayPixelFormat state -void GetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayPixelFormat -void SetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Get support state for each pixel format -void GetSupportStateForEachPixelFormat(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayPixelFormatSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayPixelFormatPtr displayPixelFormat; - ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get pixel format supported ===" << std::endl; - adlx_bool supported = false; - res = displayPixelFormat->IsSupported(&supported); - std::cout << "\tPixel format is supported on the display: " << supported << " , return code: " << res << " (0 means success)\n" << std::endl; - } -} - -void GetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - const std::unordered_map PixelFormatMap = {{0, "FORMAT_UNKNOWN"}, {1, "RGB_444_FULL"}, {2, "YCBCR_444"}, {3, "YCBCR_422"}, {4, "RGB_444_LIMITED"}}; - IADLXDisplayPixelFormatPtr displayPixelFormat; - ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get pixel format enabled ===" << std::endl; - ADLX_PIXEL_FORMAT pf = FORMAT_UNKNOWN; - res = displayPixelFormat->GetValue(&pf); - std::string pfStr = "FORMAT_UNKNOWN"; - auto searchIter = PixelFormatMap.find(pf); - if (searchIter != PixelFormatMap.end()) - { - pfStr = searchIter->second; - } - std::cout << "\tGetValue, res " << res << " pixel format: " << pfStr.c_str() << std::endl; - } -} - -void SetPixelFormatState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayPixelFormatPtr displayPixelFormat; - ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set pixel format to RGB_444_FULL - case 0: - std::cout << " === Set pixel format to RGB_444_FULL" << std::endl; - res = displayPixelFormat->SetValue(RGB_444_FULL); - break; - // Set pixel format to YCBCR_444 - case 1: - std::cout << " === Set pixel format to YCBCR_444" << std::endl; - res = displayPixelFormat->SetValue(YCBCR_444); - break; - // Set pixel format to YCBCR_422 - case 2: - std::cout << " === Set pixel format to YCBCR_422" << std::endl; - res = displayPixelFormat->SetValue(YCBCR_422); - break; - // Set pixel format to RGB_444_LIMITED - case 3: - std::cout << " === Set pixel format to RGB_444_LIMITED" << std::endl; - res = displayPixelFormat->SetValue(RGB_444_LIMITED); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -// Get support state for each pixel format -void GetSupportStateForEachPixelFormat(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayPixelFormatPtr displayPixelFormat; - ADLX_RESULT res = displayService->GetPixelFormat(display, &displayPixelFormat); - if (ADLX_SUCCEEDED(res) && displayPixelFormat) - { - std::cout << " === Get pixel format list ===" << std::endl; - adlx_bool support = false; - - res = displayPixelFormat->IsSupportedRGB444Full(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support RGB 4:4:4 PC Standard (Full RGB): " << support << std::endl; - res = displayPixelFormat->IsSupportedYCbCr444(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support YCbCr 4:4:4: " << support << std::endl; - res = displayPixelFormat->IsSupportedYCbCr422(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support YCbCr 4:2:2: " << support << std::endl; - res = displayPixelFormat->IsSupportedRGB444Limited(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support RGB 4:4:4 Studio (Limited RGB): " << support << std::endl; - res = displayPixelFormat->IsSupportedYCbCr420(&support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support YCbCr 4:2:0: " << support << std::endl; - - const std::unordered_map PixelFormatMap{ - {RGB_444_FULL, "RGB 4:4:4 PC Standard (Full RGB)"}, - {YCBCR_444, "YCbCr 4:4:4"}, - {YCBCR_422, "YCbCr 4:2:2"}, - {RGB_444_LIMITED, "RGB 4:4:4 Studio (Limited RGB)"}, - {YCBCR_420, "YCbCr 4:2:0"} - }; - for_each(PixelFormatMap.begin(), PixelFormatMap.end(), [&](auto pixelFormat) { - res = displayPixelFormat->IsSupportedPixelFormat(pixelFormat.first, &support); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tIs support " << pixelFormat.second << ": " << support << std::endl; - }); - } -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display PixelFormat support" << std::endl; - - std::cout << "\t->Press 2 to get PixelFormat state" << std::endl; - - std::cout << "\t->Press 3 to set current pixel format to RGB_444_FULL" << std::endl; - std::cout << "\t->Press 4 to set current pixel format to YCBCR_444" << std::endl; - std::cout << "\t->Press 5 to set current pixel format to YCBCR_422" << std::endl; - std::cout << "\t->Press 6 to set current pixel format to RGB_444_LIMITED" << std::endl; - - std::cout << "\t->Press 7 to get support state for each pixel format" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayPixelFormat support - case '1': - ShowDisplayPixelFormatSupport(displayService, display); - break; - - // Display current displayPixelFormat state - case '2': - GetPixelFormatState(displayService, display); - break; - - // Set displayPixelFormat - case '3': - case '4': - case '5': - case '6': - SetPixelFormatState(displayService, display, num - '3'); - break; - - // Get displayPixelFormat support list - case '7': - GetSupportStateForEachPixelFormat(displayService, display); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/CMakeLists.txt deleted file mode 100644 index 5e71f9b..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayScalingMode") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayScalingMode.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/ReadMe.html deleted file mode 100644 index e0f6b7d..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to obtain scaling mode when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display scaling mode support.
2 Get scaling mode state.
3 Set current scaling mode to PRESERVE_ASPECT_RATIO.
4 Set current scaling mode to FULL_PANEL.
5 Set current scaling mode to CENTERED.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayScalingMode

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/mainDisplayScalingMode.cpp b/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/mainDisplayScalingMode.cpp deleted file mode 100644 index 3781609..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayScalingMode/mainDisplayScalingMode.cpp +++ /dev/null @@ -1,231 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayScalingMode.cpp -/// \brief Demonstrates how to obtain scaling mode when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayScalingMode support -void ShowDisplayScalingModeSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayScalingMode state -void GetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayScalingMode -void SetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED (res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayScalingModeSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayScalingModePtr displayScalingMode; - ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get ScalingMode Supported ===" << std::endl; - adlx_bool supported = false; - res = displayScalingMode->IsSupported(&supported); - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - const std::unordered_map scalingModeMap = - { - {0, "PRESERVE_ASPECT_RATIO"}, - {1, "FULL_PANEL"}, - {2, "CENTERED"}}; - - IADLXDisplayScalingModePtr displayScalingMode; - ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get ScalingMode Enabled ===" << std::endl; - ADLX_SCALE_MODE sm = PRESERVE_ASPECT_RATIO; - res = displayScalingMode->GetMode(&sm); - std::string smStr = "Unknown"; - auto searchIter = scalingModeMap.find(sm); - if (searchIter != scalingModeMap.end()) - { - smStr = searchIter->second; - } - std::cout << "\tGetMode, result " << res << " mode: " << smStr.c_str() << std::endl; - } -} - -void SetScalingModeState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayScalingModePtr displayScalingMode; - ADLX_RESULT res = displayService->GetScalingMode(display, &displayScalingMode); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set scaling mode to PRESERVE_ASPECT_RATIO - case 0: - std::cout << " === Set ScalingMode PRESERVE_ASPECT_RATIO" << std::endl; - res = displayScalingMode->SetMode(PRESERVE_ASPECT_RATIO); - break; - // Set scaling mode to FULL_PANEL - case 1: - std::cout << " === Set ScalingMode FULL_PANEL" << std::endl; - res = displayScalingMode->SetMode(FULL_PANEL); - break; - // Set scaling mode to CENTERED - case 2: - std::cout << " === Set ScalingMode CENTERED" << std::endl; - res = displayScalingMode->SetMode(CENTERED); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display scaling mode support" << std::endl; - - std::cout << "\t->Press 2 to get scaling mode state" << std::endl; - - std::cout << "\t->Press 3 to set current scaling mode to PRESERVE_ASPECT_RATIO" << std::endl; - std::cout << "\t->Press 4 to set current scaling mode to FULL_PANEL" << std::endl; - std::cout << "\t->Press 5 to set current scaling mode to CENTERED" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayScalingMode support - case '1': - ShowDisplayScalingModeSupport(displayService, display); - break; - - // Display current displayScalingMode state - case '2': - GetScalingModeState(displayService, display); - break; - - // Set displayScalingMode - case '3': - case '4': - case '5': - SetScalingModeState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVSR/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayVSR/CMakeLists.txt deleted file mode 100644 index 4c5c4e3..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVSR/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayVSR") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayVSR.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVSR/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayVSR/ReadMe.html deleted file mode 100644 index 524ba23..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVSR/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstartes how to obtain VSR when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display VSR support.
2 Get VSR state.
3 Set current VSR to disabled.
4 Set current VSR to enabled.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayVSR

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVSR/mainDisplayVSR.cpp b/vendor/adlx/Samples/CPP/Display/DisplayVSR/mainDisplayVSR.cpp deleted file mode 100644 index cab6ed4..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVSR/mainDisplayVSR.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayVSR.cpp -/// \brief This document describes how to obtain the display VSR through ADLX and perform related tests. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayVSR support -void ShowDisplayVSRSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayVSR state -void GetVirtualSuperResolutionState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayVSR -void SetVSRState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayVSRSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayVSRPtr displayVSR; - ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get VSR Supported ===" << std::endl; - adlx_bool supported = false; - res = displayVSR->IsSupported(&supported); - std::cout << "\tIsSupported, result: " << res << " supported: " << (supported ? "true" : "false") << std::endl; - } -} - -void GetVirtualSuperResolutionState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayVSRPtr displayVSR; - ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR); - if (ADLX_SUCCEEDED(res)) - { - std::cout << " === Get VSR Enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayVSR->IsEnabled(&enabled); - std::cout << "\tGetEnabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetVSRState(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, const int key) -{ - IADLXDisplayVSRPtr displayVSR; - ADLX_RESULT res = displayService->GetVirtualSuperResolution(display, &displayVSR); - if (ADLX_SUCCEEDED(res)) - { - ADLX_RESULT res = ADLX_FAIL; - switch (key) - { - // Set VSR disabled - case 0: - std::cout << " === Set VSR enabled: false" << std::endl; - res = displayVSR->SetEnabled(false); - break; - // Set VSR enabled - case 1: - std::cout << " === Set VSR enabled: true" << std::endl; - res = displayVSR->SetEnabled(true); - break; - default: - break; - } - std::cout << "\tReturn code is: " << res <<" (0 means success)" << std::endl; - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to Display VSR support" << std::endl; - - std::cout << "\t->Press 2 to get VSR state" << std::endl; - - std::cout << "\t->Press 3 to set current VSR to disabled" << std::endl; - std::cout << "\t->Press 4 to set current VSR to enabled" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Display action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayVSR support - case '1': - ShowDisplayVSRSupport(displayService, display); - break; - - // Display current displayVSR state - case '2': - GetVirtualSuperResolutionState(displayService, display); - break; - - // Set displayVSR - case '3': - case '4': - SetVSRState(displayService, display, num - '3'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/CMakeLists.txt b/vendor/adlx/Samples/CPP/Display/DisplayVariBright/CMakeLists.txt deleted file mode 100644 index c790d2d..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "DisplayVariBright") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainDisplayVariBright.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/ReadMe.html b/vendor/adlx/Samples/CPP/Display/DisplayVariBright/ReadMe.html deleted file mode 100644 index 96f6338..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/ReadMe.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - -

Demonstrates how to obtain Vari-Bright when programming with ADLX and perform related operations.

-

Command Prompts

- - - - - - - - - - - - - - - - - - - - - - -
Command PromptDescription
1 Display Vari-Bright support.
2 Get Vari-Bright Enable state.
3 Enable VariBright.
4 Disable VariBright.
5 Check if Vari-Bright mode is Maximized Brightness preset on a display.
6 Check if Vari-Bright mode is Optimized Brightness preset on a display.
7 Check if Vari-Bright mode is Balanced preset on a display.
8 Check if Vari-Bright mode is Optimized Battery preset on a display.
9 Check if Vari-Bright mode is Maximized Battery preset on a display.
a Set the Vari-Bright mode to Maximized Brightness preset on a display.
b Set the Vari-Bright mode to Optimized Brightness preset on a display.
c Set the Vari-Bright mode to Balanced preset on a display.
d Set the Vari-Bright mode to Optimized Battery preset on a display.
e Set the Vari-Bright mode to Maximized Battery preset on a display.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Display/DisplayVariBright

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/mainDisplayVariBright.cpp b/vendor/adlx/Samples/CPP/Display/DisplayVariBright/mainDisplayVariBright.cpp deleted file mode 100644 index b9eedc2..0000000 --- a/vendor/adlx/Samples/CPP/Display/DisplayVariBright/mainDisplayVariBright.cpp +++ /dev/null @@ -1,311 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainDisplayVariBright.cpp -/// \brief Demonstrates how to obtain Vari-Bright when programming with ADLX and perform related operations. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplaySettings.h" -#include "SDK/Include/IDisplays.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// so we use global variables to ensure the validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display displayVariBright support -void ShowDisplayVariBrightSupport(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Display current displayVariBright state -void GetVariBrightEnabled(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Set displayVariBright enable/disable -void SetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_bool enableDisable); - -// Get displayVariBright current state -void GetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice); - -// Get displayVariBright current state -void SetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_SUCCEEDED(res)) - { - // Inspect for the first display in the list - adlx_uint it = 0; - IADLXDisplayPtr display; - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(displayService, display); - } - } - else - { - std::cout << "Failed to get the display list" << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the display services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("Pause"); - - return 0; -} - -void ShowDisplayVariBrightSupport (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayVariBrightPtr displayVariBright; - ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === Get VariBright Supported ===" << std::endl; - adlx_bool supported = false; - res = displayVariBright->IsSupported (&supported); - std::cout << "\tVari-Bright is supported on the display: " << (supported ? "true" : "false") << ", return code: " << res << " (0 means success)" << std::endl; - } -} - -void GetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - IADLXDisplayVariBrightPtr displayVariBright; - ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - std::cout << " === Get VariBright enabled ===" << std::endl; - adlx_bool enabled = false; - res = displayVariBright->IsEnabled (&enabled); - std::cout << "\tGetEnabled, result: " << res << " enabled: " << (enabled ? "true" : "false") << std::endl; - } -} - -void SetVariBrightEnabled (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, adlx_bool enableDisable) -{ - IADLXDisplayVariBrightPtr displayVariBright; - ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - if (!enableDisable) - { - res = displayVariBright->SetEnabled (false); - std::cout << "\tSet enabled to false, result: " << res << std::endl; - } - else - { - res = displayVariBright->SetEnabled (true); - std::cout << "\tSet enabled to true, result: " << res << std::endl; - } - } -} - -void GetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice) -{ - IADLXDisplayVariBrightPtr displayVariBright; - ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - adlx_bool applied = false; - switch (userChoice) - { - case 0: - res = displayVariBright->IsCurrentMaximizeBrightness (&applied); - std::cout << "\tMaximize Brightness preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl; - break; - - case 1: - res = displayVariBright->IsCurrentOptimizeBrightness (&applied); - std::cout << "\t Optimize Brightness preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl; - break; - - case 2: - res = displayVariBright->IsCurrentBalanced (&applied); - std::cout << "\t Balanced preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl; - break; - - case 3: - res = displayVariBright->IsCurrentOptimizeBattery (&applied); - std::cout << "\t Optimize Battery preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl; - break; - - case 4: - res = displayVariBright->IsCurrentMaximizeBattery (&applied); - std::cout << "\t Maximize Battery preset is used on the display: " << (applied ? "Yes" : "No") << ", return code: " << res << " (0 means success)" << std::endl; - break; - } - } -} - -void SetCurrentVariBright (const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display, int userChoice) -{ - IADLXDisplayVariBrightPtr displayVariBright; - ADLX_RESULT res = displayService->GetVariBright (display, &displayVariBright); - if (ADLX_SUCCEEDED (res)) - { - switch (userChoice) - { - case 0: - res = displayVariBright->SetMaximizeBrightness (); - std::cout << "\t Set Maximize Brightness , result: " << res << std::endl; - break; - - case 1: - res = displayVariBright->SetOptimizeBrightness (); - std::cout << "\t Set Optimize Brightness, result: " << res << std::endl; - break; - - case 2: - res = displayVariBright->SetBalanced (); - std::cout << "\t Set Balanced, result: " << res << std::endl; - break; - case 3: - res = displayVariBright->SetOptimizeBattery (); - std::cout << "\t Set Optimize Battery, result: " << res << std::endl; - break; - - case 4: - res = displayVariBright->SetMaximizeBattery (); - std::cout << "\t Set Maximize Battery, result: " << res << std::endl; - break; - } - } -} - -void MainMenu() -{ - std::cout << "\tChoose from following options" << std::endl; - - std::cout << "\t->Press 1 to display VariBright support" << std::endl; - std::cout << "\t->Press 2 to get VariBright enable state" << std::endl; - std::cout << "\t->Press 3 to set VariBright enable" << std::endl; - std::cout << "\t->Press 4 to set VariBright disable" << std::endl; - std::cout << "\t->Press 5 to check if Vari-Bright mode is Maximized Brightness preset on a display" << std::endl; - std::cout << "\t->Press 6 to check if Vari-Bright mode is Optimized Brightness preset on a display" << std::endl; - std::cout << "\t->Press 7 to check if Vari-Bright mode is Balanced preset on a display" << std::endl; - std::cout << "\t->Press 8 to check if Vari-Bright mode is Optimized Battery preset on a display" << std::endl; - std::cout << "\t->Press 9 to check if Vari-Bright mode is Maximized Battery preset on a display" << std::endl; - std::cout << "\t->Press a to set the Vari-Bright mode to Maximized Brightness preset on a display" << std::endl; - std::cout << "\t->Press b to set the Vari-Bright mode to Optimized Brightness preset on a display" << std::endl; - std::cout << "\t->Press c to set the Vari-Bright mode to Balanced preset on a display" << std::endl; - std::cout << "\t->Press d to set the Vari-Bright mode to Optimized Battery preset on a display" << std::endl; - std::cout << "\t->Press e to set the Vari-Bright mode to Maximized Battery preset on a display" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXDisplayServicesPtr& displayService, const IADLXDisplayPtr& display) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display displayVariBright support - case '1': - ShowDisplayVariBrightSupport (displayService, display); - break; - - // Display current displayVariBright state - case '2': - GetVariBrightEnabled (displayService, display); - break; - - // Set displayVariBright enable - case '3': - SetVariBrightEnabled (displayService, display, true); - break; - - // Set displayVariBright enable - case '4': - SetVariBrightEnabled (displayService, display, false); - break; - - case '5': - case '6': - case '7': - case '8': - case '9': - GetCurrentVariBright (displayService, display, num - '5'); - break; - - case 'a': - case 'b': - case 'c': - case 'd': - case 'e': - SetCurrentVariBright (displayService, display, num - 'a'); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/CMakeLists.txt deleted file mode 100644 index 41ce8ee..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUAutoTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUAutoTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/ReadMe.html deleted file mode 100644 index 55911c0..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to control GPU auto-tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Check GPU Tuning is at factory status.
2 Restore the given GPU Tuning to factory status.
3 Show GPU auto tuning support.
4 Show current GPU status.
5 Start Undervolt GPU tuning.
6 Start Overclock GPU tuning.
7 Start Overclock VRAM tuning
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/GPUAutoTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.cpp deleted file mode 100644 index dd8325d..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUAutoTuning/mainGPUAutoTuning.cpp +++ /dev/null @@ -1,402 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUAutoTuning.cpp -/// \brief Demonstrates how to control GPU auto-tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUAutoTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Event to verify call back. -HANDLE g_ADLXEvent = nullptr; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Check if current GPU tuning status is set to factory default -void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus); - -// Restore GPU tuning status to factory default -void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus); - -// Display GPU auto-tuning support status -void ShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus); - -// Display current GPU status -void ShowCurrentGPUStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus); - -// Derive from IADLXGPUAutoTuningCompleteListener -class GPUAutoTuningCompleteEvents; -// Start GPU auto-tuning -void StartGPUAutoTuning(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus, int num); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Create event - g_ADLXEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("ADLXEvent")); - - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(gpuTuningService, gpus); - } - else - std::cout << "\tGet GPU list failed" << std::endl; - } - else - std::cout << "\tGet GPU tuning services failed" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (g_ADLXEvent) - CloseHandle(g_ADLXEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to check if current GPU tuning status is set to factory default" << std::endl; - std::cout << "\t->Press 2 to restore the current GPU tuning status to factory default" << std::endl; - std::cout << "\t->Press 3 to display GPU auto-tuning support" << std::endl; - std::cout << "\t->Press 4 to display current GPU auto-tuning status" << std::endl; - std::cout << "\t->Press 5 to start undervolt GPU tuning" << std::endl; - std::cout << "\t->Press 6 to start overclock GPU tuning" << std::endl; - std::cout << "\t->Press 7 to start overclock VRAM tuning" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Check if current GPU tuning status is set to factory default - case '1': - CheckGPUTuningIsAtFactoryStatus(gpuTuningService, gpus); - break; - - // Restore GPU tuning status to factory default - case '2': - RestoreGPUTuningToFactoryStatus(gpuTuningService, gpus); - break; - - // Display GPU auto-tuning support status - case '3': - ShowGPUAutoTuningSupport(gpuTuningService, gpus); - break; - - // Display current GPU status - case '4': - ShowCurrentGPUStatus(gpuTuningService, gpus); - break; - - // Start undervolt GPU tuning - case '5': - // Start overclock GPU tuning - case '6': - // Start overclock VRAM tuning - case '7': - StartGPUAutoTuning(gpuTuningService, gpus, num - 5); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Check if current GPU tuning status is set to factory default -void CheckGPUTuningIsAtFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus) -{ - IADLXGPUPtr oneGPU; - for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt) - { - ADLX_RESULT res = gpus->At(crt, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == nullptr) - { - std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl; - break; - } - adlx_bool isFactory = false; - res = gpuTuningService->IsAtFactory(oneGPU, &isFactory); - if (ADLX_FAILED(res)) - { - std::cout << "\tCheck of the GPU at location" << crt << " default tuning status failed" << std::endl; - break; - } - std::cout << "\tThe GPU at location" << crt << " default status: " << isFactory << std::endl; - } -} - -// Reset the current GPU tuning status to factory default -void RestoreGPUTuningToFactoryStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus) -{ - IADLXGPUPtr oneGPU; - for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt) - { - ADLX_RESULT res = gpus->At(crt, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == nullptr) - { - std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl; - break; - } - adlx_bool isFactory = false; - res = gpuTuningService->ResetToFactory(oneGPU); - if (ADLX_FAILED(res)) - std::cout << "\tReset the GPU at location" << crt << " to default failed" << std::endl; - else - std::cout << "\tReset the GPU at location" << crt << " to default successful" << std::endl; - } -} - -// Display GPU auto-tuning support status -void ShowGPUAutoTuningSupport(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus) -{ - IADLXGPUPtr oneGPU; - for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt) - { - ADLX_RESULT res = gpus->At(crt, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == nullptr) - { - std::cout << "\tGet the GPU at location" << crt << " failed" << std::endl; - break; - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - std::cout << "\tThe GPU at location" << crt << " does not support auto-tuning" << std::endl; - break; - } - IADLXInterfacePtr autoTuningIfc; - res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == nullptr) - { - std::cout << "\tGet auto-tuning for the GPU at location" << crt << " failed" << std::endl; - break; - } - IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc); - if (autoTuning) - { - // If ret != ADLX_OK, return default value(false). - supported = false; - res = autoTuning->IsSupportedUndervoltGPU(&supported); - std::cout << "\tIs the GPU at location" << crt << " supported undervolt: " << supported << std::endl; - supported = false; - res = autoTuning->IsSupportedOverclockGPU(&supported); - std::cout << "\tIs the GPU at location" << crt << " supported overclock: " << supported << std::endl; - supported = false; - res = autoTuning->IsSupportedOverclockVRAM(&supported); - std::cout << "\tIs the GPU at location" << crt << " supported overclock VRAM: " << supported << std::endl; - } - } -} - -// Display current GPU status -void ShowCurrentGPUStatus(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus) -{ - IADLXGPUPtr oneGPU; - for (adlx_uint crt = gpus->Begin(); crt != gpus->End(); ++crt) - { - ADLX_RESULT res = gpus->At(crt, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == nullptr) - { - std::cout << "\tGet GPU at location" << crt << " failed" << std::endl; - break; - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - std::cout << "\tThe GPU at location" << crt << " does not support auto-tuning" << std::endl; - break; - } - IADLXInterfacePtr autoTuningIfc; - res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == nullptr) - { - std::cout << "\tGet auto-tuning for the GPU at location" << crt << " failed" << std::endl; - break; - } - IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc); - adlx_bool applied = false; - if (autoTuning) - { - // If ret != ADLX_OK, return default value(false). - applied = false; - res = autoTuning->IsCurrentUndervoltGPU(&applied); - std::cout << "\tIs the GPU at location" << crt << " undervolt applied: " << applied << std::endl; - applied = false; - res = autoTuning->IsCurrentOverclockGPU(&applied); - std::cout << "\tIs the GPU at location" << crt << " overclock applied: " << applied << std::endl; - applied = false; - res = autoTuning->IsCurrentOverclockVRAM(&applied); - std::cout << "\tIs the GPU at location" << crt << " overclock VRAM applied: " << applied << std::endl; - } - } -} - -class GPUAutoTuningCompleteEvents : public IADLXGPUAutoTuningCompleteListener -{ -public: - adlx_bool ADLX_STD_CALL OnGPUAutoTuningComplete(IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) - { - adlx_bool change = false; - change = pGPUAutoTuningCompleteEvent->IsUndervoltGPUCompleted(); - change = pGPUAutoTuningCompleteEvent->IsOverclockGPUCompleted(); - change = pGPUAutoTuningCompleteEvent->IsOverclockVRAMCompleted(); - SetEvent(g_ADLXEvent); - return true; - } -}; - -GPUAutoTuningCompleteEvents gpuAutoTuningCompleteEvents; - -void StartGPUAutoTuning(IADLXGPUTuningServicesPtr gpuTuningService, IADLXGPUListPtr gpus, int num) -{ - IADLXGPUPtr oneGPU; - // Set the first GPU auto-tuning - ADLX_RESULT res = gpus->At(0, &oneGPU); - if (ADLX_FAILED(res) || oneGPU == nullptr) - { - std::cout << "\tGet GPU failed" << std::endl; - return; - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedAutoTuning(oneGPU, &supported); - if (ADLX_FAILED(res) || supported == false) - { - std::cout << "\tThe GPU does not support auto-tuning" << std::endl; - return; - } - IADLXInterfacePtr autoTuningIfc; - res = gpuTuningService->GetAutoTuning(oneGPU, &autoTuningIfc); - if (ADLX_FAILED(res) || autoTuningIfc == nullptr) - { - std::cout << "\tGet GPU auto-tuning failed" << std::endl; - return; - } - IADLXGPUAutoTuningPtr autoTuning(autoTuningIfc); - if (autoTuning) - { - bool modeIsSupported = false; - switch (num) - { - case '0': - res = autoTuning->IsSupportedUndervoltGPU(&modeIsSupported); - if (!modeIsSupported) { - std::cout << "\tUndervolt profile is not supported" << std::endl; - } - else { - res = autoTuning->StartUndervoltGPU(&gpuAutoTuningCompleteEvents); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tStart undervolt GPU successful" << std::endl; - else - std::cout << "\tStart undervolt GPU failed" << std::endl; - } - break; - case '1': - res = autoTuning->IsSupportedOverclockGPU(&modeIsSupported); - if (!modeIsSupported) { - std::cout << "\tGPU Overclock profile is not supported" << std::endl; - } - else { - res = autoTuning->StartOverclockGPU(&gpuAutoTuningCompleteEvents); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tStart overclock GPU successful" << std::endl; - else - std::cout << "\tStart overclock GPU failed" << std::endl; - } - break; - case '2': - res = autoTuning->IsSupportedOverclockVRAM(&modeIsSupported); - if (!modeIsSupported) { - std::cout << "\tVRAM overclock profile is not supported" << std::endl; - } - else { - res = autoTuning->StartOverclockVRAM(&gpuAutoTuningCompleteEvents); - WaitForSingleObject(g_ADLXEvent, 1000); - ResetEvent(g_ADLXEvent); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tStart overclock VRAM successful" << std::endl; - else - std::cout << "\tStart overclock VRAM failed" << std::endl; - } - break; - default: - break; - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/CMakeLists.txt deleted file mode 100644 index 69d4dc1..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUPresetTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUPresetTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/ReadMe.html deleted file mode 100644 index ca085c6..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control GPU preset tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU tuning support states.
2 Get current GPU tuning states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/GPUPresetTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.cpp deleted file mode 100644 index 50159e7..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/GPUPresetTuning/mainGPUPresetTuning.cpp +++ /dev/null @@ -1,241 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUPresetTuning.cpp -/// \brief Demonstrates how to control GPU preset tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUPresetTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUPresetTuningPtr gpuPresetTuning); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Display GPU tuning support states -void ShowIsSupported(IADLXGPUPresetTuningPtr gpuPresetTuning); - -// Display current GPU tuning states -void GetCurrentStates(IADLXGPUPresetTuningPtr gpuPresetTuning); - -// Set GPU states -void SetGPUStates(IADLXGPUPresetTuningPtr gpuPresetTuning); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_SUCCEEDED (res)) - { - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED (res)) - { - IADLXGPUPtr oneGPU; - res = gpus->At(0, &oneGPU); - if (ADLX_SUCCEEDED (res) && oneGPU != nullptr) - { - adlx_bool supported = false; - res = gpuTuningService->IsSupportedPresetTuning(oneGPU, &supported); - if (ADLX_SUCCEEDED (res) && supported) - { - IADLXInterfacePtr gpuPresetTuningIfc; - res = gpuTuningService->GetPresetTuning(oneGPU, &gpuPresetTuningIfc); - if (ADLX_SUCCEEDED (res) && gpuPresetTuningIfc != nullptr) - { - IADLXGPUPresetTuningPtr gpuPresetTuning(gpuPresetTuningIfc); - if (gpuPresetTuning != nullptr) - { - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(gpuPresetTuning); - } - else - { - std::cout << "\tGet GPU preset tuning failed" << std::endl; - } - } - else - { - std::cout << "\tGet GPU preset tuning interface failed" << std::endl; - } - } - else - { - std::cout << "\tGPU preset tuning is not supported by this GPU" << std::endl; - } - } - else - { - std::cout << "\tGet GPU failed" << std::endl; - } - } - else - { - std::cout << "\tGet GPU list failed" << std::endl; - } - } - else - { - std::cout << "\tGet GPU tuning services failed" << std::endl; - } - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display GPU tuning support states" << std::endl; - std::cout << "\t->Press 2 to display current GPU tuning states" << std::endl; - std::cout << "\t->Press 3 to set GPU states" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(IADLXGPUPresetTuningPtr gpuPresetTuning) -{ - char num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display GPU tuning support states - case '1': - ShowIsSupported(gpuPresetTuning); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates(gpuPresetTuning); - break; - - // Set GPU states - case '3': - SetGPUStates(gpuPresetTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display GPU tuning support states -void ShowIsSupported(IADLXGPUPresetTuningPtr gpuPresetTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = gpuPresetTuning->IsSupportedPowerSaver(&supported); - std::cout << "\tIs Power Saver supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; - supported = false; - res = gpuPresetTuning->IsSupportedQuiet(&supported); - std::cout << "\tIs Quiet supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; - supported = false; - res = gpuPresetTuning->IsSupportedBalanced(&supported); - std::cout << "\tIs Balanced supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; - supported = false; - res = gpuPresetTuning->IsSupportedTurbo(&supported); - std::cout << "\tIs Turbo supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; - supported = false; - res = gpuPresetTuning->IsSupportedRage(&supported); - std::cout << "\tIs Rage supported by the GPU: " << supported << ", return code is: " << res << "(0 means success)" << std::endl; -} - -// Display current GPU tuning states -void GetCurrentStates(IADLXGPUPresetTuningPtr gpuPresetTuning) -{ - adlx_bool applied = false; - ADLX_RESULT res = gpuPresetTuning->IsCurrentPowerSaver(&applied); - std::cout << "\tIs Power Saver applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->IsCurrentQuiet(&applied); - std::cout << "\tIs Quiet applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->IsCurrentBalanced(&applied); - std::cout << "\tIs Balanced applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->IsCurrentTurbo(&applied); - std::cout << "\tIs Turbo applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->IsCurrentRage(&applied); - std::cout << "\tIs Rage applied: " << applied << ", return code is: " << res << "(0 means success)" << std::endl; -} - -// Set GPU states -void SetGPUStates(IADLXGPUPresetTuningPtr gpuPresetTuning) -{ - adlx_bool applied = false; - ADLX_RESULT res = gpuPresetTuning->SetPowerSaver(); - res = gpuPresetTuning->IsCurrentPowerSaver(&applied); - std::cout << "\tSet Power Saver preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->SetQuiet(); - res = gpuPresetTuning->IsCurrentQuiet(&applied); - std::cout << "\tSet Quiet preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->SetBalanced(); - res = gpuPresetTuning->IsCurrentBalanced(&applied); - std::cout << "\tSet Balanced preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->SetTurbo(); - res = gpuPresetTuning->IsCurrentTurbo(&applied); - std::cout << "\tSet Turbo preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl; - applied = false; - res = gpuPresetTuning->SetRage(); - res = gpuPresetTuning->IsCurrentRage(&applied); - std::cout << "\tSet Rage preset tuning " << (applied ? "Successful" : "failed") << ", return code is: " << res << "(0 means success)" << std::endl; -} diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/CMakeLists.txt deleted file mode 100644 index 02109ef..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualFanTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualFanTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/ReadMe.html deleted file mode 100644 index 0113595..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to control manual fan tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Get and set fan setting.
2 Get and set ZeroRPM setting.
3 Get and set MinAcoustic setting.
4 Get and set MinFanSpeed setting.
5 Get and set TargetFanSpeed setting.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualFanTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/mainManualFanTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/mainManualFanTuning.cpp deleted file mode 100644 index e543e35..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualFanTuning/mainManualFanTuning.cpp +++ /dev/null @@ -1,354 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualFanTuning.cpp -/// \brief Demonstrates how to control manual fan tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUManualFanTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu (); - -// Menu action control -void MenuControl (IADLXManualFanTuningPtr manualFanTuning); - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode); - -// Display and set fan settings -void ShowGetAndSetFan (IADLXManualFanTuningPtr manualFanTuning); - -// Display and set ZeroRPM settings -void ShowGetAndSetZeroRPM (IADLXManualFanTuningPtr manualFanTuning); - -// Display and set MinAcoustic settings -void ShowGetAndSetMinAcoustic (IADLXManualFanTuningPtr manualFanTuning); - -// Display and set MinFanSpeed settings -void ShowGetAndSetMinFanSpeed (IADLXManualFanTuningPtr manualFanTuning); - -// Display and set TargetFanSpeed settings -void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuningPtr manualFanTuning); - -int main () -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize (); - - if (ADLX_SUCCEEDED (res)) - { - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices ()->GetGPUTuningServices (&gpuTuningService); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU tuning services failed", 0); - } - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices ()->GetGPUs (&gpus); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU list failed", 0); - } - IADLXGPUPtr oneGPU; - res = gpus->At (0, &oneGPU); - if (ADLX_FAILED (res) || oneGPU == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU failed", 0); - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedManualFanTuning (oneGPU, &supported); - if (ADLX_FAILED (res) || supported == false) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tThis GPU doesn't supported manual fan tuning", 0); - } - IADLXInterfacePtr manualFanTuningIfc; - res = gpuTuningService->GetManualFanTuning (oneGPU, &manualFanTuningIfc); - if (ADLX_FAILED (res) || manualFanTuningIfc == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual fan tuning interface failed", 0); - } - IADLXManualFanTuningPtr manualFanTuning (manualFanTuningIfc); - if (manualFanTuning == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual fan tuning failed", 0); - } - // Display main menu options - MainMenu (); - - // Get and execute the choice - MenuControl (manualFanTuning); - } - else - return WaitAndExit ("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system ("pause"); - - return 0; -} - -// Main menu -void MainMenu () -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display and set fan settings" << std::endl; - std::cout << "\t->Press 2 to display and set ZeroRPM settings" << std::endl; - std::cout << "\t->Press 3 to display and set MinAcoustic settings" << std::endl; - std::cout << "\t->Press 4 to display and set MinFanSpeed settings" << std::endl; - std::cout << "\t->Press 5 to display and set TargetFanSpeed settings" << std::endl; - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl (IADLXManualFanTuningPtr manualFanTuning) -{ - int num = 0; - while ((num = getchar ()) != 'q' && num != 'Q') - { - switch (num) - { - // Display and set fan settings - case '1': - ShowGetAndSetFan (manualFanTuning); - break; - - // Display and set ZeroRPM settings - case '2': - ShowGetAndSetZeroRPM (manualFanTuning); - break; - - // Display and set MinAcoustic settings - case '3': - ShowGetAndSetMinAcoustic (manualFanTuning); - break; - - // Display and set MinFanSpeed settings - case '4': - ShowGetAndSetMinFanSpeed (manualFanTuning); - break; - - // Display and set TargetFanSpeed settings - case '5': - ShowGetAndSetTargetFanSpeed (manualFanTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu (); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit (const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system ("pause"); - return retCode; -} - -// Display and set fan settings -void ShowGetAndSetFan (IADLXManualFanTuningPtr manualFanTuning) -{ - // Display manual fan tuning ranges (speed, temperature) - ADLX_IntRange fanSpeedRange, fanTemperatureRange; - ADLX_RESULT res = manualFanTuning->GetFanTuningRanges (&fanSpeedRange, &fanTemperatureRange); - std::cout << "\tFan speed range is: (" << fanSpeedRange.minValue - << ", " << fanSpeedRange.maxValue << ")" << std::endl; - std::cout << "\tFan temperature range is: (" << fanTemperatureRange.minValue - << ", " << fanTemperatureRange.maxValue << ")" << std::endl; - std::cout << "\tReturn code is: "<< res << "(0 means success)" << std::endl; - - // Display current fan tuning states - IADLXManualFanTuningStateListPtr states; - IADLXManualFanTuningStatePtr oneState; - res = manualFanTuning->GetFanTuningStates (&states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt) - { - res = states->At (crt, &oneState); - adlx_int speed = 0, temperature = 0; - oneState->GetFanSpeed (&speed); - oneState->GetTemperature (&temperature); - std::cout << "\tThe current " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl; - } - } - - - // Set empty fan tuning states - res = manualFanTuning->GetEmptyFanTuningStates (&states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt) - { - res = states->At (crt, &oneState); - adlx_int speed = 0, temperature = 0; - int fanSpeedStep = (fanSpeedRange.maxValue - fanSpeedRange.minValue) / states->Size (); - int fanTemperatureStep = (fanTemperatureRange.maxValue - fanTemperatureRange.minValue) / states->Size (); - oneState->SetFanSpeed (fanSpeedRange.minValue + fanSpeedStep * crt); - oneState->GetFanSpeed (&speed); - oneState->SetTemperature (fanTemperatureRange.minValue + fanTemperatureStep * crt); - oneState->GetTemperature (&temperature); - std::cout << "\tSet empty " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl; - } - } - - // Set empty fan tuning states to current fan tuning states - adlx_int errorIndex; - res = manualFanTuning->IsValidFanTuningStates (states, &errorIndex); - std::cout << "\tIsValidGPUTuningStates, errorIndex is :" << errorIndex << std::endl; - if (ADLX_SUCCEEDED (res)) - { - manualFanTuning->SetFanTuningStates (states); - } - res = manualFanTuning->GetFanTuningStates (&states); - if (ADLX_SUCCEEDED (res)) - { - std::cout << "\tAfter setting:" << std::endl; - for (adlx_uint crt = states->Begin (); crt != states->End (); ++crt) - { - res = states->At (crt, &oneState); - adlx_int speed = 0, temperature = 0; - oneState->GetFanSpeed (&speed); - oneState->GetTemperature (&temperature); - std::cout << "\tThe current " << crt << " state: speed is " << speed << " temperature is " << temperature << std::endl; - } - } -} - -// Display and set ZeroRPM settings -void ShowGetAndSetZeroRPM (IADLXManualFanTuningPtr manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->IsSupportedZeroRPM (&supported); - std::cout << "\tIs ZeroRPM supported: " << supported << std::endl; - if (ADLX_FAILED (res) || !supported) - return; - - adlx_bool isZeroRPMStateSet = false; - res = manualFanTuning->SetZeroRPMState (true); - std::cout << "\tSet ZeroRPM state" << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualFanTuning->GetZeroRPMState (&isZeroRPMStateSet); - std::cout << "\tIs ZeroRPM state set: " << isZeroRPMStateSet << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualFanTuning->SetZeroRPMState (false); - std::cout << "\tReset ZeroRPM state" << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualFanTuning->GetZeroRPMState (&isZeroRPMStateSet); - std::cout << "\tIs ZeroRPM state set: " << isZeroRPMStateSet << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display and set MinAcoustic settings -void ShowGetAndSetMinAcoustic (IADLXManualFanTuningPtr manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->IsSupportedMinAcousticLimit (&supported); - std::cout << "\tIs MinAcousticLimit supported: " << supported << std::endl; - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->GetMinAcousticLimitRange (&tuningRange); - std::cout << "\tDisplay MinAcoustic limit range: (" << tuningRange.minValue - << ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - - adlx_int minAcousticLimit; - res = manualFanTuning->GetMinAcousticLimit (&minAcousticLimit); - std::cout << "\tDisplay current min acoustic limit: " << minAcousticLimit << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualFanTuning->SetMinAcousticLimit (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->GetMinAcousticLimit (&minAcousticLimit); - std::cout << "\tSet current min acoustic limit to: " << minAcousticLimit << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display and set MinFanSpeed settings -void ShowGetAndSetMinFanSpeed (IADLXManualFanTuningPtr manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->IsSupportedMinFanSpeed (&supported); - - std::cout << "\tIs MinFanSpeed supported: " << supported << std::endl; - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->GetMinFanSpeedRange (&tuningRange); - std::cout << "\tDisplay MinFanSpeed range: (" << tuningRange.minValue - << ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - - adlx_int minFanSpeed = 0; - res = manualFanTuning->GetMinFanSpeed (&minFanSpeed); - std::cout << "\tDisplay current MinFanSpeed: " << minFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl; - - res = manualFanTuning->SetMinAcousticLimit (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->GetMinFanSpeed (&minFanSpeed); - std::cout << "\tSet current MinFanSpeed to: " << minFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display and set TargetFanSpeed settings -void ShowGetAndSetTargetFanSpeed (IADLXManualFanTuningPtr manualFanTuning) -{ - adlx_bool supported = false; - ADLX_RESULT res = manualFanTuning->IsSupportedTargetFanSpeed (&supported); - - std::cout << "\tIs TargetFanSpeed supported: " << supported << std::endl; - if (ADLX_FAILED (res) || !supported) - return; - - ADLX_IntRange tuningRange; - res = manualFanTuning->GetTargetFanSpeedRange (&tuningRange); - std::cout << "\tDisplay TargetFanSpeed range: (" << tuningRange.minValue - << ", " << tuningRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - - adlx_int targetFanSpeed = 0; - res = manualFanTuning->GetTargetFanSpeed (&targetFanSpeed); - std::cout << "\tDisplay current TargetFanSpeed: " << targetFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl; - - res = manualFanTuning->SetTargetFanSpeed (tuningRange.minValue + (tuningRange.maxValue - tuningRange.minValue) / 2); - res = manualFanTuning->GetTargetFanSpeed (&targetFanSpeed); - std::cout << "\tSet current TargetFanSpeed to: " << targetFanSpeed << ", return code is: "<< res << "(0 means success)" << std::endl; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/CMakeLists.txt deleted file mode 100644 index be1aaec..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualGraphicsTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualGraphicsTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/ReadMe.html deleted file mode 100644 index f8e2727..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control manual graphics tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Get GPU frequency and voltage.
2 Get current GPU states.
3 Set GPU states.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualGraphicsTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.cpp deleted file mode 100644 index e348dd3..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualGraphicsTuning/mainManualGraphicsTuning.cpp +++ /dev/null @@ -1,351 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualGraphicsTuning.cpp -/// \brief Demonstrates how to control manual graphics tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUManualGFXTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2); - -// Menu action control -void MenuControl(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -/***** The first is pre-Navi, the second is post-Navi *****/ -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1Ptr manualGFXTuning1); -void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2Ptr manualGFXTuning2); -// Display current GPU tuning states -void GetCurrentStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1); -void GetCurrentStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2); -// Set GPU states -void SetGPUStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1); -void SetGPUStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU tuning services failed", 0); - } - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU list failed", 0); - } - IADLXGPUPtr oneGPU; - res = gpus->At(0, &oneGPU); - if (ADLX_FAILED (res) || oneGPU == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU failed", 0); - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedManualGFXTuning(oneGPU, &supported); - if (ADLX_FAILED (res) || supported == false) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tThis GPU doesn't supported manual graphics tuning", 0); - } - IADLXInterfacePtr manualGFXTuningIfc; - res = gpuTuningService->GetManualGFXTuning(oneGPU, &manualGFXTuningIfc); - if (ADLX_FAILED (res) || manualGFXTuningIfc == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual graphics tuning interface failed", 0); - } - // Pre-Navi ASIC - IADLXManualGraphicsTuning1Ptr manualGFXTuning1(manualGFXTuningIfc); - // Post-Navi ASIC - IADLXManualGraphicsTuning2Ptr manualGFXTuning2(manualGFXTuningIfc); - if (manualGFXTuning1 == nullptr && manualGFXTuning2 == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual graphics tuning failed", 0); - } - // Display main menu options - MainMenu(manualGFXTuning1, manualGFXTuning2); - - // Get and execute the choice - MenuControl(manualGFXTuning1, manualGFXTuning2); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2) -{ - - if (manualGFXTuning1) - std::cout << "\tThe current GPU is pre-Navi. Choose from the following options:" << std::endl; - else if (manualGFXTuning2) - std::cout << "\tThe current GPU is post-Navi. Choose from the following options:" << std::endl; - std::cout << "\t->Press 1 to display GPU frequency and voltage" << std::endl; - std::cout << "\t->Press 2 to display current GPU states" << std::endl; - std::cout << "\t->Press 3 to set GPU states" << std::endl; - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(IADLXManualGraphicsTuning1Ptr manualGFXTuning1, IADLXManualGraphicsTuning2Ptr manualGFXTuning2) -{ - char num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - // Pre-Navi Menu action control - if (manualGFXTuning1) - { - switch (num) - { - // Display GPU frequency and voltage range - case '1': - ShowFrequencyAndVoltageRange(manualGFXTuning1); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates(manualGFXTuning1); - break; - - // Set GPU states - case '3': - SetGPUStates(manualGFXTuning1); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(manualGFXTuning1, manualGFXTuning2); - break; - default: - break; - } - } - // Post-Navi Menu action control - else - { - switch (num) - { - // Display GPU frequency and voltage range - case '1': - ShowFrequencyAndVoltageRange(manualGFXTuning2); - break; - - // Display current GPU tuning states - case '2': - GetCurrentStates(manualGFXTuning2); - break; - - // Set GPU states - case '3': - SetGPUStates(manualGFXTuning2); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(manualGFXTuning1, manualGFXTuning2); - break; - default: - break; - } - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning1Ptr manualGFXTuning1) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res = manualGFXTuning1->GetGPUTuningRanges(&freqRange, &voltRange); - std::cout << "\tFrequency range: (" << freqRange.minValue - << ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - std::cout << "\tVoltage range: (" << voltRange.minValue - << ", " << voltRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display current GPU tuning states -void GetCurrentStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1) -{ - IADLXManualTuningStateListPtr states; - IADLXManualTuningStatePtr oneState; - ADLX_RESULT res = manualGFXTuning1->GetGPUTuningStates(&states); - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt) - { - states->At(crt, &oneState); - adlx_int freq = 0, volt = 0; - res = oneState->GetFrequency(&freq); - std::cout << "\tThe current state " << crt << ": frequency is " << freq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = oneState->GetVoltage(&volt); - std::cout << "\tThe current state " << crt << ": voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl; - } - } -} - -// Set GPU states -void SetGPUStates(IADLXManualGraphicsTuning1Ptr manualGFXTuning1) -{ - IADLXManualTuningStateListPtr states; - IADLXManualTuningStatePtr oneState; - ADLX_RESULT res1 = manualGFXTuning1->GetEmptyGPUTuningStates(&states); - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res2 = manualGFXTuning1->GetGPUTuningRanges(&freqRange, &voltRange); - if (ADLX_SUCCEEDED (res1) && ADLX_SUCCEEDED (res2)) - { - for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt) - { - states->At(crt, &oneState); - adlx_int freq = 0, volt = 0; - int freqStep = (freqRange.maxValue - freqRange.minValue) / (states->Size()); - // The Step should not be too large - if (freqStep >= 60) - freqStep = 60; - int voltStep = (voltRange.maxValue - voltRange.minValue) / (states->Size()); - // The Step should not be too large - if (voltStep >= 20) - voltStep = 20; - ADLX_RESULT res = oneState->SetFrequency(freqRange.minValue + freqStep * crt); - res = oneState->GetFrequency(&freq); - res = oneState->SetVoltage(voltRange.minValue + voltStep * crt); - res = oneState->GetVoltage(&volt); - std::cout << "\tSet empty state " << crt << ": frequency is " << freq << ", voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl; - } - } - - adlx_int errorIndex; - ADLX_RESULT res = manualGFXTuning1->IsValidGPUTuningStates(states, &errorIndex); - if (ADLX_SUCCEEDED(res)) - { - res = manualGFXTuning1->SetGPUTuningStates(states); - std::cout << "\tSet GPU tuning states " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl; - } - else - std::cout << "\tIsValidGPUTuningStates, errorIndex is : " << errorIndex << std::endl; - - res = manualGFXTuning1->GetGPUTuningStates(&states); - std::cout << "\tAfter setting:" << std::endl; - if (ADLX_SUCCEEDED (res)) - { - for (adlx_uint crt = states->Begin(); crt != states->End(); ++crt) - { - res = states->At(crt, &oneState); - adlx_int freq = 0, volt = 0; - res = oneState->GetFrequency(&freq); - res = oneState->GetVoltage(&volt); - std::cout << "\tThe current state " << crt << ": frequency is " << freq << ", voltage is " << volt << ", return code is: "<< res << "(0 means success)" << std::endl; - } - } -} - -// Display GPU frequency and voltage range -void ShowFrequencyAndVoltageRange(IADLXManualGraphicsTuning2Ptr manualGFXTuning2) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange); - std::cout << "\tGPU min frequency range: (" << freqRange.minValue - << ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUMaxFrequencyRange(&freqRange); - std::cout << "\tGPU max frequency range: (" << freqRange.minValue - << ", " << freqRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUVoltageRange(&voltRange); - std::cout << "\tVoltage range: (" << voltRange.minValue - << ", " << voltRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display current GPU tuning states -void GetCurrentStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2) -{ - adlx_int minFreq = 0, maxFreq = 0, volt = 0; - ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequency(&minFreq); - std::cout << "\tCurrent GPU min frequency: " << minFreq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUMaxFrequency(&maxFreq); - std::cout << "\tCurrent GPU max frequency: " << maxFreq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUVoltage(&volt); - std::cout << "\tCurrent GPU clock voltage: " << volt << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Set GPU states -void SetGPUStates(IADLXManualGraphicsTuning2Ptr manualGFXTuning2) -{ - ADLX_IntRange freqRange, voltRange; - ADLX_RESULT res = manualGFXTuning2->GetGPUMinFrequencyRange(&freqRange); - res = manualGFXTuning2->GetGPUVoltageRange(&voltRange); - res = manualGFXTuning2->SetGPUMinFrequency(freqRange.minValue); - std::cout << "\tSet GPU min frequency " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl; - res = manualGFXTuning2->SetGPUMaxFrequency(freqRange.minValue + 100); - std::cout << "\tSet GPU max frequency " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl; - res = manualGFXTuning2->SetGPUVoltage(voltRange.minValue + (voltRange.maxValue - voltRange.minValue) / 2); - std::cout << "\tSet GPU voltage " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl; - std::cout << "\tAfter setting:" << std::endl; - adlx_int minFreq = 0, maxFreq = 0, volt = 0; - res = manualGFXTuning2->GetGPUMinFrequency(&minFreq); - std::cout << "\tCurrent GPU min frequency: " << minFreq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUMaxFrequency(&maxFreq); - std::cout << "\tCurrent GPU max frequency: " << maxFreq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = manualGFXTuning2->GetGPUVoltage(&volt); - std::cout << "\tCurrent GPU clock voltage: " << volt << ", return code is: "<< res << "(0 means success)" << std::endl; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/CMakeLists.txt deleted file mode 100644 index 3239a0d..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualPowerTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualPowerTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/ReadMe.html deleted file mode 100644 index 91efa08..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/ReadMe.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - -

Demonstrates how to control manual power tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - - - -
Command PromptDescription
1 Get power limit range.
2 Get current power limit.
3 Set power limit.
4 Check TDC limit supported.
5 Get TDC limit range.
6 Get current TDC limit.
7 Set TDC limit.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualPowerTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/mainManualPowerTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/mainManualPowerTuning.cpp deleted file mode 100644 index 4126636..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualPowerTuning/mainManualPowerTuning.cpp +++ /dev/null @@ -1,277 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualPowerTuning.cpp -/// \brief Demonstrates how to control manual power tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUManualPowerTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXManualPowerTuningPtr manualPowerTuning); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Display power limit range -void ShowGetPowerLimitRange(IADLXManualPowerTuningPtr manualPowerTuning); - -// Display current power limit -void ShowGetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning); - -// Set power limit -void ShowSetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning); - -//Show to check TDC limit is supported -void ShowTDCLimitSupported(IADLXManualPowerTuningPtr manualPowerTuning); - -// Show how to get TDC limit range. -void ShowGetTDCLimitRange(IADLXManualPowerTuningPtr manualPowerTuning); - -// Show how to get current TDC limit. -void ShowGetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning); - -// Show how to set TDC limit. -void ShowSetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU tuning services failed", 0); - } - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU list failed", 0); - } - IADLXGPUPtr oneGPU; - res = gpus->At(0, &oneGPU); - if (ADLX_FAILED (res) || oneGPU == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet GPU failed", 0); - } - adlx_bool supported = false; - res = gpuTuningService->IsSupportedManualPowerTuning(oneGPU, &supported); - if (ADLX_FAILED (res) || supported == false) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tThis GPU does not support manual power tuning", 0); - } - IADLXInterfacePtr manualPowerTuningIfc; - res = gpuTuningService->GetManualPowerTuning(oneGPU, &manualPowerTuningIfc); - if (ADLX_FAILED (res) || manualPowerTuningIfc == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual power tuning interface failed", 0); - } - IADLXManualPowerTuningPtr manualPowerTuning(manualPowerTuningIfc); - if (manualPowerTuning == nullptr) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("\tGet manual power tuning failed", 0); - } - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(manualPowerTuning); - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to show how to get power limit range" << std::endl; - std::cout << "\t->Press 2 to show how to get current power limit" << std::endl; - std::cout << "\t->Press 3 to show how to set power limit" << std::endl; - std::cout << "\t->Press 4 to show TDC Limit is supported" << std::endl; - std::cout << "\t->Press 5 to show how to get TDC limit range" << std::endl; - std::cout << "\t->Press 6 to show how to get current TDC limit" << std::endl; - std::cout << "\t->Press 7 to show how to set TDC limit" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXManualPowerTuningPtr manualPowerTuning) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display power limit range - case '1': - ShowGetPowerLimitRange(manualPowerTuning); - break; - - // Display current power limit - case '2': - ShowGetPowerLimit(manualPowerTuning); - break; - - // Set power limit - case '3': - ShowSetPowerLimit(manualPowerTuning); - break; - // Show to check if TDCLimit is supported - case '4': - ShowTDCLimitSupported(manualPowerTuning); - break; - // Show how to get TDC limit range. - case '5': - ShowGetTDCLimitRange(manualPowerTuning); - break; - - // Show how to get current TDC limit. - case '6': - ShowGetTDCLimit(manualPowerTuning); - break; - - // Show how to set TDC limit. - case '7': - ShowSetTDCLimit(manualPowerTuning); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display power limit range -void ShowGetPowerLimitRange(IADLXManualPowerTuningPtr manualPowerTuning) -{ - ADLX_IntRange powerRange; - ADLX_RESULT res = manualPowerTuning->GetPowerLimitRange(&powerRange); - std::cout << "\tPower limit range: (" << powerRange.minValue - << ", " << powerRange.maxValue << ")" << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Display current power limit -void ShowGetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning) -{ - adlx_int powerLimit; - ADLX_RESULT res = manualPowerTuning->GetPowerLimit(&powerLimit); - std::cout << "\tCurrent power limit: " << powerLimit << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Set power limit -void ShowSetPowerLimit(IADLXManualPowerTuningPtr manualPowerTuning) -{ - ADLX_IntRange powerRange; - ADLX_RESULT res = manualPowerTuning->GetPowerLimitRange(&powerRange); - res = manualPowerTuning->SetPowerLimit(powerRange.step + powerRange.minValue + (powerRange.maxValue - powerRange.minValue) / 2); - std::cout << "\tSet power limit " << (ADLX_SUCCEEDED (res) ? "succeeded" : "failed") << std::endl; - adlx_int powerLimit; - res = manualPowerTuning->GetPowerLimit(&powerLimit); - std::cout << "\tSet current power limit to: " << powerLimit << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Show TDCLimit is supported. -void ShowTDCLimitSupported(IADLXManualPowerTuningPtr manualPowerTuning) -{ - adlx_bool supportedTDC; - ADLX_RESULT res = manualPowerTuning->IsSupportedTDCLimit(&supportedTDC); - std::cout << "\tTDC limit is supported: " << supportedTDC << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -// Show how to get tdc limit range. -void ShowGetTDCLimitRange(IADLXManualPowerTuningPtr manualPowerTuning) -{ - ADLX_IntRange tdcRange; - ADLX_RESULT res = manualPowerTuning->GetTDCLimitRange(&tdcRange); - std::cout << "\tGet TDC limit range is: (" << tdcRange.minValue - << ", " << tdcRange.maxValue << "), return code (0 is Success) is: " << res << std::endl; -} - -// Show how to get current TDC limit. -void ShowGetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning) -{ - adlx_int tdcLimit; - ADLX_RESULT res = manualPowerTuning->GetTDCLimit(&tdcLimit); - std::cout << "\tThe current TDC limit is: " << tdcLimit << ", return code (0 is Success) is: " << res << std::endl; -} - -// Show how to set TDC limit. -void ShowSetTDCLimit(IADLXManualPowerTuningPtr manualPowerTuning) -{ - ADLX_IntRange tdcRange; - ADLX_RESULT res = manualPowerTuning->GetTDCLimitRange(&tdcRange); - - res = manualPowerTuning->SetTDCLimit(tdcRange.step + tdcRange.minValue + (tdcRange.maxValue - tdcRange.minValue) / 2); - adlx_int tdcLimit; - res = manualPowerTuning->GetTDCLimit (&tdcLimit); - std::cout << "\tSet current TDC limit to: " << tdcLimit << ", return code (0 is Success) is: " << res << std::endl; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/CMakeLists.txt deleted file mode 100644 index 85a9ea2..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "ManualVRAMTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainManualVRAMTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/ReadMe.html deleted file mode 100644 index f4e2cfc..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to control GPU manual VRAM tuning when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Get Memory Timing support.
2 Get Memory Timing level and VRAMTuning state(Frequency and Voltage).Enable
3 Set Memory Timing level.
4 Set VRAMTuning state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/ManualVRAMTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.cpp b/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.cpp deleted file mode 100644 index 7789a9e..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/ManualVRAMTuning/mainManualVRAMTuning.cpp +++ /dev/null @@ -1,413 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainManualVRAMTuning.cpp -/// \brief Demonstrates how to control GPU manual VRAM tuning when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUManualVRAMTuning.h" -#include "SDK/Include/IGPUTuning.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display Memory Timing support -void ShowSupport(IADLXInterfacePtr& vramTuningIfc); - -// Get VRAM state -void GetState(IADLXInterfacePtr& vramTuningIfc); - -// Set Memory Timing Level -void SetTimingLevel(IADLXInterfacePtr& vramTuningIfc); - -// Set VRAM state -void SetState(IADLXInterfacePtr& vramTuningIfc); - -// Main menu -void MainMenu(IADLXInterfacePtr& vramTuningIfc); - -// Menu action control -void MenuControl(IADLXInterfacePtr vramTuningIfc); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get GPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Get GPU tuning service - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpu; - adlx_uint index = 0; - res = gpus->At(index, &gpu); - if (ADLX_SUCCEEDED(res)) - { - // Get manual VRAM tuning support - adlx_bool supported; - res = gpuTuningService->IsSupportedManualVRAMTuning(gpu, &supported); - if (ADLX_SUCCEEDED(res)) - std::cout << "\tGPU manual VRAM tuning support status: " << supported << std::endl; - if (supported) - { - // Get manual VRAM tuning interface - IADLXInterfacePtr vramTuningIfc; - res = gpuTuningService->GetManualVRAMTuning(gpu, &vramTuningIfc); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(vramTuningIfc); - MenuControl(vramTuningIfc); - } - } - else - { - return WaitAndExit("\nThis GPU Doesn't support Manual VRAM Tuning", 0); - } - } - } - else - std::cout << "Failed to get GPU tuning services" << std::endl; - } - else - std::cout << "Failed to get GPU" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -static std::map descMap = - { - {MEMORYTIMING_DEFAULT, "Default"}, - {MEMORYTIMING_FAST_TIMING, "Fast Timing"}, - {MEMORYTIMING_FAST_TIMING_LEVEL_2, "Fast Timing Level2"}, - {MEMORYTIMING_AUTOMATIC, "Automatic"}, - {MEMORYTIMING_MEMORYTIMING_LEVEL_1, "Memory Timing Level1"}, - {MEMORYTIMING_MEMORYTIMING_LEVEL_2, "Memory Timing Level2"}}; - -void ShowSupport(IADLXInterfacePtr& vramTuningIfc) -{ - adlx_bool supported = false; - IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc); - IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc); - ADLX_RESULT res = ADLX_FAIL; - if (vramTuning2) - { - res = vramTuning2->IsSupportedMemoryTiming(&supported); - } - else if (vramTuning1) - { - res = vramTuning1->IsSupportedMemoryTiming(&supported); - } - std::cout << "\tIsSupported: " << supported << ", return code is: "<< res << "(0 means success)" << std::endl; -} - -void GetState(IADLXInterfacePtr& vramTuningIfc) -{ - IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc); - IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc); - ADLX_MEMORYTIMING_DESCRIPTION desc; - IADLXMemoryTimingDescriptionListPtr descList; - if (vramTuning2) - { - vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList); - vramTuning2->GetMemoryTimingDescription(&desc); - - adlx_int freq; - ADLX_IntRange rang; - ADLX_RESULT res = vramTuning2->GetMaxVRAMFrequency(&freq); - std::cout << "\tMax VRAM frequency: " << freq << ", return code is: "<< res << "(0 means success)" << std::endl; - res = vramTuning2->GetMaxVRAMFrequencyRange(&rang); - std::cout << "\tMax VRAM frequency range: [" << rang.minValue << " , " << rang.maxValue << " ], step: " << rang.step - << ", return code is: "<< res << "(0 means success)" << std::endl; - } - else if (vramTuning1) - { - vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList); - vramTuning1->GetMemoryTimingDescription(&desc); - - IADLXManualTuningStateListPtr states; - vramTuning1->GetVRAMTuningStates(&states); - adlx_uint s = states->Begin(); - std::cout << "\tState is:" << std::endl; - for (; s != states->End(); s++) - { - IADLXManualTuningStatePtr state; - adlx_int frequency; - adlx_int voltage; - states->At(s, &state); - state->GetFrequency(&frequency); - state->GetVoltage(&voltage); - std::cout << "\t\tfrequency: " << frequency << " voltage: " << voltage << std::endl; - } - - ADLX_IntRange frequencyRange; - ADLX_IntRange voltageRange; - ADLX_RESULT res = vramTuning1->GetVRAMTuningRanges(&frequencyRange, &voltageRange); - std::cout << "\tFrequency range: [" << frequencyRange.minValue << " , " << frequencyRange.maxValue << " ], step: " << frequencyRange.step - << ", return code is: "<< res << "(0 means success)" << std::endl; - std::cout << "\tVoltage range: [" << voltageRange.minValue << " , " << voltageRange.maxValue << " ], step: " << voltageRange.step - << ", return code is: "<< res << "(0 means success)" << std::endl; - } - if (descList) - { - std::cout << "\tCurrent timing desc: " << descMap[desc] << std::endl; - std::cout << "\tSupported Memory Timing desc list:" << std::endl; - for (adlx_uint s = 0; s != descList->End (); s++) - { - IADLXMemoryTimingDescriptionPtr item; - descList->At (s, &item); - item->GetDescription (&desc); - std::cout << "\t " << descMap[desc] << std::endl; - } - } - std::cout << std::endl; -} - -void SetTimingLevel(IADLXInterfacePtr& vramTuningIfc) -{ - ADLX_RESULT res; - IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc); - IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc); - ADLX_MEMORYTIMING_DESCRIPTION desc, currentDesc; - IADLXMemoryTimingDescriptionListPtr descList; - bool supported = false; - if (vramTuning2) - { - //If MemoryTiming is supported, then only will get the MemoryTimingDescriptionList - res = vramTuning2->IsSupportedMemoryTiming(&supported); - if (supported) - { - vramTuning2->GetSupportedMemoryTimingDescriptionList(&descList); - if (descList) - { - vramTuning2->GetMemoryTimingDescription(¤tDesc); - for (adlx_uint s = 0; s != descList->End(); s++) - { - IADLXMemoryTimingDescriptionPtr item; - descList->At(s, &item); - item->GetDescription(&desc); - if (currentDesc != desc) - { - res = vramTuning2->SetMemoryTimingDescription(desc); - std::cout << "\tSet Memory Timing description to " << descMap[desc] << ": return code is: " << res << " (0 means success)" << std::endl; - break; - } - } - } - else - { - std::cout << "\tFailed to get the Supported Memory Timing Description List." << std::endl; - } - } - else - { - std::cout << "\tMemory Timing Level not Supported, so cannot set Memory Timing Description List." << std::endl; - } - } - else if (vramTuning1) - { - //If MemoryTiming is supported, then only will get the MemoryTimingDescriptionList - res = vramTuning1->IsSupportedMemoryTiming(&supported); - if (supported) - { - vramTuning1->GetSupportedMemoryTimingDescriptionList(&descList); - if (descList) - { - vramTuning1->GetMemoryTimingDescription(¤tDesc); - for (adlx_uint s = 0; s != descList->End(); s++) - { - IADLXMemoryTimingDescriptionPtr item; - descList->At(s, &item); - item->GetDescription(&desc); - if (currentDesc != desc) - { - res = vramTuning1->SetMemoryTimingDescription(desc); - std::cout << "\tSet Memory Timing description to " << descMap[desc] << ": return code is: " << res << " (0 means success)" << std::endl; - break; - } - } - } - else - { - std::cout << "\tFailed to get the Supported Memory Timing Description List." << std::endl; - } - } - else - { - std::cout << "\tMemory Timing Level not Supported, so cannot set Memory Timing Description List." << std::endl; - } - } -} - -void SetState(IADLXInterfacePtr& vramTuningIfc) -{ - ADLX_RESULT res; - IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc); - IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc); - bool supported = false; - if (vramTuning2) - { - //If MemoryTiming is supported, then only will set the MemoryTimingState - res = vramTuning2->IsSupportedMemoryTiming(&supported); - if (supported) - { - adlx_int freq; - ADLX_IntRange rang; - vramTuning2->GetMaxVRAMFrequency(&freq); - vramTuning2->GetMaxVRAMFrequencyRange(&rang); - if (freq != rang.minValue) - { - res = vramTuning2->SetMaxVRAMFrequency(rang.minValue); - std::cout << "\tUse min Frequency to set, return code(0 is Success) is: " << res << std::endl; - } - else - { - res = vramTuning2->SetMaxVRAMFrequency(rang.minValue + rang.step * 2); - std::cout << "\tUse max Frequency to set, return code(0 is Success) is: " << res << std::endl; - } - } - else - { - std::cout << "\tTuning not Supported, so cannot change the State." << std::endl; - } - } - else if (vramTuning1) - { - //If MemoryTiming is supported, then only will set the MemoryTimingState - res = vramTuning1->IsSupportedMemoryTiming(&supported); - if (supported) - { - ADLX_IntRange frequencyRange; - ADLX_IntRange voltageRange; - vramTuning1->GetVRAMTuningRanges(&frequencyRange, &voltageRange); - IADLXManualTuningStateListPtr states; - vramTuning1->GetVRAMTuningStates(&states); - adlx_uint s = states->Size() - 1; - for (; s != states->End(); s++) - { - IADLXManualTuningStatePtr state; - adlx_int frequency; - adlx_int voltage; - states->At(s, &state); - state->GetFrequency(&frequency); - state->GetVoltage(&voltage); - // Only change the last - res = state->SetFrequency(frequencyRange.maxValue - frequencyRange.step * 10); - res = state->SetVoltage(voltageRange.maxValue - voltageRange.step * 10); - break; - } - res = vramTuning1->SetVRAMTuningStates(states); - std::cout << "\tChange VRAM tuning states, return code(0 is Success) is: " << res << std::endl; - } - else - { - std::cout << "\tTuning not Supported, so cannot change the State." << std::endl; - } - } -} - -void MainMenu(IADLXInterfacePtr& vramTuningIfc) -{ - // Acquire to ManualVRAMTuning1 - IADLXManualVRAMTuning1Ptr vramTuning1(vramTuningIfc); - // Acquire to ManualVRAMTuning2 - IADLXManualVRAMTuning2Ptr vramTuning2(vramTuningIfc); - - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display Memory Timing support" << std::endl; - if (vramTuning2) - std::cout << "\t->Press 2 to get Memory Timing level and frequency range" << std::endl; - else if (vramTuning1) - std::cout << "\t->Press 2 to get Memory Timing level, VRAM frequency, and the voltage global range for all states" << std::endl; - - std::cout << "\t->Press 3 to change current Memory Timing Level" << std::endl; - - if (vramTuning2) - std::cout << "\t->Press 4 to change current VRAM max frequency value" << std::endl; - else if (vramTuning1) - std::cout << "\t->Press 4 to change VRAM states" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(IADLXInterfacePtr vramTuningIfc) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Get Memory Timing support - case '1': - ShowSupport(vramTuningIfc); - break; - - // Get VRAM state - case '2': - GetState(vramTuningIfc); - break; - - // Set timing level - case '3': - SetTimingLevel(vramTuningIfc); - break; - - // Set VRAM state - case '4': - SetState(vramTuningIfc); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(vramTuningIfc); - break; - default: - break; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/CMakeLists.txt b/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/CMakeLists.txt deleted file mode 100644 index 3c436da..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SmartAccessMemory") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSmartAccessMemory.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/ReadMe.html b/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/ReadMe.html deleted file mode 100644 index 90819ca..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/ReadMe.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

Demonstrates how to control AMD SmartAccess Memory when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartAccess Memory support status on a GPU.
2 Display AMD SmartAccess Memory enabled status.
3 Set AMD SmartAccess Memory state.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/GPUTuning/SmartAccessMemory

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.cpp b/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.cpp deleted file mode 100644 index 3900466..0000000 --- a/vendor/adlx/Samples/CPP/GPUTuning/SmartAccessMemory/mainSmartAccessMemory.cpp +++ /dev/null @@ -1,309 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSmartAccessMemory.cpp -/// \brief Demonstrates how to control AMD SmartAccess Memory when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/ISmartAccessMemory.h" -#include "SDK/Include/IGPUTuning1.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -static HANDLE SAMEvent = nullptr; - -class GPUTuningChangedListener : public IADLXGPUTuningChangedListener -{ -public: - - bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) - { - IADLXGPUTuningChangedEvent1Ptr pGPUTuningChangedEvent1 = IADLXGPUTuningChangedEvent1Ptr(pGPUTuningChangedEvent); - adlx_bool SAMChange = pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged(); - if (SAMChange) - { - adlx_bool enabled = false, completed = false; - pGPUTuningChangedEvent1->GetSmartAccessMemoryStatus(&enabled, &completed); - } - - SetEvent(SAMEvent); - return true; - } -}; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported -adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus); - -// Display AMD SmartAccess Memory support status on a GPU -void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus); - -// Display AMD SmartAccess Memory enabled status -void ShowSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus); - -// Set AMD SmartAccess Memory state -void SetSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUTuningServicesPtr gpuTuningService; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningService); - if (ADLX_SUCCEEDED(res)) - { - // Get gpuTuningService1 via gpuTuningService::QueryInterface() - IADLXGPUTuningServices1Ptr gpuTuningService1; - res = gpuTuningService->QueryInterface(gpuTuningService1->IID(), reinterpret_cast(&gpuTuningService1)); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUTuningChangedHandlingPtr gpuTuningHandling; - res = gpuTuningService1->GetGPUTuningChangedHandling(&gpuTuningHandling); - if (ADLX_SUCCEEDED(res)) - { - // Add listener - SAMEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - static GPUTuningChangedListener listener; - ADLX_RESULT eventRes = gpuTuningHandling->AddGPUTuningEventListener(&listener); - - // Menu - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - - // Get and execute the choice - MenuControl(gpuTuningService1, gpus); - } - else - std::cout << "Failed to get GPU list" << std::endl; - - // Remove listener - if (ADLX_SUCCEEDED(eventRes)) - eventRes = gpuTuningHandling->RemoveGPUTuningEventListener(&listener); - } - else - std::cout << "Failed to get GPU Tuning Changed Handling" << std::endl; - } - else - std::cout << "Failed to get gpuTuningService1" << std::endl; - } - else - std::cout << "Failed to get gpuTuningService" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - - std::cout << "\t->Press 1 to display AMD SmartAccess Memory supported GPUs" << std::endl; - std::cout << "\t->Press 2 to display AMD SmartAccess Memory enabled status" << std::endl; - std::cout << "\t->Press 3 to set the AMD SmartAccess Memory state" << std::endl; - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display AMD SmartAccess Memory support status on a GPU - case '1': - ShowSmartAccessMemorySupport(gpuTuningService1, gpus); - break; - - // Display AMD SmartAccess Memory enabled status - case '2': - ShowSmartAccessMemoryState(gpuTuningService1, gpus); - break; - - // Set AMD SmartAccess Memory state - case '3': - SetSmartAccessMemoryState(gpuTuningService1, gpus); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Find the first GPU index that supports AMD SmartAccess Memory. Return -1 if all GPUs are not supported -adlx_uint GetGPUIndexSupportSAM(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus) -{ - adlx_uint supportedIndex = -1; - IADLXGPUPtr oneGPU; - IADLXSmartAccessMemoryPtr smartAccessMemory; - for (auto index = gpus->Begin(); index != gpus->End(); ++index) - { - ADLX_RESULT res = gpus->At(index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Get the AMD SmartAccess Memory interface - res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool supported = false; - ADLX_RESULT res = smartAccessMemory->IsSupported(&supported); - if (ADLX_SUCCEEDED(res) && supported) - { - supportedIndex = index; - break; - } - } - } - } - return supportedIndex; -} - -// Display AMD SmartAccess Memory support status on a GPU -void ShowSmartAccessMemorySupport(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl; - else - std::cout << "The " << (index + 1) << "th GPU support AMD SmartAccess Memory" << std::endl; -} - -// Display AMD SmartAccess Memory enabled status -void ShowSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl; - else - { - IADLXGPUPtr oneGPU; - ADLX_RESULT res = gpus->At(index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - IADLXSmartAccessMemoryPtr smartAccessMemory; - res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool enabled = false; - res = smartAccessMemory->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "The AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on the " << (index + 1) << "th GPU" << std::endl; - else - std::cout << "Call IsEnabled() failed" << std::endl; - } - else - std::cout << "Failed to get smartAccessMemory" << std::endl; - } - else - std::cout << "Failed to get the GPU" << std::endl; - } -} - -// Set AMD SmartAccess Memory state -void SetSmartAccessMemoryState(IADLXGPUTuningServices1Ptr gpuTuningService1, IADLXGPUListPtr gpus) -{ - auto index = GetGPUIndexSupportSAM(gpuTuningService1, gpus); - if (index == -1) - std::cout << "All GPUs doesn't support AMD SmartAccess Memory" << std::endl; - else - { - IADLXGPUPtr oneGPU; - ADLX_RESULT res = gpus->At(index, &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - IADLXSmartAccessMemoryPtr smartAccessMemory; - res = gpuTuningService1->GetSmartAccessMemory(oneGPU, &smartAccessMemory); - if (ADLX_SUCCEEDED(res)) - { - adlx_bool enabled = false; - res = smartAccessMemory->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "Currently AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on " << (index + 1) << "th GPU" << std::endl; - else - std::cout << "Call IsEnabled() failed" << std::endl; - res = smartAccessMemory->SetEnabled(!enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "Set AMD SmartAccess Memory to " << (!enabled ? "enabled" : "disabled") << " for " << (index + 1) << "th GPU" << std::endl; - else - std::cout << "Call SetEnabled() failed" << std::endl; - - // First event received quickly before SAM start - WaitForSingleObject(SAMEvent, 2000); - - // When receive the first event, avoid calling any other ADLX method, and if any UI application is running, we must close it to avoid crashing - // Close(application)...... - - // Second event received after SAM completed, the maximum consuming time less than 20 seconds. - WaitForSingleObject(SAMEvent, 20000); - - // Now SAM completed, we can restart the UI application, and continue to call ADLX function - // Start(application)...... - - res = smartAccessMemory->IsEnabled(&enabled); - if (ADLX_SUCCEEDED(res)) - std::cout << "After setting, AMD SmartAccess Memory is " << (enabled ? "enabled" : "disabled") << " on " << (index + 1) << "th GPU" << std::endl; - else - std::cout << "Call IsEnabled() failed" << std::endl; - } - else - std::cout << "Failed to get smartAccessMemory" << std::endl; - } - else - std::cout << "Failed to get the GPU" << std::endl; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/GPUs/CMakeLists.txt b/vendor/adlx/Samples/CPP/Generic/GPUs/CMakeLists.txt deleted file mode 100644 index 9dd09a6..0000000 --- a/vendor/adlx/Samples/CPP/Generic/GPUs/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUs") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainGPUs.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Generic/GPUs/ReadMe.html b/vendor/adlx/Samples/CPP/Generic/GPUs/ReadMe.html deleted file mode 100644 index 76c9f19..0000000 --- a/vendor/adlx/Samples/CPP/Generic/GPUs/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Generic/GPUs

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/GPUs/mainGPUs.cpp b/vendor/adlx/Samples/CPP/Generic/GPUs/mainGPUs.cpp deleted file mode 100644 index f6e822a..0000000 --- a/vendor/adlx/Samples/CPP/Generic/GPUs/mainGPUs.cpp +++ /dev/null @@ -1,279 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUs.cpp -/// \brief Demonstrates how to enumerate GPUs, get GPU information, receive notifications when GPUs are enabled and disabled, and maintain GPU change event when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/ISystem1.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display GPU information -void ShowGPUInfo(const IADLXGPUPtr& gpu); - -// Display GPU hybrid graphic type -void ShowHybridGraphicType(); - -// Add GPU change event listener -void AddGPUEventListener(const IADLXGPUPtr& gpu); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXGPUPtr& gpu); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// GPU event change handler definition -class GPUEventListener : public IADLXGPUsEventListener -{ - adlx_bool ADLX_STD_CALL OnGPUListChanged(IADLXGPUList* pNewGPUs) - { - std::cout << "GPU list change event received" << std::endl; - if (pNewGPUs == nullptr) - { - std::cout << "GPU list does not exist" << std::endl; - return false; - } - - std::cout << "GPU list size: " << pNewGPUs->Size() << std::endl; - - return true; - } -}; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU list - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res) && !gpus->Empty()) - { - // Inspect for the first GPU in the list - IADLXGPUPtr gpu; - res = gpus->At(0, &gpu); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and parse the selection - MenuControl(gpu); - } - } - else - { - std::cout << "Failed to get the GPU list" << std::endl; - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Display GPU information -void ShowGPUInfo(const IADLXGPUPtr& gpu) -{ - std::cout << "\n==== GPU info ====" << std::endl; - // Display GPU info - const char* vendorId = nullptr; - ADLX_RESULT ret = gpu->VendorId(&vendorId); - std::cout << "VendorId: " << vendorId << "return code is: "<< ret << "(0 means success)" << std::endl; - - ADLX_ASIC_FAMILY_TYPE asicFamilyType = ASIC_UNDEFINED; - ret = gpu->ASICFamilyType(&asicFamilyType); - std::cout << "ASICFamilyType: " << asicFamilyType << "return code is: "<< ret << "(0 means success)" << std::endl; - - ADLX_GPU_TYPE gpuType = GPUTYPE_UNDEFINED; - ret = gpu->Type(&gpuType); - std::cout << "Type: " << gpuType << std::endl; - - adlx_bool isExternal = false; - ret = gpu->IsExternal(&isExternal); - std::cout << "IsExternal: " << isExternal << ", return code is: "<< ret << "(0 means success)" << std::endl; - - const char* gpuName = nullptr; - ret = gpu->Name(&gpuName); - std::cout << "Name: " << gpuName << ", return code is: "<< ret << "(0 means success)" << std::endl; - - const char* driverPath = nullptr; - ret = gpu->DriverPath(&driverPath); - std::cout << "DriverPath: " << driverPath << ", return code is: "<< ret << "(0 means success)" << std::endl; - - const char* pnpString = nullptr; - ret = gpu->PNPString(&pnpString); - std::cout << "PNPString: " << pnpString << ", return code is: "<< ret << "(0 means success)" << std::endl; - - adlx_bool hasDesktops = false; - ret = gpu->HasDesktops(&hasDesktops); - std::cout << "HasDesktops: " << hasDesktops << ", return code is: "<< ret << "(0 means success)" << std::endl; - - adlx_uint totalVRAM; - ret = gpu->TotalVRAM(&totalVRAM); - std::cout << "TotalVRAM: " << totalVRAM << " MB" << ", return code is: "<< ret << "(0 means success)" << std::endl; - - adlx_int id; - ret = gpu->UniqueId(&id); - std::cout << "UniqueId: " << id << std::endl; - - IADLXGPU1Ptr gpu1(gpu); - if (gpu1) - { - const char* productName = nullptr; - ret = gpu1->ProductName(&productName); - std::cout << "ProductName: " << productName << std::endl; - - ADLX_MGPU_MODE mode = MGPU_NONE; - ret = gpu1->MultiGPUMode(&mode); - printf("Multi-GPU Mode: "); - if (mode == MGPU_PRIMARY) - std::cout << "GPU is the primary GPU" << std::endl; - else if (mode == MGPU_SECONDARY) - std::cout << "GPU is the secondary GPU" << std::endl; - else - std::cout << "GPU is not in Multi-GPU" << std::endl; - - ADLX_PCI_BUS_TYPE busType = UNDEFINED; - ret = gpu1->PCIBusType(&busType); - std::cout << "PCIBusType: " << busType << std::endl; - - adlx_uint laneWidth = 0; - ret = gpu1->PCIBusLaneWidth(&laneWidth); - std::cout << "PCIBusLaneWidth: " << laneWidth << std::endl; - } -} - -void ShowHybridGraphicType() -{ - ADLX_HG_TYPE hgType = ADLX_HG_TYPE::NONE; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->HybridGraphicsType(&hgType); - if (ADLX_SUCCEEDED(res)) - { - switch (hgType) - { - case ADLX_HG_TYPE::NONE: - std::cout << "GPU hybrid type is: " - << "ADLX_HG_TYPE::NONE" << std::endl; - break; - case ADLX_HG_TYPE::AMD: - std::cout << "GPU hybrid type is: " - << "ADLX_HG_TYPE::AMD" << std::endl; - break; - case ADLX_HG_TYPE::OTHER: - std::cout << "GPU hybrid type is: " - << "ADLX_HG_TYPE::OTHER" << std::endl; - break; - } - } -} - -// Add GPU change event listener -void AddGPUEventListener(const IADLXGPUPtr& gpu) -{ - GPUEventListener gpuListener; - IADLXGPUsChangedHandlingPtr gpusChangedHandling; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetGPUsChangedHandling(&gpusChangedHandling); - if (ADLX_SUCCEEDED(res) && gpusChangedHandling) - { - res = gpusChangedHandling->AddGPUsListEventListener(&gpuListener); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Addition of GPU event listener successful" << std::endl; - } - - // Enable or disable a GPU device using Windows Device Manager - std::this_thread::sleep_for(std::chrono::seconds(15)); - - res = gpusChangedHandling->RemoveGPUsListEventListener(&gpuListener); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Removal of GPU event listener successful" << std::endl; - } - } -} - -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display GPU information" << std::endl; - - std::cout << "\t->Press 2 to add GPU event listener" << std::endl; - - std::cout << "\t->Press 3 to display GPU hybrid graphic type" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(const IADLXGPUPtr& gpu) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display GPU information - case '1': - ShowGPUInfo(gpu); - break; - // Add GPU change event listener - case '2': - AddGPUEventListener(gpu); - break; - // Display GPU hybrid graphic type - case '3': - ShowHybridGraphicType(); - break; - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} diff --git a/vendor/adlx/Samples/CPP/Generic/InvalidObject/CMakeLists.txt b/vendor/adlx/Samples/CPP/Generic/InvalidObject/CMakeLists.txt deleted file mode 100644 index c644319..0000000 --- a/vendor/adlx/Samples/CPP/Generic/InvalidObject/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "InvalidObject") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainInvalidObject.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Generic/InvalidObject/ReadMe.html b/vendor/adlx/Samples/CPP/Generic/InvalidObject/ReadMe.html deleted file mode 100644 index 8db5f6b..0000000 --- a/vendor/adlx/Samples/CPP/Generic/InvalidObject/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to handle invalid objects when programming with ADLX.

-

Sample Path

-

/Samples/CPP/Generic/InvalidObject

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/InvalidObject/mainInvalidObject.cpp b/vendor/adlx/Samples/CPP/Generic/InvalidObject/mainInvalidObject.cpp deleted file mode 100644 index 30b1966..0000000 --- a/vendor/adlx/Samples/CPP/Generic/InvalidObject/mainInvalidObject.cpp +++ /dev/null @@ -1,108 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainInvalidObject.cpp -/// \brief Demonstrates how to handle invalid objects when programming in ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get the display list and iterate through the list - IADLXDisplayListPtr displayList; - res = displayService->GetDisplays(&displayList); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit ("Failed to get the Display list", 0); - } - adlx_uint it = displayList->Begin(); - IADLXDisplayPtr display; - for (; it != displayList->End(); it++) - { - res = displayList->At(it, &display); - if (ADLX_SUCCEEDED(res)) - { - break; - } - } - - // Get the display name and prompt to unplug the display - const char* dispName; - res = display->Name(&dispName); - std::cout << "Within 15 seconds, unplug the display " << dispName << std::endl; - - // Block for 15s - Sleep(15 * 1000); - - //After 15 seconds, reading the display name again. If the display was unplugged, the method will fail and return ADLX_INVALID_OBJECT. - // Get display name again. - res = display->Name(&dispName); - std::cout << "Get display name return code is: " << res << " (" << ADLX_INVALID_OBJECT << " means that the method was called into an invalid object)" << std::endl; - if (ADLX_INVALID_OBJECT == res) - { - //To do: Handle the invalid display - std::cout << "The display is invalid." << std::endl; - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the Display Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - return 0; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/Log/CMakeLists.txt b/vendor/adlx/Samples/CPP/Generic/Log/CMakeLists.txt deleted file mode 100644 index d413ae9..0000000 --- a/vendor/adlx/Samples/CPP/Generic/Log/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Log") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainLog.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Generic/Log/ReadMe.html b/vendor/adlx/Samples/CPP/Generic/Log/ReadMe.html deleted file mode 100644 index 24b1241..0000000 --- a/vendor/adlx/Samples/CPP/Generic/Log/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to enable log and get log data when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Enable log with local file, file [./ADLX.log] is created.
2 Enable log with DebugView.
3 Enable log with application handle.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/Generic/Log

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/Log/mainLog.cpp b/vendor/adlx/Samples/CPP/Generic/Log/mainLog.cpp deleted file mode 100644 index d9d5478..0000000 --- a/vendor/adlx/Samples/CPP/Generic/Log/mainLog.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainLog.cpp -/// \brief Demonstartes how to enable log and get log data when programming in ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" -#include "SDK/Include/ILog.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destoryed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Demonstrates how applications capture ADLX log -// The log class may get used throughout the liftime of ADLX. -// Global variables are used as they hold their value throughout the lifetime of ADLX. -class AppHandlLog : public IADLXLog -{ - public: - ADLX_RESULT ADLX_STD_CALL WriteLog(const wchar_t* msg) - { - wprintf(L"%s", msg); - return ADLX_OK; - } -}; - -// Application creates object to handle ADLX log -static AppHandlLog g_appHandlLog; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Local file -void UseLocalFile(); - -// Output window of the application debugger -void UseWindowDebugger(); - -// Application handle log -void UseAppHandlLog(); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Menu - MainMenu(); - MenuControl(); - - // Call ADLX methods to generate log entries - // Get display service and the number of displays - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - adlx_uint displayNum; - displayService->GetNumberOfDisplays(&displayNum); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - return 0; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Local file, ADLX log data will be saved to file -void UseLocalFile() -{ - // Log destination, severity, logfile - ADLX_LOG_DESTINATION mode = LOCALFILE; - ADLX_LOG_SEVERITY severity = LDEBUG; - wchar_t logfile[] = L"./ADLX.log"; - - // Enable log - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, nullptr, logfile); - std::cout << "Enabled log res: " << res << "(0 means success)" << std::endl; -} - -// Configure ADLX log to send errors, warnings and debug information messages to the DebugView. -void UseDebugView() -{ - // Log destination, severity - ADLX_LOG_DESTINATION mode = DBGVIEW; - ADLX_LOG_SEVERITY severity = LDEBUG; - - // Enable log - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, nullptr, nullptr); - std::cout << "Enabled log result : " << res << "(0 means success)" << std::endl; -} - -// Application handle log, app's callback will handle the ADLX log -void UseAppHandlLog() -{ - // Log destination, severity - ADLX_LOG_DESTINATION mode = APPLICATION; - ADLX_LOG_SEVERITY severity = LDEBUG; - - // Enable log - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->EnableLog(mode, severity, &g_appHandlLog, nullptr); - std::cout << "Enabled log result: " << res << "(0 means success)" << std::endl; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - std::cout << "\t->Press 1 to enable log with local file, file [./ADLX.log] will be created." << std::endl; - std::cout << "\t->Press 2 to enable log with DebugView" << std::endl; - std::cout << "\t->Press 3 to enable log with app handle" << std::endl; -} - -// Menu action control -void MenuControl() -{ - int num = 0; - num = getchar(); - switch (num) - { - // Local file - case '1': - UseLocalFile(); - break; - - // DebugView - case '2': - UseDebugView(); - break; - - // Application handle - case '3': - UseAppHandlLog(); - break; - - default: - std::cout << "Invalid input" << std::endl; - break; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/CMakeLists.txt b/vendor/adlx/Samples/CPP/Generic/WorkWithADL/CMakeLists.txt deleted file mode 100644 index 2d8b2d4..0000000 --- a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "WorkWithADL") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainWorkWithADL.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/ReadMe.html b/vendor/adlx/Samples/CPP/Generic/WorkWithADL/ReadMe.html deleted file mode 100644 index 24e5b19..0000000 --- a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

- Demonstartes how to work with ADLX along ADL when programming with ADLX. -

-

Sample Path

-

/Samples/CPP/Generic/WorkWithADL

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/mainWorkWithADL.cpp b/vendor/adlx/Samples/CPP/Generic/WorkWithADL/mainWorkWithADL.cpp deleted file mode 100644 index f93ec79..0000000 --- a/vendor/adlx/Samples/CPP/Generic/WorkWithADL/mainWorkWithADL.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainWorkWithADL.cpp -/// \brief Demontrates how to initialize ADLX with ADL and then use the mapping interface to map between ADL and ADLX code. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include - -// ADL dll name -#ifndef _WIN64 -#define ADL_DLL_Name L"atiadlxy.dll" -#else // WIN32 -#define ADL_DLL_Name L"atiadlxx.dll" -#endif - -typedef void*(__stdcall* ADL_MALLOC_CALL)(int); -typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MALLOC_CALL, int iEnumConnectedAdapter, void** context, int); -typedef int (*ADL_MAIN_CONTROL_DESTROY)(void*); - -// Callback ADL for memory allocation -// iSize_ - Number of bytes to be allocated -static void* __stdcall ADL_Client_Main_Memory_Alloc(int iSize_) -{ - void* lpBuffer = malloc(iSize_); - return lpBuffer; -} - -// Callback ADL for memory release -// lpBuffer_ - The memory buffer to dealocate and to make NULL. -static void __stdcall ADL_Main_Memory_Free_Client(void** lpBuffer_) -{ - if (nullptr != lpBuffer_ && nullptr != *lpBuffer_) - { - free(*lpBuffer_); - *lpBuffer_ = nullptr; - } -} - -// Use ADLX namespace -using namespace adlx; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("Pause"); - return retCode; -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Create ADLXHelper instance - ADLXHelper ADLXHelp; - - // Define ADL context and ADL dll handl - void* adlContext = nullptr; - HINSTANCE adlDll = nullptr; - - // Initialize ADL - adlDll = LoadLibraryW(ADL_DLL_Name); - if (nullptr == adlDll) - return WaitAndExit("ADL initialization failed", 0); - ADL_MAIN_CONTROL_CREATE adlCreate = (ADL_MAIN_CONTROL_CREATE)GetProcAddress(adlDll, "ADL2_Main_ControlX2_Create"); - if (adlCreate) - adlCreate(ADL_Client_Main_Memory_Alloc, 1, &adlContext, 1); - std::cout << "ADL initialized successfully" << std::endl; - - // Initialize ADLX - res = ADLXHelp.InitializeWithCallerAdl(adlContext, ADL_Main_Memory_Free_Client); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "ADLX initialized successfully" << std::endl; - } - else - { - std::cout << "ADLX initialization failed" << std::endl; - } - - const char* adlxVersion = ADLXHelp.QueryVersion(); - std::cout << "ADLX version: " << adlxVersion << std::endl; - adlx_uint64 adlxfullVersion = ADLXHelp.QueryFullVersion(); - std::cout << "ADLX full version: " << adlxfullVersion << std::endl; - - // Demonstrates mapping between ADL and ADLX data - IADLXSystem* systemService = ADLXHelp.GetSystemServices(); - IADLMapping* adlMapping = ADLXHelp.GetAdlMapping(); - - if (systemService && adlMapping) - { - adlx_uint totalRAM = 0; - systemService->TotalSystemRAM(&totalRAM); - std::cout << "Total System RAM: " << totalRAM << " MB" << std::endl; - - // Map ADLX to ADL - IADLXGPUListPtr gpus; - systemService->GetGPUs(&gpus); - IADLXGPUPtr gpu; - adlx_uint it = 0; - gpus->At(it, &gpu); - const char* name = nullptr; - gpu->Name(&name); - adlx_int adapterIndex; - adlMapping->AdlAdapterIndexFromADLXGPU(gpu, &adapterIndex); - std::cout << "ADL get adapterIndex from ADLXGPU named: " << name << ", adapterIndex is : " << adapterIndex << std::endl; - - // Map ADL to ADLX, to get adapterIndex via ADL - IADLXGPUPtr gpuInfo; - adlMapping->GetADLXGPUFromAdlAdapterIndex(adapterIndex, &gpuInfo); - gpuInfo->Name(&name); - std::cout << "ADLX get ADLXGPU from adapterIndex: " << adapterIndex << ", the gpu name is : " << name << std::endl; - - adlx_int bus = 0; - adlx_int device = 0; - adlx_int function = 0; - res = adlMapping->BdfFromADLXGPU (gpu, &bus, &device, &function); - std::cout << "Get BDF from ADLXGPU bus: " << bus << ", device: " << device << ", function: " << function << std::endl; - } - - // Destroy ADLX - res = ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Destroy ADL - ADL_MAIN_CONTROL_DESTROY adlDestroy = (ADL_MAIN_CONTROL_DESTROY)GetProcAddress(adlDll, "ADL2_Main_Control_Destroy"); - if (nullptr != adlDestroy) - adlDestroy(adlContext); - FreeLibrary(adlDll); - adlDll = nullptr; - adlContext = nullptr; - std::cout << "Destroy ADL" << std::endl; - - // Pause to see the print out - system("pause"); - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/I2C/I2C/CMakeLists.txt b/vendor/adlx/Samples/CPP/I2C/I2C/CMakeLists.txt deleted file mode 100644 index 519cbe6..0000000 --- a/vendor/adlx/Samples/CPP/I2C/I2C/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "I2C") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainI2C.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/I2C/I2C/ReadMe.html b/vendor/adlx/Samples/CPP/I2C/I2C/ReadMe.html deleted file mode 100644 index 70aa723..0000000 --- a/vendor/adlx/Samples/CPP/I2C/I2C/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to read and write data with I2C when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Display version.
2 Read.
3 Repeated read.
4 Write.
M/m Display the command prompt menu.
Q/q Terminate the application.
-

Sample Path

-

/Samples/CPP/I2C/I2C

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/I2C/I2C/mainI2C.cpp b/vendor/adlx/Samples/CPP/I2C/I2C/mainI2C.cpp deleted file mode 100644 index 48f1232..0000000 --- a/vendor/adlx/Samples/CPP/I2C/I2C/mainI2C.cpp +++ /dev/null @@ -1,216 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainI2C.cpp -/// \brief Demonstrates how to read and write data with I2C when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/II2C.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; -constexpr int DATA_SIZE = 2; - -// Display version -void ShowVersion(const IADLXI2CPtr& i2c); - -// Read -void Read(const IADLXI2CPtr& i2c); - -// Repeated read -void RepeatedRead(const IADLXI2CPtr& i2c); - -// Write -void Write(const IADLXI2CPtr& i2c); - -// Capability -void Capability(const IADLXI2CPtr& i2c); - -// Menu -void MainMenu(); - -// Menu control -void MenuControl(const IADLXI2CPtr& i2c); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // GetGPUs - IADLXGPUListPtr gpus; - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - - if (!gpus->Empty() && ADLX_SUCCEEDED(res)) - { - // Get GPU interface - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At(index, &gpuInfo); - - // Get I2C interface - IADLXI2CPtr i2c; - res = g_ADLXHelp.GetSystemServices()->GetI2C(gpuInfo, &i2c); - if (ADLX_SUCCEEDED(res)) - { - MainMenu(); - MenuControl(i2c); - } - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the GPU list", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowVersion(const IADLXI2CPtr& i2c) -{ - adlx_int major; - adlx_int minor; - ADLX_RESULT res = i2c->Version(&major, &minor); - std::cout << "\tI2C version, major: " << major << " , minor: " << minor << std::endl; - std::cout << "\tres is: " << res << std::endl; -} - -void Read(const IADLXI2CPtr& i2c) -{ - // The following is hardware specific - adlx_byte data[DATA_SIZE] = { 0 }; - ADLX_RESULT res = i2c->Read(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - std::cout << "\tI2C read info:\n" - << "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: " - << DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl; - std::cout << "\tres is: " << res << std::endl; -} - -void RepeatedRead(const IADLXI2CPtr& i2c) -{ - // The following is hardware specific - adlx_byte data[DATA_SIZE] = { 0 }; - ADLX_RESULT res = i2c->RepeatedStartRead(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - std::cout << "\tI2C read info:\n" - << "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: " - << DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl; - std::cout << "\tres is: " << res << std::endl; -} - -void Write(const IADLXI2CPtr& i2c) -{ - // The following is hardware specific - adlx_byte data[DATA_SIZE] = { 0 }; - data[0] = 176; - ADLX_RESULT res = i2c->Write(I2C_LINE_OEM2, 100, 0x93, 0x30, DATA_SIZE, data); - std::cout << "\tI2C write info:\n" - << "\t\tline: I2C_LINE_OEM2\n\t\tspeed: 100\n\t\taddress: 0x93\n\t\toffset: 0x30\n\t\tdataSize: " - << DATA_SIZE << "\n\t\tdata: " << (int)data[0] << std::endl; - std::cout << "\tres is: " << res << std::endl; -} - -void Capability(const IADLXI2CPtr& i2c) -{ - adlx_bool isSupported = false; - ADLX_RESULT res = i2c->IsSupported(I2C_LINE_OEM2, 0x93, &isSupported); - std::cout << "\tI2C support info:\n" - << "\t\tline: I2C_LINE_OEM2\n\t\taddress: 0x93\n\t\tisSupported: " << isSupported - << "\n\tres is: " << res << std::endl; -} - -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display version" << std::endl; - std::cout << "\t->Press 2 to read" << std::endl; - std::cout << "\t->Press 3 to repeated read" << std::endl; - std::cout << "\t->Press 4 to write" << std::endl; - std::cout << "\t->Press 5 to display capability" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(const IADLXI2CPtr& i2c) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display version - case '1': - ShowVersion(i2c); - break; - - // Read - case '2': - Read(i2c); - break; - - // Repeated read - case '3': - RepeatedRead(i2c); - break; - - // Write - case '4': - Write(i2c); - break; - - // Capability - case '5': - Capability(i2c); - break; - - // Display main menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt deleted file mode 100644 index cd0c924..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfAllMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfAllMetrics.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/ReadMe.html b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/ReadMe.html deleted file mode 100644 index 9e2407e..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control all metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current all metrics.
2 Show historical all metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfAllMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.cpp b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.cpp deleted file mode 100644 index aed55e3..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfAllMetrics/mainPerfAllMetrics.cpp +++ /dev/null @@ -1,569 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfAllMetrics.cpp -/// \brief Demonstrates how to control all metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// ASCII ° -static const signed char g_degree = 248; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Display all current metrics -void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -// Display all historical metrics -void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXPerformanceMonitoringServicesPtr perfMonitoringService; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUListPtr gpus; - // Get GPU list - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res)) - { - // Use the first GPU in the list - IADLXGPUPtr oneGPU; - res = gpus->At(gpus->Begin(), &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringService, oneGPU); - } - else - std::cout << "\tGet particular GPU failed" << std::endl; - } - else - std::cout << "\tGet GPU list failed" << std::endl; - } - else - std::cout << "\tGet performance monitoring services failed" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display current all metrics" << std::endl; - std::cout << "\t->Press 2 to display historical all metrics" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display all current metrics - case '1': - ShowCurrentAllMetrics(perfMonitoringServices, oneGPU); - break; - - // Display all historical metrics - case '2': - ShowHistoricalAllMetrics(perfMonitoringServices, oneGPU); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display the system time stamp (in ms) -void GetTimeStamp(IADLXSystemMetricsPtr systemMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = systemMetrics->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The system time stamp is: " << timeStamp << "ms" << std::endl; -} - -// Show CPU usage(in %) -void ShowCPUUsage(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display CPU usage support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedCPUUsage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "CPU usage support status: " << supported << std::endl; - if (supported) - { - adlx_double cpuUsage = 0; - res = systemMetrics->CPUUsage(&cpuUsage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The CPU usage is: " << cpuUsage << "%" << std::endl; - } - } -} - -// Display system RAM (in MB) -void ShowSystemRAM(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display system RAM usage support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedSystemRAM(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "System RAM usage support status: " << supported << std::endl; - if (supported) - { - adlx_int systemRAM = 0; - res = systemMetrics->SystemRAM(&systemRAM); - if (ADLX_SUCCEEDED(res)) - std::cout << "The system RAM is: " << systemRAM << "MB" << std::endl; - } - } -} - -// Display SmartShift -void ShowSmartShift(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display SmartShift support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedSmartShift(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "SmartShift support status: " << supported << std::endl; - if (supported) - { - adlx_int smartShift; - res = systemMetrics->SmartShift(&smartShift); - if (ADLX_SUCCEEDED(res)) - std::cout << "The SmartShift is: " << smartShift << std::endl; - } - } -} - -// Display the GPU metrics time stamp (in ms) -void GetTimeStamp(IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = gpuMetrics->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU time stamp is: " << timeStamp << "ms" << std::endl; -} - -// Display GPU usage (in %) -void ShowGPUUsage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU usage support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUUsage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU usage support status: " << supported << std::endl; - if (supported) - { - adlx_double usage = 0; - res = gpuMetrics->GPUUsage(&usage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU usage is: " << usage << "%" << std::endl; - } - } -} - -// Display GPU clock speed (in MHz) -void ShowGPUClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU clock speed support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU clock speed is supported: " << supported << std::endl; - if (supported) - { - adlx_int gpuClock = 0; - res = gpuMetrics->GPUClockSpeed(&gpuClock); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU clock speed is: " << gpuClock << "MHz" << std::endl; - } - } -} - -// Show GPU VRAM clock speed(MHz) -void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU VRAM clock speed is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU VRAM clock speed is supported: " << supported << std::endl; - if (supported) - { - adlx_int memoryClock = 0; - res = gpuMetrics->GPUVRAMClockSpeed(&memoryClock); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM clock speed is: " << memoryClock << "MHz" << std::endl; - } - } -} - -// Show GPU temperature(°C) -void ShowGPUTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU tempetature is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTemperature(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU temperture is supported: " << supported << std::endl; - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->GPUTemperature(&temperature); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU temperature is: " << temperature << g_degree << "C" << std::endl; - } - } -} - -// Show GPU hotspot temperature(°C) -void ShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU hotspot temperature is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU hotspot temperature is supported: " << supported << std::endl; - if (supported) - { - adlx_double hotspotTemperature = 0; - res = gpuMetrics->GPUHotspotTemperature(&hotspotTemperature); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU hotspot temperature is: " << hotspotTemperature << g_degree << "C" << std::endl; - } - } -} - -// Show GPU power(W) -void ShowGPUPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU power is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUPower(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU power is supported: " << supported << std::endl; - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->GPUPower(&power); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU power is: " << power << "W" << std::endl; - } - } -} - -// Show GPU fan speed(RPM) -void ShowGPUFanSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU fan speed is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU fan speed is supported: " << supported << std::endl; - if (supported) - { - adlx_int fanSpeed = 0; - res = gpuMetrics->GPUFanSpeed(&fanSpeed); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU fan speed is: " << fanSpeed << "RPM" << std::endl; - } - } -} - -// Show GPU VRAM(MB) -void ShowGPUVRAM(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU VRAM is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAM(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU VRAM is supported: " << supported << std::endl; - if (supported) - { - adlx_int VRAM = 0; - res = gpuMetrics->GPUVRAM(&VRAM); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM is: " << VRAM << "MB" << std::endl; - } - } -} - -// Show GPU Voltage(mV) -void ShowGPUVoltage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Get if the GPU voltage is supported - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVoltage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "Get if the GPU voltage is supported: " << supported << std::endl; - if (supported) - { - adlx_int voltage = 0; - res = gpuMetrics->GPUVoltage(&voltage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU voltage is: " << voltage << "mV" << std::endl; - } - } -} - -// Show current all metrics -void ShowCurrentAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Get system metrics support - IADLXSystemMetricsSupportPtr systemMetricsSupport; - ADLX_RESULT res2 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - res2 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - - // Loop 10 time to accumulate data and show the current metrics in each loop - IADLXAllMetricsPtr allMetrics; - IADLXSystemMetricsPtr systemMetrics; - IADLXGPUMetricsPtr gpuMetrics; - IADLXFPSPtr oneFPS; - for (int i = 0; i < 10; ++i) - { - // clear screen when show current metrics - system("cls"); - // Get current All metrics - ADLX_RESULT res1 = perfMonitoringServices->GetCurrentAllMetrics(&allMetrics); - if (ADLX_SUCCEEDED(res1)) - { - std::cout << "The current all metrics: " << std::endl; - // Get current system metrics. - res1 = allMetrics->GetSystemMetrics(&systemMetrics); - // Show timestamp, CPU usage, system RAM and smart shift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << std::boolalpha; // display bool variable as true of false - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - std::cout << std::noboolalpha; - } - // Get current GPU metrics - res1 = allMetrics->GetGPUMetrics(oneGPU, &gpuMetrics); - // Show timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << std::boolalpha; // display bool variable as true of false - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - std::cout << std::noboolalpha; - } - // Get current FPS metrics - res1 = allMetrics->GetFPS(&oneFPS); - if (ADLX_SUCCEEDED(res1)) - { - adlx_int64 timeStamp = 0; - res1 = oneFPS->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res1)) - std::cout << "The current metric time stamp is: " << timeStamp << "ms\n"; - adlx_int fpsData = 0; - res1 = oneFPS->FPS(&fpsData); - if (ADLX_SUCCEEDED(res1)) - std::cout << "The current metric FPS is: " << fpsData << std::endl; - else if (res1 == ADLX_NOT_SUPPORTED) - std::cout << "Don't support FPS" << std::endl; - } - } - Sleep(1000); - } - - MainMenu(); -} - -// Show historical all metrics -void ShowHistoricalAllMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory(); - if (ADLX_FAILED(res)) - { - std::cout << "Clear historical data failed" << std::endl; - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->StartPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Start tracking performance metrics failed" << std::endl; - return; - } - - // Wait for 10 seconds to accumulate metrics - std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl; - Sleep(10000); - - // Grab the all metrics history from 10 seconds ago(10000 ms: the first parameter) to the present time(0 ms: the second parameter) - IADLXAllMetricsListPtr allMetricsList; - res = perfMonitoringServices->GetAllMetricsHistory(10000, 0, &allMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get system metrics support - IADLXSystemMetricsSupportPtr systemMetricsSupport; - ADLX_RESULT systemRes = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - ADLX_RESULT gpuRes = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - - // Display each all metrics in the list - IADLXAllMetricsPtr allMetrics; - IADLXSystemMetricsPtr systemMetrics; - IADLXGPUMetricsPtr gpuMetrics; - IADLXFPSPtr oneFPS; - for (int i = allMetricsList->Begin(); i != allMetricsList->End(); ++i) - { - std::cout << "********** historical system metrics " << i + 1 << ": **********" << std::endl; - res = allMetricsList->At(i, &allMetrics); - if (ADLX_SUCCEEDED(res)) - { - res = allMetrics->GetSystemMetrics(&systemMetrics); - // Show time stamp, CPU usage, system RAM, smart shift of first system metrics - if (ADLX_SUCCEEDED(systemRes) && ADLX_SUCCEEDED(res)) - { - std::cout << std::boolalpha; // display bool variable as true of false - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - std::cout << std::noboolalpha; - } - res = allMetrics->GetGPUMetrics(oneGPU, &gpuMetrics); - // Show timestamp and GPU metrics - if (ADLX_SUCCEEDED(gpuRes) && ADLX_SUCCEEDED(res)) - { - std::cout << std::boolalpha; // display bool variable as true of false - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - std::cout << std::noboolalpha; - } - res = allMetrics->GetFPS(&oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The time stamp is: " << timeStamp << "ms" << std::endl; - adlx_int fpsData = 0; - res = oneFPS->FPS(&fpsData); - if (ADLX_SUCCEEDED(res)) - std::cout << "The FPS is: " << fpsData << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support FPS" << std::endl; - } - std::cout << std::endl; - } - } - } - - // Stop tracking performance metrics - res = perfMonitoringServices->StopPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Stop tracking performance metrics failed" << std::endl; - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt deleted file mode 100644 index ffe2590..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfFPSMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfFPSMetrics.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html deleted file mode 100644 index 9d25a34..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control FPS metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current FPS metrics.
2 Show historical FPS metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.cpp b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.cpp deleted file mode 100644 index e205069..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfFPSMetrics/mainPerfFPSMetrics.cpp +++ /dev/null @@ -1,215 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainFPSMetrics.cpp -/// \brief Demonstrates how to control FPS metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Show current FPS metrics -void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -// Show historical FPS metrics -void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXPerformanceMonitoringServicesPtr perfMonitoringServices; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringServices); - } - else - std::cout << "\tGet performance monitoring services failed" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display current FPS metrics" << std::endl; - std::cout << "\t->Press 2 to display historical FPS metrics" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show current metrics - case '1': - ShowCurrentFPSMetrics(perfMonitoringServices); - break; - - // Show historical metrics - case '2': - ShowHistoricalFPSMetrics(perfMonitoringServices); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display current FPS metrics -void ShowCurrentFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - // Accumulate and display current metrics for each of 10 loops - IADLXFPSPtr oneFPS; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current FPS metrics - ADLX_RESULT res = perfMonitoringServices->GetCurrentFPS(&oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The current metric time stamp is: " << timeStamp << "ms\n"; - adlx_int fpsData = 0; - res = oneFPS->FPS(&fpsData); - if (ADLX_SUCCEEDED(res)) - std::cout << "The current metric FPS is: " << fpsData << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support FPS" << std::endl; - } - Sleep(1000); - } - - MainMenu(); -} - -// Show historical FPS metrics -void ShowHistoricalFPSMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory(); - if (ADLX_FAILED(res)) - { - std::cout << "Clear historical data failed" << std::endl; - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->StartPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Start tracking performance metrics failed" << std::endl; - return; - } - - // Wait for 10 seconds to accumulate metrics - std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl; - Sleep(10000); - - // Get FPS metrics history from 10 seconds ago (10000 ms: the first parameter) to the present time(0 ms: the second parameter) - IADLXFPSListPtr fpsList; - res = perfMonitoringServices->GetFPSHistory(10000, 0, &fpsList); - if (ADLX_SUCCEEDED(res)) - { - // Display all listed FPS metrics - IADLXFPSPtr oneFPS; - for (int i = fpsList->Begin(); i != fpsList->End(); ++i) - { - std::cout << "********** historical FPS metrics "<< i + 1 << ": **********" << std::endl; - res = fpsList->At(i, &oneFPS); - if (ADLX_SUCCEEDED(res)) - { - adlx_int64 timeStamp = 0; - res = oneFPS->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The time stamp is: " << timeStamp << "ms" << std::endl; - adlx_int fpsData = 0; - res = oneFPS->FPS(&fpsData); - if (ADLX_SUCCEEDED(res)) - std::cout << "The FPS is: " << fpsData << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support FPS" << std::endl; - } - std::cout << std::endl; - } - } - - // Stop tracking performance metrics - res = perfMonitoringServices->StopPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Stop tracking performance metrics failed" << std::endl; - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt deleted file mode 100644 index 3d4c2cb..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfGPUMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfGPUMetrics.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html deleted file mode 100644 index c3461ec..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/ReadMe.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - -

Demonstrates how to control GPU metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - -
Command PromptDescription
1 Show GPU metrics range.
2 Show current GPU metrics.
3 Show current GPU metrics from historical data.
4 Show historical GPU metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.cpp b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.cpp deleted file mode 100644 index 0c69d01..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfGPUMetrics/mainPerfGPUMetrics.cpp +++ /dev/null @@ -1,653 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfGPUMetrics.cpp -/// \brief Demonstrates how to control GPU metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// ASCII ° -static const signed char g_degree = 248; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Show GPU metrics range -void ShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Show current GPU metrics -void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); -void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -// Show historical GPU metrics -void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXPerformanceMonitoringServicesPtr perfMonitoringService; - res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringService); - if (ADLX_SUCCEEDED(res)) - { - IADLXGPUListPtr gpus; - // Get GPU list - res = g_ADLXHelp.GetSystemServices()->GetGPUs(&gpus); - if (ADLX_SUCCEEDED(res)) - { - // Use the first GPU in the list - IADLXGPUPtr oneGPU; - res = gpus->At(gpus->Begin(), &oneGPU); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringService, oneGPU); - } - else - std::cout << "\tGet particular GPU failed" << std::endl; - } - else - std::cout << "\tGet GPU list failed" << std::endl; - } - else - std::cout << "\tGet performance monitoring services failed" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display GPU metrics range" << std::endl; - std::cout << "\t->Press 2 to display current GPU metrics" << std::endl; - std::cout << "\t->Press 3 to display current GPU metrics from historical data" << std::endl; - std::cout << "\t->Press 4 to display historical GPU metrics" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Show GPU metrics range - case '1': - ShowGPUMetricsRange(perfMonitoringServices, oneGPU); - break; - - // Display current GPU metrics - case '2': - ShowCurrentGPUMetrics(perfMonitoringServices, oneGPU); - break; - - // Display current GPU metrics from historical data - case '3': - ShowCurrentGPUMetricsFromHistorical(perfMonitoringServices, oneGPU); - break; - - // Display historical GPU metrics - case '4': - ShowHistoricalGPUMetrics(perfMonitoringServices, oneGPU); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display GPU metrics range -void ShowGPUMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - ADLX_RESULT res = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - if (ADLX_SUCCEEDED(res)) - { - adlx_int minValue = 0, maxValue = 0; - - // Get GPU usage range - res = gpuMetricsSupport->GetGPUUsageRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU usage range between " << minValue << "% and " << maxValue << "%" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU usage range" << std::endl; - - // Get GPU clock speed range - res = gpuMetricsSupport->GetGPUClockSpeedRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU clock speed range between " << minValue << "MHz and " << maxValue << "MHz" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU clock speed range" << std::endl; - - // Get GPU VRAM clock speed range - res = gpuMetricsSupport->GetGPUVRAMClockSpeedRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM clock speed range between " << minValue << "MHz and " << maxValue << "MHz" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU VRAM clock speed range" << std::endl; - - // Get GPU temperature range - res = gpuMetricsSupport->GetGPUTemperatureRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU temperature range" << std::endl; - - // Get GPU hotspot temperature range - res = gpuMetricsSupport->GetGPUHotspotTemperatureRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU hotspot temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU hotspot temperature range" << std::endl; - - // Get GPU power range - res = gpuMetricsSupport->GetGPUPowerRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU power range between " << minValue << "W and " << maxValue << "W" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU power range" << std::endl; - - // Get GPU fan speed range - res = gpuMetricsSupport->GetGPUFanSpeedRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU fan speed range between " << minValue << "RPM and " << maxValue << "RPM" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU fan speed range" << std::endl; - - // Get GPU VRAM range - res = gpuMetricsSupport->GetGPUVRAMRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM range between " << minValue << "MB and " << maxValue << "MB" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU VRAM range" << std::endl; - - // Get GPU voltage range - res = gpuMetricsSupport->GetGPUVoltageRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU voltage range between " << minValue << "mV and " << maxValue << "mV" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU voltage range" << std::endl; - - // Get GPU total board power range - res = gpuMetricsSupport->GetGPUTotalBoardPowerRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU total board power range between " << minValue << "W and " << maxValue << "W" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU total board power range" << std::endl; - - // Get GPU intake temperature range - res = gpuMetricsSupport->GetGPUIntakeTemperatureRange (&minValue, &maxValue); - if (ADLX_SUCCEEDED (res)) - std::cout << "The GPU intake temperature range between " << minValue << g_degree << "C and " << maxValue << g_degree << "C" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support GPU intake temperature range" << std::endl; - } -} - -// Display the system time stamp (in ms) -void GetTimeStamp(IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = gpuMetrics->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU timp stamp is: " << timeStamp << "ms" << std::endl; -} - -// Display GPU usage (in %) -void ShowGPUUsage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU usage support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUUsage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU usage support status: " << supported << std::endl; - if (supported) - { - adlx_double usage = 0; - res = gpuMetrics->GPUUsage(&usage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU usage is: " << usage << "%" << std::endl; - } - } -} - -// Display GPU clock speed (in MHz) -void ShowGPUClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU clock speed support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUClockSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU clock speed support status: " << supported << std::endl; - if (supported) - { - adlx_int gpuClock = 0; - res = gpuMetrics->GPUClockSpeed(&gpuClock); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU clock speed is: " << gpuClock << "MHz" << std::endl; - } - } -} - -// Display GPU VRAM clock speed (in MHz) -void ShowGPUVRAMClockSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display the GPU VRAM clock speed support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAMClockSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU VRAM clock speed support status: " << supported << std::endl; - if (supported) - { - adlx_int memoryClock = 0; - res = gpuMetrics->GPUVRAMClockSpeed(&memoryClock); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM clock speed is: " << memoryClock << "MHz" << std::endl; - } - } -} - -// Display GPU temperature(in °C) -void ShowGPUTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - - // Display the GPU temperature support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTemperature(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU temperature support status: " << supported << std::endl; - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->GPUTemperature(&temperature); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU temperature is: " << temperature << g_degree <<"C" << std::endl; - } - } -} - -// Display GPU hotspot temperature(in °C) -void ShowGPUHotspotTemperature(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - - // Display GPU hotspot temperature support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUHotspotTemperature(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU hotspot temperature support status: " << supported << std::endl; - if (supported) - { - adlx_double hotspotTemperature = 0; - res = gpuMetrics->GPUHotspotTemperature(&hotspotTemperature); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU hotspot temperature is: " << hotspotTemperature << g_degree <<"C" << std::endl; - } - } -} - -// Display GPU power(in W) -void ShowGPUPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU power support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUPower(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU power support status: " << supported << std::endl; - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->GPUPower(&power); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU power is: " << power << "W" << std::endl; - } - } -} - -// Display GPU total board power(in W) -void ShowGPUTotalBoardPower(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU total board power support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUTotalBoardPower(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU total board power support status: " << supported << std::endl; - if (supported) - { - adlx_double power = 0; - res = gpuMetrics->GPUTotalBoardPower(&power); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU total board power is: " << power << "W" << std::endl; - } - } -} - -// Display GPU intake temperature(in °C) -void ShowGPUIntakeTemperature (IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - - // Display the GPU temperature support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUIntakeTemperature (&supported); - if (ADLX_SUCCEEDED (res)) - { - std::cout << "GPU intake temperature support status: " << supported << std::endl; - if (supported) - { - adlx_double temperature = 0; - res = gpuMetrics->GPUIntakeTemperature (&temperature); - if (ADLX_SUCCEEDED (res)) - std::cout << "The GPU intake temperature is: " << temperature << g_degree << "C" << std::endl; - } - } -} - -// Display GPU fan speed (in RPM) -void ShowGPUFanSpeed(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU fan speed support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUFanSpeed(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU fan speed support status: " << supported << std::endl; - if (supported) - { - adlx_int fanSpeed = 0; - res = gpuMetrics->GPUFanSpeed(&fanSpeed); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU fan speed is: " << fanSpeed << "RPM" << std::endl; - } - } -} - -// Display GPU VRAM (in MB) -void ShowGPUVRAM(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU VRAM support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVRAM(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU VRAM support status: " << supported << std::endl; - if (supported) - { - adlx_int VRAM = 0; - res = gpuMetrics->GPUVRAM(&VRAM); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU VRAM is: " << VRAM << "MB" << std::endl; - } - } -} - -// Display GPU Voltage (in mV) -void ShowGPUVoltage(IADLXGPUMetricsSupportPtr gpuMetricsSupport, IADLXGPUMetricsPtr gpuMetrics) -{ - adlx_bool supported = false; - // Display GPU voltage support status - ADLX_RESULT res = gpuMetricsSupport->IsSupportedGPUVoltage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "GPU voltage support status: " << supported << std::endl; - if (supported) - { - adlx_int voltage = 0; - res = gpuMetrics->GPUVoltage(&voltage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The GPU voltage is: " << voltage << "mV" << std::endl; - } - } -} - -// Display current GPU metrics -void ShowCurrentGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - ADLX_RESULT res1 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - - // Accumulate and display current metrics for each of 10 loops - IADLXGPUMetricsPtr gpuMetrics; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current GPU metrics - ADLX_RESULT res2 = perfMonitoringServices->GetCurrentGPUMetrics(oneGPU, &gpuMetrics); - - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << "The current GPU metrics: " << std::endl; - std::cout << std::boolalpha; // Display boolean variable as true or false - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature (gpuMetricsSupport, gpuMetrics); - std::cout << std::noboolalpha; - } - Sleep(1000); - } - - MainMenu(); -} - -void ShowCurrentGPUMetricsFromHistorical(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory(); - if (ADLX_FAILED(res)) - { - std::cout << "Clear historical data failed" << std::endl; - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->StartPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Start tracking performance metrics failed" << std::endl; - return; - } - - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - ADLX_RESULT metricsSupportRet = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - - // Accumulate and display current metrics for each of 10 loops - adlx_int startMs = 0; - adlx_int stopMs = 0; - for (int it = 0; it < 10; ++it) - { - // Clear screen - system("cls"); - - IADLXGPUMetricsListPtr gpuMetricsList; - res = perfMonitoringServices->GetGPUMetricsHistory(oneGPU, startMs, stopMs, &gpuMetricsList); - - // Display all the GPU metrics in the list - IADLXGPUMetricsPtr gpuMetrics; - for (int i = gpuMetricsList->Begin(); i != gpuMetricsList->End(); ++i) - { - res = gpuMetricsList->At(i, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(metricsSupportRet) && ADLX_SUCCEEDED(res)) - { - std::cout << "The current GPU metrics: " << std::endl; - std::cout << std::boolalpha; // Display boolean variable as true or false - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics); - std::cout << std::noboolalpha; - } - std::cout << std::endl; - } - - Sleep(1000); - } - - // Stop tracking performance metrics - res = perfMonitoringServices->StopPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Stop tracking performance metrics failed" << std::endl; - } - - MainMenu(); -} - -// Display historical GPU Metrics -void ShowHistoricalGPUMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices, IADLXGPUPtr oneGPU) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory(); - if (ADLX_FAILED(res)) - { - std::cout << "Clear historical data failed" << std::endl; - return; - } - - // Start tracking performance metrics - res = perfMonitoringServices->StartPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Start tracking performance metrics failed" << std::endl; - return; - } - - // Wait for 10 seconds to accumulate metrics - std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl; - Sleep(10000); - - // Get GPU metrics history from 10 seconds ago(10000 ms: the second parameter) to the present time(0 ms: the third parameter) - IADLXGPUMetricsListPtr gpuMetricsList; - res = perfMonitoringServices->GetGPUMetricsHistory(oneGPU, 10000, 0, &gpuMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get GPU metrics support - IADLXGPUMetricsSupportPtr gpuMetricsSupport; - ADLX_RESULT res1 = perfMonitoringServices->GetSupportedGPUMetrics(oneGPU, &gpuMetricsSupport); - - // Display all the GPU metrics in the list - IADLXGPUMetricsPtr gpuMetrics; - for (int i = gpuMetricsList->Begin(); i != gpuMetricsList->End(); ++i) - { - std::cout << "********** historical GPU metrics " << i + 1 << ": **********" << std::endl; - ADLX_RESULT res2 = gpuMetricsList->At(i, &gpuMetrics); - // Display timestamp and GPU metrics - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << std::boolalpha; // Display boolean variable as true or false - GetTimeStamp(gpuMetrics); - ShowGPUUsage(gpuMetricsSupport, gpuMetrics); - ShowGPUClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAMClockSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUHotspotTemperature(gpuMetricsSupport, gpuMetrics); - ShowGPUPower(gpuMetricsSupport, gpuMetrics); - ShowGPUFanSpeed(gpuMetricsSupport, gpuMetrics); - ShowGPUVRAM(gpuMetricsSupport, gpuMetrics); - ShowGPUVoltage(gpuMetricsSupport, gpuMetrics); - ShowGPUTotalBoardPower(gpuMetricsSupport, gpuMetrics); - ShowGPUIntakeTemperature(gpuMetricsSupport, gpuMetrics); - std::cout << std::noboolalpha; - } - std::cout << std::endl; - } - } - - // Stop tracking performance metrics - res = perfMonitoringServices->StopPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Stop tracking performance metrics failed" << std::endl; - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt deleted file mode 100644 index 2f16dfc..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "PerfSystemMetrics") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainPerfSystemMetrics.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html deleted file mode 100644 index 8f4c4dc..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/ReadMe.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

Demonstrates how to control system metrics when programming with ADLX.

-

Command Prompts

- - - - - - - - - - -
Command PromptDescription
1 Show current system metrics.
2 Show historical system metrics.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.cpp b/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.cpp deleted file mode 100644 index ebcf556..0000000 --- a/vendor/adlx/Samples/CPP/PerformanceMonitoring/PerfSystemMetrics/mainPerfSystemMetrics.cpp +++ /dev/null @@ -1,407 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainPerfSystemMetrics.cpp -/// \brief Demonstrates how to control system metrics when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPerformanceMonitoring1.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -// Display system metrics range -void ShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -/* - * If the app only requires the current metric set, metrics tracking can be omitted in favor of calling the more efficient GetCurrent function. - * If the app also requires metrics history, GetHistory retrieves the required accumulated history buffer, that may also include the current metric set. - */ -// Display current system metrics -void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -// Display historical system metrics -void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - - if (ADLX_SUCCEEDED(res)) - { - // Get Performance Monitoring services - IADLXPerformanceMonitoringServicesPtr perfMonitoringServices; - res = g_ADLXHelp.GetSystemServices()->GetPerformanceMonitoringServices(&perfMonitoringServices); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(perfMonitoringServices); - } - else - std::cout << "\tGet performance monitoring services failed" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Main menu -void MainMenu() -{ - std::cout << "\tChoose one from the following options" << std::endl; - - std::cout << "\t->Press 1 to display the system metrics range" << std::endl; - std::cout << "\t->Press 2 to display the current system metrics" << std::endl; - std::cout << "\t->Press 3 to display the historical system metrics" << std::endl; - - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display the main menu options" << std::endl; -} - -// Menu action control -void MenuControl(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display system metrics range - case '1': - ShowSystemMetricsRange(perfMonitoringServices); - break; - - // Display current metrics - case '2': - ShowCurrentSystemMetrics(perfMonitoringServices); - break; - - // Display historical metrics - case '3': - ShowHistoricalSystemMetrics(perfMonitoringServices); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} - -// Display system metrics range -void ShowSystemMetricsRange(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - // Get system metrics support - IADLXSystemMetricsSupportPtr systemMetricsSupport; - ADLX_RESULT res = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - if (ADLX_SUCCEEDED(res)) - { - adlx_int minValue = 0, maxValue = 0; - - // Get CPU usage range - res = systemMetricsSupport->GetCPUUsageRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The CPU usage range between " << minValue << "% and " << maxValue << "%" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support CPU usage range" << std::endl; - - // Get system RAM range - res = systemMetricsSupport->GetSystemRAMRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The system RAM range between " << minValue << "MB and " << maxValue << "MB" << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support system RAM range" << std::endl; - - // Get SmartShift range - res = systemMetricsSupport->GetSmartShiftRange(&minValue, &maxValue); - if (ADLX_SUCCEEDED(res)) - std::cout << "The smart shift range between " << minValue << " and " << maxValue << std::endl; - else if (res == ADLX_NOT_SUPPORTED) - std::cout << "Don't support smart shift range" << std::endl; - } -} - -// Display the system time stamp (in ms) -void GetTimeStamp(IADLXSystemMetricsPtr systemMetrics) -{ - adlx_int64 timeStamp = 0; - ADLX_RESULT res = systemMetrics->TimeStamp(&timeStamp); - if (ADLX_SUCCEEDED(res)) - std::cout << "The system time stamp is: " << timeStamp << "ms" << std::endl; -} - -// Show CPU usage (in %) -void ShowCPUUsage(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display CPU usage support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedCPUUsage(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "CPU usage support status: " << supported << std::endl; - if (supported) - { - adlx_double cpuUsage = 0; - res = systemMetrics->CPUUsage(&cpuUsage); - if (ADLX_SUCCEEDED(res)) - std::cout << "The CPU usage is: " << cpuUsage << "%" << std::endl; - } - } -} - -// Display system RAM (in MB) -void ShowSystemRAM(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display system RAM usage support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedSystemRAM(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "System RAM usage support status: " << supported << std::endl; - if (supported) - { - adlx_int systemRAM = 0; - res = systemMetrics->SystemRAM(&systemRAM); - if (ADLX_SUCCEEDED(res)) - std::cout << "The system RAM is: " << systemRAM << "MB" << std::endl; - } - } -} - -// Show SmartShift -void ShowSmartShift(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - // Display SmartShift support status - ADLX_RESULT res = systemMetricsSupport->IsSupportedSmartShift(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "SmartShift support status: " << supported << std::endl; - if (supported) - { - adlx_int smartShift; - res = systemMetrics->SmartShift(&smartShift); - if (ADLX_SUCCEEDED(res)) - std::cout << "The SmartShift is: " << smartShift << std::endl; - } - } -} - -// Show SmartShift Max -void ShowSmartShiftMax(IADLXSystemMetricsSupportPtr systemMetricsSupport, IADLXSystemMetricsPtr systemMetrics) -{ - adlx_bool supported = false; - IADLXSystemMetricsSupport1Ptr sysMetricsSupport1(systemMetricsSupport); - IADLXSystemMetrics1Ptr sysMetrics1(systemMetrics); - if (!sysMetricsSupport1) - { - std::cout << "\tGet IADLXSystemMetricsSupport1Ptr failed" << std::endl; - return; - } - if (!sysMetrics1) - { - std::cout << "\tGet IADLXSystemMetrics1Ptr failed" << std::endl; - return; - } - - // Display power distribution support status - ADLX_RESULT res = sysMetricsSupport1->IsSupportedPowerDistribution(&supported); - if (ADLX_SUCCEEDED(res)) - { - std::cout << "PowerDistribution support status: " << supported << std::endl; - if (supported) - { - int apuShiftValue, gpuShiftValue, apuShiftLimit, gpuShiftLimit, totalShiftLimit; - res = sysMetrics1->PowerDistribution(&apuShiftValue, &gpuShiftValue, &apuShiftLimit, &gpuShiftLimit, &totalShiftLimit); - if (ADLX_SUCCEEDED(res)) - std::cout << "The PowerDistribution is:\n" - << " apuShiftValue: " << apuShiftValue - << " ,gpuShiftValue: " << gpuShiftValue - << " ,apuShiftLimit: " << apuShiftLimit - << " ,gpuShiftLimit: " << gpuShiftLimit - << " ,totalShiftLimit: " << totalShiftLimit << std::endl; - } - } -} - -// Display current system metrics -void ShowCurrentSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - // Get system metrics support - IADLXSystemMetricsSupportPtr systemMetricsSupport; - ADLX_RESULT res1 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - - // Accumulate and display current metrics for each of the 10 loops - IADLXSystemMetricsPtr systemMetrics; - for (int i = 0; i < 10; ++i) - { - // Clear screen - system("cls"); - // Get current system metrics - ADLX_RESULT res2 = perfMonitoringServices->GetCurrentSystemMetrics(&systemMetrics); - - // Display timestamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << "The current system metrics: " << std::endl; - std::cout << std::boolalpha; // Display boolean variable as true or false - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - ShowSmartShiftMax(systemMetricsSupport, systemMetrics); - std::cout << std::noboolalpha; - } - Sleep(1000); - } - - MainMenu(); -} - -// Display historical system metrics -void ShowHistoricalSystemMetrics(IADLXPerformanceMonitoringServicesPtr perfMonitoringServices) -{ - // Clear historical performance metrics data - ADLX_RESULT res = perfMonitoringServices->ClearPerformanceMetricsHistory(); - if (ADLX_FAILED(res)) - { - std::cout << "Clear historical data failed" << std::endl; - return; - } - - // Get current max historical size (in s) - adlx_int maxHistorySize = 0; - res = perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize); - if (ADLX_SUCCEEDED(res)) - std::cout << "The current max historical size is: " << maxHistorySize << "s" << std::endl; - // Get the configurable maximum historical size range - ADLX_IntRange range; - res = perfMonitoringServices->GetMaxPerformanceMetricsHistorySizeRange(&range); - if (ADLX_SUCCEEDED(res)) - std::cout << "The range of max historical size is: (" << range.minValue << ", " << range.maxValue << ")s" << std::endl; - // Change max historical size to minimum value - res = perfMonitoringServices->SetMaxPerformanceMetricsHistorySize(range.minValue); - if (ADLX_SUCCEEDED(res)) - { - perfMonitoringServices->GetMaxPerformanceMetricsHistorySize(&maxHistorySize); - std::cout << "Set max historical size to minimum value successfully, the current max historical is: " << maxHistorySize << "s" << std::endl; - } - - // Get current sampling interval (in ms) - adlx_int samplingInterval = 0; - res = perfMonitoringServices->GetSamplingInterval(&samplingInterval); - if (ADLX_SUCCEEDED(res)) - std::cout << "The current sampling interval is: " << samplingInterval << "ms" << std::endl; - // Get the sampling interval range. The sampling interval must be set within this range. - res = perfMonitoringServices->GetSamplingIntervalRange(&range); - if (ADLX_SUCCEEDED(res)) - std::cout << "The range of sampling interval is: (" << range.minValue << ", " << range.maxValue << ")ms" << std::endl; - // Change sampling interval to minimum value - res = perfMonitoringServices->SetSamplingInterval(range.minValue); - if (ADLX_SUCCEEDED(res)) - { - perfMonitoringServices->GetSamplingInterval(&samplingInterval); - std::cout << "Set sampling interval to minimum value successfully, the current sampling interval is: " << samplingInterval << "ms" << std::endl; - } - - // Start tracking performance metrics - res = perfMonitoringServices->StartPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Start tracking performance metrics failed" << std::endl; - return; - } - - // Wait for 10 seconds to accumulate metrics - std::cout << "Wait for 10 seconds to accumulate metrics..." << std::endl; - Sleep(10000); - - // Check the current performance metrics historical size (in s) upon accumulation - adlx_int currentHistorySize = 0; - res = perfMonitoringServices->GetCurrentPerformanceMetricsHistorySize(¤tHistorySize); - if (ADLX_SUCCEEDED(res)) - std::cout << "The current historical size is: " << currentHistorySize << "s" << std::endl; - - // Get system metrics history from 10 seconds ago(10000 ms: the first parameter) to the present time(0 ms: the second parameter) - IADLXSystemMetricsListPtr systemMetricsList; - res = perfMonitoringServices->GetSystemMetricsHistory(10000, 0, &systemMetricsList); - if (ADLX_SUCCEEDED(res)) - { - // Get the system metrics support - IADLXSystemMetricsSupportPtr systemMetricsSupport; - ADLX_RESULT res1 = perfMonitoringServices->GetSupportedSystemMetrics(&systemMetricsSupport); - - // Display all the system metrics in the list - IADLXSystemMetricsPtr systemMetrics; - for (int i = systemMetricsList->Begin(); i != systemMetricsList->End(); ++i) - { - std::cout << "********** historical system metrics " << i + 1 << ": **********" << std::endl; - ADLX_RESULT res2 = systemMetricsList->At(i, &systemMetrics); - // Display first system metrics time stamp, CPU usage, system RAM, and SmartShift - if (ADLX_SUCCEEDED(res1) && ADLX_SUCCEEDED(res2)) - { - std::cout << std::boolalpha; // Display boolean variable as true or false - GetTimeStamp(systemMetrics); - ShowCPUUsage(systemMetricsSupport, systemMetrics); - ShowSystemRAM(systemMetricsSupport, systemMetrics); - ShowSmartShift(systemMetricsSupport, systemMetrics); - ShowSmartShiftMax(systemMetricsSupport, systemMetrics); - std::cout << std::noboolalpha; - } - std::cout << std::endl; - } - } - - // Stop tracking performance metrics - res = perfMonitoringServices->StopPerformanceMetricsTracking(); - if (ADLX_FAILED(res)) - { - std::cout << "Stop tracking performance metrics failed" << std::endl; - return; - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/CMakeLists.txt b/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/CMakeLists.txt deleted file mode 100644 index 39030ec..0000000 --- a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SmartShiftMax") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSmartShiftMax.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/ReadMe.html b/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/ReadMe.html deleted file mode 100644 index 3f33a05..0000000 --- a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/ReadMe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

Demonstrates how to control AMD SmartShift Max when programming with ADLX.

-

Command Prompts

- - - - - - - - - - - - - -
Command PromptDescription
1 Display AMD SmartShift Max support.
2 Display AMD SmartShift Max bias value, bias mode, and bias range.
3 Set SmartShift Max bias mode to Manual.
4 Set SmartShift Max bias mode to Auto.
5 Set SmartShift Max bias value.
M/m Show this menu.
Q/q Quit.
-

Sample Path

-

/Samples/CPP/PowerTuning/SmartShiftMax

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/mainSmartShiftMax.cpp b/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/mainSmartShiftMax.cpp deleted file mode 100644 index 98d4bec..0000000 --- a/vendor/adlx/Samples/CPP/PowerTuning/SmartShiftMax/mainSmartShiftMax.cpp +++ /dev/null @@ -1,202 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSmartShiftMax.cpp -/// \brief Demonstrates how to control AMD SmartShift Max when programming with ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPowerTuning.h" -#include "SDK/Include/ISystem1.h" -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Display AMD SmartShift Max support -void ShowSmartShiftMaxSupport(const IADLXSmartShiftMaxPtr& ssm); - -// Display current AMD SmartShift Max state -void ShowSmartShiftMaxSate(const IADLXSmartShiftMaxPtr& ssm); - -// Set AMD SmartShift Max bias mode -void SetSmartShiftMaxBiasMode(const IADLXSmartShiftMaxPtr& ssm, int index); - -// Set AMD SmartShift Max bias value -void SetSmartShiftMaxBiasValue(const IADLXSmartShiftMaxPtr& ssm); - -// Main menu -void MainMenu(); - -// Menu action control -void MenuControl(const IADLXSmartShiftMaxPtr& ssm); - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Get IADLXSystem1 interface via IADLXSystem::QueryInterface - IADLXSystem1Ptr system1; - res = g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(), reinterpret_cast(&system1)); - if (ADLX_SUCCEEDED(res)) - { - // Get power tuning service - IADLXPowerTuningServicesPtr powerTuningService; - res = system1->GetPowerTuningServices(&powerTuningService); - if (ADLX_SUCCEEDED(res)) - { - // Get AMD SmartShift Max interface - IADLXSmartShiftMaxPtr ssm; - res = powerTuningService->GetSmartShiftMax(&ssm); - if (ADLX_SUCCEEDED(res)) - { - // Display main menu options - MainMenu(); - // Get and execute the choice - MenuControl(ssm); - } - else - std::cout << "Failed to get AMD SmartShift Max interface" << std::endl; - } - else - std::cout << "Failed to get power tuning service" << std::endl; - } - else - std::cout << "Failed to get IADLXSystem1" << std::endl; - } - else - return WaitAndExit("\tg_ADLXHelp initialize failed", 0); - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Pause to see the print out - system("pause"); - - return 0; -} - -void ShowSmartShiftMaxSupport(const IADLXSmartShiftMaxPtr& ssm) -{ - adlx_bool supported = false; - ssm->IsSupported(&supported); - std::cout << "\tIsSupported: " << supported << std::endl; -} - -void ShowSmartShiftMaxSate(const IADLXSmartShiftMaxPtr& ssm) -{ - ADLX_SSM_BIAS_MODE mode; - ADLX_RESULT ret = ssm->GetBiasMode(&mode); - if (ADLX_SUCCEEDED(ret)) - std::cout << "\tBias mode: " << (mode == ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL ? "manual" : "auto") << std::endl; - else - std::cout << "\tFailed to get bias mode, error code: " << ret << std::endl; - - adlx_int bias = 0; - ret = ssm->GetBias(&bias); - if (ADLX_SUCCEEDED(ret)) - std::cout << "\tBias value: " << bias << std::endl; - else - std::cout << "\tFailed to get bias value, error code: " << ret << std::endl; - - ADLX_IntRange range; - ret = ssm->GetBiasRange(&range); - if (ADLX_SUCCEEDED(ret)) - std::cout << "\tBias range: [ " << range.minValue << " ," << range.maxValue << " ], step: " << range.step << std::endl; - else - std::cout << "\tFailed to get bias range, error code: " << ret << std::endl; -} - -void SetSmartShiftMaxBiasMode(const IADLXSmartShiftMaxPtr& ssm, int index) -{ - ADLX_SSM_BIAS_MODE mode = index == 0 ? ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL : ADLX_SSM_BIAS_MODE::SSM_BIAS_AUTO; - ADLX_RESULT res = ssm->SetBiasMode(mode); - std::cout << "\tSet bias mode " << (mode == ADLX_SSM_BIAS_MODE::SSM_BIAS_MANUAL ? "manual" : "auto") << ", return code: " << res << std::endl; -} - -void SetSmartShiftMaxBiasValue(const IADLXSmartShiftMaxPtr& ssm) -{ - adlx_int bias = 0; - ssm->GetBias(&bias); - ADLX_IntRange range; - ssm->GetBiasRange(&range); - adlx_int base = (range.maxValue + range.minValue) / 2; - adlx_int value = bias == base ? base + range.step : base; - ADLX_RESULT res = ssm->SetBias(value); - std::cout << "\tSet bias value: " << value << ", return code: " << res << std::endl; -} - -void MainMenu() -{ - std::cout << "\tChoose from the following options:" << std::endl; - std::cout << "\t->Press 1 to display AMD SmartShift Max support" << std::endl; - std::cout << "\t->Press 2 to display AMD SmartShift Max bias value, bias mode, and bias range" << std::endl; - std::cout << "\t->Press 3 to set AMD SmartShift Max bias mode to Manual" << std::endl; - std::cout << "\t->Press 4 to set AMD SmartShift Max bias mode to Auto" << std::endl; - std::cout << "\t->Press 5 to set AMD SmartShift Max bias value" << std::endl; - std::cout << "\t->Press Q/q to terminate the application" << std::endl; - std::cout << "\t->Press M/m to display main menu options" << std::endl; -} - -void MenuControl(const IADLXSmartShiftMaxPtr& ssm) -{ - int num = 0; - while ((num = getchar()) != 'q' && num != 'Q') - { - switch (num) - { - // Display AMD SmartShift max support - case '1': - ShowSmartShiftMaxSupport(ssm); - break; - - // Display current AMD SmartShift max state - case '2': - ShowSmartShiftMaxSate(ssm); - break; - - // Set AMD SmartShift max bias mode - case '3': - case '4': - SetSmartShiftMaxBiasMode(ssm, num - '3'); - break; - - // Set AMD SmartShift max bias value - case '5': - SetSmartShiftMaxBiasValue(ssm); - break; - - // Display menu options - case 'm': - case 'M': - MainMenu(); - break; - default: - break; - } - } -} - -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReadMe.md b/vendor/adlx/Samples/CPP/ReadMe.md deleted file mode 100644 index 5d1d6ae..0000000 --- a/vendor/adlx/Samples/CPP/ReadMe.md +++ /dev/null @@ -1,31 +0,0 @@ -@page page_sample_cpp C++ Samples - -This document describes how to build the ADLX C++ samples and the environment in which they can be executed. The ADLX C++ samples are organized per domain, and they demonstrate the entire ADLX functionality. - -

Supported Operating Systems

-Windows® 10 (32- and 64-bit versions) and up. - -

Build Tool

-Visual Studio 2019 with C and C++ components for desktop. - -

Prerequisites

-- ADLX SDK is installed. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Run Visual Studio 2019.
  2. -
  3. Click File > Open > CMake.
  4. -
  5. Select the `~Samples\CPP` folder from the Address bar in the pop-up dialog box.
  6. -
  7. Select `CMakeLists.txt` in `~ADLX\Samples\CPP` and click Open.
  8. -
  9. Select vs2019_Release_x64 in the Configuration drop-down.
  10. -
  11. Click Switch between available views > CMake Targets view in the Solution Explorer.
  12. -
  13. Click Samples Project and expand the list of samples. Right-click on the required sample and click Set As Startup Item. For example, `DisplayInfo.exe`.
  14. -
  15. Right-click on the same sample and click Build.
  16. -
  17. Run the sample.
  18. -
\ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt deleted file mode 100644 index 331a961..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "AsyncEventHandling") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainAsyncEventHandling.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html deleted file mode 100644 index 7cf95d0..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/ReadMe.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - -

Demonstrates how to handle long processing for an event on a separate thread when programming with ADLX.

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.cpp b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.cpp deleted file mode 100644 index acfde21..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/AsyncEventHandling/mainAsyncEventHandling.cpp +++ /dev/null @@ -1,166 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainAsyncEventHandling.cpp -/// \brief Demonstrates how to handle long processing for an event on a separate thread when programming in ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplayGamut.h" -#include "SDK/Include/IDisplays.h" -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// Handle gamutChangedEevent -HANDLE gamutChangedEvent = nullptr; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Callback displayGamut in thread -class DisplayGamutCallBack : public IADLXDisplayGamutChangedListener -{ -public: - ~DisplayGamutCallBack() - { - if (m_td) - { - m_td->detach(); - } - } - - adlx_bool ADLX_STD_CALL OnDisplayGamutChanged(IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) override - { - // Acquire the interface before passing to the asynchronous thread - pDisplayGamutChangedEvent->Acquire(); - auto run = [](IADLXDisplayGamutChangedEvent* pDisplayGamutChangedEvent) { - - // Some time-consuming operations - Sleep(5000); - std::cout << "On the asynchronous thread: Thread Id: " << GetCurrentThreadId() << " : After the time-consuming operations, get the display gamut changed event:" << std::endl; - std::cout << "\tColor space change: " << pDisplayGamutChangedEvent->IsColorSpaceChanged() << std::endl - << "\tWhite point change: " << pDisplayGamutChangedEvent->IsWhitePointChanged() << std::endl; - - // Release the interface when the task is completed. - pDisplayGamutChangedEvent->Release(); - - SetEvent(gamutChangedEvent); - }; - - m_td = std::make_shared(run, pDisplayGamutChangedEvent); - return true; - } - -private: - std::shared_ptr m_td = nullptr; -}; - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode); - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create event - gamutChangedEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get display service - IADLXDisplayServicesPtr displayService; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayService); - if (ADLX_SUCCEEDED(res)) - { - // Get display change handler - IADLXDisplayChangedHandlingPtr displayChangeHandler; - res = displayService->GetDisplayChangedHandling(&displayChangeHandler); - if (ADLX_FAILED (res)) - { - // Destroy ADLX - res = g_ADLXHelp.Terminate (); - std::cout << "Destroy ADLX result: " << res << std::endl; - return WaitAndExit ("Failed to get display change handler", 0); - } - // Create the callbacks - IADLXDisplayGamutChangedListener* gamutChangeCallBack = new DisplayGamutCallBack; - - // Add the callbacks to the ADLX event handler - ADLX_RESULT addListenerRes = displayChangeHandler->AddDisplayGamutEventListener(gamutChangeCallBack); - - // Set gamut for the first display - IADLXDisplayListPtr displays; - displayService->GetDisplays(&displays); - adlx_uint it = 0; - IADLXDisplayPtr display; - displays->At(it, &display); - IADLXDisplayGamutPtr dispGamut; - res = displayService->GetGamut(display, &dispGamut); - res = dispGamut->SetGamut(WHITE_POINT_5000K, GAMUT_SPACE_CIE_RGB); - std::cout << "Set gamut ret: " << res << std::endl; - if (ADLX_SUCCEEDED(res)) - { - std::cout << "This will trigger gamut change and send gamut change in thread: " << GetCurrentThreadId() << std::endl; - } - - if (ADLX_SUCCEEDED (addListenerRes)) - { - // Wait for gamut change - WaitForSingleObject(gamutChangedEvent, INFINITE); - - // Remove and destroy callbacks - res = displayChangeHandler->RemoveDisplayGamutEventListener(gamutChangeCallBack); - if (ADLX_FAILED (res)) - std::cout << "Remove display gamut event listener failed" << std::endl; - } - - delete gamutChangeCallBack; - gamutChangeCallBack = nullptr; - } - else - { - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - return WaitAndExit("Failed to get the Display Services", 0); - } - } - else - { - return WaitAndExit("ADLX initialization failed", 0); - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX result: " << res << std::endl; - - // Close event - if (gamutChangedEvent) - CloseHandle(gamutChangedEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -// Wait for exit with error message -int WaitAndExit(const char* msg, const int retCode) -{ - // Printout the message and pause to see it before returning the desired code - if (nullptr != msg) - std::cout << msg << std::endl; - - system("pause"); - return retCode; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt deleted file mode 100644 index 470f7e9..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "Sync3DReceive") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSync3DReceive.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html deleted file mode 100644 index d46503e..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in 3D settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the AntiLag. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.cpp b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.cpp deleted file mode 100644 index 87e1364..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/Sync3DReceive/mainSync3DReceive.cpp +++ /dev/null @@ -1,386 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSync3DReceive.cpp -/// \brief Demonstrates how to receive notifications of changes in 3D settings using ADLX. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/I3DSettings.h" -#include "conio.h" -#include -#include -#include -#include - -// Use ADLX namespace. -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Block event to verify call back. -HANDLE blockEvent = nullptr; -HANDLE quitEvent = nullptr; - -// AnisotropicFiltering level map -static const std::map levelMap = -{ - {AF_LEVEL_INVALID, "Invalid"}, - {AF_LEVEL_X2, "2X"}, - {AF_LEVEL_X4, "4X"}, - {AF_LEVEL_X8, "8X"}, - {AF_LEVEL_X16, "16X"} }; - -// WaitForVerticalRefresh mode -static const std::map vsyncMode = -{ - {WFVR_ALWAYS_OFF, "Always off"}, - {WFVR_OFF_UNLESS_APP_SPECIFIES, "Off, unless application specifies"}, - {WFVR_ON_UNLESS_APP_SPECIFIES, "On, unless application specifies"}, - {WFVR_ALWAYS_ON, "Always on"} }; - -// antiAliasing mode -static const std::map antiAliasingMode = -{ - {AA_MODE_USE_APP_SETTINGS, "Use application settings"}, - {AA_MODE_ENHANCE_APP_SETTINGS, "Enhance application settings"}, - {AA_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"} }; - -// antiAliasing method -static const std::map antiAliasingMethod = -{ - {AA_METHOD_MULTISAMPLING, "Muti-Sampling"}, - {AA_METHOD_ADAPTIVE_MULTISAMPLING, "Adaptive Muti-Sampling"}, - {AA_METHOD_SUPERSAMPLING, "Super Sampling"} }; - -// antiAliasing level -static const std::map antiAliasingLevel = -{ - {AA_LEVEL_INVALID, "Level Invalid"}, - {AA_LEVEL_2X, "2X"}, - {AA_LEVEL_2XEQ, "2XEQ"}, - {AA_LEVEL_4X, "4X"}, - {AA_LEVEL_4XEQ, "4XEQ"}, - {AA_LEVEL_8X, "8X"}, - {AA_LEVEL_8XEQ, "8XEQ"} }; - -// TessellationMode mode -static const std::map Modes = -{ - {T_MODE_AMD_OPTIMIZED, "AMD optimized"}, - {T_MODE_USE_APP_SETTINGS, "Use application settings"}, - {T_MODE_OVERRIDE_APP_SETTINGS, "Override application settings"} }; - -// TessellationMode level -static const std::map Levels = -{ - {T_LEVEL_OFF, "Off"}, - {T_LEVEL_2X, "2X"}, - {T_LEVEL_4X, "4X"}, - {T_LEVEL_6X, "6X"}, - {T_LEVEL_8X, "8X"}, - {T_LEVEL_16X, "16X"}, - {T_LEVEL_32X, "32X"}, - {T_LEVEL_64X, "64X"} }; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName); - -// Call back to handl changed events -class CallBack3DSettingsChanged : public IADLX3DSettingsChangedListener -{ -public: - adlx_bool ADLX_STD_CALL On3DSettingsChanged(IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) override - { - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - // Get the GPU interface - IADLXGPUPtr gpu; - p3DSettingsChangedEvent->GetGPU(&gpu); - //RadeonSuperResolution is a global feature (the GPU interface is nullptr); skip printing its name - if (!p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged()) - { - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - std::cout << "GPU: " << uniqueName << ", Get sync event, 3D settings changed event was fired" << std::endl; - } - ADLX_SYNC_ORIGIN origin = p3DSettingsChangedEvent->GetOrigin(); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - if (p3DSettingsChangedEvent->IsAntiLagChanged()) - { - // Get AntiLag interface - IADLX3DAntiLagPtr d3dAntiLag; - d3dSettingSrv->GetAntiLag(gpu, &d3dAntiLag); - adlx_bool enabled; - d3dAntiLag->IsEnabled(&enabled); - std::cout <<"\tAntiLag changed\n\tIsEnabled: " << enabled << std::endl; - } - else if (p3DSettingsChangedEvent->IsChillChanged()) - { - // Get Chill interface - IADLX3DChillPtr d3dChill; - d3dSettingSrv->GetChill(gpu, &d3dChill); - adlx_bool enabled; - d3dChill->IsEnabled(&enabled); - adlx_int minFPS, maxFPS; - d3dChill->GetMinFPS(&minFPS); - d3dChill->GetMaxFPS(&maxFPS); - std::cout << "\tChill changed\n\tIsEnabled: " << enabled << " , FPS: [ " << minFPS << " , " << maxFPS << " ]" << std::endl; - } - else if (p3DSettingsChangedEvent->IsBoostChanged()) - { - // Get Boost interface - IADLX3DBoostPtr d3dBoost; - d3dSettingSrv->GetBoost(gpu, &d3dBoost); - adlx_bool enabled; - d3dBoost->IsEnabled(&enabled); - adlx_int minRes; - d3dBoost->GetResolution(&minRes); - std::cout << "\tBoost changed\n\tIsEnabled: " << enabled << " , minResolution: " << minRes << std::endl; - } - else if (p3DSettingsChangedEvent->IsImageSharpeningChanged()) - { - // Get ImageSharpen interface - IADLX3DImageSharpeningPtr d3dImageSharpen; - d3dSettingSrv->GetImageSharpening(gpu, &d3dImageSharpen); - adlx_bool enabled; - d3dImageSharpen->IsEnabled(&enabled); - adlx_int min; - d3dImageSharpen->GetSharpness(&min); - std::cout << "\tImageSharpening changed\n\tIsEnabled: " << enabled << " , Sharpness: " << min << std::endl; - } - else if (p3DSettingsChangedEvent->IsEnhancedSyncChanged()) - { - // Get EnhancedSync interface - IADLX3DEnhancedSyncPtr d3dEnhancedSync; - d3dSettingSrv->GetEnhancedSync(gpu, &d3dEnhancedSync); - adlx_bool enabled; - d3dEnhancedSync->IsEnabled(&enabled); - std::cout << "\tEnhancedSync changed\n\tIsEnabled: " << enabled << std::endl; - } - else if (p3DSettingsChangedEvent->IsWaitForVerticalRefreshChanged()) - { - // Get Vsync interface - IADLX3DWaitForVerticalRefreshPtr vsync; - d3dSettingSrv->GetWaitForVerticalRefresh(gpu, &vsync); - adlx_bool enabled; - vsync->IsEnabled(&enabled); - ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode = WFVR_ALWAYS_OFF; - vsync->GetMode(&mode); - std::cout << "\tWaitForVerticalRefresh changed\n\tIsEnabled: " << enabled << " , Mode: " << vsyncMode.find(mode)->second << std::endl; - } - else if (p3DSettingsChangedEvent->IsFrameRateTargetControlChanged()) - { - // Get FRTC interface - IADLX3DFrameRateTargetControlPtr frtc; - d3dSettingSrv->GetFrameRateTargetControl(gpu, &frtc); - adlx_bool enabled; - frtc->IsEnabled(&enabled); - adlx_int fps; - frtc->GetFPS(&fps); - std::cout << "\tFRTC changed\n\tIsEnabled: " << enabled << " , fps: " << fps << std::endl; - } - else if (p3DSettingsChangedEvent->IsAntiAliasingChanged()) - { - // Get AntiAliasing interface - IADLX3DAntiAliasingPtr antiAliasing; - d3dSettingSrv->GetAntiAliasing(gpu, &antiAliasing); - ADLX_ANTI_ALIASING_MODE mode; - antiAliasing->GetMode(&mode); - ADLX_ANTI_ALIASING_METHOD method; - antiAliasing->GetMethod(&method); - ADLX_ANTI_ALIASING_LEVEL level; - antiAliasing->GetLevel(&level); - std::cout << "\tAntiAliasing changed\n" << std::endl - << "\tMode: " << antiAliasingMode.find(mode)->second << std::endl - << "\tMethod: " << antiAliasingMethod.find(method)->second << std::endl - << "\tLevel: " << antiAliasingLevel.find(level)->second << std::endl; - } - else if (p3DSettingsChangedEvent->IsMorphologicalAntiAliasingChanged()) - { - // Get MorphologicAntiAliasing interface - IADLX3DMorphologicalAntiAliasingPtr mAntiAliasing; - d3dSettingSrv->GetMorphologicalAntiAliasing(gpu, &mAntiAliasing); - adlx_bool enabled; - mAntiAliasing->IsEnabled(&enabled); - std::cout << "\tMorphologicalAntiAliasing changed\n\tIsEnabled: " << enabled << std::endl; - } - else if (p3DSettingsChangedEvent->IsAnisotropicFilteringChanged()) - { - // Get AnisotropicFilteringPtr interface - IADLX3DAnisotropicFilteringPtr anisotropicFiltering; - d3dSettingSrv->GetAnisotropicFiltering(gpu, &anisotropicFiltering); - adlx_bool enabled; - anisotropicFiltering->IsEnabled(&enabled); - ADLX_ANISOTROPIC_FILTERING_LEVEL level; - anisotropicFiltering->GetLevel(&level); - std::cout << "\tAnisotropicFiltering changed\n\tIsEnabled: " << enabled << std::endl - << "\tLevel: " << levelMap.find(level)->second << std::endl; - } - else if (p3DSettingsChangedEvent->IsTessellationModeChanged()) - { - // Get IADLX3DTessellation interface - IADLX3DTessellationPtr tessellation; - d3dSettingSrv->GetTessellation(gpu, &tessellation); - ADLX_TESSELLATION_MODE mode; - tessellation->GetMode(&mode); - ADLX_TESSELLATION_LEVEL level; - tessellation->GetLevel(&level); - std::cout << "\tTessellationMode changed\n" << std::endl - << "\tMode: " << Modes.find(mode)->second << std::endl - << "\tLevel: " << Levels.find(level)->second << std::endl; - } - else if (p3DSettingsChangedEvent->IsResetShaderCache()) - { - std::cout << "\tResetShaderCache" << std::endl; - } - } - - if (origin == SYNC_ORIGIN_UNKNOWN) - { - if (p3DSettingsChangedEvent->IsRadeonSuperResolutionChanged()) - { - // Get IADLX3DRadeonSuperResolution interface - IADLX3DRadeonSuperResolutionPtr rsr; - d3dSettingSrv->GetRadeonSuperResolution(&rsr); - adlx_bool enabled = false; - rsr->IsEnabled(&enabled); - adlx_int sharpness; - rsr->GetSharpness(&sharpness); - std::cout << "\tRSR changed\n\tIsEnabled: " << enabled << " , Sharpness: " << sharpness << std::endl; - } - } - - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; - } -}; - -// Wait for quit signal -void QuitWait(adlx_bool* loopFlag) -{ - while (true) - { - // Non-blocking checking if the I/O cache has characters - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(quitEvent); - break; - } - } - Sleep(100); - } -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create quit event - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create event array - HANDLE eventArray[] = { blockEvent, quitEvent }; - - // Get 3DSettings service - IADLX3DSettingsServicesPtr d3dSettingSrv; - res = g_ADLXHelp.GetSystemServices()->Get3DSettingsServices(&d3dSettingSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get Change handle - IADLX3DSettingsChangedHandlingPtr changeHandle; - res = d3dSettingSrv->Get3DSettingsChangedHandling(&changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - IADLX3DSettingsChangedListener* call = new CallBack3DSettingsChanged; - - // Add call back - changeHandle->Add3DSettingsEventListener(call); - - // Create a thread to check quit event - bool loopFlag = true; - std::thread t{ QuitWait, &loopFlag}; - - std::cout << "\nWaiting for 3DSetting change event... Press Q/q to quit" << std::endl; - while (true) - { - // Wait for change event or request to quit - DWORD waitRet = WaitForMultipleObjects(2, eventArray, FALSE, INFINITE); - if (!loopFlag) - { - if (t.joinable()) - { - t.join(); - } - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->Remove3DSettingsEventListener(call); - - // Delete call back - delete call; - call = nullptr; - } - } - else - { - std::cout << "Failed to get the 3DSettings Services" << std::endl; - } - } - else - { - std::cout << "ADLX initialization failed" << std::endl; - return 0; - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - if (quitEvent) - CloseHandle(quitEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName) -{ - if (nullptr != gpu && nullptr != uniqueName) - { - const char* gpuName = nullptr; - gpu->Name(&gpuName); - adlx_int id; - gpu->UniqueId(&id); - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt deleted file mode 100644 index cc96389..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncDisplayReceive") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncDisplayReceive.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html deleted file mode 100644 index 099074b..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in display settings using ADLX.
- To receive the event, another application must be used to change these settings, such as the DisplayFreeSync. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.cpp b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.cpp deleted file mode 100644 index b8ee4b5..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncDisplayReceive/mainSyncDisplayReceive.cpp +++ /dev/null @@ -1,301 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncDisplayReceive.cpp -/// \brief Demonstrates how to receive notifications of changes in display settings using ADLX. To receive the event, another application (such as DisplayFreeSync) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IDisplays.h" -#include "SDK/Include/IDisplays1.h" -#include "SDK/Include/IDisplays2.h" -#include "SDK/Include/IDisplaySettings.h" -#include "conio.h" -#include -#include -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Block event to verify call back -HANDLE displaySettingsEvent = nullptr; -HANDLE display3DLUTEvent = nullptr; -// Quit event to exit -HANDLE quitEvent = nullptr; - -// Get the display unique name -void DisplayUniqueName(IADLXDisplayPtr display, char* uniqueName); - -// Call back to handle changed events -class CallBackDisplaySettingsChanged : public IADLXDisplaySettingsChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplaySettingsChanged(IADLXDisplaySettingsChangedEvent* pDisplaySettingsChangedEvent) override - { - ADLX_SYNC_ORIGIN origin = pDisplaySettingsChangedEvent->GetOrigin(); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - IADLXDisplayServicesPtr displayServices; - g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices); - IADLXDisplayPtr display; - pDisplaySettingsChangedEvent->GetDisplay(&display); - char displayName[128] = "Unknown"; - DisplayUniqueName(display, displayName); - if (pDisplaySettingsChangedEvent->IsColorDepthChanged()) - { - std::cout << "Display " << displayName << " Get sync event, color depth is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomColorBrightnessChanged()) - { - std::cout << "Display " << displayName << " Get sync event, custom color brightness is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomColorContrastChanged()) - { - std::cout << "Display " << displayName << "Get sync event, custom color contrast is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomColorHueChanged()) - { - std::cout << "Display " << displayName << "Get sync event, custom color hue is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomColorSaturationChanged()) - { - std::cout << "Display " << displayName << "Get sync event, custom color saturation is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomColorTemperatureChanged()) - { - std::cout << "Display " << displayName << "Get sync event, custom color temperature is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsCustomResolutionChanged()) - { - std::cout << "Display " << displayName << "Get sync event, custom resolution is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsFreeSyncChanged()) - { - std::cout << "Display " << displayName << "Get sync event, free sync is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsGPUScalingChanged()) - { - std::cout << "Display " << displayName << "Get sync event, GPU scaling is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsHDCPChanged()) - { - std::cout << "Display " << displayName << "Get sync event, HDCP is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsIntegerScalingChanged()) - { - std::cout << "Display " << displayName << "Get sync event, integer scaling is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsPixelFormatChanged()) - { - std::cout << "Display " << displayName << "Get sync event, pixel is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsScalingModeChanged()) - { - std::cout << "Display " << displayName << "Get sync event, scaling mode is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsVariBrightChanged()) - { - std::cout << "Display " << displayName << "Get sync event, vari bright is changed" << std::endl; - } - else if (pDisplaySettingsChangedEvent->IsVSRChanged()) - { - std::cout << "Display " << displayName << "Get sync event, VSR is changed" << std::endl; - } - - // Get IADLXDisplaySettingsChangedEvent1 interface - IADLXDisplaySettingsChangedEvent1Ptr pDisplaySettingChangedEvent1(pDisplaySettingsChangedEvent); - if (nullptr == pDisplaySettingChangedEvent1) - { - std::cout << "IADLXDisplaySettingsChangedEvent1 not supported" << std::endl; - } - else - { - if (pDisplaySettingChangedEvent1->IsDisplayBlankingChanged()) - { - std::cout << "Display " << displayName << "Get sync event, Display blanking is changed" << std::endl; - } - } - - // Get IADLXDisplaySettingsChangedEvent2 interface - IADLXDisplaySettingsChangedEvent2Ptr pDisplaySettingChangedEvent2(pDisplaySettingsChangedEvent); - if (nullptr == pDisplaySettingChangedEvent2) - { - std::cout << "IADLXDisplaySettingsChangedEvent2 not supported" << std::endl; - } - else - { - if (pDisplaySettingChangedEvent2->IsDisplayConnectivityExperienceChanged()) - { - std::cout << "Display " << displayName << "Get sync event, Display connectivity experience is changed" << std::endl; - } - } - } - SetEvent(displaySettingsEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification. - return true; - } -}; - -class CallBackDisplay3DLUTChanged : public IADLXDisplay3DLUTChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnDisplay3DLUTChanged(IADLXDisplay3DLUTChangedEvent* pDisplay3DLUTChangedEvent) override - { - ADLX_SYNC_ORIGIN origin = pDisplay3DLUTChangedEvent->GetOrigin(); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - IADLXDisplayPtr display; - pDisplay3DLUTChangedEvent->GetDisplay(&display); - char displayName[128] = "Unknown"; - DisplayUniqueName(display, displayName); - if (pDisplay3DLUTChangedEvent->IsSCEChanged()) - { - std::cout << "Display " << displayName << " Get sync event, SCE is changed" << std::endl; - } - else if (pDisplay3DLUTChangedEvent->IsCustom3DLUTChanged()) - { - std::cout << "Display " << displayName << " Get sync event, custom 3D LUT is changed" << std::endl; - } - } - SetEvent(display3DLUTEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification - return true; - } -}; - -// Wait for exit with error message -void QuitWait(adlx_bool* loopFlag) -{ - while (true) - { - // Non-blocking checking if the I/O cache has characters - if (_kbhit()) - { - char c; - if ((c = getchar()) == 'q' || c == 'Q') - { - *loopFlag = false; - SetEvent(quitEvent); - break; - } - } - Sleep(100); - } -} - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - displaySettingsEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - display3DLUTEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - // Create quit event - quitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - // Create event array - HANDLE eventArray[] = { displaySettingsEvent, display3DLUTEvent, quitEvent }; - - // Get display service - IADLXDisplayServicesPtr displayServices; - res = g_ADLXHelp.GetSystemServices()->GetDisplaysServices(&displayServices); - - if (ADLX_SUCCEEDED(res)) - { - // Get Change handle - IADLXDisplayChangedHandlingPtr changeHandle; - res = displayServices->GetDisplayChangedHandling(&changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - IADLXDisplaySettingsChangedListener *displaySettingsChangedCallBack = new CallBackDisplaySettingsChanged; - IADLXDisplay3DLUTChangedListener* display3DLUTChangedCallBack = new CallBackDisplay3DLUTChanged; - - // Add call back - changeHandle->AddDisplaySettingsEventListener(displaySettingsChangedCallBack); - changeHandle->AddDisplay3DLUTEventListener(display3DLUTChangedCallBack); - - // Create a thread to check quit event - bool loopFlag = true; - std::thread t{ QuitWait, &loopFlag}; - - std::cout << "\nWaiting for display change event... Press Q/q to quit\n" << std::endl; - while (true) - { - // Wait for change event or request to quit - DWORD waitRet = WaitForMultipleObjects(3, eventArray, FALSE, INFINITE); - if (!loopFlag) - { - if (t.joinable()) - { - t.join(); - } - break; - } - } - - // Remove call back - changeHandle->RemoveDisplaySettingsEventListener(displaySettingsChangedCallBack); - changeHandle->RemoveDisplay3DLUTEventListener(display3DLUTChangedCallBack); - - // Delete call back - delete displaySettingsChangedCallBack; - delete display3DLUTChangedCallBack; - displaySettingsChangedCallBack = nullptr; - display3DLUTChangedCallBack = nullptr; - } - } - else - { - std::cout << "Failed to get the Display Services" << std::endl; - } - } - else - { - std::cout << "ADLX initialization failed" << std::endl; - return 0; - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (displaySettingsEvent) - CloseHandle(displaySettingsEvent); - if (display3DLUTEvent) - CloseHandle(display3DLUTEvent); - if (quitEvent) - CloseHandle(quitEvent); - - // Pause to see the print out - system("pause"); - - return 0; -} - -void DisplayUniqueName(IADLXDisplayPtr display, char* uniqueName) -{ - if (nullptr != display && nullptr != uniqueName) - { - const char* gpuName = nullptr; - display->Name(&gpuName); - adlx_size id; - display->UniqueId(&id); - sprintf_s(uniqueName, 128, "name:%s, id:%zu", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt deleted file mode 100644 index e4d6bdc..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncGPUTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncGPUTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html deleted file mode 100644 index 0fb031f..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in GPU tuning using ADLX.
- To receive the event, another application must be used to change these settings, such as the GPUAutoTuning. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.cpp b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.cpp deleted file mode 100644 index 1873421..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncGPUTuning/mainSyncGPUTuning.cpp +++ /dev/null @@ -1,167 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncGPUTuning.cpp -/// \brief Demonstrates how to receive notifications of changes in GPU tuning settings using ADLX. To receive the event, another application (such as GPUAutoTuning) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IGPUTuning1.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Block event to verify call back -HANDLE blockEvent = nullptr; - -// Get the GPU unique name -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName); - -// Call back to handle changed events -class CallBackGPUTuningChanged : public IADLXGPUTuningChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnGPUTuningChanged(IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) override - { - IADLXGPUTuningChangedEvent1* pGPUTuningChangedEvent1 = nullptr; - pGPUTuningChangedEvent->QueryInterface(L"IADLXGPUTuningChangedEvent1", reinterpret_cast(&pGPUTuningChangedEvent1)); - ADLX_SYNC_ORIGIN origin = pGPUTuningChangedEvent->GetOrigin(); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - // Get GPU - IADLXGPUPtr gpu; - pGPUTuningChangedEvent->GetGPU(&gpu); - char uniqueName[128] = "Unknown"; - GPUUniqueName(gpu, uniqueName); - std::cout << "GPU: " << uniqueName << "Get sync event, update required" << std::endl; - - if (pGPUTuningChangedEvent->IsAutomaticTuningChanged()) - { - std::cout << "\tAutomaticTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent->IsPresetTuningChanged()) - { - std::cout << "\tPresetTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent->IsManualGPUCLKTuningChanged()) - { - std::cout << "\tManualGPUCLKTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent->IsManualVRAMTuningChanged()) - { - std::cout << "\tManualVRAMTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent->IsManualFanTuningChanged()) - { - std::cout << "\tManualFanTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent->IsManualPowerTuningChanged()) - { - std::cout << "\tManualPowerTuningChanged" << std::endl; - } - else if (pGPUTuningChangedEvent1->IsSmartAccessMemoryChanged()) - { - std::cout << "\tSmartAccessMemoryChanged" << std::endl; - } - } - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification. - return true; - } -}; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get GPUTuning service - IADLXGPUTuningServicesPtr gpuTuningSrv; - res = g_ADLXHelp.GetSystemServices()->GetGPUTuningServices(&gpuTuningSrv); - - if (ADLX_SUCCEEDED(res)) - { - // Get Change handle - IADLXGPUTuningChangedHandlingPtr changeHandle; - res = gpuTuningSrv->GetGPUTuningChangedHandling(&changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - IADLXGPUTuningChangedListener* call = new CallBackGPUTuningChanged; - - // Add call back - changeHandle->AddGPUTuningEventListener(call); - - // Waits for GPUTuning sync with a timeout of 60s - while (true) - { - std::cout << "\nWaiting for GPUTuning change event (60s)...\n"; - DWORD waitRet = WaitForSingleObject(blockEvent, 60000); - if (waitRet == WAIT_TIMEOUT) - { - std::cout << "=== Wait timeout(60s), ready to quit ===\n"; - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->RemoveGPUTuningEventListener(call); - - // Delete call back - delete call; - call = nullptr; - } - } - else - { - std::cout << "Failed to get GPUTuning Services" << std::endl; - } - } - else - { - std::cout << "Failed to init ADLX" << std::endl; - return 0; - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause for user see the print out - system("pause"); - - return 0; -} - -void GPUUniqueName(IADLXGPUPtr gpu, char* uniqueName) -{ - if (nullptr != gpu && nullptr != uniqueName) - { - const char* gpuName = nullptr; - gpu->Name(&gpuName); - adlx_int id; - gpu->UniqueId(&id); - sprintf_s(uniqueName, 128, "name:%s, id:%d", gpuName, id); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt deleted file mode 100644 index cb3cbeb..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "SyncPowerTuning") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "mainSyncPowerTuning.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - -add_executable (${project} ${all_file}) - diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html deleted file mode 100644 index 2bbdedd..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/ReadMe.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Demonstrates how to receive notifications of changes in power tuning using ADLX.
- To receive the event, another application must be used to change these settings, such as the SmartShiftMax. -

-

Sample Path

-

/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.cpp b/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.cpp deleted file mode 100644 index 94756cf..0000000 --- a/vendor/adlx/Samples/CPP/ReceivingEventsNotifications/SyncPowerTuning/mainSyncPowerTuning.cpp +++ /dev/null @@ -1,127 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainSyncPowerTuning.cpp -/// \brief Demonstrates how to receive notifications of changes in power tuning settings using ADLX. To receive the event, another application (such as SmartShiftMax) must be used to change these settings. - -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/IPowerTuning.h" -#include "SDK/Include/ISystem1.h" -#include -#include - -// Use ADLX namespace -using namespace adlx; - -// ADLXHelper instance -// No outstanding interfaces from ADLX must exist when ADLX is destroyed. -// Use global variables to ensure validity of the interface. -static ADLXHelper g_ADLXHelp; - -// Block event to verify call back -HANDLE blockEvent = nullptr; - -// Call back to handle changed events -class CallBackPowerTuningChanged : public IADLXPowerTuningChangedListener -{ -public: - adlx_bool ADLX_STD_CALL OnPowerTuningChanged(IADLXPowerTuningChangedEvent* pPowerTuningChangedEvent) - { - ADLX_SYNC_ORIGIN origin = pPowerTuningChangedEvent->GetOrigin(); - if (origin == SYNC_ORIGIN_EXTERNAL) - { - if (pPowerTuningChangedEvent->IsSmartShiftMaxChanged()) - { - std::cout << "\tSmartShiftMaxChanged" << std::endl; - } - } - SetEvent(blockEvent); - - // Return true for ADLX to continue notifying the next listener, or false to stop notification. - return true; - } -}; - -int main() -{ - // Define return code - ADLX_RESULT res = ADLX_FAIL; - - // Initialize ADLX - res = g_ADLXHelp.Initialize(); - if (ADLX_SUCCEEDED(res)) - { - // Create block event - blockEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - - // Get IADLXSystem1 interface via IADLXSystem::QueryInterface - IADLXSystem1Ptr system1; - res = g_ADLXHelp.GetSystemServices()->QueryInterface(IADLXSystem1::IID(), reinterpret_cast(&system1)); - if (ADLX_SUCCEEDED(res)) - { - // Get power tuning service - IADLXPowerTuningServicesPtr powerTuningService; - res = system1->GetPowerTuningServices(&powerTuningService); - if (ADLX_SUCCEEDED(res)) - { - // Get Change handle - IADLXPowerTuningChangedHandlingPtr changeHandle; - res = powerTuningService->GetPowerTuningChangedHandling(&changeHandle); - if (ADLX_SUCCEEDED(res)) - { - // Create call back - IADLXPowerTuningChangedListener* call = new CallBackPowerTuningChanged; - - // Add call back - changeHandle->AddPowerTuningEventListener(call); - - // Waits for power tuning sync with a timeout of 60s - while (true) - { - std::cout << "\nWaiting for power tuning change event (60s)...\n"; - DWORD waitRet = WaitForSingleObject(blockEvent, 60000); - if (waitRet == WAIT_TIMEOUT) - { - std::cout << "=== Wait timeout(60s), ready to quit ===\n"; - break; - } - ResetEvent(blockEvent); - } - - // Remove call back - changeHandle->RemovePowerTuningEventListener(call); - - // Delete call back - delete call; - call = nullptr; - } - else - std::cout << "Failed to get power tuning changed handling interface" << std::endl; - } - else - std::cout << "Failed to get power tuning service" << std::endl; - } - else - std::cout << "Failed to get IADLXSystem1" << std::endl; - } - else - { - std::cout << "Failed to init ADLX" << std::endl; - return 0; - } - - // Destroy ADLX - res = g_ADLXHelp.Terminate(); - std::cout << "Destroy ADLX res: " << res << std::endl; - - // Close event - if (blockEvent) - CloseHandle(blockEvent); - - // Pause for user see the print out - system("pause"); - - return 0; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/CMakeLists.txt b/vendor/adlx/Samples/CPP/ServiceCall/GPUService/CMakeLists.txt deleted file mode 100644 index ac3aeae..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -# -#------------------------------------------------------------------------------------------------- -cmake_minimum_required (VERSION 3.8) - -set(project "GPUService") - -project(${project}) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../build/bin/) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../../) - -set(all_file - "GlobalDefs.h" - "mainGPUService.cpp" - "ShareMemory.cpp" - "UserProcess.cpp" - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/../../../../SDK/platform/Windows/WinAPIs.cpp - ) - - add_executable (${project} ${all_file}) diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/GlobalDefs.h b/vendor/adlx/Samples/CPP/ServiceCall/GPUService/GlobalDefs.h deleted file mode 100644 index a8eda8c..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/GlobalDefs.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef _GLOBAL_DEFS_H -#define _GLOBAL_DEFS_H -#pragma once - -#include - -#define ADLX_FUNCTION_NAME L"GPUInfo" -#define ADXL_EVENT_NAME L"Global\\EventADLX_%s" -#define ADXL_SHAREMENORY_NAME L"Global\\ShareMemoryADLX_%s" -#define SHARE_MEMORY_MAX_SIZE (32 * 4 * 1024) - -#define MAX_RESULT_LEN 512 - -#define MAX_DEBUG_STR_LEN 1024 - -void XTrace (wchar_t* lpszFormat, ...); - -class ShareMem -{ -public: - ShareMem (); - ~ShareMem (); - - bool Create (ULONG filesize, PCWCHAR filename); - - bool WriteBuffer (PVOID buffer, ULONG size); - bool ReadBuffer (PVOID buffer, ULONG size); - -private: - HANDLE file_; - PVOID buffer_; - ULONG size_; -}; - -typedef BOOL (*AdlxExecutor) (WCHAR* resultBuffer); - -struct Messager -{ - WCHAR* adlxEntityName; - AdlxExecutor exector; -}; - -struct ResponseData -{ - int size; - WCHAR executedResults[MAX_RESULT_LEN]; -}; - -#endif //_GLOBAL_DEFS_H \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/ShareMemory.cpp b/vendor/adlx/Samples/CPP/ServiceCall/GPUService/ShareMemory.cpp deleted file mode 100644 index 7f6084a..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/ShareMemory.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file ShareMemory.cpp -/// \brief This document demonstrate how to use shared memory. - -#include -#include "GlobalDefs.h" - -// Constructor -ShareMem::ShareMem () - : file_ (NULL), buffer_ (NULL), size_ (0) -{ -} - -// Destructor -ShareMem::~ShareMem () -{ - if (file_) - { - CloseHandle (file_); - file_ = NULL; - } - - if (buffer_) - { - UnmapViewOfFile (buffer_); - buffer_ = NULL; - } -} - -// Create shared memory -bool ShareMem::Create (ULONG filesize, PCWCHAR filename) -{ - DWORD errCode = 0; - - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - size_ = filesize; - - // After setting this permission, the general application does not have administrator privileges - // In order to start to open mapping file Otherwise Access Denny - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - // Create a mapped file - file_ = CreateFileMappingW (INVALID_HANDLE_VALUE, &sa, PAGE_READWRITE, 0, filesize, filename); - if (file_ == NULL) - { - XTrace (L"ADLX Call Service: ShareMem::Create: CreateFileMappingW, error: %d\n", GetLastError()); - return false; - } - - // In the external function can be directly manipulate the variables to get the memory-mapped file. - if (buffer_) - { - UnmapViewOfFile (buffer_); - buffer_ = NULL; - } - - buffer_ = MapViewOfFile (file_, FILE_MAP_ALL_ACCESS, 0, 0, filesize); - if (buffer_ == NULL) - { - XTrace (L"ADLX Call Service: ShareMem::Create: MapViewOfFile, error: %d\n", GetLastError ()); - return false; - } - - XTrace (L"ADLX Call Service: ShareMem::Create: OK\n"); - - return true; -} - -// Write data to shared memory -bool ShareMem::WriteBuffer (PVOID buffer, ULONG size) -{ - if (buffer && size > 0) - { - memcpy_s (buffer_, size, buffer, size); - return true; - } - - return false; -} - -// Read data from shared memory -bool ShareMem::ReadBuffer (PVOID buffer, ULONG size) -{ - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - bool ret = false; - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - if (file_) - { - if (buffer_) - { - memcpy_s (buffer, size, buffer_, size); - ret = true; - } - } - - return ret; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/UserProcess.cpp b/vendor/adlx/Samples/CPP/ServiceCall/GPUService/UserProcess.cpp deleted file mode 100644 index d841153..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/UserProcess.cpp +++ /dev/null @@ -1,267 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file UserProcess.cpp -/// \brief This document demonstrate how to create user process. - -#include -#include -#include -#include "GlobalDefs.h" - -// Get process id -static DWORD GetProcessIdOfWinLogon (DWORD id); - -// Get token by name -static BOOL GetTokenByName (HANDLE& hToken); - -// Invoke process -static BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd); - -// The thread to create user process -static DWORD WINAPI CreateUserProcess (LPVOID lpParam); - -DWORD GetProcessIdOfWinLogon (DWORD id) -{ - HANDLE hSnap = ::CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0); - if (hSnap == INVALID_HANDLE_VALUE) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'CreateToolhelp32Snapshot' failed."); - return 0; - } - - PROCESSENTRY32 ProcEntry = { 0 }; - ProcEntry.dwSize = sizeof (PROCESSENTRY32); - - if (!::Process32First (hSnap, &ProcEntry)) - { - ::CloseHandle (hSnap); - XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'Process32First' failed."); - return 0; - } - - DWORD processId = 0; - for (;;) - { - if (_tcscmp (ProcEntry.szExeFile, L"winlogon.exe") == 0) - { - DWORD logonSessionId = 0; - if (!::ProcessIdToSessionId (ProcEntry.th32ProcessID, &logonSessionId)) - continue; - - if (logonSessionId == id) - { - processId = ProcEntry.th32ProcessID; - break; - } - } - - if (!Process32Next (hSnap, &ProcEntry)) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetProcessIdOfWinLogon: 'Process32Next' failed."); - break; - } - } - ::CloseHandle (hSnap); - - return processId; -} - -BOOL GetTokenByName (HANDLE& hToken) -{ - BOOL ret = FALSE; - - typedef BOOL (WINAPI* LPWTSQUERYUSERTOKEN)(DWORD, PHANDLE); - LPWTSQUERYUSERTOKEN fWTSQueryUserTokenPtr = NULL; - - HMODULE hLib = NULL; - - do - { - DWORD sessionId = WTSGetActiveConsoleSessionId (); - if (sessionId == 0xFFFFFFFF) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName:WTSGetActiveConsoleSessionId: failed."); - break; - } - - if (fWTSQueryUserTokenPtr == NULL) - { - if (hLib == NULL) - hLib = LoadLibrary (L"WtsApi32.dll"); - - if (hLib) - fWTSQueryUserTokenPtr = (LPWTSQUERYUSERTOKEN)GetProcAddress (hLib, "WTSQueryUserToken"); - - if (!fWTSQueryUserTokenPtr) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: Get symbol 'WTSQueryUserToken' failed."); - break; - } - } - - if (!fWTSQueryUserTokenPtr (sessionId, &hToken)) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'fWTSQueryUserTokenPtr' failed, error code: %d.", GetLastError()); - break; - } - - DWORD winLogonProcessId = GetProcessIdOfWinLogon (sessionId); - HANDLE hWinlogon = ::OpenProcess (MAXIMUM_ALLOWED, FALSE, winLogonProcessId); - if (hWinlogon == NULL) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'OpenProcess' failed."); - break; - } - - BOOL bResult = ::OpenProcessToken (hWinlogon, TOKEN_ALL_ACCESS, &hToken); - ::CloseHandle (hWinlogon); - - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'OpenProcessToken' failed."); - break; - } - - HANDLE hTokenDup = NULL; - bResult = ::DuplicateTokenEx (hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup); - ::CloseHandle (hToken); - hToken = NULL; - - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'DuplicateTokenEx' failed."); - break; - } - - bResult = ::SetTokenInformation (hTokenDup, TokenSessionId, (void*)&sessionId, sizeof (DWORD)); - if (!bResult) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::GetTokenByName: 'SetTokenInformation' failed."); - break; - } - - TOKEN_PRIVILEGES TokenPriv = { 0 }; - ::LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &TokenPriv.Privileges[0].Luid); - - TokenPriv.PrivilegeCount = 0; - TokenPriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - ::AdjustTokenPrivileges (hTokenDup, FALSE, &TokenPriv, sizeof (TokenPriv), NULL, NULL); - - hToken = hTokenDup; - ret = true; - - } while (0); - - if (hLib) - FreeLibrary (hLib); - - return ret; -} - -BOOL InvokeProcess (LPCWSTR image, LPWSTR cmd) -{ - if (image == NULL || cmd == NULL) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: parameter(s) invalid."); - return FALSE; - } - - HANDLE hToken = NULL; - if (!GetTokenByName (hToken) || hToken == NULL) // "SVCHOST.EXE" - { - XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: GetTokenByName failed."); - return FALSE; - } - - XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'GetTokenByName', hToken:%d.", hToken); - XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'GetTokenByName', image:%s, cmd:%s", image, cmd); - - STARTUPINFOW si; - ZeroMemory (&si, sizeof (STARTUPINFOW)); - si.cb = sizeof (STARTUPINFOW); - si.lpDesktop = L"winsta0\\default"; - - PROCESS_INFORMATION pi; - BOOL ret = CreateProcessAsUserW (hToken, image, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi); - if (!ret) - { - XTrace (L"ADLX Call Service: InvokeUserProcess::InvokeProcess: 'CreateProcessAsUserW' failed, error code:%d.", GetLastError()); - return FALSE; - } - - return ret; -} - -DWORD WINAPI CreateUserProcess (LPVOID lpParam) -{ - if (lpParam == NULL) - return FALSE; - - wchar_t imagePath[MAX_RESULT_LEN] = { 0 }; - GetModuleFileNameW (NULL, imagePath, MAX_RESULT_LEN); - - InvokeProcess (imagePath, (WCHAR*)lpParam); - - return TRUE; -} - -BOOL GetUserProcessData (Messager* messager, ResponseData* responseData) -{ - if (messager == NULL) - { - XTrace (L"ADLX Call Service: GetUserProcessData: invalid messager"); - return FALSE; - } - - if (responseData == NULL) - { - XTrace (L"ADLX Call Service: GetUserProcessData: NULL responseData"); - return FALSE; - } - - WCHAR eventPath[MAX_PATH] = { 0 }; - WCHAR shmPath[MAX_PATH] = { 0 }; - - swprintf_s (eventPath, ADXL_EVENT_NAME, messager->adlxEntityName); - swprintf_s (shmPath, ADXL_SHAREMENORY_NAME, messager->adlxEntityName); - - SECURITY_DESCRIPTOR sd; - SECURITY_ATTRIBUTES sa; - - InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE); - - sa.nLength = sizeof (SECURITY_ATTRIBUTES); - sa.bInheritHandle = TRUE; - sa.lpSecurityDescriptor = &sd; - - HANDLE finishEvent = CreateEventW (&sa, FALSE, FALSE, eventPath); - - XTrace (L"ADLX Call Service: Main: GetUserProcessData, evt: %s, shmpath: %s\n", eventPath, shmPath); - - ShareMem shmf; - if (shmf.Create (SHARE_MEMORY_MAX_SIZE, shmPath)) - { - if (shmf.WriteBuffer ((PVOID)messager, sizeof (Messager))) - { - // Create user process to call ADLX function - DWORD threadId = 0; - CreateThread (NULL, 0, CreateUserProcess, (LPVOID)messager->adlxEntityName, 0, &threadId); - // Wait user process to write result to shared memory - if (WAIT_TIMEOUT == WaitForSingleObject (finishEvent, INFINITE)) - { - return FALSE; - } - // Get template structure from shared memory - if (shmf.ReadBuffer ((PVOID)responseData, sizeof (ResponseData))) - { - XTrace (L"ADLX Call Service: Main: GetUserProcessData: Readback result: %s", responseData->executedResults); - return TRUE; - } - } - } - return FALSE; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/mainGPUService.cpp b/vendor/adlx/Samples/CPP/ServiceCall/GPUService/mainGPUService.cpp deleted file mode 100644 index b165495..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUService/mainGPUService.cpp +++ /dev/null @@ -1,449 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -/// \file mainGPUService.cpp -/// \brief This document demonstrate how to use windows service call to get GPU information. - -#pragma warning(suppress: 6248) - -#include -#include -#include -#include "SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "SDK/Include/ISystem.h" -#include "GlobalDefs.h" -#include -#include - -void XTrace (wchar_t* lpszFormat, ...) -{ - va_list args; - va_start (args, lpszFormat); - int nBuf; - WCHAR szBuffer[MAX_DEBUG_STR_LEN]; - nBuf = _vsnwprintf_s (szBuffer, MAX_DEBUG_STR_LEN, _TRUNCATE, lpszFormat, args); - ::OutputDebugStringW (szBuffer); - va_end (args); -} - -// Use adlx namespace -using namespace adlx; - -// ADLXHelper instance. -// No outstanding interfaces from ADLX must exist when ADLX destory. -// So we use global variables to ensure the valid of the interface. -static ADLXHelper g_ADLXHelp; - -// Service name -#define ADLX_SERVICE_NAME L"ADLX GPU Service" - -// Global variables for service routine -SERVICE_STATUS_HANDLE g_StatusHandle = NULL; -SERVICE_STATUS g_ServiceStatus = { 0 }; -HANDLE g_ServiceStopEvent = INVALID_HANDLE_VALUE; - -// Service routine -VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv); -VOID WINAPI ServiceCtrlHandler (DWORD); -DWORD WINAPI ServiceWorkerThread (LPVOID lpParam); - -// Install/unistall this service -// N.B: Need admin permission -// User can also install/unistall this service by windows command line -// Usage: SC CREATE "ADLX GPU Service" "GPUService.exe" -// SC DELETE "ADLX GPU Service" -void InstallService (); -void RemoveService (); - -// Invoker GPU information with ADLX in user process by share memory communication -extern BOOL GetUserProcessData (Messager* messager, ResponseData* responseData); - -// Convert string to wstring -void StrToWstr (std::string& sStr, std::wstring& wStr) -{ - wchar_t* buf = new wchar_t[sStr.size () + 1]; - size_t num_chars; - mbstowcs_s (&num_chars, buf, sStr.size () + 1, sStr.c_str (), sStr.size () + 1); - wStr = buf; - delete[] buf; -} - -// ADLX executor to be run in user process -// Retrieve the first available GPU vender id and name -BOOL GetAdlxGpuInfo (WCHAR* resultBuffer) -{ - if (resultBuffer == NULL) - { - XTrace (L"ADLX Call Service: GetAdlxGpuInfo: invalid argument"); - return FALSE; - } - - if (ADLX_FAILED (g_ADLXHelp.Initialize ())) - { - XTrace (L"ADLX Call Service: GetAdlxGpuInfo: ADLX helper initalize failed."); - return FALSE; - } - - IADLXGPUListPtr gpus; - ADLX_RESULT res = g_ADLXHelp.GetSystemServices ()->GetGPUs (&gpus); - if (!gpus->Empty () && ADLX_SUCCEEDED (res)) - { - IADLXGPUPtr gpuInfo; - adlx_uint index = 0; - res = gpus->At (index, &gpuInfo); - - if (ADLX_SUCCEEDED (res)) - { - const char* vendorId = nullptr; - res = gpuInfo->VendorId (&vendorId); - if (ADLX_SUCCEEDED (res)) - { - swprintf_s (resultBuffer, MAX_RESULT_LEN, L"VenderId=%hs ", vendorId); - } - - const char* gpuName = nullptr; - res = gpuInfo->Name (&gpuName); - if (ADLX_SUCCEEDED (res)) - { - swprintf_s (resultBuffer + wcslen (resultBuffer), MAX_RESULT_LEN - wcslen (resultBuffer), L"GpuName=%hs", gpuName); - } - - return TRUE; - } - } - - return FALSE; -} - -// Get and dump GPU vender id and name -void ShowGPUInfo () -{ - ResponseData result; - Messager oneMessager; - oneMessager.adlxEntityName = ADLX_FUNCTION_NAME; - oneMessager.exector = GetAdlxGpuInfo; - - if (GetUserProcessData (&oneMessager, &result)) - { - // Dump results - XTrace (L"ADLX Call Service:ShowGPUInfo: %s", result.executedResults); - } -} - -// Usage -void Usage () -{ - std::cout << std::endl; - std::cout << "\tThis exe is a service executable, you can install/unistall it with:" << std::endl; - std::cout << "\t SC CREATE 'ADLX GPU Service' 'GPUService.exe'" << std::endl; - std::cout << "\t SC DELETE 'ADLX GPU Service'" << std::endl; - std::cout << std::endl; - std::cout << "\tOr use the executable itself to install/uninstall:" << std::endl; - std::cout << "\t GPUService.exe -install or GPUService.exe /install" << std::endl; - std::cout << "\t GPUService.exe -remove or GPUService.exe /remove" << std::endl; - std::cout << std::endl; - std::cout << "\t Use GPUService.exe -help, GPUService.exe /help to show this usage, or GPUService.exe ?" << std::endl; - std::cout << std::endl; -} - -int wmain (int argc, wchar_t* argv[]) -{ - XTrace (L"ADLX Call Service: Main: Entry"); - XTrace (L"ADLX Call Service: Main: Args:%s", GetCommandLineW ()); - - if ((argc > 1)) - { - if (((*argv[1] == '-') || (*argv[1] == '/'))) - { - if (_wcsicmp (L"install", argv[1] + 1) == 0) - { - InstallService (); - return 0; - } - else if (_wcsicmp (L"remove", argv[1] + 1) == 0) - { - RemoveService (); - return 0; - } - else if (_wcsicmp (L"help", argv[1] + 1) == 0) - { - Usage (); - return 0; - } - } - else if (_wcsicmp (L"?", argv[1]) == 0) - { - Usage (); - return 0; - } - } - else if (_wcsicmp (L"GPUInfo", GetCommandLineW ()) == 0) - { - WCHAR eventPath[MAX_PATH] = { 0 }; - WCHAR shmPath[MAX_PATH] = { 0 }; - - swprintf_s (eventPath, ADXL_EVENT_NAME, ADLX_FUNCTION_NAME); - swprintf_s (shmPath, ADXL_SHAREMENORY_NAME, ADLX_FUNCTION_NAME); - - XTrace (L"ADLX Call Service: Main: GPUInfo evt: %s, shmpath: %s\n", eventPath, shmPath); - - ShareMem shmf; - if (shmf.Create (SHARE_MEMORY_MAX_SIZE, shmPath)) - { - Messager messager; - if (shmf.ReadBuffer ((PVOID)&messager, sizeof (Messager))) - { - ResponseData result; - if (messager.exector (result.executedResults)) - { - result.size = (int)wcslen (result.executedResults); - shmf.WriteBuffer ((PVOID*)&result, (ULONG)sizeof (result)); - - HANDLE hEvent = OpenEventW (EVENT_ALL_ACCESS, FALSE, eventPath); - if (hEvent) - { - SetEvent (hEvent); - CloseHandle (hEvent); - XTrace (L"ADLX Call Service: Main: GPUInfo, user app finished."); - } - } - } - } - - return 0; - } - - SERVICE_TABLE_ENTRYW ServiceTable[] = - { - { ADLX_SERVICE_NAME, (LPSERVICE_MAIN_FUNCTIONW)ServiceMain }, - { NULL, NULL } - }; - - if (StartServiceCtrlDispatcherW (ServiceTable) == FALSE) - { - XTrace (L"ADLX Call Service: Main: StartServiceCtrlDispatcher returned error."); - return GetLastError (); - } - - XTrace (L"ADLX Call Service: Main: Exit"); - return 0; -} - -VOID WINAPI ServiceMain (DWORD argc, LPTSTR* argv) -{ - DWORD Status = E_FAIL; - - XTrace (L"ADLX Call Service: ServiceMain: Entry"); - - g_StatusHandle = RegisterServiceCtrlHandlerW (ADLX_SERVICE_NAME, ServiceCtrlHandler); - if (g_StatusHandle == NULL) - { - XTrace (L"ADLX Call Service: ServiceMain: RegisterServiceCtrlHandler returned error"); - goto EXIT; - } - - // Tell the service controller we are starting - ZeroMemory (&g_ServiceStatus, sizeof (g_ServiceStatus)); - g_ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS; - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_START_PENDING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwServiceSpecificExitCode = 0; - g_ServiceStatus.dwCheckPoint = 0; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - - /* - * Perform tasks neccesary to start the service here - */ - XTrace (L"ADLX Call Service: ServiceMain: Performing Service Start Operations"); - - // Create stop event to wait on later. - g_ServiceStopEvent = CreateEvent (NULL, TRUE, FALSE, NULL); - if (g_ServiceStopEvent == NULL) - { - XTrace (L"ADLX Call Service: ServiceMain: CreateEvent(g_ServiceStopEvent) returned error"); - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOPPED; - g_ServiceStatus.dwWin32ExitCode = GetLastError (); - g_ServiceStatus.dwCheckPoint = 1; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - goto EXIT; - } - - // Tell the service controller we are started - g_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP; - g_ServiceStatus.dwCurrentState = SERVICE_RUNNING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 0; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - - // Start the thread that will perform the main task of the service - HANDLE hThread = CreateThread (NULL, 0, ServiceWorkerThread, NULL, 0, NULL); - - XTrace (L"ADLX Call Service: ServiceMain: Waiting for Worker Thread to complete"); - - // Wait until our worker thread exits effectively signaling that the service needs to stop - WaitForSingleObject (hThread, INFINITE); - - XTrace (L"ADLX Call Service: ServiceMain: Worker Thread Stop Event signaled"); - - /* - * Perform any cleanup tasks - */ - XTrace (L"ADLX Call Service: ServiceMain: Performing Cleanup Operations"); - - CloseHandle (g_ServiceStopEvent); - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOPPED; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 3; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceMain: SetServiceStatus returned error"); - } - -EXIT: - XTrace (L"ADLX Call Service: ServiceMain: Exit"); - - return; -} - -VOID WINAPI ServiceCtrlHandler (DWORD CtrlCode) -{ - XTrace (L"ADLX Call Service: ServiceCtrlHandler: Entry"); - - switch (CtrlCode) - { - case SERVICE_CONTROL_STOP: - - XTrace (L"ADLX Call Service: ServiceCtrlHandler: SERVICE_CONTROL_STOP Request"); - - if (g_ServiceStatus.dwCurrentState != SERVICE_RUNNING) - break; - - /* - * Perform tasks neccesary to stop the service here - */ - - g_ServiceStatus.dwControlsAccepted = 0; - g_ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; - g_ServiceStatus.dwWin32ExitCode = 0; - g_ServiceStatus.dwCheckPoint = 4; - - if (SetServiceStatus (g_StatusHandle, &g_ServiceStatus) == FALSE) - { - XTrace (L"ADLX Call Service: ServiceCtrlHandler: SetServiceStatus returned error"); - } - - // This will signal the worker thread to shut down - SetEvent (g_ServiceStopEvent); - break; - - default: - break; - } - - XTrace (L"ADLX Call Service: ServiceCtrlHandler: Exit"); -} - -DWORD WINAPI ServiceWorkerThread (LPVOID lpParam) -{ - XTrace (L"ADLX Call Service: ServiceWorkerThread: Entry"); - - // Periodically check if the service has been requested to stop - while (WaitForSingleObject (g_ServiceStopEvent, 0) != WAIT_OBJECT_0) - { - ShowGPUInfo (); - Sleep (3 * 1000); - } - - XTrace (L"ADLX Call Service: ServiceWorkerThread: Exit"); - - return ERROR_SUCCESS; -} - -void InstallService () -{ - WCHAR path[512] = { 0 }; - if (GetModuleFileNameW (NULL, path, 512) == 0) - { - XTrace (L"ADLX Call Service: InstallService: Cannot get file path."); - return; - } - - SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE); - if (serviceManager) - { - SC_HANDLE serviceHandle = CreateServiceW ( - serviceManager, ADLX_SERVICE_NAME, ADLX_SERVICE_NAME, SERVICE_QUERY_STATUS, - SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS, - SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path, - NULL, NULL, L"", NULL, NULL); - - if (serviceHandle) - { - CloseServiceHandle (serviceHandle); - } - else - { - XTrace (L"ADLX Call Service: InstallService: Cannot create service."); - } - - CloseServiceHandle (serviceManager); - } - else - { - XTrace (L"ADLX Call Service: InstallService: Cannot open service."); - } -} - -void RemoveService () -{ - SC_HANDLE serviceManager = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT); - if (!serviceManager) - { - XTrace (L"ADLX Call Service: RemoveService: Cannot open service manager."); - return; - } - - SC_HANDLE serviceHandle = OpenServiceW (serviceManager, ADLX_SERVICE_NAME, DELETE | SERVICE_STOP); - if (!serviceHandle) - { - CloseServiceHandle (serviceManager); - XTrace (L"ADLX Call Service: RemoveService: Cannot open service."); - return; - } - - if (!DeleteService (serviceHandle)) - { - CloseServiceHandle (serviceHandle); - CloseServiceHandle (serviceManager); - XTrace (L"ADLX Call Service: RemoveService: Delete service failed."); - return; - } - - XTrace (L"ADLX Call Service: RemoveService: Deleted service."); - - SERVICE_STATUS serviceStatus = { 0 }; - ControlService (serviceHandle, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&serviceStatus); - - CloseServiceHandle (serviceHandle); - CloseServiceHandle (serviceManager); -} \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/GPUServiceCall.md b/vendor/adlx/Samples/CPP/ServiceCall/GPUServiceCall.md deleted file mode 100644 index c3024a4..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/GPUServiceCall.md +++ /dev/null @@ -1,77 +0,0 @@ - -# Background - -User may encounter a situation where they cannot directly use ADLX -functionalities in windows service application. - -This documentation demonstrates how to call ADLX functionalities in -windows service call. - -We have the sample codes in -"ADLX\\Samples\\CPP\\ServiceCall\\GPUService" as CPP project or -"ADLX\\Samples\\C\\ServiceCall\\GPUService" as C project. They both -generate executable "GPUService.exe". - -# Usage - -This executable is run as service (if you run it as a normal application -it will abort with errors) - -## Install this service - -1) Open windows command line utility with administrator permission. - Switch directory to the executable's path, take my dev PC for - example: - -> "D:\\DevShared3\\Work\\Repo\\drivers\\drivers\\ADLX\\Samples\\C\\build\\bin\\Debug\\" - -2) Copy "ADLX.dll"(ADLX library binary) in this folder, then enter - "GPUService.exe -install: - -> ![](media/image1.png) - -3) Check if the service is installed: - -> Open windows' service settings by win+R with services.msc: -> -> ![Graphical user interface, text, application Description -> automatically generated](media/image2.png){width="3.075569772528434in" -> height="1.7870527121609798in"} -> -> Check service with name "ADLX GPU Service" -> -> ![](media/image3.png) - -## Uninstall "ADLX GPU Service" - -Open windows command line utility with administrator permission, enter -"GPUService.exe -remove" - -![](media/image4.png) - -The service is removed in OS. - -## Debug this service - -1. Start the service: - -![](media/image5.png) - -2. Run the debugging executable (compiled with debug configuration) - -Open Dbgview.exe (visual studio contains it by default) with -administrator mode to view the output of this service. By default, the -service runs a worker thread in backgound to output GPU vendor id and -name periodically with 3 seconds. - -3. Set Dbgview.exe (admin mode) with below options: - -![](media/image6.png) - -4. Check the service outputs (with "ADLX Call Service:" prefix): - -![](media/image7.png) diff --git a/vendor/adlx/Samples/CPP/ServiceCall/ReadMe.html b/vendor/adlx/Samples/CPP/ServiceCall/ReadMe.html deleted file mode 100644 index 4cdcc1f..0000000 --- a/vendor/adlx/Samples/CPP/ServiceCall/ReadMe.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - -

Background

-

User may encounter a situation where they cannot directly use ADLX functionalities in windows service application.

-

This documentation demonstrates how to call ADLX functionalities in windows service call.

-

We have the sample codes in “ADLX/Samples/CPP/ServiceCall/GPUService” as CPP project or “ADLX/Samples/C/ServiceCall/GPUService” as C project. They both generate executable “GPUService.exe”.

-

Usage

-

This executable is run as service (if you run it as a normal application it will abort with errors)

-

Install this service

-
    -
  1. Open windows command line utility with administrator permission. Switch directory to the executable’s path, take my dev PC for example:

    -
  2. -
-
-

“D:/DevShared3/Work/Repo/drivers/drivers/ADLX/Samples/CPP/build/bin/Debug/”

-
-
    -
  1. Copy “ADLX.dll”(ADLX library binary) in this folder, then enter “GPUService.exe -install:

  2. -
-
-

Text Description automatically generated

-
-
    -
  1. Check if the service is installed:

  2. -
-
-

Open windows’ service settings by win+R with services.msc:

-

Graphical user interface, text, application Description automatically generated

-

Check service with name “ADLX GPU Service”

-

-
-

Uninstall “ADLX GPU Service”

-

Open windows command line utility with administrator permission, enter “GPUService.exe -remove”

-

-

The service is removed in OS.

-

Debug this service

-
    -
  1. Start the service:

  2. -
-

Graphical user interface, application Description automatically generated

-
    -
  1. Run the debugging executable (compiled with debug configuration)

  2. -
-

Open Dbgview.exe (visual studio contains it by default) with administrator mode to view the output of this service. By default, the service runs a worker thread in backgound to output GPU vendor id and name periodically with 3 seconds.

-
    -
  1. Set Dbgview.exe (admin mode) with below options:

  2. -
-

Graphical user interface, text, application, email Description automatically generated

-
    -
  1. Check the service outputs (with “ADLX Call Service:”prefix):

  2. -
-

- - \ No newline at end of file diff --git a/vendor/adlx/Samples/CPP/ServiceCall/media/image1.png b/vendor/adlx/Samples/CPP/ServiceCall/media/image1.png deleted file mode 100644 index c945c18ed9d5316523a6c5de5179e0cd15216ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59823 zcmagFbx>RD7dBd@xVsaa06_~BYjLNzLveT4oECR?2*urt2WWAEI}|Hk+$9jm$2q_6 z-uvfWGnvf$PWJ3~XVzY8Jzc+<#uYvHqm|>BWoscnpN;+vhc!i=3YOix=3v|9)N$I+t0zc(E@f zFZD^&$N1>cGlxMQl80t(VI?KQ!~6f3jwQE_r^2Jp$_8XS3S9c_44i90ocEhN>pZo(9Ce zI}M868$Uw`o9vvE6)lVVZcshJgBRe*duw-XvL(SvIGLQ*Gx8gG;5F`@<;igIH%usw$!}Y@& zE+N6=%v3VXf$3~6Ei?vDp^>TN8ud)wiE`z<`+*l`ydgQhqu5su?T#7rJr^!fyW1x= z+pL!Ay%c>M<)N~8{?~nZsxddW`9!g7{j~oKUGmUa1R+9)(zis~voedf4T?YR7LHCF z@cLF4{A(A!yJY$5oH4e6_PkUCTOL^04WD&~R)1hV@d+l0V@Im%-ypYQToI@E8#fE; z89sNHI-FgwHsmsMh)Hb3*20@^BI^EkzwnfZ2)T?6`=k=T+Tt}st(^j~mWcW-P(LM^ z=oFGZnNO)1>dUF=k)`sd_AF|vpVJMw4^Etw(_;E-`Jxp|zfFk})X@_2>}pWT87VC) z(&a{|53!nkugc&_4C`kEtZf>)+Ty+4Y>~(T0zoC8QGbqJsPh2hST+2_+$t61*jNjc zxYBZ^!7?b4LPD6kJG{W@eSfucgq0L~H|JgIkl+&+gTDNp`P9V%0LMaX2q8!u%admj zG#ro&_huGN7D{|)DN!evsAZ)z!wfl;{UUdIIU!$B$;L{u0jmRNbmxhrKA$ll1;UW& zJ?JW`g0s(5D}Jc@uk%_{Evcy)X4EbgG|IKunJ$la>?XTVKAnSok@%+GJE!&8glx5) z=7enOl(VRXP*J{~Q%{_8>$f`yfvEzd{SrMOobnCQ=*QwYh7RUN_XWnzL@?lP{dLbB zgbUK)+rI(??I~C>RrdU3>*Urd-fqHn+i6?AYMTE{dqQt;Gbksiu5UPS&_v>U4inMp z4-F&kmP<(5L~nNL?ztpkDi`!3K`ARKkYdR4Nr2%9Ff{d?rI74t=&Q5Eft7;krR3C{ zuv4!cSHPEn#%=Y=fvzRE)WtA(MS}#obWUy89X80=IG<1Tjwn)JS9|Q}f@f9P^JvvK z(|gS?cEK2&eM@aplHZ;d+);ZmR~rDAU-KRMXoSbn`v67u53(y=an%JRk{E-BX0Ny& z3jhd_kTFM=m5%JAYl z?sjpir}OKJ+l(!wg5c)uqO+DK(T>F3+R$jeDykAIZG5c|_Till#GYVc)y&$ zURRTjLzhDX97q%@{V zbpzK**_EGW3L$9?2=|pN=|n{XV1wBNPo%j2Z3>zsqraM6NPcy-qs8@~_v?s1uOZ!j zUzg+8{~Vh5CKf+=!9reEmf3DiWt(h{oI;0sb=EegQa#z+HEgpMw_3o+Ti@GIVJPzY z^s>6PtDnN;?jP~H9niEIGo(cVHD=(R*`|V{v<#ZK*L4;6gaALj4uUUt4~fI8!LaU! z5%91x@(;yIM>{8^Qj@#SI=0#Yo`)$OX|m6GnXl5A<-2+2;O0mRsy8!)fv_q)pp zkk!P*Ujh3IbNuN;D+0VM%areu_p(C$gU^^x>5u}E4LT-C69QWrnS^HYYqct2AVFfj z!F`rfUQXC@&?mgH&8%AHA}(FEVL4+a6XkJ2GsQlQ5a#~L;l_%xvN8lFAoSPK72!Jk zrp3nA?t5*iL4IXp?kV`R!z0>+m0`T&W{dW;rLAk=^y$W#S5)XzkQ26ZHymXhKL0K% zP^3%8)|9#h;!l+zk%uMA1V=`q zEqPvFVWYjIBT6Xii&kJ0^gH1Qx)uQc+zPf;2>H%ZYh!kK21uuY4xAze-i@~KPl>

Tw190r7*&r?9} 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 diff --git a/vendor/adlx/Samples/CPP/ServiceCall/media/image4.png b/vendor/adlx/Samples/CPP/ServiceCall/media/image4.png deleted file mode 100644 index d03b04df934623cc8e539b2f10a568a1ffd720f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18953 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%0DYIT$8NLBEg=P^J9f|9_#{lM* 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 Hu0mjfZgM-- diff --git a/vendor/adlx/Samples/CPP/ServiceCall/media/image6.png b/vendor/adlx/Samples/CPP/ServiceCall/media/image6.png deleted file mode 100644 index c91e3acd1cc0e31e0f60cc98badb8f8b95bf562e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48071 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 diff --git a/vendor/adlx/Samples/CPP/ServiceCall/media/image7.png b/vendor/adlx/Samples/CPP/ServiceCall/media/image7.png deleted file mode 100644 index 562aab8e8a9623fb29902b5d51de6d6aaf453311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77045 zcmX_n1yEaC+ci+!DHMl5@#4kZ3lu9*tQ0Hm4#6EtDS?(2*Fu3pi@SSpFBT-ho!~)2 ze%|li`)4LQ=geeI&g^I9S!=JgPy8EgRU&*^d^9vPB6T%oJv1~7uE*mBTurSymsO%d+8bf_oBJ> zBe_byIlivUTx^F(3GSV_l$xFknyVLARXb>5J+`C%TNkWuldjr{EZkrN=a zgDAP@lYn@@*^mrk3l$9LL>z~~%EgwM!oR7`VsMc}eF8K7+)xGd^pfbdIMr_nVsK2z zp`>#mcL;;1WAdagZE=i!jFO?7-8k?=f=Xy&S}qyI3LmQe%x(I#dWA5s&vN|I$_x;i z{8=5`3RqRY%=a-^H7n{R$LwJId7-*T+wG98Q@X}NJ71%KSNG*m29ttuk&QOxTt+jo zA1z@9E5AO7>ZeRqZW_^qs4ZPhFy9H@SMdBvL0cy^VVkGc;=b!mT_>HbC~~li`GsWwJzWM(RNL7!0c040 zsfV~emP3-Q-OY)ee$1fhFf#-(++D%0EKvBJ_x%&6v*bx+rA>en#*T1HIsc|ssSN~# zpR}xnMC#;@;NiX`$kJwm_(*ADy+RI|5h=$dA7Mg-!B`x8joQ*#xSUO>su%4gC%LD= z(S9FZo**>N5STK)lK5DC9W-o0d_S^qSa{ok75*`yI4;Fe+X>@gFfN51G?cBvvQ5Z3$h5L;yXU}@D%`a^Gip0 z-%@&b*Tofnmo*PPwxyY zc`psKw2rv82rzU=R|SOO+mD+^)|QhKx8DjMH}6cm?F_2UQh+I46Wn_50CyvT;5)4k z(NXq3>K1g_GG`r@Gk+4f{wE0uE4p|z2D6P?MWNToLSq{)CBtVO6C3Z)GG(I zk7%MmjE)r%qYszSD~X$XU$f)5#&NI^u)b=Rp3}MeEP4EMeF`{AnF)&H?7V<(scIwM zfm(529|HFwxk$*>#GRqIIE6|J=l89+aNllIercQ#A#(aK6wz*G>vQQzqS&-?=$M!} z_|Cl@)VLZ#;x2nF4I&3t)rx=>Zcm<3NA|k6V>(mu@8;g%R!W}}t|E6ac|QAk-0!La z4=(3D;gig5=f_#%7u})Kuc5np?fkv7bF_B1_V9cC3B{2~3cu}G;8C*-rr~j~i4xr| zAnb`d!&F4!5Y7EoMXSf_dHi4TR=|TBd&?~{%$43sD9kJgT9iw4pPhILm+{}o{`I7d zJ_owx7RPbiN%xN3PaOHcEnemtKO6m~?ev1txCH^5eUJhAp|F(Wf}k-nB+!_75EGXa z!0LEFyzD0qPLw|IbgWnHwMO^Nb#8A~TzxV%6$#Ec0dV_9jEt7%m1rPMP+l-$D{fW0 zFPw+x($~`RLnMoPTkJV@aaHxpu7p`)_b}jBkQRJkWMZQZM8?M`7fxJ!f*j8{pvzH-8z>Pl8NhE0k?gshW;g$yYujW*_#W# z>R#-poRB%kxbN+OZXDs*2Wg16wm=hQu3=XYcQBr{s`vq*9}s%Z-R1=qZj%Xy9y!Iw zo!rWdQ@>NZJETEiV)xFA;euXKS=t?R<#a;27_oQ>1DcNF5v= zi5zO)sPegrO)3#nZ2JvgRV{gAqK{rHbh5sRlc%Dr_Oo*m2h?haU`fchc?2V5*EG*)==I z7+6BA0G_2`?(h@$h09Qz2J}pD?A@xbwI>0ucxreYwL}Lldg%%I#v)A*vLdwSBV#_i}sH1y$ zp(+S^LBor<#p#`!rWhB!1;QV4)HqA!qbs>1Bb7X02=(YVoZj(aOsa|OXmWH?A!{Yf z=xF)tL*2H^Ga(?nqZ0}>QA#(HjyYdysS>V^EXm^4{QcXisE~le$e%h#3O|I~Uinot z(~B3M(Q;_U>7@vT=z{2jZ@8q-!s-|QQ61|#GIIA!?sQH5IW+ljhA&5F=7}*7nQ`r^ z>KY2S%U$!^yX9k;scLWn$K)CnN0L5$XDUSIe*7DM*v$xHYa)ytb9(K569+L0aH-m` z;y-M=Gc1VIISDevol}(qk|!Ovk+fb*$FQg-LA5e(3(^oq;)ybm$=_q*;tlwy@C!PfW9a9pRUz`b#yNCzDF&U^INTv+st!Z!&Z>)&?DpttnbtsxDnI7(C*B^7`AO|Y?`r= zW0coz-OAVvu_;ecRTtYgo@hhRYSYVv+y4p$FiL+Ux$68BGAnvQFO9BY?J8Y;fL?aK zJ@D<{I(CYk4};4q+oH)Sp6KL?v%`Zd*GWwS5K(0?^4j%#8giR=Y=t^-+~7i{cL@MxBq$tnwp z4AW+a&qRuNz{Atgi+XsExu+Z!cWEeX-1m(Vcg8@E68Pq@n_hO_q*Y)2DeDN|q2Biq zoq;M?^nvh;fry~B8O(QTvIi425@yLPXc>1gFOA(#_i}LHP~Bq_~tu95GUHWWLOd{wCSkMN$b0vXYViHH8WL2Z)Rh7Iu|pT%F#K;Wu1Iu8s7d8zQNX*K+X01q2?O^qa+!L=$jQ?eiX}rkUJ-LfwCx z;d(77>0>fulg@wYJr$wfD}_ky`J#m53GXHOM|JQ;W?=ywB{t`s~vxUElH7-w5Qhv7+A+3eV!ceU5OuN^oYdo6j zs?>O^6j*8)2k$uEqFBGGJ&$Mox;vvIl?z<={L4Ip(Z)O8%_2^Wb)! zFISHW)s?wbY3a$chsr-Ls2vuW(O2(hnMTjWxCx$bE@+mQL(*hsGozrpJ}~h)8MLDf zx-CO6n2D>+!$SdBOFAAt*2OweO%X303a~uKKu&maYUory9G8T|tL50hM-M zw2=>XMcpKsO%QQKxB4yvjgqQ~BQk)Z!|FUygJFh zod$IjY#SF-`kan?3SPN@qW-4dMKMN$n2br8 z5PZG@_4GAj^55D$OUoEXWih!-I6-|J99=`pgmZJmYFeNk=ZTXje+ODxQ>icHRJhI> z1gunle>@i=POI}FrOu1mKU9AIvR(-ct>bhcNNjkfu(qmmnG|kdCd)%K3Ol4pyaEL_ z(PZ>Y&ruTdX~Xfy!kYs@bU?d5DSuaN zV!KzRyIZt8&%4H+Jjhp)kM3;9G0VKx?_>hmC}154Dm+LLp|eoK(6ww1jlr-oPdm=79+!1w4t5 ze%Em&2_lO6)*tIz&mD9QNs9cM&MnQ=x>)JvUTStL5-6mMwxGg zr&F;Q7-T4@sCwT`q{?UT5ogcF)kle7v_JnsNrtUKr>d#_!s>TP(v+5l`hPIq`!OQ_ zS~0p4jeXM=>mx{8#nDXyzsB0qbthu!s)KvHBjujQYHu^@ewcEz52t&%2ZQ}8S50GB zS=Wjt_&u-glxXR2dq(QO9n{qxU6qPz^E+kt>M(U|OYujYv6zG{8tM!P6O$yJ)-x`T zD}3d*;Z%INtsleTJ~p<>3KE^4VwW9^7n%xx{Mz{>c_m8Gz0`xRjY+wFPB&#vnYh6* z(KS6wRIfRn(#qeV0z`Y|Y(-cvaXC+ht+Mwol-#YqAFF=@agYZdxb&+dtex^jAa# z?pxCr;~hK5RiT{U$nv$e2I}UV(3kDxBWlCKri$qenQ}0~Th}{}-pJmy`Sy(}8TtFm zJL8z`vlkRUOS<0di1TQ=lBK?nezsSU^iRXh`>=$eSD`sGld`_wW#C}vgyBuF&i85W z*Do!hhx)(IczDgUdT80%-_l9VrwT}Qs&!h!{e+duy*B1PH3|9<)q0?Op=ob$SssH_g{fE!W?&0-;I-RhLNPNKG_Uh(6 zE}r)a)%!jGOpZ-!H{EDMXKn%;CC_+kUt5zZ*zh`!oq;1DEp^9Ut--jY9~RgoDft2T z?sw773tHr^R4tA&JQ9_`OTi2L{o7{(UCK z@)_Yvis=ShL6Z4A6an}}b7TjPs;{(+VC3nq#l&;PRicpDtzWjTv;I6P$@>%+i#4XY%Z8nQsS=?-Ae9@s&!wrOL(nKX00uX1Wn|Dqh|CNO z3`8HK0~^ML{OvBo#)7@Qy%k#|lOzF!tg@9{X&JsSQ#sQakpL&B*TzKYIXNp=_utdE z#>YQ3n%mjgHS(g|tr}7?8Ut#; zJVyE+GC$9O>8=&<{%U!dXY)*uf|9bgx0gao%XN33_BqY-H@ZS20QQ_MubV(A_bsk< zs}BeDBGja6!ueOWqU;xi`3Ls1H@krun(Vs}uUJ`#A8;v-Fq_PCOB_WBn zaKY>L?(S~x?X>@sun3Dhe`(aRH>Nx-C$zqD!bf5<5j6fGAmDrC8Bb474_8w_&(}zP z9CG5>ws&8@e2F~?amRVi!ZNkI90>vu2VYFxHEn>_-oVo-BS}&U3-LP6Eu@l7=OeN4 z4P9@sf%p9W>lr(F#Tm$b_896q_|Z2;4Cc&y^|5SG`R;v;Ej%vHuBet4ho9l&mTE#4 z=H{#H9s&|lNqa3XlmS5)F=SG(i}Hgv4;RS6O3qcEBi7T4Z-e?NNs2)$Qrw{mnmKT#i?kb zxiqj!9lH@v-`=!=`FBDTpvu7`JSjhaQZfd^A*{g)xZ)Zb8iRuxD$vt*d384U@_84s z^|U*v^>pCjZts4ZsaGM}$Q4N0VMc24qvlD%Cpcfk6RH;{4K0#QCdRm14%^&JXoWPt zcZ|X{e;g34X4@3O0FwPRvp)_>>i zgB!(%k-=7_g;BNsD>2rX+VY2Yv&8RFcMP1vT;y)fzihpbnVFdtxIGIMTwGijP&IAs zS0*MIXte2+xb&YvAbh{Aa5pzMZPyfKXrXdxWn-gQc217ipBDHZh76bRrP9=WK<#FKObxk6a+<(@EbpoEmmSTQmx(QL-`>?VadcD@W=J>F)rAIPlzA~5U%3%J z-kqs{AC)pY`xb#fbgitI8Efg{xQ*+KeTv1V;-o;wCFUzyWB;IpA+&DJ>bp3Pp+_AI zzuB<>q8r}c!kNN>$6e@$Z99y0^^KL4-{7x5#mD3EnYCaF2?<367{nZO8f;rU;o{NA z8-7d^An=uwP%8gr&$uqB!MWgsFRl%jwEz7*ZeAw$ti_z3)f7V!=;$fn({U*=*qB&n zbbC-GI9H~#Nd6_y=0;a?Zf=y3#Y)5)Dir78pwkaJ-?W6&6+{edVG^Zz(0kr02Q!fZUDt&?vm5fK$?034A3xVJuo z&1u{S#B(x-_i%G(DGXDrVLwk^r<=m?-w6l7H&*PXt!&69Bb z*~Zouuh9`fNwxN3mPcpI=n2;{A7L;f5Q=_(GZ8kx`)D5q;gX()VRPxo-V~v&3s-*m zhfvm{_@8iTii%PK*W*zI;f+tgNeTDItriNQp`zP6{aeAFY-}X0{wJi7SmzaHK?Q~0 zg#K$GLR)0+*8&09fzZUfx@ay^tE2(WkZ$r03OF{GI_u7x*Pl*`<0k^jRvR(0y2~;Hbbh;U{5g((5c6X@{4+%Xt2Nme0 zfyt4@lw+B`R&H+c=pL_d1$gxN9>EMVX$w;uEpc@qWH93e0w41&MiFn)o$qLu*k)ti zrWw9ysbs0&5-XRlKEbVIE~im*iM8ZKBf>~O-wP(rY4Q>sz$*nSynz951JP$E^Yol| zB;Q7Vrvz^Nmeg_95E|u4wE9t)*mmXxyXx!d!NBjkH4+0t5EV}a=Y2>m2~`8j09&3L{#SMaMG6BcR}sjah_3Y^~;t(bJzkc1&Y=? zbk+Fx4erY)Ng^*XJCU{#F5m!V2z*AD?hZH`Tz~5+IbvPaf7CS!h77^}68bV$5a1ke z4;ctG_WMEA#*AiMxz9HSXWnivJnO<4u|oS{{;P$ye9fqKMZ&HDo&1T&IM~;G5z_@Y4na#_yDeM^PU^^rv~+<1u28r*age0AQw*8dh-0T z{?N@(Tjw|#D3Mp3(HDBW-*<_vefydc{NQ>J-hR;*JZ@+ zg+H_NR=NZT@3|NM9m(~ZF4Bo(`~UWw%07okz-iQ4On;s}EIouqE#s|U@9wgRGG#)g zbtkQ35r4K$NAS+u(virpJpD_|VJn`}o7J{AkI-i#^ znQU##sA8$=E!`Xw4m16jU7bGY0i&BFLHsuX3hzW&C?&n5HmZKVO3odQ=5QW@atfn*3NRA9GUj? z> zUrQC>miS&uZ2hv5ib%=bj z;3r%dV;8-U8SIU+&hHt_ANkzChnD2e8O&gcT};d(l!okv9$r`Bc^0g<94LvPccKyB z`k5Dich){GPX#>{1ZD-Jvr70elv3V&w?N~#29AQbNS{$fef!KhD<=G$RgxBu49~%l zR@v8%;>maV#-l?i(}*KxQh4;QC59A7;{&VdwuG#R4)Rh{_7LqCbBsps!EFP0dW^ zIK7ERib^w6Qz@&V)-ah$o~SDgMB&ezojo-JtKO^4T$OWh@3;JMT{Zo2W4QF^ z%2*d^V%j=P2l@9-)qW(Y7-4a()R_Bxr|MlE#*R%Trq0b!&{wB@AFL=KAe400M{NvQ z>grjf5`r93nPt)`*c6G;-tKUIohaZG!XK~Tb9e)?sw*cm-1g%v|L)rT#MyyoJmTkf zf~CL`L8;>Ctehw7dLz`HOuWNXZn+P;45nS1#&VItGRbciqWAXHH~X=A`^V^NV2+j% zBO3B=TxhBBiF`%6Ihb&dK6&=t0K4Xv=yRtsXf3U2V7Z1L$2m+`dOiH>!qbAD4-{`t zLX0t~NC0(&6Z!2$@>OwPzO&qdi@(rs5j%SWe6EtLwHL9u3Frn(evZ}tXOlKg8z{VX zb|%;^*}--B%q+{t@H&Q&YcGSEVeeINu&f=sy`a!^LTNf7&wDGff|qjWDo57QGN}Tr zm5+O01Z(JQONT$blDBytoGmjc^t(CC7OOhK95+cLGRcVboijf4m=5G2XYqE{_qjw* zN;pVN^1D#!n7aJkBJ&1YIm+!A_)tVCV(Du~dOD=O zyYIki`IRHvnMYG8^ytc6Wy@4hg+_PKk+yGt{rT;dmyL1&vv>jSh<73GrFUdO1yO7< zrQq{}S4t_GO>S+ShDLs$DLBg~XjbtXRuHLuL&~%JhD)xc~{n!fx zX5Fk9i-_Elev@CNM~uo}lgK{5zfaD}iMuW1$rks;pfPD4cXAXQpZ2wv zrQ=D&v992w3-Qg`!|M)0r(|XzAUGWruP=c05Ma}<(laoGK8B1+KXiKKAWs??_)T$j z81ZJI`6E+)YZ*0+8Ai>RgJw5CN=N!}xQv}=l;=6W45K0O73aYrczT^8*z7&&cY~Pb zW)qvAm;~iKQP#EJ{7Ji4ML)iN0lx2%cJk_h?NXvOdu5ghMxB*8@i@5gFek4cStT?~ znOwa6x!$9qH2oJVqPop_|^Za zLE67D2;{^s?;{}yeV)0m;Np-DS5S zag6#{sVHe$z#4YZa?o{-$K_R=z9w1rkMno}sAlK5;EhM(P@%<#L?5c#iP62x8;MH0 z&>ia6CD!93dp#oAj|=$ZUU1e-zqb?3`&ghG3xC>P5wk^(g&I`_`6b!(p0Pf5$z8EQ zH^(nygMnAK-_N`=^9j<__bNP9a0g2xOtRc3 zR!8`bIWtj)_4|BT*_9K@(=Rzawa}oNnXUQTW+GZ!Ot>?0<~}|$pKv2KqFdtrjk`wD zRq7_|+^xRbVx;p+F&8SONXWU^%e5moM=W~+yuzKY4cEsqQS;VZ( zj-_)jZD(yTsNSpc+c=8x=$Hd9iUDsqBR{i#~FP-3C+_UDIBq z%LiXtfb)K-T|MEYNajoNP9+ESCCF0rb%q(X9%J*hwsb%br4+HK6*%bob3oYuh@`w~ zBjoR?!Ut_RdB?atAo={q0NMQW?4%h)=XQPYeZhV zys$Xw0TmMYgz#=L)4YFZeNTxz6A5n5=SI$d71*-m}6TN0xCVj zo1c-;q8ZH|4=};rSqXf2J=#(Rxl9o_7<292!f#md%H1k=4g51YU-dq<@$#LPnMBgk zxFQNNzz3;rS-Dv{8b|#Zt(o^->IqBu(`el=QNNIOUV4|&(jM(u-EX%q=*4DwcBu#` zJRjvr3;TQ2^_#JLz9;kcoIi;pwI8XrqWzvx2vCazF8`YOYi*ix6Ih??)Q&Jx<1kEO zk?oWXZJbRT(X}Ya2>lbxw&uh8`?Jyrjg*1YRt@iUQ4W8V0Ix{`CNRm3IS?&K(!LK7qGMyOm*Ls=m>*ZbK+@e)_cXDDc$$0xi^T zE|vkD1$W)xYoniyJ8^1+sy4^~rD_0clTHIfk_LCxvy-dXmyl*riVf0UdNltr$Y39Bod`v>y(F=w4m|qv3=~NS`Kx)RX1218haP(#8`51<`VIpCMjZfV5Zgq%$wULiCC7j6| zOx1d}GZkXxF+UV0&{xJ@Zd}jCN`a;W+&HFnIipPo|U4!C4xuiv-Q7^1ealv++M;AQ$&MjUdNWSEi`;nHN!p)`*L4t@%-i6KJAq~*Spn`GXy4-4rA7z$s~>hWDoPHtnErQTy$<{dmJV z^Mq`hLdYhGa4PU~`}Vv>NZi@E2+y4ZONZ@hqM7zePjxAWU>aBx`4FFvzC00f2o%aC zI_^zc8_Yqi?~j7sPS*(&R|AO+Lh<5+_Ih zVEi|qy_6y3lZ$`58^;xJ5-6_Vbt9?0;|F_*kOQ3aL+mutJ=we z9V3zN;5KjM9(MEyLf2WrO8c?{JH~S3l?_SnEbLOdQ8)Ccio8M;>p9oiiMzf9^t_WD zfZ$7PZMV6u-1mo??eiy1Q}2Y{iQcTEL=PzLhp&BAvhW&MOyu&Zd-rsveC29)f2513 zot99^)gBKV%$E4KjGW>xu5-*$2$goWJyWZWKNt#4Js6YxBG@dzfXe6d{j}1+gAu$Bwpi$N(P7`e&E>pB4}4 z3INJ^8bpPQxqQsj%Qw$=pNf6ZOu+_vrJF3P`f5iToS45pp~oW4C>@UThsH(V&2F5~ zGXzU7P>x%3fV zZxU~-2M3l2b`r;+XjuNn#AJ8~Z|33VbIIrvvcV}0>inzx?mun-ujgWV?c*to9FI|8 zxh>s8o~;;&47hZ(oJcox8cZRlcC;FIH`JW1`DR@f!-*pWJ4PW0lM4$mRcP({-yjCCE)m_|?VfVSA@#OAs znv6hhR%x?eZ5RpLF|xez;fW0|(I$8RV2x?0D*+S2AE@{nU@N$6d|zEVbwp*<_WY;P zfk~UFzHiwfhfKMrhuuU)ohn0|b!usO`}zVecZ+Ji1JiF8?H92RLX4w^*v0nhQy5>j zY1tw_E?x2bMKNBR(}NhgtTCZx1h3#Pht@pXBG_48X8&w>;6Xq2rI~GLY#ur#{CguN zYKD-}qU~^5zzV5BrHu=(kJ#ij;t{sN__+m~s)VHzw#=?WpS^C~ znhmiD(Wg)+7K@h{$Wetu&+Yi{WvFbIJ`&fyp?Q8DNlzRsYwRMNJyh*Oh`6S2V9dZZ zfKyGDaWblM-?v-b8dq-8m0fNQXJgcg{`sUg`Qm-zH^Dwp&2_A6zTlkO(YUu)1e@g@ zgW(^aT#Fw06i$+0{{j%|p_tYbB{QcM7SykRxsfP|nrq#CIsV%Vy*0q&DlBwa9S!Au znyHGT?|nGOf&LS>Y1C@&vxKAC|=2&&94=Q27kRDJ8Ax- zzD+l)eV2{*9^k~95wg(#@M*YxrJbZ$IJG$`IBr1vn#}bqN3Niz!{N1c;?kYY97B(> zl(OvRTSd80RqJiT%zIA&>PcdP(w=pXh+#hqaOfw&^_NZwZEKhzH!ZiY;UY)QXXXsd zV8HoNZ@0tr7xubNe zqT%ll= z`1fKA1gCFIJFtq9No?j0l~CisP3V+Hm|S7aPx#+^u&e%!;MdIu=4LM@wrqYYtrfft zjZI$r)9~`}{J7s69X~jPTTMb$^JALs{t?A44JN%NeXQd#=W(?wl^xq!vwZD4FVQs- zQhVRL`SsWWh4TJdF^N$1M1%|n7RE3bjyXp7$eq=-fu}@XlVR-Opm51iDhGLKwKL6gFuVdlG}}7{j12Fm8k(w*0y-g( z!Ws_`Y?ACd_fKfig0h3)w%yfrdNf|a5%%nx9_}yqdo)%zZT1i(<1e!d_5pBc_Z+2N#*aWwyzf2}54uo5%60u*H? z(WUO>2^hjm;V^h3fM}bKM8lF8ZtS6G`m%I#{Q@UQG@c%ZsORLp!+`(L5U$XBk*=o~ z?gK}g(W?at4+?GcBny5UL&*x%+leqATy!yf^9kKfL<-j>&Jl4oD`{{^0wF)}Y_uMa zB)LLPuX4Rgx@L?DSf3cqQ`wTUDalIQ&FM@H9y~=2R}tyx=QYhVF^K6ts0KUwc~@gK z264faFnryyiFz7*2q*3?@u8=fW?`SRM~H0l((qiQZFJCK#zI%gpg`6W8ZVpqJojEJ z3~f0vy+6lTq#uhz?`Z2`IGclE@RYczT3-<;`4oqFng8j(S!?MDMbuo4-0$32+F|XP*K?iA@(Tgx-e+eM1M%6N{ zxJXvr^|kNQ0nk#%sPL8FjLVd?X-+3!RT=|}IJPvZs%Rmwjs5ymzzq1oI+$YLP= z08{9X$X6*2OI=ESGY7+r8Qeq*7um3!i9-(wRtsqM{l~@DohfCiMra0ffPXL4$aC2; zmM5;Basoy5@Iq)gz#BMl?##rRjn0&TP1#H)q+I4vr{)Hd9seP(WbuRyLqKv5Qy9-> zO*LX)>Rlot#a+%%_YFj)E6>QNQ$_SPz8wQkq!7{Jw59*so+VVn@=(DkPp*l}(Idh!xTl_c;cxi__ZflLHC*}B?3$A*GK0(SE@X2nU!}046 zm2l{afJ7Z9X{dVZvr5eA^q-->Rghh&x7}Lrw1E7IAXLY~C;n`AGQ;v?_V6?In?1VH z&`zISvaYUMahp8V{38_%qcyf9&KhGpY40uj#swX@js z0sFE*jtsh})Pnrd6~VXXuH6+K!WDIP=dy(R-oK{}NFRrr-u^0OAxHQ$IA!UfojNo9 zi-iy`Jqy#z@DN!{Y1}vT9Hjo4w}X!R5Ge*pxC;3`WRt+HK-Qnn5LB7%J}|G@0(WB4 za{HBYT(#TP!O5nbqP12Cgv)%gPFkqnz&4L(g9lUHWS)=%Zw7uEE-OE9l-fPjspj8$ zM&H12la-~3i#db15goE6y`js*+|_ppN*YFppx>qiJ49+B?;Xz)2}kpa1d-lmHSMxm zh~8fzcpp!;)Qj9W%t1xc01;?tX8H*$U1$Q@xhZRw(J@={nUVbP`A$x$f}|%M(Sn?b zE{^nSWSoO#Hp@=16!RDWG6-iLD>BaqJv<{0RRkLeiflG=TD~9s0n*HYClG$nZd6Qo zSksAubvkqbm?@ByL?0(~!5tiyXxMnda6I|!F~&kP+2}OsmQ!1=`$|tx zY8JMZA8}{x`ZlnG0=27Z(5I-iZ` zPzv87Zj?3NPFm;k_hN6`90<%SjChT{N4F^+c3c{cGxmC1uj*D%A{T;t~Nc{91FlLM!FwVB=!Nnze0sZPviOEIwNLd;6CA-yOs z6%|Q6_WUYf7*3^lZYL}xrLJ(LSN7DtboCB{>tiv=dhMa5vC;HRRxATB274bzI2phW zMlz1|Bymh>rbHf0e3lxF_}m>`aU+P;BV+Zt=~<$c*hJZ^_NUNJm8dgnqFFITYX&A#mY{q@Ys%-#9d>0kLTO^{7_NU|D=aC|_nw zhZ5-87Ng3d1kIOY%!6>KBFG{3PAGFKr-){+8ySH4d*QXa%^-9tcZ zo?wRpVg@~huu_mkdFJmss}wI7%FWZKn$x(_y(WPX*;f$VSxO4&6QA9FPp_sp+^Xf* zLgz+<%pHp3S17VUVC3yagfSa&@@U?Ip2tr=xe0EyZznd}rSP!4IL#&*FG=5zc6)`0 z@3IjFC$hWt#4uT6b23Z}bqjs`;k6&0{sP|gCqeoabJ=YAcMsuR@CXERH}=|(Q*gJE zoJKr5zYSm?lQ{zo06O@+Pv<{ob4p_1E0kGHSX_FdC`Dn&{6{0SB+EZ zD_saO+iofN?m%Rpg+v!x%}3p@JABO(5owPrT$`APEB$!?8;yg0#F$OTFH1b-Ymf3I zhfe7uenO;gtsdhixyvn8SIKAyR?F-}$LrcTz)OLGjI#vH+|bt@ud?pP+hs$Iny;tM7%gEQN8~Q>st_E;qUsxB ztW_gC8|kCvc>52r1*%<##AWC1M~?4by@bAnLjE5B#y~m0WY7I6V>lVa06?Ri2nhbK zZ5NJGyR%=t!?6cvXzc%mg4hM}59g?j-=%X$s4pL*Kx{&?-wGk$;@FLssb8HC`oS>1 zOJL|J8pnDBSpG==~)Vx&rtuiq4qn>{)T+(`@(n~#zg`KKR52A06hj{0#pC1Ljjb) zCWG2P5fI)E@9Ta2qqvZG>3mLp=Vz7_;l6Aod#TKQI?`;B}zq9TVRk)uPpwKK(1xcD4rzW{Cyg0yh{5H>3=7W6D~^vDOUz5 zyeH-H6Lu6_$mqxFDRV737vkgf1RThb9pwLY1X(9&hINX|sl#U|DDuqUy3_RkqZ;AdP3P(SN0g7Q zzv%)WQ#zILMV5V%WPC{fPZEl!S*MVXbomPF#^sXCFY+xV&PV4yOF)FnzVRH%;d-&Y z2kWpev=5Kk5|E&4Sx=#!M{051IWhkYoS*B(I;*a`j?zER>0Bl=2XwB-$sW9ZFaY@a zSCPRRXW2RMERtk@j>;EoMz;I{>3akHznOJqnKYB;vc7V$5!an)4iD7U_5sT_dzBZ{ni<@m01jpC>tApmaedmqEIV?MlZ&xx}PDx54#P zzw5|epFP8Q8fXTn(*F$GfaDW@hU)S;vj1nu4mVJK;d)*@P_?UCp1NLw9^B3cYVjEg zzPG6Rz>#{<9;!OrDA-24?sMGMY&)*oCL1(twgKtI^%m+v`U>axKVNs8+Cqo&u^#lF z%es;E<$g(dZxL4LNXE%}v8`DTVz$-iIUkkFHWAJV8{??Yl6-F5O zlUjkE9jxozJg9{1MZW2EgfG+*9zsZ9^60amv!U1@-Nr>vx4ucrM}cm zlM9kTv+0*80DtQY9djMkHfE-_;ePN1mPfj~%SzOfBR?x`-^{k+e{##w#(2EsjVy$(jtl0#^flD{aW{-Y3x#?Ly3jRTHvbXmk-z zlrOXkrCr{xV!B#?v0bx-^DN(l^x-;ic`Sp|SO%vtvkll@%%WYyzM$4$JQni`y09Mf zYf5t124a2GvehC9>!`5Lw@m$_~OIw!~?=4(V7P=8X{O{|wn#ugi>Z6lsj z=cV>j$rt(v*^=ABjM9YbC_mSM`=wAXA)hFp`>~l?KIP|pYWYIF*JV(-DqFHV)`R=E zx^3A8VjmLgFO)&~gnCjQ6Ac~3`iL?%>?!tFPG>z?hNvUkM?9x#N6x3VkC<1KFSH@0 zvkkbtSw}vv7r@tw>FYYOUX;eN)iz-{f(()`=)!ucbYb~on%HjyyAZQXmMz+C!(M!j z`-d&*;1Dh9&oq~hz>a~%dZN_cIHnt2C>&e$}KTzA4^;BQO`7~v48GH@P;WCBx=5mR} zcH5{c>mjru<>fp=ok$L!SC_%| zVA;&;>7BM;|7(tWPUmA$hRAAPDdykoC${ES zr)|jJoOdH#Ja?u1%$j+{GR6ENbGc%g`kJlzjs4Ql*xZWw`E4FSzW@IF(cLD#aaN*F zNcnjf`pg$G{n(SL1c@Y)NFs?O`WTd-i=oec8PgB#RwexB(Y7yhv$nECMP(JHlzqs` z%0^*jEtVsj8WFvkv`<+7GX{}wTgasl4HTMhY z6C=H7ll6+n1HJ3^;HxM4x{+H@26ZjQl-(#OuK~Xpf7r_%!`FQY6OV2NDN{qeR0jeu z|wIv0}&d$a7+%g8b8t7aB#!29qq5}=BJ>YK{mDgYX_TQf7Y7`U|p?`E-l_Jv0 z>==qlN=cq*_tyFfG<1q}*-8VlHss|MV(vEBA1W479<{))T2I+34@;M{$ZjY%MGiOM0(= zzGrP7ZnpZ!s8bLq=toR+7(8rz&@`|>z@r8(LBYbee%edR5D^^>6SBv^*dYAfJm`Na z>g)S3HzG%buQ$R|@(FqXN_Xe&LCRn!j8A?D-?&oxHxJ!Q7Z4BXsJU|QXCqZ z8W5Y13Z7N$lDB3C!5f()Ow+l-PlgK6+t-T`X=xeG+Mpm_OtVttX<*=|c zfQx$=+6WB0k{+JHG3XqdA;qSUpOJ=^E+w_kJcEBHNkJY62nvFCLj&*~x@Z{?zXH6K zI_nEiH%I_xWdzpRM{!157v(KOC`}0$fn3`KaYM_gTgVEl!#18 z6OT1%Z5geVIfw`jK~+r)LhKB1>hwt%n0XO6oQ8|F8G_@g&@XR?o0BaPqGMoXt9^z{#tj>b57@+3^m-BHz8 z1rHY|IG6>ava%6w=2|#&<|JG^gAwWD4&Ae+(9$wQW_=eHM-&L~jDz~S*C_#!sOcI- zTNT-cpw!7s=Q(P7D$p1XV{WolRk z7h5CPhh$=Yg=V4y?a(=Y4B2%`bT;N8EIbOqktsAYT}4e21$$2pq-*fEGlQ9hJ+dkq zFw#>8dplFaMkS)QsR#19Quup1qa?2mtNexJP+!D^r(mGF87A6#aB}lRL$4TgvXf%b zIyl7<5e3OHbe%7{n|o1^7lXLCC<+q!8>FWb;pI~^nnZwW{YU9I&L_PHthzyQJa$+)y zE6U(uVnU$85GMQ;=sp>oC}5kqMqzk-9978yI7#5Jx<$NYrKWLNGZKPgk(d;PgzQpe zM)<*vY?NG7kEw}1*b+#I$*&c_+1zM5%(Tr30M27#pa;%YIWe5tWvM(Y`LY*#%=(D18mlF5W0^R${!j1(AW#NKH&aesw$AiW6bt;r$&p^9q*BnE(%4h6wg7iqJtUWRV!W>% zY3Uir$jQgd@)|noijYqAsBGvIvI_QC67A7eS&FKfR^gbbu`&-8O$-KB(dT5d&F!9L zROIKPy>AR-@(vW{7onse7bz*}7@b~%qP7>87KSxcAQ==#$JExKk!UEF5 z1ajzqMY{r1qy5MvJyNqt{t};DflRL81B}R8NjAw(&BX-uiy=iTl9Q9sJHod&7Eqka zpthA-fb#aVqO4-WK5CjA=tVYNlULh}#l=Y!7Z#wstp$bUH5eTpKv7{nYU>*?pd3V5 zHkXx(fk{$iZ5H`C87OaVM}0*JD(c!GYoofCHeq&ll=@93>bqp9uc|;bUEkDHkLLC+ zOpOntIImK;4aa?>uCN&03}A^yx>~3|kRzC$Lw9|p(AHJWA|UOkFGFT-F(wFc^|sZb zu($|~Egb^5ZL2Osc2NxtA_9E<9mu4zI|jvDJT(QykdIuxy0|p0L|SqZ6yviPk~Jcy zxE9mnN;EZesB%aokwg-0kOWe$0i^t=(2%?fo$|le=1Brc{=VDpNs&k*i6oLpqH7@u zq(~s;A4V%#x!dkZkw_wmB$7y?Yat1wTm__*mX={ z(GkoEw*xMxwbf-z&(2_VeRnFbyts%J)qlQLxDB+0)>h^)s1)z#udOU#kjft(7njke z#)j#fl5|kr{8(MUfN}`Ssyj|BUw!jwnDVK!EzV3}cue)Q1?e@c92So?Xkm656O-bu zg~_oYO!B@GqQ&`H%q@u9X4Uo>nNU5lySxD9(C~VhtIKm37#b07&CEnaZ3|MC=4UW6 zHmNMvzt7PIqYuf^X!bwE?e{)|Ronvh@bkwbLruahU8hOtw=!5OYn${cmX- zRo7M)F*Y_Tbl%~yF)UtdeP{qoPK=QKsSP)q@gGiV8;p<*7XA)4V49nq!jN(hGg}_7 z|7Q@7_ht2fBN`hS#Q4;-aNF-nv`BRs85t!W#=OS0Op7#5wx(@ION(qr<;M8dpm~zP z?K(9vipjb4t?$=Bt5laIeyHoJG&{3#OK)vuiRwY^Njx#F-l8oM_s`k6&1u(4Q=`Ll zt$3r7eSva#W25(#e5geKJ|uyZtALc6`g(Mh7Q@ED5xPc}P|U5NyEYL%37NvhgI#s- z_4Y(UUJX?7d=o9tjUqI}1(iLb^H><`hJ}?Q`Y65+_0++eu1zYe$0mQewu-{c2v{52 zA-A*(y>->Fw&n6I&@3B6n41&qEKT5-RDv~f@}-$c@D7c|1jXRF;Wn6CxnPvWb8mG9 z9IdR7kX43>Q6=2$oe>e6jfL?!G*_m=+0F`4g%zqonU>(|Xo#4?7EF?p_i(X+t9=A| z$CfZ4D~5YmxUj#aIWJqV$0cKHC@05}80-&s??@;H=CLw6iTspU_(!E+hFr7U#*{z` zb*?QSg*OAAKJYd|()iKbSr}-YhNZPFl8eevk{*r=T9?pIzOTD10lJ2E$c_z!O+box zv5F>#`VbxB0dE&4Be_-=dE=+U7-LTX-jdR8>Pz;Sj-qVSu<~HgJD;Vf) zhnzrLPj@GQ!8y!MDpB9iCIG*RPeTlh zED#XwhfE>bWO;r9-96&Q;hAwI`UeNeUNTHi55nx!1-N>6BeSp?O6357P&y}5?T3L22IbutnG!+m-1H>L>%o)|oYv5%=%F%1;5kSAq`zNf0|Iw_ zvOdfah?*Peffd`p$Qg3Bfviig!R*R1275cm2BgO}HmD>U#H1FZt+@%~H1MX!R5l=r zaIhDqJV*V%m2@0OeO&|D0FYJYA|NywJsr*HADhME>==4f z@6#FT??rP{GX^JSFxZd*9V2s?I=Y~&NrryXb%wzGK%X2D&L;2-i$kER8GK_)F*~ND zdeXR9TcLb1Y9|Ht^FGlA6GP}x*?^z{E*?IG=034~uSEIrUI>iOL06v=L+!=5c;*;R zpE?0Y?*!@vt7vVkNB_t)R%eFb?d*egxeTpcebgtHgt5k>WOi~G?X4~7P(8N4wzNPt z9w3jz?_Fv^u(uPOfXS{Z|@(OI0iWQ@Ab zF_fi7VVoRZPHYtVhBRk5YeG=zYb-`eel^YT*&8k*BPA1KswJDw+A>skjX++RfWt@6 zA+5XtOXLKc^iJWdo+;Y;rqNWDOas^laT$e}7;J~9cOd-S38*Ajlk1p4yq^<1V#LQq z1)@5JMfhWIo{YjvJxfzai;shBoJao@5;8I{P01@fLtmRgN@_l4XNM8w>xyBqP=b zUS9ra>l{F4h%*iz`VeLgAy}N@psxi>$5;v)B``M9MM`oav~?_??32OK)(GWPKEIPC zH6j>cfgy;EDW;$kjAI8sgtnoh034gLQeo#5t159bwO6Ggr-cH>`~Y+=9*2p!BjSo{ zkrZSD_mEh)S{NfTsSv42aR>{JL~(ToMmjs7b>=8^tX)w-{nPN=Asjk(3Kcc&C?|lz z0IP-q`0P+CPM_P4w+@~{69q0mD=mEV(E)^~lw+i~3`dXaARs6OBMhW1U6Gg^i@3Br zG?ypg;4xz)Bws6l;ADI&u{;p-BPs)`!e=p4s~hmIh> zvJKrW$$0JE*Kpq09g`H)4Gje0WiCKY-YOj^3!pVN zE&xG3z9?@~pd>X0qXa0~hsp;(*(!}hpMH`+$~Ejs>8i>_T9G(#hg$OB=pT;BnR%4w z#-OOO2GQZs7#tS?geEP`Pa`qH8!<)gSfN>ZWkE8|lXK0f8$^9^JW8r+5fv7V@#$sA zYATVLBR+;%NCCs!I|w!H;u9AA%_T_8Die;eI*qu!) zW-&)m+A@mz@)YD2<{>d58MA~d%Ch2NWo$}y>Yy292P*PnVe1;WvBXcnBQh!wLsX5i zfj0P&(}~TPz5cZG^P6T9hPv!NkE0nMuiL zn;}8D+r1}+oL8a`jvPLZ(}zwVJ+}ldcjRu<=x z80v(G+(t~&OfM`r9wQ@zXliXlfW3|I7;|WJ2F>2di8t46`!YAa)sYtN3eUu1(vg5d zWElEn?QjoE!s_w@q6tvOrBp)E(~Rik5{xSqNF!j_R+)#FpWcnQ`WEUlxiHc-MMPLQ z8aw-uOdzkKzKQ};EEF9b2=MoSsXo8&rxXr)x(JPkq+ry7rLhh;`37TTmLe^+yV*xa zsZYmXXnF;c9Yt^oPQcva3Mz6lkXPLeWn(P`&nQHN#|ckMHMKS%#?K2jw$2C%i%0*^ z1XANd;bd-%z_>DW)s@2A(;Wr|4j7tQ#sIZXMyBdzZ7VZKk4}S<`qkRmKhN7>x10G?C1e6yM?ct2rmEc%kQYoZ86l^dKriW;9F>8ItHtis86+nr5r`~=si7X+ zeZ668!0i-?!Q;d$<4y@34NDDGUcup-=ruz^Qk%sZf38X|NQr~XHhtEC& z2kMVw11&H)e+l8FV`*JCa#I4)+}($m*hrL>by}N+yQ3*8dPbmV%!jp|Gd%qWv=G9n%8i7* zg9B3X#K)lfC}<2!h*QbRj1&q$1z2XUL_jP()(5famE@$>FdpPjAZ6>*J&TC-^*~xl z6B-NB5fl)DKwnR|xOk#fHjKuybT~RW!_CW^f?^~h<8sm2kOw=TDDiP>6|F8Uq9QF3 zZUp8!`-V_P_KTt*mzrCM&Xzj3INHO}IS@Sq14s|`fvvqgQu8-n62~+>(1{QiH+Y3b zU~pkYxCIju6ol;hE{yfJlMDyA1x7;nasdVN?5qM|S-h{Q98Tmkom_(`2rr+$Q2%9o|m%aPZ=nxpfe*2%un70Iy*2eK1Yb zMlEuFQ}G(g3sT_W83N_>5<2V3kdvMa7dICu#^=bfCm}pC0fTdE80@Mcot;qKJAe@i zV4;D52&2F>Kfj3Hrcwk`Aa5ERM^AOG(1&9(i-r9R0ZuMREfF7+u1t%91KB^lqyftd zi%5$PK|n|{$yh>93js8zSVS08J=>$x|GYT+1zJSb_1O!qL?o>{rtCB!tKp>Lx z#mB}wOS0&{>RmC*qwuluL@)I#e&eqX+rTpnUEA28xw06|DjQT3rjiYUF*vnEAc$>{ z1Q%Cl$jJt^1pe6uN&@>u31RRFND%tUXje5H939~sk$^?&kF7QNa3>Jk(LYB(whz8O z?(mC=!PvwMn#;2gM*XdOYynM$48y11ydi5OU5X#WYTpWRz3olzZy*` zWz?^I5SLYs#l;2G7N#LQJO(nF%q&h1z~9w@CLRP#R;Cf)W(SX;RI$G_l)&A?8?A~N z3=x3hN8-KQZBg4hhVHsTgp!W!{Xv zG)(~2X+elc&qq^ZH9ERv$V-kvOiU!wGgA;A9D#(?G$ba)p|GNwfJmWWgLY~|OAt-B+qdF%VcJ|aaCzdcjN%i#hKze?Ya2qQ>D;sg4 zZivjT#Po14jkRFpH+G|;Bo$Ff8AwZrKuUQB%^t|cHvZt7G^tmR^{$!8bFH;+8 zzT$*w?P?&Ux~?9w>M~f_+QG`%6T^#Z=&VmiTzZpW1Fm3U!*f5yU41 zqfM!LjBjZa0e(Rkq_&-#P$0n98~OF}O?xf){(E(C0<6rP(bP48ftEU0S=+(F(G4=? zG@?A6VQ*)JxPp2iZ+mSqe8XbE`*!(J*zm9*6xNITT#8a6kx?eTYCk_K9EHvNSm_$N zYx3dY>Vf+9J|Uk-t4IuXLwsSA@Yt-cn+*a3voSfhg8uF@M5d(+_srW%3)by1K@OuL zBLU9tp%~{Xt}LOkA{PNsN#M6b^jaAcNTJTP1*8mj)<9qD9I`7}w^_Ja8pF!U78R{M zsLqXnv9SgErh)GARJiy=p}rsyE}@%05V$-)gY+0bs)sZ3D(ZxWTv0iSC2AM8QEjjI zE|;8GUwFo33;Ju)>f$uAQlsJO=7aKbai7ofvZ^)K)NQ(oCF#`m;QIQ)?h$* z%PJ?x@`Yc1ugB~dTuh8%@92)ore2}0Ov}rnv*X8c zHJ#@?wYgd*>!3-j^EzoBUxDU^yF?pUx}o=D*q|mmLAWisM&*lVRW=|>3-W}ujXmPi zOEI&ca@gch)l%l?HQH%$VN-Bf);Q+=q)BW1$lYI|;m&G!x`qqKWBsi(eq0e46b|{M z_*l03{YX=zV;C8mz#=)LlJqd>>gz#YR}YyL;%6t=#!RxB0wiRV3i_-2_A-CCQ$?#P zTMafBz{b%PZh>KF@1Iz2hgIssS&?2yA%7JU;E2%lYQe5*J+`aSh7G3Sqj23$1M$3uJ*!Hr{reERVy(#*}=XHL|N)*V~P0X-tlg;JEcKd1pj; z!PL?kVad6|Q*AtE)#6t)`p@jd0HPxU;qDuShN40wW~5~O_o%4*3@y8 z0#9*zG8)Ne4|J8o$HNW9?K1RKI9i*)#@3pAqSz<4jlT*F*2#pe7kD;dV z!FI%lrC@12@NxUoSej6xzNJObOVd_rQui}H$Fxj-KuzLUm`7}IC}fixdMz)_A|o~y zot+!+Tw;I1eWazS3Zt`2RL(|O>hjiYtl@Kohg$iFb<4>WK+2Q~q^vEB!PCqLb{^sr zgW1u(LO+PgEXF`jBg~8qky+bIc2vT`%o=Ttb+Ds&Rash$#LPaoW<#4pGTP=xHoRY_hmGGNouiRCFR1$WKpAUIC<(SCnIFm>kLw4UWJ_ zj1Wj!R@NgRAyeoS{PL#M#4yzLUtu5%?>vb_LHjth_B0ZF9dORT5^aiERAR{Cu6z zKDvy#$teu>%Mj)3kH*0TtSt5;ggW0ewbJTG}B%zp0v;ZeB4|FM%2#X0pX;~%W;$wyDSLa9IZLSS{ z6L)kDY<^KyjquUOc4{9b`p72o>QtOPc@70NE!?w_73YN{0R-_A$Q5u32opP*2CYo> z!_U^4V&LKDBWI&W0L(QY2J=*4eOe+cZ6Z}AZV>mK!eoDhw7#EQ$J|5)naOaB~YqfB!IAOVeO$YY#84WOR2l!czY%foETg zk5YTay5Zo7V@S%b$HY(_&RjSOeJd9%lHY00N`|Gi7`zEV!t9h8T1FQH8x)ZZLUS9i zI3b6To@j$ivO&DBIlLkgg@6^8QH6qxSh9f!8hS?2S62rcb5oon8y z42_{6BoGmC*@&UOR9#mIGeaYC_Wm^H22qle3_Cj)lsER%IBJ8pyCba3e9+V;L!_5E z+0+27vO&l@@^S3!F<82VU}ka@j*hxGeC`73+J-4QC}D8Y5`Ek3_ZXk>utPj=HpWCTz{Ot8`(ZCGdeS?Uk;B)GNE;7oSpd64RDa-+pDft)}7(#J&671}q zP*~ZG$v!z;tgLZCM-S=6O^6S)!+9Nj)Hin^!p97!&*{M{As18q^)N8dCEFPztF#uu zZq8`#9Ym;)CxH_mSdlM_3JXJRWe?g4BXIVt9-2EE;A3S@ebo#`Ms}#_mLpoQfj(;6 zc=ECY?K7v)IIs~6x1)v89vB&Dqq=_%ebwo>a7+tk7meUSlY-gtZkU`ui_pXzOpHw< z(%%I(W+n(oDnw&Zia6G&tvEDg`}@N!h`%tuEck;K`5?l>{m?bHj3{eIMCY*Y0`g-b zkzXfn_)m=sKwNnzY765KNxm%D*$|gZZP4D@080~Xq-16i_%lUaWf9yQOyLs{i;=+r zxSL(X87)(!HE-_(UbcmHbU&W)%|rt*M{sp|NWK?G^Djr)3Vmz<5kdkHFo< z0Ef<=qdqc>frb)9CW{kxWp_QiT^yiAdE4rHkrYD5I!;J0ti;4XD|Gbrh0XH))d|qG zut!=pT+bSzX|0-dsF~* z71gOxaQ6ts$kYn*QbQ3_+JV}FXv7!QATv4;{MHYqqBwV)Ii`c6Mj3&LMTB_=p^qQC zT%AKws6DLt9a%g<-Hgg?}N9o z=yPKUFc&5yk-tqxT(m!$`-YGh7>aJf1Z#`4Fgbl1m37qwO6Ru+DJ81gJtG}eNXii# z1LNc%(#3aiFy+&%u1To@GPY1nQL^}+l(k7RkS)%gJB|GMK~!W$KtTnighya#bP+S; z==)VK$r_e-BP}_FW<}!5pQihokdUS>a}62sF(52~$~Z?H*Rw!gUI8K1a-2H)0b){f zP+U=sn!Fg8ndrjURYaRZZGahD;=HuBt%yB zwjgDoJ`4I6^l|aLFBSFm@t%9HKMSjn1aI~0hc}$rv&1|)5ho;;_owW zP+4Xi@`R@i)(FV;Bf-ZN)<#;e^bHoyS7wJJozXPW>S!B$B4UJNOG zo`kZtF)a4BBRV3OI7I-DJv0*tbG3tsnJqkA{2&_~K{`1-(@PiO7gd7(u2MKU*g!|y z8bdQH80qdrNvX;PtMe$L8PAC7tKs}U8xc&-BO*Es-Q7ICiZDL3*#_~MWcSq>B#{%5 zw^ZYWryfCiw-UV-sW^992R>wjs`dd?#0Ef1&kAXU{3O>R0)v7C$3HHsBcLt5-zXzC zfA;tQZ((gWI?EbSTHlFj)tgi6vV2j{ z(htli5EvmoostqBMP)1S;d2keEw>3X1C6+F=p=l7ypd7RK!7Wf0)-4I>1k+hsf9oJ zk#d^lM<(Y|`!pem9A8#(Ejk;kk(Ct<-HX~N$}2~buPZEcPa-%inF4-10o4Gw`UfK- z#1HysE|7dLWE3_EI?T;YZLI!Gj6gZQ`Kcc@6{iOxyLA*Zy)_7TaDk(jAL3II5El^v zR}&K$(&VWiuawGfMPF?$k_yY zb4dkSWTG!z80|!eZVs>^GO+|@t^bo;!Bl*;}Nr!f_Yj9T#}lidYLcpFp&z6bG!tIxfNL<7L50kY_Q5~E0lH@{ zBE6JXcxDml9e~N1MWiK!K~4c8H_8vyjYBjkPD5xmPZ-4xloaKKN;!{>d1NI;Bgi8R z?cLpQ*VkJ2xxC)VKDV})g2Bonfx$4?IoZJU*+ZE7`u9-r{oj+%=NClIz(M~4O!W;A zl3I(ZvNU9opOROmBAWbjWljo)rl-*@>p)*u6^0QuygfA``{Fs zGox|(yb1ZZGGQVuugOI$P2icF%v>O!T*K`2oST5P3!A!ZovF{fG>(gKtm@#wVuGNC?l7 zj9aOiX_O{=!7(HgOEV+zu+)Q=fi>jAGia(xg@dC5N-C%m3OR`=So!<85ZYZvS49#| zoYIE16B}q5_dn%JQEXSkfr40 zZ9vK*{4Dk1K+Y+~%L(@O-uqqR~c<*+}Osw2fTQ)z^Xkyq18<<22FHk4-b-e~C^p`e}#F9$2=o13A7P0If`Rux?lqy ztT|D^$gP$MHb{vJBO7_4SvEqmaI%5DCE4E;?F1syBSjkwPOl)*!gU3`h6a62=KYS{vyj zFfkwe~80biPh8yIP$yrUnbX;JVa9b2i+As!Y; z$;u-;J5d0Qhq1Xe-0kdW^3aGC0#Zg=dZ-y*Mp2|AJfji_;D)1!f_<2qGkiTA$uSc+ zv2%eZ^$Aa355y*?Av-CCf)L5y@(41&THw-=HxXDM-g?j^MN=8{X{_m4lS7XWhl{Nv z{KA3}9O_Fmd{_9nyTFA&T8m7H$RKB2&^nJq0_J^qocJ34o-H$ShMj8KrYqU-N^|qZcb?IqA_Ep15+Dk3Q7x5 zw3L%Sa7RLEBgThmGUej|OR{rlXf|pK3t;bPh1hJ>!xal7i1MYGJpoT27Y}4nf6B;j zp~*r!+*}+H8N;jMa@ZNr44wM-0QLXs%tUzDn?ujs9Q~8jV`+9D9}t2*xeUfehA69R zLR54FS{fP==I4gM)O?x%^uYZ5IXHQE3%6%`+Uw!!O!A}iFgeRXW)-Of%-a>C6s!~A z>go(rGj~+yXTd;M2hKDmr)gH6>T6Fv@f@Pl#kY>9hXsl&RLk?oj13n0K^KA2nv@{& z2S!LKuEDr`7{0C^u%+?P)GGq)?($5eW>jE!pas4jt}r#RMM_dGBHS!tU|~z3XdK;D zdANAt6pZYGK(QXft!3~DOcJi|tS%6IZbn@fM*2jbYwH`1iMbV|g+{|Yzz5-4R+#$A zcQJPRtw;!sMQ(Zw&R?`bVQvzPFPXv9lly@sA`-G8YpKZC= z{PbCLj#0l@nL(^?2;}_=1X@1cq8> zu%fXQol;2k?17`P4$fUNL|yj?+N*Qn>g9|47CB^fZGz9W_Y6QE#Y3j*)M$!pT~Nw8 z5lH7;{GuRNC}2gCmgszOGLRMM24hn<;pLwK@hVSH7@8X!VMJ|RS=k`mGQ28C*`PJy zUf|N=B9@j3_Ypc>TwD^;)`PtUvC~;lpXUr~6u6g`gnNQaT<~_p_waamN8|SM25l{f zWoq0@Tp-=lB-}@%b8D1mVS#ieJ=FKM`JDrsX$A3t&g2Zly)H|1t$Gs{U&nfLUAEE^ z%^VliHxP+fck%BEx-1L{q-@=jvL=2LMD>s5^1byr)h46W%V_)O!>(XocE{%Tm+AoVfXn%Uhz~ zdD2ULe^pH@WSd2nKfiIWd2UwJpNUs!HuTz_*iPJcxG(WHfL6!`d~b96`=V6OIkB(s zbxhp0qFSq%nVDVhD+{Xq3{2d=mef;WBHrk>NEtMJWl)>Z)@}=JaVYNY?rz21-QC?C zTHKug!QG)~aCaxT7k78RoO8aL-$^!+3^51r4Dr8?4{2 z4IQY}JX!z?unU1ph^&RFiV#OdRuWCC81BIxALv0ybnOp|?LjDqcuYFZ5dW9f+-_`RF9hd{);d>MTTR(&jYeYTOz?8}xrH>9m!9C)_bHqd@^*IM zAo0jgccao*WYpDP9fTrs74;&Lkun9;D|-#XZz6a$H^TgLopNW17^N|Dsz8(67PKIbt1|S7Q;rpB>{+GokY7uC8qvL5_xg$<>sooexeEGlTOP{rrsr zPX4$#!(_4F-~CZnP5THh({w)U@ld}m{Sk5^4}bZs$aqbu3z+603#!@TXFknnvI3s@ zRXduiVYOAXJoRQLr|ZSRab%}0hnuW*X_Vr((9K&SZ==N-OcrdY^nI_WNyk$&4*ZHg zgoF_A_t%}Nv0&l(&}$i{52Rl(S!($85zc*vE$SVYQ4W{For$(_PQ?sXMHDL*7K$KD zU8Pg(!(*vm^}l+_>{i)g>|-d>q-}m$f)AaqpLANJC}9{tnYF27o%H{b{uhPE$|d55 zK12wG%oSVcC2K+TVotT5ZDRQf;$R=;|Aq8F>qvSljG_|=aj>w7y4lf(wyple!H7*u zrW>!kq`j_Cnjg%-|8te+9vl{0(CFej3(f=rFeyIuSHFp!L||t~q+z3&Co81KSchfh z#Ot@Orz+wQ+=<8q2=qjDH1)NAdCB8^y3T_4M)rZWqT=SpiGsr-Y-A2%!rrle4~p8V z@Z9va{gcz3K1c1?Lf79lWwqbqC|3karUty*J1EShtq#S-EBUf$^N|YubMqMaGSuh1 z3G5m~0s>#_^00dh)32DRlsY24H7V?m_r&Vwmyru8`}4|7e*KlmNuvLgJhsU-_OSbu zvUCRf&M?WxvQ6?61LNz{AzSM)>=Bpr5*O#Rc1UHf^({z^m|CITqg={u06RP?N<=13 z(}JB|ff`xn2)2_`PE{=}^mG(sOEbwcy{fSjkGVGD@DT0cRhM=`mWsJ^&*gSe-lmt| zczGCtVlQTxx=N+UVfwbYxzcN*fhpp)AB&8foJi~~i}F7tXnugxCkOhub(fV<|4GKV z1vM4qmVUW!sy@sx==0S0%9r0?g2$6_5}yJ5qVOPT`%s=dzvo3J=0n^>TBO|jgOrDwIsmiM_g5HqdcZ{9t?_c_&Z1QSkXhUj?Q&~+V92oEg z<$9G#Z~=}`LPE3<1Ny-X{m$xAei*rsZV~||C-ML)s@MlNJ{}l3KJLoaaFL{R+i1BsPY*?iZaUz{d*Ti;aiNWYVQ#3m-RPN&8!^Z-x=5_Gy@L< zt^o4hett!_Dd!--kf~$cd{9Rc=kf6~6N%05njEC^RW!})WKuS+pFKShrKQxNadA-6 zW77Z5vBNvh-MN;ua)p@X+;zlc#3?xtFCXPHlKxxU^IjwM8JO~g+Wi~s!X_8*jEscZBy}q7r2do0#bmVo2UK?N z85ty)fZdR+kG|gag_oZw;ORjp%v=z07ZN~we zJQXo>ySBS%m_~M9cuvU6hqmb%c$gIVTC;pks};3kLC1sHto* zIbDsMz93VVBduAXe1#X2LEk3rRaDgcPUwPvh>O#`Hk$fnf&_vuGhTfy>WI1A;1w6(b zg--VD8)EoMf0i{Ici(#?a?!(>zKLEN+3bikhp2Qi?%Lfm2G^pME~&^rn1P)VdA>DK zVJPd=17LEAMUUl`&i{v+9z562)et*Qyw3Oo{cJrgU9bPxlvftowaEx7oT*y;db;a&kxIERU-0kf`i8BpLnUk zA$ID@gJ=^>oO6M-I&9`vk)v(92n`CvCH~NUY#Dd14=DQP{R&@_#lH8h$;1EM)8g)3 zrRg9=nWilGf{g(|$!WpXz}_eQf+sss6+gzfXI&E*mciaDk~C9*C!*d=FMonlAi^B` z-ei1um>FiETy~k5Svvi**&C{$-r}d3*9Z*fY54d8RZyA_p}%kL*u)%K6h>&8MbFgcio$~-pa`E3n>Wej`%LFNHZX)g&$gl# z_Dg~=SUiNNA|DwYo7vI%>X)<_++Y}wk)D74L~rz7K5Z zJ+UI<1M=@HF-6HQEVQ(WiCI4|{mGarWHnPPC#8P}u?lKeOUYdR<-o`;q=||OiittZ zq@&w1u0ne0rg8<%sR(j^MFo9xojd5+SkKrU?3v5>I*g<1R;9T7nYhGeX@q9}T(X6V z6Bhr^wQ#VNl#UrU!T(;e^hmWT1mDtfFGpZMH7n5;pi z#P+5$X?}p)HG$s-xGK7A17}%TA?CBml)@cLQDn)i$Wm7=K z?obK4teB{+Pn$%(0&*3DiDNDy>NlMKK3xRt{^KkAgLXta9DrIS8AtTLZnRs@|9lFB z^5`fnlOQ(@-5#ggEi?#yP~wG|t=hZJ*bVtC1_3Mkrvs#I(fl4a)sNk@#pXr9N>yW_ zW|g|o*aeK}OO2PN>FZuJ;HT-5bd40^nMa5C1eNnoEW#(`Su4|=(%rzs8rfQ`Zj^MC z+m1egW5AJ(rIy>N=3D5gxe+mW9wXsKDG|oZ-S!j{(dWm1sI=~kgLOJEm+9$m?)t^e ztr1IUz4+M5PS~UC5u>B%2$`+vuJl$*+{T1ooTA^i;Ona3IxBCrsEA3DBW(m3^!4LC zz_HCD7x(VYHI{~ro#l(y2ekR%kLk|6PppEtT*XfXm4a;pXSiSCfvvG2auc5<(F2sH z(PD-a7C9L9qNKC8*LL+1WHK zy5~3W{INr@2#-Wmb8+d`bf<|wuL#Oix>dRfTH?7@{wUZpThP&RJ-fT#j7i@9Ssz7| zS1ZxQ-jPypeNnOs(M-eprCf+Kj%PbvnmGvj71u`wZWo&HPzCurC6W$*KW0=e1?31_ zZPB(wdcH5dq0vD|^%nPSqk8ws3Z&MuS(+j|2`4|sSEJAH0PMha4oE}*06IDxQ=pvv zpJ_e4B(_GwuakfNpNrxP-@c>N3B2xF$Iq;UknLzoT`+t1&n?9FI_3a3Hi3Sq$*t|M z#ks=dMq-*ZB;>E1k`uH84a%W)b=Ko35W3ko!Hpwgh4T?UA<{{{hW~JUm$LzTFyHxf z=?rZyVz;;D>84^5qFJIR=wU8=%c{%7)y(j}7P|A~#7$Pq?_vUsRhQ$2nF1P+B0+=V zXjPI5W5OY?-{Zv@zsiczbnFXwxy$mtgR7Objpn! zd$IDEXC$S=kvo@wDgY!_J=|d)pi!O+#1H!!EFAUxLMF^~?vOOHKRX@lTwebW+5==U zU$N897pzV9QcN<4N&a(XbXEKBon*9FBA$A;xCHZ8TG|v65wpRam}x#BpG=b*%GkH< zh)l^xj-dR7Dz`GaTm1lQ@(?Sx-0oWuHF7W9w6h7xOvxIKqk0124%}iqn^A~yX&VLr zaF2#Iu@naH+0qBL)c<8QPT;HH4&)`^G)U$NWbE0S5fVZ&BE^sBmdHjKrO7 zkzk4V6P*4M`LxL1s;fyDsQE4gn(=6%_3lAw5kGUHjer}uM{-l>k5yWg_|-yfHBGEv zn)#1uHx$}hzswl^&~<%^#cqif*6}1_2?GCwAOZG=4DBkRG(PZLn-+Ukz*tgOPE1VB z-H(S%zU%Z#d1-y4rh+IRf<6vkDVN=|9!9BD#{HSenS*S{a+d)3Lr$4oUQ(w^Qt($U z(Ihet(ygs*E@57+KEU+!+SZEn&sR%STXXrz#{#z+|19K#H2NC0gTT;p@p63>-Y-|H6IzdmtY71Q@A=5_k zz|i|OOIRm7rwZhclQC%33}=+)rRB_c|)*y~8;6<#Q;(}%^d1RO!5OhPL|dGH~x-qwEBNn!DxB5Uj5(H7Z*Lojn! z-NeQyT?%_5W(>XSZFI#RcQ{cX^tKr?8TEy*a&NCNHV%%mgEpRhfr%=%mA4jl<-U+E zjn9xd2PWX~#GZnN0^qlEqjD4JuAuLYrq$Tj+)mJhA<^P}RNtV0U&}Qk?59FYZl*1N zroYddK~1G*YubG}%%xYg*KdJQ2lA5*FhDAkVuqh$P|5`UQntpJ&5)qGRlA|$2n9TI z43>yX#zYf~@KBo#7LgQ~Yfi@41IEMM-J3 zgz~^j%ZG;KB9tVZzOufFxh1Uij?W6u#k}TM`$`%j5vQ51c43z!KHtjs|2>j2PHL?v0n@GyBEyfD{S411$B5*tuOUZOVoD2W>>m@MiSMl^$x29p)!$ z;zEskLoV&2!oRZQ>IE(;s%94PnLv3jKTvCCJvRrDvs!zbesF4HyQ(!0C04aPF(qwA z@}*>AZw+d?&L4enPRir&@fBuQUew)WE6wy{@;p&uUV(B}8BO@{?aaR7&E4Y?0dY^! zZ#C`i87X&aD2XW8>q~pLhAHLO6bV|CDQ5+h3i9y@*`seSPIzf+c;hij+Td#0t!d4I zqM~X*+k-F`kYH;?LO?`omPo$_PR#-gUgg+J7M;E1^tbQLZA!MWA|!ah?2{wfi;M1bEY zY*ZN)Eox%^c=O|-eYL5fId0sn*k=~nN|S!(bq{PPkM&{3J>yyFCAVZui_FPwtTkm( zaiu6&f1q}GVB;A+WPscj2mPkeTRT|Rmhdt4Z|njlb%lLD1H>hd{Pb|CkGYe?hX0_E z_ca{AXU)};J(}^Nwv9>1&yF;vaUKmbwZ5djj$^jQ-^Z#bbn+f?rFD>dDYIC0I5?pC z5C#zDO;uL8Gi++&RhLt|FD_neuF6YY6uBnTP@a{%@q?IeVBnU|gmNHHW34S!Nqw_$ z#f_VnKfkFJ*cn1EE1{D-##+Q4lQ!oDi^*E=Z(BL_JBe&T zP!TVVFws|UoxYTTTU7g`mGo}kddzmKz`)A8CSo%Ljatyr(8R$i0P21Y6nqDltE&Uh zOdP9((V$8%l+7=F8vr)saXB3O=4(2+?Ydy=#%Vnr8HWJEJ(8jFP((F*5jpPHCxdrF z>1T5;?RDXTnQ7J|5S4EOpO{`&0HD8kvnankG4BaK6C*3RM4Ce5b+`ygQBz-{ZAujRZsH}b?;Kxwbh=0smod9wX{=vsAK z9lZbdC5QK>*-6S*Uka4S?Vl;NlCybJz*l11?uXII%E<7Lblaj^?U7RdY{!^5un8jt z8a}yz?8F2h=j^T@5OyUh94NH#GvN9Ad2nN-N8zm{))0VRQ+(ZdHs9K^NESVAB<>zy zis-n>^k9>3I}TGU5_2vPbF}qe!w6#I5Q`cf^O6b4C!_XmZU)kmnZ?ZgGgH;NM%xrd zYh|i35;fv(rXPCi%I9=^a_y-$Kv~YGH4us75h4*oq?=_8Frzn93s)|WWA{-tZ+eOw zFJcyD{Z~)PaG+U+&Arr^8@=nTj%y98p|w9vgFAm6^Epe04ir~1O7=dU{v9E4`+$f2 zl^pdflagD{)WL@zHV4vr;`F3k`Yz zrRF_&c2-5+^~X_RWi+CDo!|CmyZ3%wU42{F{Luy9Es8|9C>#MX1jj1s_I_AgVw%s~ zLk;V?vaGNXBtypcjw?O^T#>gdytG0mmt|&bS3H83vqh@ES=x;8?OzIS(vE8=X({AdM2BL#@6$RNb^f;F=Vc2`n3VMgXkIn2@QiuzEyD(NV7`Zv0I z?|7xK3Kf(_H+x2+?8ei`^$CzkO4}?&wR>`&VR$+=X&ltHNh4&%#S)h*Vn(?p0|3V>;k2_RY@ujd4N;^heAD zS~)~i%Sbf0zk` zKgGv;nq}CNr!>?1vuJK^?Hf9=?pH~Pi-u-e*X%RgviEHuG?rBHp3&IDDmn8Nt)(lP zKf%q*{M*xn$)5^~)AQ5PjIkFR>9P}?Eh0tzHEX>~PrrJ^6W~pX~}}K>z8=QnmT7fUX#_o-a0rA zfU#3&Q|q`rU9mh1xugU(yUXR9y`ZVLw>`NK_B*$7nkAqlv4O+BZN)(!m>dzrNR5w8Y9xZ1RrF-*1NeLZ^ z(1Nv+GwF(M&$JzXKt;I^Z<+9WUWpu$l@eKfY6$Ad-=>4`jqG?LIF@)7@Y1euj!+mk zG@tEm`dK>HE*;5Ie`tGN&`}~m^TC0D5L7wYkN^ORTbVTmkXp;E!dWQ$3YYTG!ctYA zCny!j&=|l_SlQCDiNVKA&8)9uH_ytcf$=vwQ>43N*GxXOnXK*QwmbrT){V6SrCTb5 zA82yogVvQ;#Jb%dSwdClh%POVdFz-^cG<|z%sI?uz!rulh)jGIR==cacI zFH*sgrXu{xQ+Oxd=yYorF;CczX?h({eSGKz{x+sOBWsp4*wTGYvB0jdq(bK~H>*>+ z>)FvouKGA@wPB&}V8b`dC$ARX;Y16UY73RnFXeduYb=P9nr57sw<9ei29Cq+n@$p# ztMdsKB%GK|c(J?x2F13h?s%cZGVv7B{(diq^ZdH&r=B2Wn(pn3ydHx?p@FE0hi~F7 zx9x!!ucurd%fq=(IWjt$Ti6_t(jwODut6p=EIYM}Q^LE`em9~}j>whb<59dyWp(4= zEU1fBRJ!&N12rr6`XnJJZm>yHypCPH)+{6=!VV%NW7=5n<#lKu4O-$;r{HaNeL}zv z?`LjxkyNpUO|9N6G4WM`jSK2LHjboOactqc1_kRyrG~Z&dy5|&9a(zoh5>H~u2xo+ zuuc_H8`9q?S_jpavUAK`je=%?G}kg2r4=>tlf?JX-m_Mz=LCTx~rYDSyA{?`WPzNo($i_PwDNxrv@V_+$J6{6tt z;|Z!`D4!8%zwW)o3+ESoc(3nb!TO!T;_k$dqk~s>LIRX540fme&5hj_0#`q*%y246 zE=PBNG8n)VDVkRM`k2X*h}})W&$WxQsi_G&B1FT(*V#E5>Yh*}4Uc&KmHX)aw(3$)D26`0Qk~Gc_RHaeNIfp0lcvkPxQQmr&4@Tm1;O_| zhST$BcK7(7^rK=|fv1S6nQ3l@vmTx&ujO5HKz-9&`_(X`#pmtLCq6lXxr;wJD_sD` z2WMt6Y45fD3`cu1%CF#h@f4sBi8U<(^vODNa@N zyoDn>8L;|Zeo!3B^4Q8ESC6NV+UPhifrEa>W{8UpgJV&HdNjPC!U34qBYrg8YH4}m zm1v)navkY=U-*|+WmHDwF4;rAd`yk@#w9wgF(KQ4mT)ftu{u7?qcY~>om8ZE3R0(syy)2#t&KQs&+}QXEmp7uxPQGiK>vSjVd*UA74#v4?ZSZWpi!( z{uxgs3AMp0%JXF((%bxX(=|4t`UlVl)0EA(cVVA}JmQK>Vk0HN^OL;g#Gg-B9UYd` z%C5JKMoG;KaE$1p-$v)uPEwY?f^&llBWv|knK~Y_`1~3*G_^nlA{PFfCncbtdgG*X! z2v1;)qDUBw1~09JlP1_-$0K65le8@IU9Lq+xHFMzyvA^9*H9~5THBT41T3Vv;9+%! zx8-S~&`9Fj-XyAUA^UHH^65jmC@B~_F)YQuyGHGJs z*p={T2HTc^U^X6GCR3M|s@lxLE$~=9;RuYC0(p};Za2-&6=QFcld>hw5O9uPEoDiV znfI42Zn+8-$MklSlaJa|Z0vrYqz`q+l~cp=3zMDfk{taS|ix^roqbGENm;w^vX(YIp=xyNkLqZ zaxzNsZA;Cwwvuqa!?UFy`Lb(;?(@BM-R$~W*~^hN`s&Kcn!F=YWi0YXReY{Av42P* z8k(Ytl8lxWB*6i-9Ks%&3=Wut(217@Z-B{FM~?C(jPmfIX~t4|X?2ynD_=b84wxkG zVts^7S)pIwUhya7^B=j;EwXZtD_G`GrU9D$Gb{cp`2zyn1kb^tOy$PfW&CA!5MB($ zLrIxNDy|w;PcvfZtT>M@By`5DQJ<=QhCH2|%U2+FaZxiX1EWrTT+;!!QF(vC;z#K@ zKHyc3gnL^6NttE-05Ug5xpMyp=3Faz$R=l{Z+=KjsBw zkCM7N{>y>B=xwZ0GNa-wD_3Q70=)mjWJd(tbvyEF57A1kiYo;>`-?nM>NJ}x%lc}s z8}@K?9FpVNj)U^Xbljd})b%lrx;h0lqul^)PF z^3)p#kmuMYeTm75k6%`$Bxm}=MCfzx`zEDjkZE`$n%52hQba2Y3iwq9$K|b~zh4Z@ z-WaXqKqg2Uaq4{Zh|tzA*c@bx05Y*gtyz^9@rqP+JPIe9S*JH6E7^A})Bqr~%PPc_ z)eE}UN7SvsC%V8*V~&5GcQ z4h~Lt(cw2drH#Hqm>(?6v#$*#5agqo9!)cMGsm16MPNJ(CKJSz|($S9*V^0UH^4Kwjq=<>i|R~?w;CQLdTwdaIA zTwGG+1s`4MgX>+$9c(0Nl%qGEB-?ODmRJiIzmJ*lm+x&f)tVtL7Q?{B0F+vVG5O&= ztYPBfU(s1S+j)9F8$Tjw?alp~a$Kn~v*grF7hPHBXNNm@AE-+&(4BoEi&de8%*ltQ zq8IG;Ny{S(lWI;B$I@1t#Zm?xB&Y1=6H>8+yydf`l>vn=a+2lhHG0A8rk_S=m0<_= zmqAn@+$>qnx$-<)q*#Egyf;aTTVLfkd>J6xWScc@g(rTd6!1xwMiv%m>1z?a&4`pG z8AUTZS@^_ahFMu*1L{OZ@p1}I3y9_h{y;EO3KuRN^3v~ zZ!>bjy{peZ=NVl!NpW-H6CTzMweP~M*GhcGTvg(c^@So6v_h0_r8NRNDMG7DB+CR@f<6bcn?4Wqj~)g+9(| zc46#NTm3fTOKFzmqTtpBCi#3{6@Q_oHB2!x6+y~2nP9056nuQ*pgag;60p{?W@4*n z9D5QA<>NQjH@iY}(-~gS$iitn&uYCh(OD~eb}Q~!M7(oHA!{A$>cpE5NUGu-@Jty0 zr?CF7Q#kTSpN|Kj@&-rbglTaDQPyd@HhjrNC+69IAypKzJz7YC))N^koXb^+r|m5> zTAtGoALUP`Nd_*bRdD}?|+u0qDZfa=~nOiF%a(9&nd z@nj6%f?<5Y!(jV4EcD4R!j;%M2u^`9!e3xXD?LD0A7imo@#E-@{Ch9FehFJos zc5?2@s>{8jnouqC2RMTMk9_vtxMRZ;BkF!QdcmvB71jcD_|IxeKDg3Uc3%GVX;Y-v zr*;&)CGjI=a4#7%|*UUB!vfT3I0oX|1Oz9XRL0(uu= zCoAXKUC1pRZZfx_H=CDk2jR$bUQ$`M_aKJ3RjJ)S&3QY4u(*yYD_CVx$x`dRIbUG~ z7j6$yQmrM9zn!h3pyKG2Y%N4ikd_`W0kK7Lea&3+h#a(06H+VCHU7H$bGeBA&?5wm zYd&J=!Giqc-pfrsx7pMiYCfE7ka@cq1a? z%zWJwjOD0$3#+= z#>}uV>hMs))y?B4PImX?3dxp{NBSDKSgjS)LLM;#O)SkBlTSvys0^OjoiL(U(+&Pa zKjq@LjmK}#F-jzT7xC#j13e2IR$GfL&b*0}`c584#6x5r0sB+I1|^!-zEVe5*}dg zP5cBxz^|#buS2+~Y_4~;ZJncQYa~hhDSYs9#fAA_JG2y}yt!(vTChUm@y8o(F8#SG zUMT4v8ZOfny5!`=`1OgS*V&hYgC$tn&J9+Ey|E-V^9}57@y=%-QYMoOgqrW(qGWPzv(Yp z-_7s@%}#bOwzepP6PJ2%RqM;a9`FX>c3L z_hXw{gY!nn2Md!1O!oSXjT*R9<2nfxjzeQ>CFM z&bw_$X@jW1G(ctrkt5x>V8@09b@1GpjQ62j{?4|PECaIhzoI&-uq|>{{SviZ4LL7) zWT1AJU0`-7UuaWRvpirrnSIBNTMMW~M!$;~M`98lF(OX6?A6dJyZL)_qfg9J7qMx- zmc@vWA-amkKh5GS(5^@zu5hB-rkb2(3Ue(pU_YJ0&x%UA92|a zVK|oq5C0-x{o`4`p*%#ykcy5eskHjV{#8&D&=&;VHB*Cpw3eijPi1wwYj_a;TFLgA zCatxuOR;;MQNCj0(p_-T|BE*&(h2o~S`8b?>*g7sLM`LFfH$wsa=j#I*J)Z;U)aQt z7Na9%Z$w{h4`g@R3mYHFIau{T6f;ziiW z&6*D-M%UyR_7OFy&bQ_&8h(f^cEh;2J z%YWA*YHqE0YLhR#LmBYjA&2=tF;IR%K7o&r059(a!PImPo|Ch0uok--!cZ6#7vp1p z3p8jaxuD?F-%W$8G`@7A5L?^w8Z1tEm8tNPiqxi!lxgy=m79wzv3LWi;2f)dBIn0| z=km-J@%=BnxHtXBc9hLLVAE`O^!R`cCDe=Nl)*l)%IqB*U$VKV@-lk`Ln)@HRq8>h8?7gU(ny3`idKHwfZhA0MBz zvv&uzod8S&DhXk{6j#qe|IF~rWM}KfZ`&~c5jQmd{-06;_a?Z|m%PWN$LSv?oP^%n z=Z5&-E%-m0u>Z*)&?>4SA%$Xs7=Kut=?NvGe2%JD$nLPIYcZV58?LK2eDQ7HV$}AG zspc=9UwtuHJK?gIx>PTZkgn_nFA%qKQ2w{89WHSd2if6d01xr-29ARI*2MrG*_Dks zr!`=1rof%=tgHHq)GkpfX=oZbG?SW{8AzuJPRwhYWBVgFDZSQfC7^;Nk$Qt!bN9ly z5$>+y(eqI@e0+R7S|7P@Nqv5FXEf)phF;F$_xE4X3KHDks=YVCO?AmmgS)>lv;30c zIOXkY=$vx{v_st8%#+K=2O{t*=@guPE@k>Ov`{%U)?+pYG?WCDnRPYA>{%vN|AA4% zg_@#<)Wf$uf9i-MC?pDCK(N^7Vo+b@^X&FT)+8TcHrpxp6>xpcd=WmncYg-v?(uARhQfl z`=n@@%Z{SK+qO7^y!=OT5`SJs+`r_EefUd=)1B{8${Y*4L=DHGYRIr|xS*n+W6pWx zh@4w((fvdD6+-KH$~)lyAuwtGG3c9Pk1wGe+TQl%A{NF&1^GT)^r;EEeN1@~9fXXC zf8HaN&_@*8ue#RfpM>5_hJZ;EdXb;Qnu9v^82nMEF$o2TFnE-kguC{JCCR|_9QDWk zKRTj}x~asXw5(!JNfVyeop4CztWf=#U5w5ra<(6H+C;e z2qKi``xG?{@|Km=h^?;0Tv3Pam{=7j%{426GrYMsGD+Dv5_jih?_k9n$&uirESgm*h|O?OrET;GCXzU#K2P8^OR%a3s^ZnTODnPmXwckWrX^70xK z^c7F;miPEQtPnC!93~6uHoLe%Wc-QorEG3H`wOl}GgnWpP4{)6b}1bfgq2X9ADB(c zSPn!Se3@(8((`b246JvbXyUD9kVLAWoP11O=KjCQvy)_1ORB00liY&rzY@q;MV$on z_s%aXa*=f`RJOh=e>d*IWb-RDD<|b4WU(e|TDj`0!?it;i^Y`W`-pd_{%3{Dlgj6m z2QutlIFViHg-bsD{Y9)Ctwql+Wl8P&f^6FEq;E;jFAtOkvO>W8PRWC#CqBjTDBRKUNuI)P zE!*-?pNE-~*nCQ2Wf@{a87QSaytR*u2rrzpX9 z$c^@d-ve7Fx%Jt{&jj-$Yi&IZUE_!2BydS@vQ_xfJ|!i!Ex`SAe?H}Z7=t{P$EPZ^ ztD~w&D=X?NJTD2yw`j5Ilw}nTL(bL~btN%CFp734rt00{{;2Y(=zZjDPn6;{&;4M@ z6JfwLWk@C z-^*@_HFpA(UNL_o9##2*g+9`HjM`eqlj7*>jVO2cM^ro?zYbpaJCO*>Tnyc)Hc zU!Il=ls_MLjP+|fe8pNgJdJX0__IqF9x@whcs&&te1$fiSnEf#^(Y6LNukdBlG>g% zv4t*JZbi#9C6(!M! zVHy*9wL>x`(uqb}TRdj)vZ$35GHE^UVblKf92I^5rg}zJlXeVS@1CvwQK@ui->Qa# z;xrSEXT~p0uMpMbn?kDd-ZsqFU^B0L!m8rn&}yr3VJ2zm>lT+cL?3DLzBMp{{Y=UBENsqbB@&I^4Y)rm=MT1_4nFDGrh}!X;AkO6^$=2b|%DeZL)`o z;vz=J=P8W7%R5)z;eJ>q92a^+Ye@_>KMZ&qrw~+No{N{l5{gn z2xEy5ut^37{l@GD0!HyhdTQ8_ygoacAT%z4YWcR7nO%8)jMVr7%oZCn(hxQGPBJgV zr?vY+S$PJIJ^5~J6Pt^}RP>0vc6#~j>!0N98&OOS_VLcAU*YmQmuc=_#dMGU@BH}>|ON&cF>>IIOWSd?m<>`qG z4KAx5X`T8N)swPPGM0Oah{-6VqP&!aV=t!7K@yAnD$vKa6pi;p8QwYMdI@Kz@;6n8Oiznk*9svTlXtb?8IX=U^dXL%CY)s%cvg*4 zK7}MaNKulCD?b}YMjGzXRnCSxaCHph)N1g#Jvb#@ihhPGH%snG$1P;zY^Ys`)(Fm; zDn)leAm13BfLF#R-nI%M03AYVYJ^D3C9fWPNFrx0C$6|i9JPZubA@a?65>U0FDJIozAkbW+1!uB8_=6@+`fiAO~_V=oZBVt5WHjkKBY?-7bQe9rp#^Li`Y0XFL#7EpE zI=@*)qCQSfHn?^5bvmYx*jVVLNJig9l}*@PXN=dD6PM!eV8>(xP@~Bur9i{>@-*ez z3N)p~EN|%O@9CzxwuG|gLDj{4aZwos6?JTE8)$E9rKBpKrrs%5WYk~ZSVKlh6&tGu zGz%loE6%2WVqHf22GXOikx<&JzE6dal=8|#l)C7VQD#|MIQQc6Fr2y=8R)0Bp^Tg= z>FAv{>MIH;FRGEwXqUFeYI5_6RJZf1Q>~QORH7-bQthPB+5G~N;-NC}9K|}Wloti?D z)3RwCoWpF`Au{|SW$mLlq#<({RtdfFh+Tsd!|ob!Vb_Svl#%zbbZ`avG&a}MBZQ>2 zx`O276e?Q>Rn4E}-WD>lpRJf4vJ)ez7ScCTQ%{0428m(eBuCyPI!{RJ<|>g7uSmIR zXM1UYc%);?vrv>&R9<^@fAJn%ye_-YKZD(c6n-?s@f*`raDHa zR?#hXa4$aRd7CEEpp_J55El_fSXM0)Jwv3WCKDc)%iQE7X;G0BmsGHJY-YB-ga-*3 zEIqT1ZZ~WYef>5`k+-B=)-%%DMQK$Xoz0C5_K#ASon!K3>o*u**kOKfgtU}o9>wG^GuTFI zVF?qxQlHBkWZ+OjN?I0mQjg}Q`p`DCk&_TbPC=IpSPuxf9LfF*X6A$V5A%muR92pwL{$Xh1eb@ zDB~1-2ea7167h_8U>1`7N(8by6 zEKV7yIO1Zl-MWnVmVhS_n-w?m;0kN$JwLhp00$&dhjR!}2#i zM4qdZPQ228PjUwKd!ce|9%ovN-0Syn?benGVJMeSfL92$Ge=01y83g5yE+GZz7|)8 z5Q^#^T%{?vXZ!=rGZ`$~<1*x2u8^J%yi>!t8*6c-<>IOqLKd5XtDz6C4DRg7Rq8YD z^!uD%O_hi3*rl$xTjg4ekh@`p$l%>0G8|WTzNYTiNnYY}rwpJStuX^~M^ zR~J(YPfs0OdH2UK= z%Qd}p`fVcXeS?yhZbtgM7?@d6Wo_75V`^H6!c*`tGc4b?vc>wslzihF8`3b2j*YUh zv&X)W6ea$yo>6vWls`T(!P@cyBdW^-A2UN^99h&9KLv;7i1v<7){jncS#)&w^ssT@ zC(owC4Y?*Ayc}DOHs}<2^o`GPe6Y>f#3ZXrb4)F62=QGKS#>fHaIdg9Jw)HIe`c#C zCz{lXF7^0X?5)kx+uzUp>K2FFhjfb^7qUX zDMm&|B@cJV2)QT3@&Tjs8|+OE^2$d(MrmCKre`J{-8M6W@~)1K9*!+m)}}_(ydIle z7IHqv%>0s+qe+&xwpE!c*JhS?rA+JTk>iE!W32i;M#d*p8H~?MUU?l1^mH*A*vB+C z)<@rv$Y^a}IyEa}0}}+cI|cD2f@gGG$VM^thmU0BFCA-Mp&A@Q9-TS)fx84Q8)t|9 z{X}Oc(k6R6oav4DEGB$L174|Lo{2@J+63-7!KXXI)7Ovp;CvsN2k*?ZIt$}7pGrlN zIL%U1q&@TW_u`Q@$d5C5Uf$)EzsE;1t}}CHwD|A0*g4x@$1^g)nL&Q*kA#$-IsFs6NiPHM=9Ul%g-lH0$j(#uP&o68q?4Y0 zVO(Fd7SERYWl%e5aJWdC{{&H7L(uFYyeKX?Xgq8lfwgSff>Q4aOUP%M`8>Z7IBMz(KgcH4g>fhruv$OlW zZoS=NL}&1Si|$ylTy!8F>>WIwaa1h7ZtoqcOHP*Z zvKNvRmtrYa8Y=&al^5gjp?uSh8i&oSV_zCMMVrK7wP2RfyIbCWqCcOSeFCfTgk8DU z<$ZeYUGZ^qaCH3GFOgy;*kpZvc|?Iz(z3I&hcjTo_oX4ScYhIv?`)^1{*lv}3zIU% z{4Bnp_&x0HZb`md-*Z%E&>eE3({p%qi1}UQ@*-GFI(B!qIemc(h%X-gaqwK9Eh{A3S-*I~nPZhl#T)G6f3?Cv{fZ#tX4O2bbL}?Vbmxw7~~D z!xuR7aK`cBzO-2Z3)(M&$EjL-{zBmMxHvvIkao$x9Y8PX^h*0=&>dlW#{bxv+s^Lp zw&b^e4b!4O;#ePO3w&<&51#dq?}uCZq@A4|>@T6x>v20D_YePA5hN+^K~g4XW>^~@ zBu*;T?fc>E+I?(J)sb1#sy^ITT}4uIBKIScQJ40ffyZH>q&SI@4L>=spR5rU9?zax z>hk&oIXPL>^-L15cprd|#mQEZ<02^S9Yw#lL0(cE897DhELN&=;z>x!Wnb}}>^4wP zn8ftHQ^x zjda#kkzdt>O}=9{=8=#TDO}Hx6#eE5mp=K|6gG~@FB^BSzD-n2yvSmJf#x!(%-itC+sXOEvXwbeM00mHaA&c+hF%_m&JuSX*BkkonOLi z(9u+1sqXzyU^VPXdpyprYDeRYRf)qCXyi_HCv0v#+aUVL3%x>d!z8^G8N}q)Vb$-m zyz1Wr;j!wetF2_$G||~Nz> QT!bW8=6UYc#rPEbxhJYE-f!&u`1--<(Gl9r{^+QTUq5; zh)+pm7_o`zRBD^pmWFss$nwh43a4_fV%ukAbjrWCN66CL)HqWM8|pqH)A2TITmF4p zUZcCtSz23@GJ42^o0o`;iKVQi8>@6!>vEq-iQHqQwWfid!66JvWf3yI zytFKX1%Hm3kB=lR{`f9pq#=j9;ZbDgC9|t{s%pne%l^GW($o3#DX{PBaC4E8{A_9q z>nX`hr*m}l@qV%0^%eF4Hc~uxBcmf@tZp5#JvBgXel;r#)2!^AsMpV7Jl>Uj-&U8Y z6sejo%D`o3RlZGe{h&LP!GLtuTbpa@fMvY3kUQ}?YFRy8S)jhYndya9^|wm~5$kKa z{`6l!O?niGg`F%7XbB0;#O}7Ld8jlirjtEpCMQ`~_p8J!c8%&ah2&)@W)ys^FE622 zU3|FN++1g4ZJn(n9jlXVy!pmwNU82qpW9rTCNnXGzV<0r*OwV6C}RKj{|HyeJsSS% zPnbaOLmwDT;>vaVg_A)o-VDi=$_Jg5;3vRBM}wdKAj6(x_d) zkbKAeM~O@u+epvOqi^n+{FXkYyda6_xD;Ajg%nD=y&`F} zD1$7oP3r3g>#J)VN#B^+_YPL~daoi#(e9aM*Q}L&@2hSX&}BJ}n( zqLQ@C%?=at;5H3)T5jBm;CO$Bq}Yd&uU5R)6B^5ksFabRwtA4Z>O5Y1<&#{!6NgdS zy@iez5|V2IFMNXG?phv(JmTJsG{#mAm~7AGuO$8TqjR`V4+x8Rz{If^+wlaiUwNBH zu_@F|`8Urc-ic-O++B454*fFatpm~-?$FfH$6!wjuYcyFeERL%tQ{Vc_$Zc`${N$abvvZh?r^M#m(a~@y4zDq-uIt)t^w=+Dd6-8|~9;jLnTv($pw~xq-pCd2Zc#i;rKq%HXD+ z>E#Cg@Y5gXo#aZ49t&?j{4D?LGjFkYV5GRGT}qmCx?Od2&rfmd`s=)tkg7UGe0U>_ zgq2}rMy$*(2l|CSc znZ;fDsDl#$)m<){ERrst@3H>U_`n`G5rP5Y5wPBDUwP}A^(vrbyK+Sq> zyel9NSf3ssDLRxkX*7nLvk8+om0Xl9-;v z@Zo!r6VJ)yk0heNlGxswBmOA1KSXesZVRE_HG zA8gYy?za|v5%oRIbPr6j)H+6YeKl2S*;HplkXfpgg5zblu}C`jBk8kNY3~;Dv9&;5 z`-p1galEC6gF~YnJ01s@jKpdy8`+y3Cn53?SxL!~-x5b#7srxs+fnHliz@L|RI+&U z8oOCJ%wM~~VNwn&p|`00-+#^Utq{6D@=^NUx#V$(;hT4HRo8JG`-qYILL{YOoxJ)vx?aDHtD;`mMh%DyOm`NXSqeC$(bKk?U`6jrf* zCmLIIy}Y-KF-b?u$3I2wtFK}%D#tBpJFBQtmk=(7!-zYi{qFBk^0C)B%u1x@kN$%G zx8Gq@;+lKsO`1RQDVjd>DJJjUV=1MSvz!FRF5hSLwW~PCW|-&}LZZyBWaN_`b%TB( z-^~g!l7hIoIEi6%i`#$whh#U%pup#SDnB?`rKY}J&FkI47GfX9F(Tw{eeFO-$=$S9 zmy?lF!Ol!Sz0%RwYl^AevZ1%E39-s$Tl#dx=x1H`FpC=ps@^h?|GB0Rup}v2b{oNTEv6oO^UPxk2Atlv9xNI(( zD|65e`U#5NvP(?#L&moZO!n2&JF`P?O&&S<4Hy?@q~V)DpOl4B>grtLeJSI+LTWwK zwKPck)JH@6By*!JbPbG9U0JKnDix<^QdFsZtlfBy(LQNk+xy9lc|=l?hN^-J4vuwn zH8;@J-AH|F2U%$;G`01q_L_1s9}$yMMteaT$>9-%#D<}*ZKE(Log^7B)zuafelLQ& z;!+wq#yHsDWNd6q4F`KGJiPNZw?m@P^!LzFluq)aDDH;bq_wY)=KeVrhZ^O5#Z;s! zGuQ=GH}*2n(@DqB68p20bTl6 zHzVTMQOsyxz={y~v57v?3pA|GOi(NBd`F#zxs^@2TB;cs8ltSK{i*zRn2wm}8WsZB zNKr*IRar@-X5>(=?UeH2q^c-`)+s+>ww`Pd7Z=XLfsTpBavp`nQd(Bc&Y_w1hDy?7 z!X*D2)qB635hN)uK~na%mpQU1b7n4STyjZHNquZ{V`F{kIkm`h=(c7^OHCmyUxR8a zRAI)&xy)>vIP==nS%{$pe}P(*POGHSKLfHcHBNd)I+N0%dE5?aH3if)_u+QBn3T>t zH7lD9lQd|XQ)>K~MRn@5`r70m*~K+DJwDc_x=2Y$p-dW3m(50#RPLghCTtGrz;n{b z$FL?5?&?_>Z6h@` zjZDQ-XpNTYhJH4e21zceRYwFDF*VXhmZpI%o12NL0czSLEi&TSkVYx9NXSB21KSP< z?X6mQzKFJ2|CIMRY)%8^(phJQN6V;V6We$%C1HEKjo4*U=SA8Rv_kSmjZ~89m z-|%g6@B1-*jdJh%)#prK_igHZmaq9H^_p3(>Ey5Oecy!XtNrJU%JSaVDDf)KydS;1 z%kjTi_u-z>-9&FR;Di+bJq{_m3C-{DWk*Zec}Ig?UmoLtNcCH(v^OP+p6p8YipKmRKnN$~vU?_m3tf5YYve-PWR{}x9-^NSq+ z%r9~BQ$J7JPkw;<|L-F-{lX7^U;rw z(jWv=J3Pm!)ZKC+o*5Mylx?rOyVIl;6;eL3D6|J!JL<`;ZlrVkX?1$X>>$>(c;>Ez zu@{}jL01!5m38Q(vij8au8{u4eeC*mk`q$Mk+y5;;OSXFuhT(`wv6J+7HMlYx$)^& z36(+8^tv9m?U2%YiA4E>Kbaa4YYT(($Uk$ z%IXT`rKNPuJfr^aI3hDUm)#>BqXWH64fj)BRY6^SJv%xJW9>CU#7byr8pf>Oqq3}+ zW@#sVZa1Axl@yh?VKSUhRaVHz$S`>&6KsWr82O%q3#`NsVfok)2=#sHSMpHnN`51?&}`8y>; zvvC-bbC<8;_|#|dzIjECuj75~4Nm{|(~pDg)i*f%n@`~W(GOt$!5_u+uYMZ$PyGUp zAO0zf|Kca{{PZv4`H7#y_ya$J{s(>x$B+FCh98joZ(V>!MUtY7=B7{B%ZLHBL{9K&~fzl85o{~G15 z?pp)r+>PJ)1Ck%|SNSdZqWsoN9{BT2&OMVCO1`P`mt!UGlzYyv z`QuQ|NxsTGN`6^|bXleRScK%cg*aJN()HD9IdOcgLi)Z+C6>;wSIFJdWl0GJdG_@E z--iDCe+2UneE^RTANvpgB-S7OIh;~%9Y6j-`TbLz{>abb{>h)m^%Fmf>0kb&T>But zzxpV)PrU|jUzc!2>da?weCBPn&hWXnu>Q>_Avr_p*PPU^Nj&|7{xC3vcXEca#TA4d z;La_;^&lLwa%DXBE+e39F9|AdT2 zd{)JBr2TR5uB_pd#?4t&`c$y|^(Qd>r{Bf=-~Q)?@INq1T&Cap&z#7JUZ;$*zwtZO zaB?B&WVC!Dqx@rOp&x2BCUv&KVw-9t?N!CwxzFH+l&({+rd>to& z`li;gKzLm5gjg9q@Jnhv)&I+%!1!M|5kD{Ne=Zb;0vyIKi?ZHLoenAAG zAV^Z)gQPt6-4n!1<7{&)5Vo=1xT6vVWy)KbmNxy{|A^t|{x!y5_|?bL;`;CZQB3Mo z`!`?;EI%mI?+Urmea*LWDh;FY>%JA!*Znh2)bn4D{`-Cy^KbkItiSm?SpMzrVEcE! zgX!0Q8}q;UZTb7})uj)okO)sw3ikLUoQdi9q!Vz+vGV&oIHD8qX|!N4NYLXuK2g;t zeaFX~1&&cHR6ag0exWZ+3o!;_Mx`fYI~ruzN2NN~m^VEK>#71OW&CMKz8mf!eo|7?@gH>KX0 zmERxwb#!0!edr>+8kvcu7v``#H%`>hll(w7)%2+64)QpZ-NGANkwBa@Hek zcOT*z8dlpB@7ji{x*Wt;4uT}*JxGe8g1k94M0ivTkK$4}cKTSGZl}IlLFd%wGnzp@HWvEHN=>G7b_JVB zPj!AKrJ5#eP8Z#E#bjg^u&bz!NPLym1*|Hb?35>M`|3KTq7L1wDJ3>8hNMC*4u_qt z`ZDr09XLE*mWI2Dj!9$VDU~=cHTj8D_s(N88pukHBsaGeqs`0y#vmmPjp_!j<$-RI zM>Jt+x#+yGlATQ1pZz(`zx@oSfA-fHf8a+keE*NA)6TkY`5tvtrTdkWzDDHl{}sb;eUhj@ z`z$VPJ+2B3-i0Mx786Zn8KlL>(J?TtI@WRq)B)Yc>%=6*F&S9;?&_{4wZm@?`XZF? zY3*w!S!6aG*lgy!U_?qeQi7tXr0l>^#(2uHvj1mkevEy+e^ad#BP^#@b?sh()A6jf zmLID#y`*MlNSWwmq+LVX*b>giZr*)ZEdB(0J#O{AXI?ihyN%wq5;8K<=$)8js6|Uy zSTvOlz4SMikd&2&rZk(p;ua=*HQc;)lajVEyxue1inB3ACtG0LTOs1^byA8u)ZcdN zDHly%JP$7wDKV5bk253ki;XWyEa7#Y1IH-p$NF3u$>3 z968)r_5QlkJ-dh5bV@;H3>oQl=$~;FU^5+3S(Zw6RxaZ!Tlgf+R>cpDTsu=to1b}c zOPbb48_6uLX0W}2M=9lUP0}i9P~ek$ly6nO;~eKQ@OoTodX->1Tq5NDL!uMonAzG_ zULbKiNsrfUXQ;h_z8=3uo$|~%+)g|8zzl-&?u*yXVcVbMuEZaop2G6h8cE?{Ois-Z z9}~rz-k;WUOpmsclvBj){;9-ernTHkszy1$& z-~EGXTVVRnzlT9cicXms{kHG*2RW~h8fB)_Kg07rb;(jMZHr#o65}ub2B#nSB(^Iz zad-7{w)3=RRS^HQ5F{z@K~jcCMz9*pm<HE-Pvt$Hr?AeyYkzL2hUCOV3Z+uM zcnQ_VU`G{wD>8cVTF|6N@y^|FmUgU+x7VugLKFSs-ogq|1W>6?u|Hj|F@(6+Hb-5_216%5BvltKlT9(KmN07q0;~Je}&;^ zKcr4ayLaT zA7f&;jlP9#)nM0=-o*A)GjG0ena)YS?U(L`JnF~%o91jglOz|Esh#Xacux-~NPk3f zYA&nmCro!%aq03~@v$jZB$SuaUEUGcP z9wCnLQE`-(_p>n3%?*hoKC?`K5UXlRDa)D&j64RlxM5E&jx$KVt@D~pWJuQAn9M^0V?P0f|6XXO5|33fMT z8El-CPE${6RvJc^m!bL$J|{AdNXf%sKchVM5+D26XKC)6XK!2t3+p(Ncspmq*i0zKe!^z$vxoL^qx*JVbO$*`oE_3P9 zC2mJ&;E=LCD&(kt-6Es^Eo!Cn+u5F{rFDd{&U#i4_h_lDWpn!!{mCKqMFmW3NIiRu zGddfp7@OZ@etd$imR3S9y-h+=Cf(z6G}II_GBHVEaW3o2t3=$sN~N}%*7{NGJ7Zja z{Y_d225Aujc;$`T+_`d>hLL&t>kCvFG##MtT)dMW#th5d1LGjUZarw*m z;eRIso*!42W|hH@GShnUb>FJ)xl(3g>@f*ap`Q@RApYqfNK)QwPl_~B3XWy;QQzfv zRevUpPf4TS$=cLN6P^8iv^3OXczQ7N7>akHEzB|4S5Hn!i+b-srSs=JY~4HJfy0U;^VER6N4#=Fe>%cLbdBs45j_0+3ENJ@Em9(xMkahe(K zXs2Un44X3CcArpLUyouxPJ#Yth4CN#X)Mar?*H>cocz*<*!inhnf~wpjoONK8BzDK zYLbXVe#(f*^!tD0e=vaE)d8;Fe8}Zn5zMadQCL~R$*BiTbs2+WGj#U$V$$uhw6RHF zLjkW|e!$}1({=_%+O>3!@2FONb;mnYXCxC7a)a>fLiPG^YY~kB)nE6~JQ*bw7skSV zxa?N;mX_#h)X1p4jm$@PNz2M1Ctr(4D2=A9fT?X|H0)z`q?7#QY`Oxf*S$i5Iu}o{ zA1_c@DtY1asK&w4Lhh-WQ5l)#CSxrwz8=>!9l1?o}wHwhhzQ|Br5%-dFnCxoi?KkhD?HFfwew3EMQ8wm> zX>U<9uTIG+$Whf*cP1KW8=IH%*TDF`i`^+HL+yTTuJYna3__shTk9EK+Qqmla_)P< zzLhh#5Y;r2b2V5`b%eh47TI}uLU8+77_Fy!YK5`BHYppmG!3odIGCY0uadI(2;!1N z1{q~ognxGkiR+pRERmgAC@jjxESb^OSjN(^m$Bw@>ZH@uRu)oFP(Zni`W4zf(O=J? zLck4cXqy$yk7erX2Bd6Ov3a7@ok|XlPnquT5#l$9MfKu&jx*Yt>zQ5NCSOst%q^!d zt5libpsPtsLvuA#3v1NXlruKDL~mO)2{HF%z|qFA5SX}-`$T1?(%aD|`JPF9Mm9~2 z72LmaOO-)YO&2p0y=r=uu(&)=OxRUkyL3+mC96y}l#uW+l!x-}_MR^K7j^7ScTicP zB{Sp>=|UQc%Nl8DXkcpN6zl2?tqpZ(g@kTzty8G=8;pDm+aC9Cy}|2J7Y5c3Ww5Zs z^~;yZtnYhlS@|40tIJFXSc(C<%^m=r^OV~^j<@iRDHALIU=>)egW<5VRvE)t_3(!ZqV)U+$d zv1q%er2CRix2k}MIE``>lbszz$A(kaH;Gw)NPcc21w|SR`coMZ)({yV%izi`C#xge zy?vdBiN$_Hb6AOqc*yXI-(cIwP#-7KuJ}BsG?Wz*pCuiqBxG%oZJ8%1Gx2grL0t+c^2I@8{&F zeu>Q={|V;*_~}S;bk@0XVI-HgQYWMDg#1#XGLi_- z$Yp5zgt4hk?!?3r9v4e;dOB$Z^^EjYaydHpDHUY9QBSjso}=SZ8DCgIo0maWS^_!c z)hy4BON0InH}5C0wzo%ZW;AbKxr(;kZxrhs#?2X0A4W(ACL_c{1Bc6FGU`mHd2$uq z?gDpj-5@ff2%Yd0pAfa&%pw$v@Y~b<+_`a?JE3VD$mp@Xp_s_1a9YQv*xOnrJ3WbV zA+<`r&b4TWjH{L-AKIi85@j^pI5NkOH0D{QS}O8WDDRkJYN(yq*hGeA4>4|xke^pX zS!p9i$*=aRLeera85cq~Tvy7&kT^~hUTW1-l$9v?l+5;tnTgI)E(y8O^i46?kV{@= z10_;+>IRpn%ZcIE%?ET$ZF01`MoLl~C1vecooB4|H4qx=CwI?ceyEj(UccOC2UPofwu&pU*^WWFcy{< zsjjJ_Nm1vOIMOoHS=ib`Ta-m)WQ-8tCN_m!rln=jIJzu@lVgg62xew$*;<_^At9RX z&K4fVr6IiiF>E^%+;|Yl>e>>eg*k*?f5`aU9JjB(&EUGfzWd>0ykBWQBB>ji#;iM} zATNphf-1}wD=QOygheDUy>;;!FmKP3_Arv9oNQ+I4IHmdl9rlA!}zkabIUxCx)708 zh{55ct1Mm0*<}iA`Y@dwQkIiKUTqtCy@Tq!5|T60>6m^-KA$gKE_LQr4SfSRE2{ij zd7pU$%U^s1!v}s5!%uwBzpq6GOUmY4bst#}|Kt!PDK9}%E<({^$9LvmgB5r^FJLDD zDC^nEdc3mEtWH??eDY6%dR3l%#^=mMcrFZ&l(qEpXB3=Y^RJit;}4ur<9{LK+IftM z&b;U8jWB{U>Pyn7?g~sZE8iG!`k;KH60i3eUoxKAIjoniVfoX)#PBbF0@J_zDNOHs zzp4(Y*yK>vFO@wh-~EH?h{yE*{yyga`Ue>0ujN1g9=5;yDE5L9Tt%f=^9u2nSK-LX z$64QqTiKuCPz+;9Z>;POP)1Rw3Q>F-7o~sxMap00Ta~{`I8XJv<&^t^td;#B%03G< zpCot!`$H~5*~{SHW)a9&f!qCL$xg`+*Wp7V06Xj-X9pC8=Pc_?xCy>)@1W)IgBLBy}nUs79TvOiXPs@{bLVgu!Y$J6P08W(dzx$ENZ^BB*czL*0SORidXmGTwP*f|f17LTIM^Q?xC{ZSOA|M=f9 z|Cc{d+XrROin1YB(HJ`U1_=rgd91DXK9!W{|J6^b8}hBMzK$a;Q{sP`pa$_z2SJkZ zd6JYMUJS)^sWMxlY6B#sV7nKp?$pZ#$i`p&O;v?a-Px~b@kn^G<6kidcE0of z>r@Q^;|CSPWxp2K_5Wc^@>dx>DI4!>_rtI~2*dv1k$?C9`LXi%ZU~;yaeSLwYB<~Q zYa6M@61>t-J`StvK~0??zT%;1_;}aWpVSkze)#K)8szxAJ}D%_e(RoE@09xXr0xZN zU%sx^RpZb9%42OEH7J^VKm5}|GQKuY&o2h4`$}7I9^|*G#{6%7+aG@UH?aK4pW{eO z!5$rtOQTiW8=u+lPbr9h+6a=A_aG@j7341tuKGq!zWSRm{g?mYKQS={?d`bg8r0y( zDZuiFf2tbKvi$M?c^nj@TKa$W6X?GAyPxd%5A6C^v;fXWROg1Qo(}Ir_s_mZow-p| zmES8UT1QF)disf1IsN#{1&cEK6BVmYL4Uy^FomtUt`8yzfkK+yo!!rumCq-%v~&8Y z&vN?FPrb10zA#AHSL~Z8b>T&I2aH&hN>D>9@0Ad!+Xp)2k}oIL6Y(wBxP)JlB3lH@(T(n)i$ZxEjw$Y z3@@yz54%qdR2CI6v;MsECtyNd&}2e(sCd!2@X=>>H2xqN!<6 zwVRGs<{rz#>U1+XP)}KT2X?m?hkg@nO(Ow|`M8=}(S7Z=V)+lhO;dx0n$C7=242#z z*x>s6oB5J9L6R%+q&Q@EQlap5wF&TwgTBO51dd60Pf-{eU#_DW(mJRa5#Z;%38xNw{I`J?!&_vhJ0Cn{(=oI$z z7+xxK(<#=p(9t@|+GG!LDaEwaH?g*M!scWbx9^8Bv2MY1vPN}D8V}O4+1=izv8jRH zzD|aw)|v0GBrbjMJdXeXEZIp!K~yS=!m0+G4jWw+ncRuZ<Y=iPjr6SC9t#yy;GUt<2B|1fJm{b3Bh{BPO$`46N2)!$_Q=YNBP zU-}h}KKz^P3OU;RxnD#7>;De@ugG~JM%y3!1@=GuZ`l&Ubn>BJLHGV|!7Sv*sQ9t@ zs&7X3HGw6tFI9MIiai+KJA8v`iS>nY{QC~?d%sEqjKA?8o-A>EzTw0FPTkjGk4=1B zZeJ$YW0UYME~%SN-!mK?x<5hN)uvE1X;Z_wBtP;YY{($MEO40f`+L}7j! zm)^L+vZA{10<2E=Fmo&<NSakB-g0t@tu;9 znoQs1fojZbzQ2aJf*!0E3)+erRu7HLv^Fubwx=2_%dMNiCf6=*{u}RWr)_uzZ)rDgbUN& ze~&@&3T*k`e}Ux>pI%xEhUbI%_x}jn)tfJr5O_&}VNfF4o(y}}h#l-codOrKvE5xLxvtzM6opn@OTl4qttx~jj@#5|dK}vCV zcL*-U0zunCaR?590L2MV+@-X*ySuwvaNe}{`Mp_Z<*#I|oISH==1lf{zFhn>@)8nE zQP2H_NzSRsBFpwpp*js$v(sQa@(;(b0H(U1LYYtzF*7x5b-dw*)^h{NAYAQj zjCm4`g$B0>!y8c3{5Lw@$UBK=1R(SQrAReZO<5@yk)}IgOX&q#F4j!PhjDEI#FRDz z8)H6C+1J?{-ad^uM!dG^nYs3v83v*^6&ur_@+wg!MG3&i7S^DA{Bj=Nz9{B0?AXbU zGcRrz=*@}A5@#fQ4!Z;Qk7;A@lE=wa>&`1%es=VY;mEuyK6%OAkJdk|=L-mFcSSyy zaYgj+`{QmHza}Z}e^>IDmsOJpR0OrgWeygu@63p$+X>ED1Er+3Q31+RTZA0NEHW!@ zRW&~cDumozy7tDN(OU()cH++{Z?4E8Uw5mhFaKrx-amQr*WMlzA8&;*r52&JGhThK zl9xCT0Z@+ku*AM=tan~aAWuw?tW91_&2*;92<?>mGuS3gd zLj7&u^U(xUH>H=7Y2kSHwz#wBtP-cSM@ss$&wepZH-Mf_tU=Gj*c2gIQMhmR(XyqU zgZ=b1U!&o#-bXqGdtm{kkmmE<>7J?T?7G`!zxtN0g*k#G4Yc`r0~jeqMN7cvqfaJF zEp3%OI%Q&J*481^f^|MNzg+7(Hm6M}f0UlX0V0bA>w`LC3SVGiiIxHbNFbL2PV2L# zO}S}a#SMi6yiP@F|@#U<%yN4 zeuMs3hfH4PFF*W7{>vJDm+$Sjd6JVxGF=vx44q^j&BF{a6xhv}cm;!5wO;EErtvB* zU8h3T)3ybJHeJGXAnx8@rrT5bCr^*pNTt2lgzuVH7cjNRG;2bx_5_? z)J?vhrmHYnh^G=*&^O~<5wo!cMJ6h>+SRPR_+;m8d>L-X&yXtCuK04p#r*@hQ*rc5 z!2lH`uXzK z=MV7nWqBBTBf;PMe~WI?wOSDH?_%A9o8r@>*qv}v8Amg{95f}v%EBRXp^b_>NU{QK znVa`BsJf8nm6hkL5qVy2Nl@yPs3K(Xjo6oI+x%vMut%+&#-#7_DH~3*=uK@TeA~Ah zv+C83fhn0(Xx7!5c(JKkLme9gcg*pU-MQmq3xOZDJ3!6KHnIZoBn8(CY^mY#a%_j% znJ|hHs^X!5g=Ni-sJn_tRx)!TKyEHW$ixmn8*vfINAMPx{Db3ms63A*a>BcFA#`5n9 zfafXH6eal2bt`(E!Rf2nw2t znxB%kwr{Yp$j7FH<cnLP``CdrHawW36x!Z6Vvy?fx#ztfZGU&I<8K%eQsdU1eNYPN_HO9 z{efo=&g*H=P1X2b`=>*!6!^~9L@iKw4tO0)^o@djiDk%H!_%WRDM+cOY5Sz-;r})? z5P2A%T>$>j*QVeIGkRyIWsO>Xi1Wk|v{B8n<*BTjVpE_$FYW>*NWZ*sOw?`{)$3i& zwY~iWZaFAZaeFwkcUPpS08C0N{owkj7BcD56v3 z2hekHA`+Z6qPw_C!>eOmsf6y7$ZflM;(YQEQLNo^Q>oa_s;cA?R?tylChF8G8H|4G ziog~GYLTY0xYy~7&FCr^X(XE{$b9&m%W&n4NPb-(ARO6@iqWl&*79R=!e+m)@L0#$ zh}gDZn+UAvd`nh$BiA>+*M>@N{Ij=Zq|S@JNEIb9Iqe-`}oelAg8bz&(WEAb1~i0Qp!z?HiE|yW4!9289!cmSR4!Zuzp5{8MltA zMo`%06W)+!B;nKjE--%Gk^nC*C0($+Y}e;3Z4kp*};o}pz}_)wy3*)O>J#;z4_>(HwRVYbQ`9ds%mAIW10rV zbFb9OMY!dyA?W2Nk^+6DigCjCz-}m>?QR!QuR`27kfqyo6qo~CAsTT(o%Schw41lg)p>st{ zJW7iKiM#J1u~teELRB?_!lBX{tjjY4*E8=N$v*Bt_~4E6yV?mL(NR63E!cJ_b%!&3hD4ZXGF_lzH} zeT@gKxIqO0X*;Iks49D+an z&5=*r-qf~d8|(@8S`th6`a&wkpvUYQ(ewnCM4x^HXPO&t;OD1n8(e=XWq8FtmGQAAvJt&ib?wq1+LMc zq;y_Iy;+-Uvx2!MU@re(N@CYpAPueP7pNo91TB&Q^V%-tR9}%MIOKHawk|H-V% zuG567=6LY=MNsgW0}dDWtSA@Ph`z-2gMfF)^L&Js7lR^ZUXkaAC9tHv#0y(F;^-)C zj@uWVBY+ZA9yU;7=gM-6Di=!1iF##10-jSY_#&Vpp*n<<2qN%=;7)b0EQ*=6? zkX_Ntv=NNDj?Pn9Gcvw6h1Z z8*WDAH%_=wsZ4wzh;8Y#`FYAn!qi%M6KxoQ7P)k62>pA=(Pu!lmLP--{na1W`{PX} z0>*YKeN&q3gMQq0+Y4Dg@)b3@qgOSB+=O}Y!58fN88aje|CG(k`4~|~;R>Ho35zJ< zH@oe6H0EPL4<@R3yA~z2aCZj$CAIRjl_L1o$<1tUkfRlxO|{*(dt6dPF4b7< zoWe6oYA!F)g#9rn@kN<8@oz{`mn(Pb;7lx8Sw5dNLcZnCxe_E1Ffcl5Ixj+Za~cA! zz5?uKr|zsH_UuuEszu7alK$^TKlu84F~(Ika1CbcBFV|=p-l+c&{vl{;t<> zh97M<6--^)g^VobcHTsurcE+nr)NKM_V-SQG`Zy(@EMX}!K{>`k3<-C4?&g9UUtIy zoV!Yz1eUSdy3xN&sQIt3T`F8A5K3@F(aCI&Y?$fRFP7Yrs3xqoFcl^1<*lyz8gU0h z)bl3)n*ASyJr<^BSdh1=)w!}^)Ursei9f|N%34IHLTo}A`t^=;X|_j?SlaowU*65q zVE8Kw)z^Q;&;MvX*u0RF|Nl-63`5W`Li`Ya|sGEUbi8&Ua@08vcE3O81^=@mCLLTAf>BmWwbkm_A%$^ScUG+ z6{wpcG-$dCs$32_)~nT$66K7#y;h1M=E6}ytmQ%zQWEMo@Ry0Oj5*se%UGyh$m~`d za4v^I3{sJ3amiTVlsFbH4c3oa1&z+<=jHq9wrq71{m}Z;)k2%k+4I zvfRe6vcIep5kx|dgEd+K>XPI_5zp^VQT3o;7+@cJ4w%is{pA4Wz;#|jb@A)wNnu9c zMD?8g&yxLF5ZGx34ba^IuYC#Iz<_xJNLb}uUfI$hEd%CcZ7(K0KCS@Fs(`d#7O?Ml z;afNxMRg(-7Jk|1w6Mf8BdDPBqMHNz*^P}c4LR1r3helTwh6Wdg>XA-uwkgIHzS4? zvDFqR#i4j*F8!@^(k0B{SU#jlR@q6gJFa#xiZ?YJ^&M={qPaK&T0^_HuRkg$#5|r; zPm~xnzHdi=@ZM z0#~~iAAHa&T=(qE=AGfz!1{Z7>gZi-GW1)3rF82cv$Ke$l`GNu5tZ61c1I_Ex%($^ z9}hYNdG5%FVCc~&$iRe`JX6!R_j-)I;j}b7fzesL1w4fZbjSzu*<7G@MRmD^^o+=w zd7KTYo^-)HCF2@jFIbDzX$TwJJ6;$on`lO$tC7F^hYwksyZ&A0ic@tvj^RDkUBjI&B9pyCcsgLVl zopq#DTLW`p>SvDBGw19|6!^Qvm+T;^HOJv}(8es<0_9pI;v*aFRm8J)Re z)84ghGAG-TEo+rsUh-5psbjh5|2Q*m^_a;S1n=&UyWA;LS%FmyjNa%h|ID6~8zty) zd$`5#6W)42utkl`@w3W^VrnPv?Cf@%dybZ}wyl6hRrUI()>x30IC#BJM45#R$Ej7q zy)-y_2s83XybT|J!C)y>e!@a0+=Y=^1FDs%K5q%!G*q^(QiAUJK*px-nm0Q`&qXKlSc?;E( zH+b-g+$-jSYWqqM6EckORdDdi|L9RlEBKu?PcO_*(f+c%K{O58Q7)jIZtZTm#BZ>g`U6jV zqah$UrGO4$XG4omtN&y!N_y_c$kP39H{N@}qpHr=MFx&_PoYT-XV776V&cA;JwA+v zQNspMW(gO@Sb#`Ke3abLl5fa7=MC(Y&~{-=+660duG{|lZB2j27H=T}GjaRueYT;< zQU-B;?)%Kk8nSXIGB|%P&dD6t0IKaqUZeYC8W zD5Enf3hc}zx((Zeni^izG2EWweM@V<)WVr}-gEnJ6xdCz3X_YIjj4GWQfF7`%#q~5 zVph7+!dQ3~U!3_za7;|#Ar-ajoLqw^Bq$PH|8@RM>h9`Z6v>8dT7`ik&tyVuLQ3!T z0Veagh-7zXtfAqrzC9riDd@&#awX7xTuV>IRh{&uN6W#WV_Z@S3zsr*eFtxP6i~Mu zE=l19{9kHm#*;g}d4|3*5TPYR+hPon5%R2aH?+4&_sk6iaod0NJ?U{ zqIG;Fm*$O{^ZUfBEOL7D7t8eG7hHML?RW-%FL+OQezt|Q@vizfJh}SD`7|rpS)e;& zV>Jm2AfihnL>0VfJ^hnruvP=@Hr_(90JOkHPj>^NRW9oQ@}|-L5OVl8K%7pnwn+4| zZ^|Zl;L(e2a2xwCTW$qn6_+&3`pY3LyGAtMXJG z$>VwhdDBDqH9{HdDV9nW=f7Iu+V!`>q1<2m{omT)I;0C(ppTxuL2n|Nu(7v2BG*i| zO|tg3wIlmY{n4qcU)IC`EyCdL%T7k{G|HJ{$!_&NQ zSwU?jE7lYAoJ&iiEcMHCBd9g%upf~yt<@U2u zR*fsNtxY|GItN1|Lk^Mr&U%}{1(jEek&#MPR4GHzteG`3-aa(oEmL#zq?xF6XuW%Y zr1P&;Ko`{3v>OaLjM9wkYqNe=yZFM8?c({v1i_S<=!H4yelneh2z5RN zruG!~RZr}JSxc=_aJ_bFetw|scYDd3AcPz|oO}y`Rjvpqcx>obUn&Mb5 z=h*aR3TTV{OpSHgTb~dna2Bm90B>*F0SmGH-p)Ii)OyN{F zk!3xUJrQ)zWn6hFV$JQ%o_)&>l7U2gY9PIE=Q+JDkcm_*%VzQ(2s9zj$`ot!tQN16 z?*FXZuh)3fFW|-t$XkM2e z*>fMF3l57^dOXyT<@xl6Y2)Rj8=9lo15Qsz2-+-p!I}64QVHB?Q!Z>oJ)u9~Vbuhz zF`m`{oaZtH#H1_H-=?Y-;ayxsR`87Un>?O4-(M7kFCBsC_%}rNa_@}NnKDGd(TxFL z&O@KqP`22)EBmM4#*Y}4fxn6^K7~;iFBE*VU`7rnXL3)!&c}SbJ;6UU01=`fmu=;4 zt(erBe=C^NsUZ)%&{y>utCyY0taESE#xF4Ahyb;}@AQT9fs5>mMFP}iqzui68vv13bcIw{;()!(MDT$Uu+cj!O?#>%}ytGebjk)m45JG&gVOs+9YzBST}3Dhp5tIJMY)u(N6 z&OF&4*Gc&iQazQRky9#T!J%q!_LWMCn@O&EFzV86`;@tHPUsy^sY{~!`Pz{^U@T^f zcM`y^HnNxtv=Nt)gMW>#wIko09?4?K6~{3ctV!4P&Dvjj^T#ny9!|BWXmLcT*MG*K zS6af_1^B7M;$FZd@zw`;YFoKyzo{G!3=MG#w@Og`Fe^1LVM#p+j(b7#Z+vNh8Bkbb z>R6zodAr9ja}HBi-!NH+DNap0N*eHJvqc1Vko>97nAo4YAYhy8P|?k5cw zG0|P>LJ3A{xAlaj3&NutZlt&%xk6u8N&J*);f%iW$0gA6*6l(r2YuvQG@{H!eTsaELEMYjT9{ z+or{buz*nUKjHMN^E$s|ILZftKOYu931}yj3h(6^2D5ZLK8o@s`=)-n9_UdCYL1=9wKI&#qtSBfU=KTRS1UMR`^o`DsZ&z(dJT><>FmUH$T=HYGVUXcQ%b-QKN3^|j#=-(B9i2{Ccj*jl|GSwf zlSTwsTfs#cbMa#pOqQwuUKCUrPK;?}t%y;lV8LLvavRfz4yOsPR_R+H|FgA~|O4u5cTX5S~Ct97iv(LVpG9-0W)>xj9KRVZ8 zA(MCPaJ*1rwYJlPjgJ&+W)VTRI;>?Di?VYX!WpdyDL;iEH8;OCTw5>)AzDZspk9wV(VE-J-tge1Dg8b) z{Q99aUBcTQEuM9(PH5(lbq7bdvRL2hBVP-(xAa|;Zj}&`la892-f*^_lki6-37LXa zTsg062m6GL#F2cm4hjrTp^-2%*SOlF3dPZf&QpUc4&hB0{p}+ipYxU+_J4M2x?zf4 zt2}liRv2Cf5i>EX@lI6OCHir(D15BmrxRsXS9T!)5qDS4q6vyB`w%KnsPXv`-tsS(74YRYuzB4JyLGgWJ0T(4BWhexI>xo}=_ z(-&6jIcv$(wsrEN;=Plu6&w3Fm`(#a#Oc%)=LS#sTw`NftI`?r77O;BficI~>x(AK z&|FY(_?g{6w|}-7`=I>GIjAE}?+dh77`%HS+6usdJje8M0&^ansrW(Br1-~B|;sVir-LiSvUs}fB5v*VM_|((-po99a z1l(VTfkBJ|>|NLmt6A~rs%j^&xJoX0=6P8<97986`Akk6LPDB&IdvUE$=uVtH?N06 z^B-JjaK@_o(QE->^YjGt>)7xBSDMjIaNPF`V>+W&Nh*R>fLnT8Unk19jl%rm^B2qt zZZOHQ%M69h>>%pt8`Ip%->RV-H{T{&AuQCFoJIlSMPg)z=|fR&E*^4*-u&bJnsFMf zq*fVpG>K@P8;|+(5wxQBZKs77(L7f?I@{YFv<5x7OUr-jlJ|qikZ!vq$@7+y;A(Vo z3BnG0j|XTk+_&`Z4|8;bb+e0&8XW;2OCeyHN^c|9{Ukn_|>JZxaG@ZO!boaF34%_6)Z7bB&B7LPn zlPf2@;yFG&F>sU>VrE3K^f^9*O(d)8Qx|#q@d2e$kF5_nyQ~CK^ERg;wZ>pngfX=* zU<(p(hmRDP`#!FCmBX^M!7%I5KxD_dc?5a6gCQM#dHFC~&nQA-bf~Y5_+{(8tc%*q2MuOjmVLm}?l52wzVXRA?4ZO4(C6PjvW2a- z&8MeQRS{fva;)UKy|nCgTNDZ`fE?PgYITCg5CE0}imtci23{V=n6$K$Hr90lBKjNK zAu0?^w&u&LmXg!7BE@Dd<3p!QaT8CjsBXlw3rjh4+tx=937tn@aL-eNpRUI#df^WA zIG@hXHpw2n5dR9xd?>xw&RFP|iH`j*ne$8bEtE7bt}pRrr^#+p$d!xoE44bIIP-iN zcCr8iV~ggb4VQ)`t7YSBU7ACBjRK@!T-0cut_Lr?ts042LjT|OwTa!x=~OO94kuD8C)Y?gkegY9m=8i4Y3E)tL`;+c+xXQi z4e3gl{W@kN#Cf+7u-(1C?mp-shwF!<UE~CT-)L+dJ!_k!v_Q6{Fxcjpwf-YsW32P=#70 zV{A6Vi}9U&smIW>)_pBJexPOp;>m+x)D{Hb$UgsZfJE8OKO*L4~vw2h`jn zJGnBO%D9#7yKz=mW$VY`&zN_si0F;v}V=4S6;^uKm; z?~}+73HbOi1cu^NA*1BvB4kUfn`~w4XxDj|*rC*+;+YeEbAy4iDsZkLf`^xAUV9tb zJzU7joJgmS8y4ZVB~!hTG_i`-HJd(tz9C02dH4$F1OH^haF2IJcNTx}v1vLCMzxj4 z*(`&D=@CxFvg^wnA#|h=Z|x*UbS3+2_{cT?e(fjh(O=90V%bHmQhLbQVAk&t$Y3Ag zT$W2S%rFR6RFmS}oLtmJ5Fnu>Z#w(fB*Fy9Hl4k$gp$9B@E06e6fuX}?xwuQyHLMm zN;7ebnDOxQwsX5+5tmV5#m65MfEo8?0M>y1l1*z%W>WL4ST=D(>4& zH;fI+z>t!n&AU{pf9?{u+8##3VyAPjf+YD<>Jn5Df!P&|2jZ!DMGTZ+x|hm NDd4P diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.i b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.i deleted file mode 100644 index 68a400f..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.i +++ /dev/null @@ -1,159 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -%module(directors="1") ADLX -%{ -#include -#include "../../../../SDK/Include/ADLXDefines.h" -#include "../../../../SDK/Include/ICollections.h" -#include "../../../../SDK/Include/IDisplays.h" -#include "../../../../SDK/Include/ISystem.h" -#include "../../../../SDK/Include/ILog.h" -#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" - -typedef int64_t adlx_int64; -typedef int32_t adlx_int32; -typedef int16_t adlx_int16; -typedef int8_t adlx_int8; -typedef uint64_t adlx_uint64; -typedef uint32_t adlx_uint32; -typedef uint16_t adlx_uint16; -typedef uint8_t adlx_uint8; -typedef size_t adlx_size; -typedef void* adlx_handle; -typedef double adlx_double; -typedef float adlx_float; -typedef void adlx_void; -typedef long adlx_long; -typedef adlx_int32 adlx_int; -typedef unsigned long adlx_ulong; -typedef adlx_uint32 adlx_uint; -typedef bool adlx_bool; -typedef wchar_t WCHAR; // wc, 16-bit UNICODE character -typedef WCHAR TCHAR; - -// Microsoft -#define ADLX_CORE_LINK __declspec(dllexport) -#define ADLX_STD_CALL __stdcall -#define ADLX_CDECL_CALL __cdecl -#define ADLX_FAST_CALL __fastcall -#define ADLX_INLINE __inline -#define ADLX_FORCEINLINE __forceinline -#define ADLX_NO_VTABLE __declspec(novtable) - -//IID's -#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; } -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) -#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } - -using namespace adlx; -%} - -typedef int64_t adlx_int64; -typedef int32_t adlx_int32; -typedef int16_t adlx_int16; -typedef int8_t adlx_int8; -typedef uint64_t adlx_uint64; -typedef uint32_t adlx_uint32; -typedef uint16_t adlx_uint16; -typedef uint8_t adlx_uint8; -typedef size_t adlx_size; -typedef void* adlx_handle; -typedef double adlx_double; -typedef float adlx_float; -typedef void adlx_void; -typedef long adlx_long; -typedef adlx_int32 adlx_int; -typedef unsigned long adlx_ulong; -typedef adlx_uint32 adlx_uint; -typedef bool adlx_bool; -typedef wchar_t WCHAR; // wc, 16-bit UNICODE character -typedef WCHAR TCHAR; - -// Microsoft -#define ADLX_CORE_LINK __declspec(dllexport) -#define ADLX_STD_CALL __stdcall -#define ADLX_CDECL_CALL __cdecl -#define ADLX_FAST_CALL __fastcall -#define ADLX_INLINE __inline -#define ADLX_FORCEINLINE __forceinline -#define ADLX_NO_VTABLE __declspec(novtable) - -//IID's -#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; } -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) - -#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } - -/* Callback to turn on director wrapping */ -%feature("director") IADLXDisplayListChangedListener; - -%include stdint.i -%include carrays.i -%include windows.i -%include typemaps.i - -%include "../../../../SDK/Include/ADLXDefines.h" -%include "../../../../SDK/Include/ICollections.h" -%include "../../../../SDK/Include/IDisplays.h" -%include "../../../../SDK/Include/ISystem.h" -%include "../../../../SDK/Include/ILog.h" -%include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -using namespace adlx; - -// T* pointer -%include cpointer.i -%pointer_functions(adlx_int, intP); -%pointer_functions(double, doubleP); -%pointer_functions(adlx_uint, uintP); -%pointer_functions(ADLX_DISPLAY_TYPE, displayTypeP); -%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE, disConnectTypeP); -%pointer_functions(ADLX_DISPLAY_SCAN_TYPE, disScanTypeP); -%pointer_functions(adlx_size, adlx_sizeP); - -// T** ppointer -%define %ppointer_functions(TYPE,NAME) -%{ -static TYPE *new_##NAME() { %} -%{ return new TYPE(); %} -%{} - -static TYPE *copy_##NAME(TYPE value) { %} -%{ return new TYPE(value); %} -%{} - -static void delete_##NAME(TYPE *obj) { %} -%{ if (*obj) delete *obj; %} -%{} - -static void NAME ##_assign(TYPE *obj, TYPE value) { - *obj = value; -} - -static TYPE NAME ##_value(TYPE *obj) { - return *obj; -} -%} - -TYPE *new_##NAME(); -TYPE *copy_##NAME(TYPE value); -void delete_##NAME(TYPE *obj); -void NAME##_assign(TYPE *obj, TYPE value); -TYPE NAME##_value(TYPE *obj); - -%enddef - -%define %pointer_cast(TYPE1,TYPE2,NAME) -%inline %{ -TYPE2 NAME(TYPE1 x) { - return (TYPE2) x; -} -%} -%enddef -%ppointer_functions(IADLXDisplayServices*, displaySerP_Ptr); -%ppointer_functions(IADLXDisplayList*, displayListP_Ptr); -%ppointer_functions(IADLXDisplay*, displayP_Ptr); -%ppointer_functions(IADLXDisplayChangedHandling*, displayChangeHandlP_Ptr); -%ppointer_functions(char*, charP_Ptr); \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj deleted file mode 100644 index 9f872af..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj +++ /dev/null @@ -1,193 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - Win32Proj - {b9106003-fdc7-4318-a4c7-31c40484cd4e} - ADLXCSharpBind - 10.0 - - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - false - - - true - - - false - - - - Level3 - true - WIN32;_DEBUG;ADLXCSHARPBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - Use - pch.h - - - Windows - true - false - - - - - Level3 - true - true - true - WIN32;NDEBUG;ADLXCSHARPBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - Use - pch.h - - - Windows - true - true - true - false - - - - - Level3 - true - _DEBUG;ADLXCSHARPBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - pch.h - - - Windows - true - false - - - xcopy "$(ProjectDir)out\*.cs" "$(SolutionDir)\DisplayEvents\DisplayEvents\ADLXDepends" /y -xcopy "$(ProjectDir)out\*.cs" "$(SolutionDir)\DisplayInfo\DisplayInfo\ADLXDepends" /y - - - - - Level3 - true - true - true - NDEBUG;ADLXCSHARPBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - pch.h - - - Windows - true - true - true - false - - - xcopy "$(ProjectDir)out\*.cs" "$(SolutionDir)\DisplayEvents\DisplayEvents\ADLXDepends" /y -xcopy "$(ProjectDir)out\*.cs" "$(SolutionDir)\DisplayInfo\DisplayInfo\ADLXDepends" /y - - - - - - - - - - - - - - - Create - Create - Create - Create - - - - - Document - if not exist "$(ProjectDir)out" mkdir "$(ProjectDir)out" -swig.exe -c++ -csharp -dllimport ADLXCSharpBind -outdir "$(ProjectDir)out" ADLXCSharpBind.i - %(Filename)_wrap.cxx - if not exist "$(ProjectDir)out" mkdir "$(ProjectDir)out" -swig.exe -c++ -csharp -dllimport ADLXCSharpBind -outdir "$(ProjectDir)out" ADLXCSharpBind.i - %(Filename)_wrap.cxx - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj.filters b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj.filters deleted file mode 100644 index 40e1466..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/ADLXCSharpBind.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/dllmain.cpp b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/dllmain.cpp deleted file mode 100644 index db6620e..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/dllmain.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -// dllmain.cpp : Defines the entry point for the DLL application. -#include "pch.h" - -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved - ) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/framework.h b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/framework.h deleted file mode 100644 index d10e8b1..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/framework.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files -#include diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.cpp b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.cpp deleted file mode 100644 index 7f25c67..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -// pch.cpp: source file corresponding to the pre-compiled header - -#include "pch.h" - -// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.h b/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.h deleted file mode 100644 index 2be3a74..0000000 --- a/vendor/adlx/Samples/csharp/ADLXCSharpBind/ADLXCSharpBind/pch.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef PCH_H -#define PCH_H - -// add headers that you want to pre-compile here -#include "framework.h" - -#endif //PCH_H diff --git a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/ADLXDepends/empty-nodelete.txt b/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/ADLXDepends/empty-nodelete.txt deleted file mode 100644 index c4c85d3..0000000 --- a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/ADLXDepends/empty-nodelete.txt +++ /dev/null @@ -1,2 +0,0 @@ -This file is used as a placeholder to create the folder, -Because git will ignore the .cs files here, they come from the output of ADLXCSharpBind. \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/App.config b/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/App.config deleted file mode 100644 index ffaf540..0000000 --- a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/DisplayEvents.csproj b/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/DisplayEvents.csproj deleted file mode 100644 index 81bcb20..0000000 --- a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/DisplayEvents.csproj +++ /dev/null @@ -1,165 +0,0 @@ - - - - - Debug - AnyCPU - {3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44} - Exe - DisplayEvents - DisplayEvents - v4.7.2 - 512 - true - true - - - x64 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - ..\..\x64\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt - true - - - ..\..\x64\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/mainDisplayEvents.cs b/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/mainDisplayEvents.cs deleted file mode 100644 index f765f2d..0000000 --- a/vendor/adlx/Samples/csharp/DisplayEvents/DisplayEvents/mainDisplayEvents.cs +++ /dev/null @@ -1,110 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Threading; - -namespace DisplayEvents -{ - class mainDisplayEvents - { - static void Main(string[] args) - { - // Initialize ADLX with ADLXHelper - ADLXHelper help = new ADLXHelper(); - ADLX_RESULT res = help.Initialize(); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Get system services - IADLXSystem sys = help.GetSystemServices(); - - if (sys != null) - { - // Get display services - SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr(); - res = sys.GetDisplaysServices(s); - IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Get displaychangedhandling - SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandling ppDisChangeHand = ADLX.new_displayChangeHandlP_Ptr(); - res = displayService.GetDisplayChangedHandling(ppDisChangeHand); - IADLXDisplayChangedHandling hand = ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Callback for displayListChanged - DisplayListCallBack call = new DisplayListCallBack(); - hand.AddDisplayListEventListener(call); - Console.WriteLine(String.Format("\n\n Plug or unplug a display within 20 seconds.")); - try - { - Thread.Sleep(20000); - } - catch (Exception e) - { - // Exception - } - hand.RemoveDisplayListEventListener(call); - - // Release display change handling interface - hand.Release(); - } - - // Release display services interface - displayService.Release(); - } - } - } - else - { - Console.WriteLine(String.Format("ADLX helper initialization result: {0}", res)); - } - - // Terminate ADLX - res = help.Terminate(); - Console.WriteLine(String.Format("ADLX Terminate result: {0}", res)); - Console.ReadKey(); - } - } - - // Callback for display list changed - public class DisplayListCallBack : IADLXDisplayListChangedListener - { - public DisplayListCallBack() - :base(){} - - // Override function - public override bool OnDisplayListChanged(IADLXDisplayList pNewDisplay) - { - uint size = pNewDisplay.Size(); - Console.WriteLine(String.Format("\nDisplay list changed, display list size: {0}", size)); - uint it = pNewDisplay.Begin(); - for (; it != pNewDisplay.Size(); it++) - { - SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr(); - pNewDisplay.At(it, ppDisplay); - IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay); - - SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr(); - display.Name(ppName); - String name = ADLX.charP_Ptr_value(ppName); - - Console.WriteLine(String.Format("The display [{0}]:", it)); - Console.WriteLine(String.Format("\tname: {0}", name)); - - display.Release(); - } - - return true; - } - } -} diff --git a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/ADLXDepends/empty-nodelete.txt b/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/ADLXDepends/empty-nodelete.txt deleted file mode 100644 index c4c85d3..0000000 --- a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/ADLXDepends/empty-nodelete.txt +++ /dev/null @@ -1,2 +0,0 @@ -This file is used as a placeholder to create the folder, -Because git will ignore the .cs files here, they come from the output of ADLXCSharpBind. \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/App.config b/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/App.config deleted file mode 100644 index ffaf540..0000000 --- a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/DisplayInfo.csproj b/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/DisplayInfo.csproj deleted file mode 100644 index 12c37ec..0000000 --- a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/DisplayInfo.csproj +++ /dev/null @@ -1,192 +0,0 @@ - - - - - Debug - AnyCPU - {337BE764-1ED4-4EA0-A0C3-ACD18D91E78B} - Exe - DisplayInfo - DisplayInfo - v4.7.2 - 512 - true - true - false - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - x64 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - ..\..\x64\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt - true - - - ..\..\x64\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - Microsoft .NET Framework 4.7.2 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/mainDisplayInfo.cs b/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/mainDisplayInfo.cs deleted file mode 100644 index f3669ba..0000000 --- a/vendor/adlx/Samples/csharp/DisplayInfo/DisplayInfo/mainDisplayInfo.cs +++ /dev/null @@ -1,132 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace DisplayInfo -{ - class mainDisplayInfo - { - static void Main(string[] args) { - - // Initialize ADLX with ADLXHelper - ADLXHelper help = new ADLXHelper(); - ADLX_RESULT res = help.Initialize(); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Get system services - IADLXSystem sys = help.GetSystemServices(); - - if (sys != null) - { - // Get display services - SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr(); - res = sys.GetDisplaysServices(s); - IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Get display list - SWIGTYPE_p_p_adlx__IADLXDisplayList ppDisplayList = ADLX.new_displayListP_Ptr(); - res = displayService.GetDisplays(ppDisplayList); - IADLXDisplayList displayList = ADLX.displayListP_Ptr_value(ppDisplayList); - - if (res == ADLX_RESULT.ADLX_OK) - { - // Iterate through the display list - uint it = displayList.Begin(); - for (; it != displayList.Size(); it++) - { - SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr(); - res = displayList.At(it, ppDisplay); - IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay); - - if (res == ADLX_RESULT.ADLX_OK) - { - SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr(); - display.Name(ppName); - String name = ADLX.charP_Ptr_value(ppName); - - SWIGTYPE_p_ADLX_DISPLAY_TYPE pDisType = ADLX.new_displayTypeP(); - display.DisplayType(pDisType); - ADLX_DISPLAY_TYPE disType = ADLX.displayTypeP_value(pDisType); - - SWIGTYPE_p_unsigned_int pMID = ADLX.new_uintP(); - display.ManufacturerID(pMID); - long mid = ADLX.uintP_value(pMID); - - SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPE pConnect = ADLX.new_disConnectTypeP(); - display.ConnectorType(pConnect); - ADLX_DISPLAY_CONNECTOR_TYPE connect = ADLX.disConnectTypeP_value(pConnect); - - SWIGTYPE_p_p_char ppEDIE = ADLX.new_charP_Ptr(); - display.EDID(ppEDIE); - String edid = ADLX.charP_Ptr_value(ppEDIE); - - SWIGTYPE_p_int pH = ADLX.new_intP(); - SWIGTYPE_p_int pV = ADLX.new_intP(); - display.NativeResolution(pH, pV); - int h = ADLX.intP_value(pH); - int v = ADLX.intP_value(pV); - - SWIGTYPE_p_double pRefRate = ADLX.new_doubleP(); - display.RefreshRate(pRefRate); - double refRate = ADLX.doubleP_value(pRefRate); - - SWIGTYPE_p_unsigned_int pPixClock = ADLX.new_uintP(); - display.PixelClock(pPixClock); - long pixClock = ADLX.uintP_value(pPixClock); - - SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPE pScanType = ADLX.new_disScanTypeP(); - display.ScanType(pScanType); - ADLX_DISPLAY_SCAN_TYPE scanType = ADLX.disScanTypeP_value(pScanType); - - SWIGTYPE_p_size_t pID = ADLX.new_adlx_sizeP(); - display.UniqueId(pID); - uint id = ADLX.adlx_sizeP_value(pID); - - Console.WriteLine(String.Format("\nThe display [{0}]:", it)); - Console.WriteLine(String.Format("\tName: {0}", name)); - Console.WriteLine(String.Format("\tType: {0}", disType)); - Console.WriteLine(String.Format("\tConnector type: {0}", connect)); - Console.WriteLine(String.Format("\tManufacturer id: {0}", mid)); - Console.WriteLine(String.Format("\tEDID: {0}", edid)); - Console.WriteLine(String.Format("\tResolution: h: {0} v: {1}", h, v)); - Console.WriteLine(String.Format("\tRefresh rate: {0}", refRate)); - Console.WriteLine(String.Format("\tPixel clock: {0}", pixClock)); - Console.WriteLine(String.Format("\tScan type: {0}", scanType)); - Console.WriteLine(String.Format("\tUnique id: {0}", id)); - - // Release display interface - display.Release(); - } - } - - // Release display list interface - displayList.Release(); - } - - // Release display services interface - displayService.Release(); - } - } - } - else - { - Console.WriteLine(String.Format("ADLX helper init res:: {0}", res)); - } - - // Terminate ADLX - res = help.Terminate(); - Console.WriteLine(String.Format("ADLX Terminate res: {0}", res)); - Console.ReadKey(); - } - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/csharp/ReadMe.md b/vendor/adlx/Samples/csharp/ReadMe.md deleted file mode 100644 index 7e5cff8..0000000 --- a/vendor/adlx/Samples/csharp/ReadMe.md +++ /dev/null @@ -1,29 +0,0 @@ -@page page_sample_cs C# Samples - -This document describes how to build the C# bindings for ADLX, and the ADLX C# samples, as well as the environment in which they can be executed. The ADLX C# samples demonstrate how to program with ADLX in a C# application. - -

Supported Operating Systems

-Windows® 10 (32- and 64-bit versions) and up. - -

Build Tool

-Visual Studio 2019 with C and C++ components for desktop, and with C# components for desktop. - -

Prerequisites

-- ADLX SDK is installed. -- swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Open `~ADLX\drivers\ADLX\Samples\csharp\sample.sln` with Visual Studio 2019.
  2. -
  3. Select the build configuration, for example, Release, and x64.
  4. -
  5. Set the sample as startup project.
  6. -
  7. Rebuild the project. \n
  8. - Note: This procedure also builds the `ADLXCSharpBind` project in Visual Studio, which is required for any ALDX C# sample . -
  9. Run the sample from the path `~ADLX\Samples\csharp` for the corresponding build configuration and sample, for example `~ADLX\Samples\csharp\x64\Release\DisplayInfo.exe`.
  10. -
diff --git a/vendor/adlx/Samples/csharp/sample.sln b/vendor/adlx/Samples/csharp/sample.sln deleted file mode 100644 index 8328654..0000000 --- a/vendor/adlx/Samples/csharp/sample.sln +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.32002.261 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ADLXCSharpBind", "ADLXCSharpBind\ADLXCSharpBind\ADLXCSharpBind.vcxproj", "{B9106003-FDC7-4318-A4C7-31C40484CD4E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DisplayEvents", "DisplayEvents\DisplayEvents\DisplayEvents.csproj", "{3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44}" - ProjectSection(ProjectDependencies) = postProject - {B9106003-FDC7-4318-A4C7-31C40484CD4E} = {B9106003-FDC7-4318-A4C7-31C40484CD4E} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DisplayInfo", "DisplayInfo\DisplayInfo\DisplayInfo.csproj", "{337BE764-1ED4-4EA0-A0C3-ACD18D91E78B}" - ProjectSection(ProjectDependencies) = postProject - {B9106003-FDC7-4318-A4C7-31C40484CD4E} = {B9106003-FDC7-4318-A4C7-31C40484CD4E} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B9106003-FDC7-4318-A4C7-31C40484CD4E}.Debug|x64.ActiveCfg = Debug|x64 - {B9106003-FDC7-4318-A4C7-31C40484CD4E}.Debug|x64.Build.0 = Debug|x64 - {B9106003-FDC7-4318-A4C7-31C40484CD4E}.Release|x64.ActiveCfg = Release|x64 - {B9106003-FDC7-4318-A4C7-31C40484CD4E}.Release|x64.Build.0 = Release|x64 - {3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44}.Debug|x64.ActiveCfg = Debug|x64 - {3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44}.Debug|x64.Build.0 = Debug|x64 - {3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44}.Release|x64.ActiveCfg = Debug|x64 - {3DA037BE-98B0-4F79-8BD7-7A0A13B4FE44}.Release|x64.Build.0 = Debug|x64 - {337BE764-1ED4-4EA0-A0C3-ACD18D91E78B}.Debug|x64.ActiveCfg = Debug|x64 - {337BE764-1ED4-4EA0-A0C3-ACD18D91E78B}.Debug|x64.Build.0 = Debug|x64 - {337BE764-1ED4-4EA0-A0C3-ACD18D91E78B}.Release|x64.ActiveCfg = Release|x64 - {337BE764-1ED4-4EA0-A0C3-ACD18D91E78B}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {BF041788-F1D5-4F4B-9727-06773629CE05} - EndGlobalSection -EndGlobal diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind.sln b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind.sln deleted file mode 100644 index 768c346..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.32002.261 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ADLXJavaBind", "ADLXJavaBind\ADLXJavaBind.vcxproj", "{211C8C73-5A2F-4B54-B134-19A944FE746F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Debug|x64.ActiveCfg = Debug|x64 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Debug|x64.Build.0 = Debug|x64 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Debug|x86.ActiveCfg = Debug|Win32 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Debug|x86.Build.0 = Debug|Win32 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Release|x64.ActiveCfg = Release|x64 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Release|x64.Build.0 = Release|x64 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Release|x86.ActiveCfg = Release|Win32 - {211C8C73-5A2F-4B54-B134-19A944FE746F}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B144C009-73DC-41D7-95B1-4EDF1187135E} - EndGlobalSection -EndGlobal diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.i b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.i deleted file mode 100644 index 445c3de..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.i +++ /dev/null @@ -1,162 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -%module(directors="1") ADLX -%{ -#include -#include "../../../../SDK/Include/ADLXDefines.h" -#include "../../../../SDK/Include/ICollections.h" -#include "../../../../SDK/Include/IDisplays.h" -#include "../../../../SDK/Include/ISystem.h" -#include "../../../../SDK/Include/ILog.h" -#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" - -typedef int64_t adlx_int64; -typedef int32_t adlx_int32; -typedef int16_t adlx_int16; -typedef int8_t adlx_int8; -typedef uint64_t adlx_uint64; -typedef uint32_t adlx_uint32; -typedef uint16_t adlx_uint16; -typedef uint8_t adlx_uint8; -typedef size_t adlx_size; -typedef void* adlx_handle; -typedef double adlx_double; -typedef float adlx_float; -typedef void adlx_void; -typedef long adlx_long; -typedef adlx_int32 adlx_int; -typedef unsigned long adlx_ulong; -typedef adlx_uint32 adlx_uint; -typedef bool adlx_bool; -typedef wchar_t WCHAR; // wc, 16-bit UNICODE character -typedef WCHAR TCHAR; - -// Microsoft -#define ADLX_CORE_LINK __declspec(dllexport) -#define ADLX_STD_CALL __stdcall -#define ADLX_CDECL_CALL __cdecl -#define ADLX_FAST_CALL __fastcall -#define ADLX_INLINE __inline -#define ADLX_FORCEINLINE __forceinline -#define ADLX_NO_VTABLE __declspec(novtable) - -//IID's -#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; } -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) -#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } - -using namespace adlx; -%} -/* Force the generated Java code to use the C enum values rather than making a JNI call */ -//%include "java.swg" -//%javaconst(1); - -typedef int64_t adlx_int64; -typedef int32_t adlx_int32; -typedef int16_t adlx_int16; -typedef int8_t adlx_int8; -typedef uint64_t adlx_uint64; -typedef uint32_t adlx_uint32; -typedef uint16_t adlx_uint16; -typedef uint8_t adlx_uint8; -typedef size_t adlx_size; -typedef void* adlx_handle; -typedef double adlx_double; -typedef float adlx_float; -typedef void adlx_void; -typedef long adlx_long; -typedef adlx_int32 adlx_int; -typedef unsigned long adlx_ulong; -typedef adlx_uint32 adlx_uint; -typedef bool adlx_bool; -typedef wchar_t WCHAR; // wc, 16-bit UNICODE character -typedef WCHAR TCHAR; - -// Microsoft -#define ADLX_CORE_LINK __declspec(dllexport) -#define ADLX_STD_CALL __stdcall -#define ADLX_CDECL_CALL __cdecl -#define ADLX_FAST_CALL __fastcall -#define ADLX_INLINE __inline -#define ADLX_FORCEINLINE __forceinline -#define ADLX_NO_VTABLE __declspec(novtable) - -//IID's -#define ADLX_DECLARE_IID(X) static ADLX_INLINE const wchar_t* IID() { return X; } -#define ADLX_IS_IID(X, Y) (!wcscmp (X, Y)) - -#define ADLX_DECLARE_ITEM_IID(X) static ADLX_INLINE const wchar_t* ITEM_IID() { return X; } - -/* Callback to turn on director wrapping */ -%feature("director") IADLXDisplayListChangedListener; - -%include stdint.i -%include carrays.i -%include windows.i -%include typemaps.i - -%include "../../../../SDK/Include/ADLXDefines.h" -%include "../../../../SDK/Include/ICollections.h" -%include "../../../../SDK/Include/IDisplays.h" -%include "../../../../SDK/Include/ISystem.h" -%include "../../../../SDK/Include/ILog.h" -%include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -using namespace adlx; - -// T* pointer -%include cpointer.i -%pointer_functions(adlx_int, intP); -%pointer_functions(double, doubleP); -%pointer_functions(adlx_uint, uintP); -%pointer_functions(ADLX_DISPLAY_TYPE, displayTypeP); -%pointer_functions(ADLX_DISPLAY_CONNECTOR_TYPE, disConnectTypeP); -%pointer_functions(ADLX_DISPLAY_SCAN_TYPE, disScanTypeP); -%pointer_functions(adlx_size, adlx_sizeP) - -// T** ppointer -%define %ppointer_functions(TYPE,NAME) -%{ -static TYPE *new_##NAME() { %} -%{ return new TYPE(); %} -%{} - -static TYPE *copy_##NAME(TYPE value) { %} -%{ return new TYPE(value); %} -%{} - -static void delete_##NAME(TYPE *obj) { %} -%{ if (*obj) delete *obj; %} -%{} - -static void NAME ##_assign(TYPE *obj, TYPE value) { - *obj = value; -} - -static TYPE NAME ##_value(TYPE *obj) { - return *obj; -} -%} - -TYPE *new_##NAME(); -TYPE *copy_##NAME(TYPE value); -void delete_##NAME(TYPE *obj); -void NAME##_assign(TYPE *obj, TYPE value); -TYPE NAME##_value(TYPE *obj); - -%enddef - -%define %pointer_cast(TYPE1,TYPE2,NAME) -%inline %{ -TYPE2 NAME(TYPE1 x) { - return (TYPE2) x; -} -%} -%enddef -%ppointer_functions(IADLXDisplayServices*, displaySerP_Ptr); -%ppointer_functions(IADLXDisplayList*, displayListP_Ptr); -%ppointer_functions(IADLXDisplay*, displayP_Ptr); -%ppointer_functions(IADLXDisplayChangedHandling*, displayChangeHandlP_Ptr); -%ppointer_functions(char*, charP_Ptr); \ No newline at end of file diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj deleted file mode 100644 index aa60329..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - Win32Proj - {211c8c73-5a2f-4b54-b134-19a944fe746f} - ADLXJavaBind - 10.0 - - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - false - - - true - $(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(IncludePath) - - - false - $(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(IncludePath) - - - - Level3 - true - WIN32;_DEBUG;ADLXJAVABIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - Use - pch.h - - - Windows - true - false - - - - - Level3 - true - true - true - WIN32;NDEBUG;ADLXJAVABIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - Use - pch.h - - - Windows - true - true - true - false - - - - - Level3 - true - _DEBUG;ADLXJAVABIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - pch.h - - - Windows - true - false - - - if not exist "$(SolutionDir)..\DisplayInfo\out" mkdir "$(SolutionDir)..\DisplayInfo\out" -if not exist "$(SolutionDir)..\DisplayEvents\out" mkdir "$(SolutionDir)..\DisplayEvents\out" -copy /Y "$(TargetDir)$(ProjectName).dll" ""$(SolutionDir)..\DisplayEvents\$(ProjectName).dll" -copy /Y "$(TargetDir)$(ProjectName).dll" ""$(SolutionDir)..\DisplayInfo\$(ProjectName).dll" -xcopy "$(SolutionDir)out\*.java" "$(SolutionDir)..\DisplayEvents\out" /y -xcopy "$(SolutionDir)out\*.java" "$(SolutionDir)..\DisplayInfo\out" /y - - - - - Level3 - true - true - true - NDEBUG;ADLXJAVABIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - NotUsing - pch.h - - - Windows - true - true - true - false - - - - - - - if not exist "$(SolutionDir)..\DisplayInfo\out" mkdir "$(SolutionDir)..\DisplayInfo\out" -if not exist "$(SolutionDir)..\DisplayEvent\out" mkdir "$(SolutionDir)..\DisplayEvents\out" -copy /Y "$(TargetDir)$(ProjectName).dll" ""$(SolutionDir)..\DisplayEvents\$(ProjectName).dll" -copy /Y "$(TargetDir)$(ProjectName).dll" ""$(SolutionDir)..\DisplayInfo\$(ProjectName).dll" -xcopy "$(SolutionDir)out\*.java" "$(SolutionDir)..\DisplayEvents\out" /y -xcopy "$(SolutionDir)out\*.java" "$(SolutionDir)..\DisplayInfo\out" /y - - - - - - - - - - - - - - - - Create - Create - Create - Create - - - - - Document - if not exist "$(SolutionDir)out" mkdir "$(SolutionDir)out" -swig.exe -c++ -java -package out -outdir ../out/ ADLXJavaBind.i - %(Filename)_wrap.cxx - if not exist "$(SolutionDir)out" mkdir "$(SolutionDir)out" -swig.exe -c++ -java -package out -outdir ../out/ ADLXJavaBind.i - %(Filename)_wrap.cxx - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj.filters b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj.filters deleted file mode 100644 index d59652d..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/ADLXJavaBind.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/dllmain.cpp b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/dllmain.cpp deleted file mode 100644 index 050e20f..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/dllmain.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -// dllmain.cpp : Defines the entry point for the DLL application. -#include "pch.h" - -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved - ) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} - diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/framework.h b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/framework.h deleted file mode 100644 index aeb2cfc..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/framework.h +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#pragma once - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files -#include diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.cpp b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.cpp deleted file mode 100644 index 4b9f544..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.cpp +++ /dev/null @@ -1,10 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -// pch.cpp: source file corresponding to the pre-compiled header - -#include "pch.h" - -// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.h b/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.h deleted file mode 100644 index 9f7054f..0000000 --- a/vendor/adlx/Samples/java/ADLXJavaBind/ADLXJavaBind/pch.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -#ifndef PCH_H -#define PCH_H - -// add headers that you want to pre-compile here -#include "framework.h" - -#endif //PCH_H diff --git a/vendor/adlx/Samples/java/DisplayEvents/DisplayListCallBack.java b/vendor/adlx/Samples/java/DisplayEvents/DisplayListCallBack.java deleted file mode 100644 index b7424b4..0000000 --- a/vendor/adlx/Samples/java/DisplayEvents/DisplayListCallBack.java +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -import out.*; - -// display list changed callback -public class DisplayListCallBack extends IADLXDisplayListChangedListener { - - public DisplayListCallBack(){ - super(); - } - - // override function - public boolean OnDisplayListChanged(IADLXDisplayList pNewDisplay) { - - long size = pNewDisplay.Size(); - System.out.printf("\nDisplay list changed, the size of display list is: %d\n", size); - long it = pNewDisplay.Begin(); - for(; it != pNewDisplay.Size(); it++){ - SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr(); - pNewDisplay.At(it, ppDisplay); - IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay); - - SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr(); - display.Name(ppName); - String name = ADLX.charP_Ptr_value(ppName); - - System.out.printf("the display [%d]:\n", it); - System.out.printf("\tname: %s\n", name); - - display.Release(); - } - - return true; - } -} diff --git a/vendor/adlx/Samples/java/DisplayEvents/mainDisplayEvents.java b/vendor/adlx/Samples/java/DisplayEvents/mainDisplayEvents.java deleted file mode 100644 index 892ad9d..0000000 --- a/vendor/adlx/Samples/java/DisplayEvents/mainDisplayEvents.java +++ /dev/null @@ -1,72 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -import out.*; - -public class mainDisplayEvents { - - // load ADLXJavaBind.dll - static { - try { - System.loadLibrary("ADLXJavaBind"); - } catch (UnsatisfiedLinkError e) { - System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); - System.exit(1); - } - } - - // Get displaylistchanged - public static void main(String[] args) { - - // Initialize ADLX with ADLXHelper - ADLXHelper help = new ADLXHelper(); - ADLX_RESULT res = help.Initialize(); - - if (res == ADLX_RESULT.ADLX_OK) { - - // Get system services - IADLXSystem sys = help.GetSystemServices(); - - if (sys != null) { - // Get display services - SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr(); - res = sys.GetDisplaysServices(s); - IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s); - - if (res == ADLX_RESULT.ADLX_OK) { - // Get display changed handling - SWIGTYPE_p_p_adlx__IADLXDisplayChangedHandling ppDisChangeHand = ADLX.new_displayChangeHandlP_Ptr(); - res = displayService.GetDisplayChangedHandling(ppDisChangeHand); - IADLXDisplayChangedHandling hand = ADLX.displayChangeHandlP_Ptr_value(ppDisChangeHand); - - if (res == ADLX_RESULT.ADLX_OK) { - // Call back for dislaylistchanged - DisplayListCallBack call = new DisplayListCallBack(); - hand.AddDisplayListEventListener(call); - System.out.println("\n\n Plug or unplug a display within 20 seconds.\n"); - try { - Thread.currentThread().sleep(20000); - } catch (Exception e) { - // Exception handling - } - hand.RemoveDisplayListEventListener(call); - - // Release display changed handling interface - hand.Release(); - } - - // Release display services interface - displayService.Release(); - } - } - } else { - System.out.printf("ADLX helper initialize result: %s\n", res.toString()); - } - - // ADLX Terminate - res = help.Terminate(); - System.out.printf("ADLX Terminate: %s\n", res.toString()); - } -} \ No newline at end of file diff --git a/vendor/adlx/Samples/java/DisplayInfo/mainDisplayInfo.java b/vendor/adlx/Samples/java/DisplayInfo/mainDisplayInfo.java deleted file mode 100644 index 66032f7..0000000 --- a/vendor/adlx/Samples/java/DisplayInfo/mainDisplayInfo.java +++ /dev/null @@ -1,128 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -import out.*; - -public class mainDisplayInfo { - - // Load ADLXJavaBind.dll - static { - try { - System.loadLibrary("ADLXJavaBind"); - } catch (UnsatisfiedLinkError e) { - System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); - System.exit(1); - } - } - - // Iterate display list - public static void main(String[] args) { - - // Initialize ADLX with ADLXHelper - ADLXHelper help = new ADLXHelper(); - ADLX_RESULT res = help.Initialize(); - - if (res == ADLX_RESULT.ADLX_OK) { - - // Get system services - IADLXSystem sys = help.GetSystemServices(); - - if (sys != null) { - // Get display services - SWIGTYPE_p_p_adlx__IADLXDisplayServices s = ADLX.new_displaySerP_Ptr(); - res = sys.GetDisplaysServices(s); - IADLXDisplayServices displayService = ADLX.displaySerP_Ptr_value(s); - - if (res == ADLX_RESULT.ADLX_OK) { - // Get display list - SWIGTYPE_p_p_adlx__IADLXDisplayList ppDisplayList = ADLX.new_displayListP_Ptr(); - res = displayService.GetDisplays(ppDisplayList); - IADLXDisplayList displayList = ADLX.displayListP_Ptr_value(ppDisplayList); - - if (res == ADLX_RESULT.ADLX_OK) { - // Iterate through the display list - long it = displayList.Begin(); - for(; it != displayList.Size(); it++) { - SWIGTYPE_p_p_adlx__IADLXDisplay ppDisplay = ADLX.new_displayP_Ptr(); - res = displayList.At(it, ppDisplay); - IADLXDisplay display = ADLX.displayP_Ptr_value(ppDisplay); - - if (res == ADLX_RESULT.ADLX_OK) { - SWIGTYPE_p_p_char ppName = ADLX.new_charP_Ptr(); - display.Name(ppName); - String name = ADLX.charP_Ptr_value(ppName); - - SWIGTYPE_p_ADLX_DISPLAY_TYPE pDisType = ADLX.new_displayTypeP(); - display.DisplayType(pDisType); - ADLX_DISPLAY_TYPE disType = ADLX.displayTypeP_value(pDisType); - - SWIGTYPE_p_unsigned_int pMID = ADLX.new_uintP(); - display.ManufacturerID(pMID); - long mid = ADLX.uintP_value(pMID); - - SWIGTYPE_p_ADLX_DISPLAY_CONNECTOR_TYPE pConnect = ADLX.new_disConnectTypeP(); - display.ConnectorType(pConnect); - ADLX_DISPLAY_CONNECTOR_TYPE connect = ADLX.disConnectTypeP_value(pConnect); - - SWIGTYPE_p_p_char ppEDIE = ADLX.new_charP_Ptr(); - display.EDID(ppEDIE); - String edid = ADLX.charP_Ptr_value(ppEDIE); - - SWIGTYPE_p_int pH = ADLX.new_intP(); - SWIGTYPE_p_int pV = ADLX.new_intP(); - display.NativeResolution(pH, pV); - int h = ADLX.intP_value(pH); - int v = ADLX.intP_value(pV); - - SWIGTYPE_p_double pRefRate = ADLX.new_doubleP(); - display.RefreshRate(pRefRate); - double refRate = ADLX.doubleP_value(pRefRate); - - SWIGTYPE_p_unsigned_int pPixClock = ADLX.new_uintP(); - display.PixelClock(pPixClock); - long pixClock = ADLX.uintP_value(pPixClock); - - SWIGTYPE_p_ADLX_DISPLAY_SCAN_TYPE pScanType = ADLX.new_disScanTypeP(); - display.ScanType(pScanType); - ADLX_DISPLAY_SCAN_TYPE scanType = ADLX.disScanTypeP_value(pScanType); - - SWIGTYPE_p_size_t pID = ADLX.new_adlx_sizeP(); - display.UniqueId(pID); - long id = ADLX.adlx_sizeP_value(pID); - - System.out.printf("\nThe display [%d]:\n", it); - System.out.printf("\tName: %s\n", name); - System.out.printf("\tType: %s\n", disType.toString()); - System.out.printf("\tConnector type: %s\n", connect.toString()); - System.out.printf("\tManufacturer id: %d\n", mid); - System.out.printf("\tEDID: %s\n", edid); - System.out.printf("\tResolution: h: %d v: %d\n", h, v); - System.out.printf("\tRefresh rate: %f\n", refRate); - System.out.printf("\tPixel clock: %d\n", pixClock); - System.out.printf("\tScan type: %s\n", scanType.toString()); - System.out.printf("\tUnique id: %d\n", id); - - // Release display interface - display.Release(); - } - } - - // Release display list interface - displayList.Release(); - } - - // Release display services interface - displayService.Release(); - } - } - } else { - System.out.printf("ADLX helper initialization res: %s\n", res.toString()); - } - - // Terminate ADLX - res = help.Terminate(); - System.out.printf("ADLX Terminate: %s\n", res.toString()); - } -} diff --git a/vendor/adlx/Samples/java/ReadMe.md b/vendor/adlx/Samples/java/ReadMe.md deleted file mode 100644 index d5aeb7a..0000000 --- a/vendor/adlx/Samples/java/ReadMe.md +++ /dev/null @@ -1,52 +0,0 @@ -@page page_sample_java Java Samples - - -This document describes how to build the Java bindings for ADLX, and the ADLX Java samples, as well as the environment in which they can be executed. The ADLX Java samples demonstrate how to program with ADLX in a Java application. - -

Supported Operating Systems

-Windows® 10 (32- and 64-bit versions) and up. - -

Building the ADLXCSharpBind

-These are the instructions for building the ADLX Java bindings for the ADLX Java samples. - -

Build Tool

-Visual Studio 2019 with C and C++ components for desktop. - -

Prerequisites

-- ADLX SDK is installed. -- Visual Studio 2019 is installed. -- swigwin 4.0.2 is installed, and the path to the swigwin 4.0.2 installation is added to the Path user environment variable. -- OpenJDK 17 is installed. -- The path to the OpenJDK 17 installation is added to the JAVA_HOME system environment variable. -- The bin path for the OpenJDK 17 installation is added to the Path system environment variable. - -

Build Instructions

-
    -
  1. Run Visual Studio 2019.
  2. -
  3. Open `~ADLX\drivers\ADLX\Samples\java\ADLXJavaBind\ADLXJavaBind.sln`.
  4. -
  5. Rebuild the project
  6. -
- -

Building the ADLX Java samples

-These are the instructions for building the DisplayInfo ADLX Java sample. -Similar instructions must be followed for building the other ADLX Java samples. - -

Build Tool

-Visual Studio Code - -

Prerequisites

-- ADLX SDK is installed. -- ADLXCSharpBind is built. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Run Visual Studio Code.
  2. -
  3. Open `~ADLX\drivers\ADLX\Samples\java\DisplayInfo`.
  4. -
  5. Rebuild the project
  6. -
diff --git a/vendor/adlx/Samples/output-night-light.txt b/vendor/adlx/Samples/output-night-light.txt deleted file mode 100644 index 9d2d0dc..0000000 --- a/vendor/adlx/Samples/output-night-light.txt +++ /dev/null @@ -1,82 +0,0 @@ - -ReGammaRamp [R]: -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00101 00234 00369 00507 00646 00788 00931 01077 01225 -01375 01527 01681 01837 01995 02155 02317 02481 02647 02815 -02986 03158 03332 03508 03686 03866 04049 04233 04419 04607 -04797 04989 05182 05378 05576 05776 05977 06181 06386 06594 -06803 07014 07227 07442 07659 07878 08099 08322 08546 08772 -09001 09231 09463 09697 09932 10170 10409 10651 10894 11139 -11386 11634 11885 12137 12392 12648 12905 13165 13427 13690 -13955 14222 14491 14762 15034 15308 15584 15862 16142 16423 -16706 16991 17278 17566 17857 18149 18443 18738 19036 19335 -19636 19938 20243 20549 20857 21167 21478 21792 22107 22423 -22742 23062 23384 23708 24033 24360 24689 25020 25352 25686 -26022 26360 26699 27040 27383 27727 28073 28421 28770 29122 -29475 29829 30186 30544 30903 31265 31628 31993 32359 32728 -33097 33469 33842 34217 34594 34972 35352 35734 36117 36502 -36889 37277 37667 38059 38452 38847 39244 39642 40042 40444 -40847 41252 41658 42067 42476 42888 43301 43716 44132 44551 -44970 45392 45815 46239 46666 47094 47523 47954 48387 48822 -49258 49695 50135 50576 51018 51462 51908 52356 52805 53255 -53707 54161 54617 55074 55533 55993 56455 56918 57383 57850 -58318 58788 59260 59733 60208 60684 61162 61641 62123 62605 -63089 63575 64063 64552 65042 65534 -ReGammaRamp [G]: -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00101 00234 00369 00507 00646 00788 00931 01077 01225 -01375 01527 01681 01837 01995 02155 02317 02481 02647 02815 -02986 03158 03332 03508 03686 03866 04049 04233 04419 04607 -04797 04989 05182 05378 05576 05776 05977 06181 06386 06594 -06803 07014 07227 07442 07659 07878 08099 08322 08546 08772 -09001 09231 09463 09697 09932 10170 10409 10651 10894 11139 -11386 11634 11885 12137 12392 12648 12905 13165 13427 13690 -13955 14222 14491 14762 15034 15308 15584 15862 16142 16423 -16706 16991 17278 17566 17857 18149 18443 18738 19036 19335 -19636 19938 20243 20549 20857 21167 21478 21792 22107 22423 -22742 23062 23384 23708 24033 24360 24689 25020 25352 25686 -26022 26360 26699 27040 27383 27727 28073 28421 28770 29122 -29475 29829 30186 30544 30903 31265 31628 31993 32359 32728 -33097 33469 33842 34217 34594 34972 35352 35734 36117 36502 -36889 37277 37667 38059 38452 38847 39244 39642 40042 40444 -40847 41252 41658 42067 42476 42888 43301 43716 44132 44551 -44970 45392 45815 46239 46666 47094 47523 47954 48387 48822 -49258 49695 50135 50576 51018 51462 51908 52356 52805 53255 -53707 54161 54617 55074 55533 55993 56455 56918 57383 57850 -58318 58788 59260 59733 60208 60684 61162 61641 62123 62605 -63089 63575 64063 64552 65042 65534 -ReGammaRamp [B]: -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 -00000 00000 00000 00000 00000 00000 \ No newline at end of file diff --git a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind.sln b/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind.sln deleted file mode 100644 index 1a21329..0000000 --- a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.1525 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ADLXPybind", "ADLXPybind\ADLXPybind.vcxproj", "{01100560-1533-406B-B941-6BF02DAFB921}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {01100560-1533-406B-B941-6BF02DAFB921}.Debug|x64.ActiveCfg = Debug|x64 - {01100560-1533-406B-B941-6BF02DAFB921}.Debug|x64.Build.0 = Debug|x64 - {01100560-1533-406B-B941-6BF02DAFB921}.Debug|x86.ActiveCfg = Debug|Win32 - {01100560-1533-406B-B941-6BF02DAFB921}.Debug|x86.Build.0 = Debug|Win32 - {01100560-1533-406B-B941-6BF02DAFB921}.Release|x64.ActiveCfg = Release|x64 - {01100560-1533-406B-B941-6BF02DAFB921}.Release|x64.Build.0 = Release|x64 - {01100560-1533-406B-B941-6BF02DAFB921}.Release|x86.ActiveCfg = Release|Win32 - {01100560-1533-406B-B941-6BF02DAFB921}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E05CACEF-E117-44A2-A80C-2C815B1BAA38} - EndGlobalSection -EndGlobal diff --git a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj b/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj deleted file mode 100644 index 89dd6e8..0000000 --- a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 15.0 - {01100560-1533-406B-B941-6BF02DAFB921} - Win32Proj - ADLXPybind - 10.0 - - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - DynamicLibrary - true - v142 - Unicode - - - DynamicLibrary - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - .pyd - $(PYHOME)\Lib\site-packages\pybind11\include;$(PYHOME)\include;$(IncludePath) - $(PYHOME)\libs;$(LibraryPath) - - - false - - - false - .pyd - $(PYHOME)\include;$(PYHOME)\Lib\site-packages\pybind11\include;$(IncludePath) - $(PYHOME)\libs;$(LibraryPath) - - - - Use - Level3 - Disabled - true - WIN32;_DEBUG;ADLXPYBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - - - Windows - true - false - - - - - NotUsing - Level3 - Disabled - true - _DEBUG;ADLXPYBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - - - Windows - true - false - python39.lib;%(AdditionalDependencies) - - - copy /Y "$(TargetDir)$(ProjectName).pyd" "$(SolutionDir)..\DisplayEvents\$(ProjectName).pyd" -copy /Y "$(TargetDir)$(ProjectName).pyd" "$(SolutionDir)..\DisplayInfo\$(ProjectName).pyd" - - - - - Use - Level3 - MaxSpeed - true - true - true - WIN32;NDEBUG;ADLXPYBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - - - Windows - true - true - true - false - - - - - NotUsing - Level3 - MaxSpeed - true - true - true - NDEBUG;ADLXPYBIND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - pch.h - - - Windows - true - true - true - false - python39.lib;%(AdditionalDependencies) - - - copy /Y "$(TargetDir)$(ProjectName).pyd" ""$(SolutionDir)..\DisplayEvents\$(ProjectName).pyd" -copy /Y "$(TargetDir)$(ProjectName).pyd" ""$(SolutionDir)..\DisplayInfo\$(ProjectName).pyd" - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj.filters b/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj.filters deleted file mode 100644 index bc11128..0000000 --- a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/ADLXPybind.vcxproj.filters +++ /dev/null @@ -1,33 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff --git a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/bind.cpp b/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/bind.cpp deleted file mode 100644 index 35d686b..0000000 --- a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/bind.cpp +++ /dev/null @@ -1,551 +0,0 @@ -// -// Copyright (c) 2021 - 2023 Advanced Micro Devices, Inc. All rights reserved. -// -//------------------------------------------------------------------------------------------------- - -// Include pybind11 depends -#include -#include -#include -#include -#include - -// Include SDK depends -#include "../../../../SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h" -#include "../../../../SDK/Include/IDisplays.h" - -namespace py = pybind11; -using namespace adlx; - -// Always needed for custom holder types -PYBIND11_DECLARE_HOLDER_TYPE(T, IADLXInterfacePtr_T, true); - -// Only needed if the type's `.get()` goes by another name -namespace pybind11 { - namespace detail { - template - struct holder_helper> { // <-- specialization - static const T *get(const IADLXInterfacePtr_T &p) { return p.GetPtr(); } - }; - } -} - -class PySystem : public IADLXSystem -{ -public: - using IADLXSystem::IADLXSystem; - - ADLX_RESULT HybridGraphicsType(ADLX_HG_TYPE* hgType)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - HybridGraphicsType - ); - } - - ADLX_RESULT GetGPUs(IADLXGPUList** ppGPUs)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetGPUs - ); - } - - ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - QueryInterface - ); - } - - ADLX_RESULT GetDisplaysServices(IADLXDisplayServices** ppDispServices)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetDisplaysServices - ); - } - - ADLX_RESULT GetDesktopsServices(IADLXDesktopServices** ppDeskServices)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetDesktopsServices - ); - } - - ADLX_RESULT GetGPUsChangedHandling(IADLXGPUsChangedHandling** ppGPUsChangedHandling)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetGPUsChangedHandling - ); - } - - ADLX_RESULT EnableLog(ADLX_LOG_DESTINATION mode, ADLX_LOG_SEVERITY severity, IADLXLog* pLogger, const wchar_t* fileName)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - EnableLog - ); - } - - ADLX_RESULT Get3DSettingsServices(IADLX3DSettingsServices** pp3DSettingsServices)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - Get3DSettingsServices - ); - } - - ADLX_RESULT GetGPUTuningServices(IADLXGPUTuningServices** ppGPUTuningServices)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetGPUTuningServices - ); - } - - ADLX_RESULT GetPerformanceMonitoringServices(IADLXPerformanceMonitoringServices** ppPerformanceMonitoringServices)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetPerformanceMonitoringServices - ); - } - - ADLX_RESULT TotalSystemRAM(adlx_uint* ramMB)override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - TotalSystemRAM - ); - } - - ADLX_RESULT GetI2C(IADLXGPU *pGPU, IADLXI2C **ppI2C) override { - PYBIND11_OVERRIDE_PURE( - ADLX_RESULT, - IADLXSystem, - GetI2C - ); - } -}; - -class PyDisplayService : public IADLXDisplayServices -{ -public: - using IADLXDisplayServices::IADLXDisplayServices; - - adlx_long Acquire() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire); - } - - adlx_long Release() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release); - } - - ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface); - } - - ADLX_RESULT GetNumberOfDisplays(adlx_uint* numDisplays) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetNumberOfDisplays); - } - - ADLX_RESULT GetDisplays(IADLXDisplayList** ppDisplay) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetDisplays); - } - - ADLX_RESULT Get3DLUT(IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, Get3DLUT); - } - - ADLX_RESULT GetGamut(IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGamut); - } - - ADLX_RESULT GetGamma(IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGamma); - } - - ADLX_RESULT GetDisplayChangedHandling(IADLXDisplayChangedHandling** ppDisplayChangeHandling) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetDisplayChangedHandling); - } - - ADLX_RESULT GetFreeSync(IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetFreeSync); - } - - ADLX_RESULT GetVirtualSuperResolution(IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetVirtualSuperResolution); - } - - ADLX_RESULT GetGPUScaling(IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetGPUScaling); - } - - ADLX_RESULT GetScalingMode(IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetScalingMode); - } - - ADLX_RESULT GetIntegerScaling(IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetIntegerScaling); - } - - ADLX_RESULT GetColorDepth(IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetColorDepth); - } - - ADLX_RESULT GetPixelFormat(IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetPixelFormat); - } - - ADLX_RESULT GetCustomColor(IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetCustomColor); - } - - ADLX_RESULT GetHDCP(IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetHDCP); - } - - ADLX_RESULT GetCustomResolution(IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetCustomResolution); - } - - ADLX_RESULT GetVariBright(IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayServices, GetVariBright); - } -}; - -class PyDisplay : public IADLXDisplay -{ -public: - using IADLXDisplay::IADLXDisplay; - - adlx_long Acquire() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire); - } - - adlx_long Release() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release); - } - - ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface); - } - - ADLX_RESULT ManufacturerID(adlx_uint* manufacturerID) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ManufacturerID); - } - - ADLX_RESULT DisplayType(ADLX_DISPLAY_TYPE* displayType) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, DisplayType); - } - - ADLX_RESULT ConnectorType(ADLX_DISPLAY_CONNECTOR_TYPE* connectType) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ConnectorType); - } - - ADLX_RESULT Name(const char** displayName) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, Name); - } - - ADLX_RESULT EDID(const char** edid) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, EDID); - } - - ADLX_RESULT NativeResolution(adlx_int* maxHResolution, adlx_int* maxVResolution) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, NativeResolution); - } - - ADLX_RESULT RefreshRate(adlx_double* refreshRate) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, RefreshRate); - } - - ADLX_RESULT PixelClock(adlx_uint* pixelClock) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, PixelClock); - } - - ADLX_RESULT ScanType(ADLX_DISPLAY_SCAN_TYPE* scanType) const override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, ScanType); - } - - ADLX_RESULT GetGPU(IADLXGPU** ppGPU) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, GetGPU); - } - - ADLX_RESULT UniqueId(adlx_size* uniqueId) { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplay, UniqueId); - } -}; - -class PyDisplayChangeHandler : public IADLXDisplayChangedHandling -{ -public: - using IADLXDisplayChangedHandling::IADLXDisplayChangedHandling; - - adlx_long Acquire() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Acquire); - } - - adlx_long Release() override { - PYBIND11_OVERRIDE_PURE(adlx_long, IADLXInterface, Release); - } - - ADLX_RESULT QueryInterface(const wchar_t* interfaceId, void** ppInterface) { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXInterface, QueryInterface); - } - - ADLX_RESULT AddDisplayListEventListener(IADLXDisplayListChangedListener *pDisplayListChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayListEventListener); - } - - ADLX_RESULT RemoveDisplayListEventListener(IADLXDisplayListChangedListener *pDisplayListChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayListEventListener); - } - - ADLX_RESULT AddDisplayGamutEventListener(IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayGamutEventListener); - } - - ADLX_RESULT RemoveDisplayGamutEventListener(IADLXDisplayGamutChangedListener *pDisplayGamutChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayGamutEventListener); - } - - ADLX_RESULT AddDisplayGammaEventListener(IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplayGammaEventListener); - } - - ADLX_RESULT RemoveDisplayGammaEventListener(IADLXDisplayGammaChangedListener *pDisplayGammaChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplayGammaEventListener); - } - - ADLX_RESULT AddDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplay3DLUTEventListener); - } - - ADLX_RESULT RemoveDisplay3DLUTEventListener(IADLXDisplay3DLUTChangedListener *pDisplay3DLUTChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplay3DLUTEventListener); - } - - ADLX_RESULT AddDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, AddDisplaySettingsEventListener); - } - - ADLX_RESULT RemoveDisplaySettingsEventListener(IADLXDisplaySettingsChangedListener* pDisplaySettingsChangedListener) override { - PYBIND11_OVERRIDE_PURE(ADLX_RESULT, IADLXDisplayChangedHandling, RemoveDisplaySettingsEventListener); - } -}; - -// Callback -class DisplayListCallBack : public IADLXDisplayListChangedListener -{ -public: - - adlx_bool OnDisplayListChanged(IADLXDisplayList *pNewDisplay) override { - std::vector list; - for (adlx_uint s = pNewDisplay->Begin(); s != pNewDisplay->End(); s++) { - IADLXDisplayPtr item; - pNewDisplay->At(s, &item); - list.emplace_back(item); - } - if (m_call) { - return m_call(list); - } - return true; - } - - std::function)> m_call; -}; - -PYBIND11_MODULE(ADLXPybind, m) { - - m.doc() = "ADLX python binding for display & displayListChangedEvent"; - - // Define the objects that get exposed to python - // ADLX_RESULT - py::enum_(m, "ADLX_RESULT") - .value("ADLX_OK", ADLX_RESULT::ADLX_OK) - .value("ADLX_ALREADY_ENABLED", ADLX_RESULT::ADLX_ALREADY_ENABLED) - .value("ADLX_ALREADY_INITIALIZED", ADLX_RESULT::ADLX_ALREADY_INITIALIZED) - .value("ADLX_FAIL", ADLX_RESULT::ADLX_FAIL) - .value("ADLX_INVALID_ARGS", ADLX_RESULT::ADLX_INVALID_ARGS) - .value("ADLX_BAD_VER", ADLX_RESULT::ADLX_BAD_VER) - .value("ADLX_UNKNOWN_INTERFACE", ADLX_RESULT::ADLX_UNKNOWN_INTERFACE) - .value("ADLX_TERMINATED", ADLX_RESULT::ADLX_TERMINATED) - .value("ADLX_ADL_INIT_ERROR", ADLX_RESULT::ADLX_ADL_INIT_ERROR) - .value("ADLX_NOT_FOUND", ADLX_RESULT::ADLX_NOT_FOUND) - .value("ADLX_INVALID_OBJECT", ADLX_RESULT::ADLX_INVALID_OBJECT) - .value("ADLX_ORPHAN_OBJECTS", ADLX_RESULT::ADLX_ORPHAN_OBJECTS) - .value("ADLX_NOT_SUPPORTED", ADLX_RESULT::ADLX_NOT_SUPPORTED) - .export_values(); - - // ADLX_DISPLAY_TYPE - py::enum_(m, "ADLX_DISPLAY_TYPE") - .value("DISPLAY_TYPE_UNKOWN", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_UNKOWN) - .value("DISPLAY_TYPE_MONITOR", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_MONITOR) - .value("DISPLAY_TYPE_TELEVISION", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_TELEVISION) - .value("DISPLAY_TYPE_LCD_PANEL", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_LCD_PANEL) - .value("DISPLAY_TYPE_DIGITAL_FLAT_PANEL", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_DIGITAL_FLAT_PANEL) - .value("DISPLAY_TYPE_COMPONENT_VIDEO", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_COMPONENT_VIDEO) - .value("DISPLAY_TYPE_PROJECTOR", ADLX_DISPLAY_TYPE::DISPLAY_TYPE_PROJECTOR) - .export_values(); - - // ADLX_DISPLAY_CONNECTOR_TYPE - py::enum_(m, "ADLX_DISPLAY_CONNECTOR_TYPE") - .value("DISPLAY_CONTYPE_UNKNOWN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_UNKNOWN) - .value("DISPLAY_CONTYPE_VGA", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_VGA) - .value("DISPLAY_CONTYPE_DVI_D", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_D) - .value("DISPLAY_CONTYPE_DVI_I", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DVI_I) - .value("DISPLAY_CONTYPE_CVDONGLE_NTSC", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NTSC) - .value("DISPLAY_CONTYPE_CVDONGLE_JPN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_JPN) - .value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_JPN) - .value("DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_CVDONGLE_NONI2C_NTSC) - .value("DISPLAY_CONTYPE_HDMI_TYPE_A", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_A) - .value("DISPLAY_CONTYPE_HDMI_TYPE_B", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_HDMI_TYPE_B) - .value("DISPLAY_CONTYPE_SVIDEO", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_SVIDEO) - .value("DISPLAY_CONTYPE_COMPOSITE", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_COMPOSITE) - .value("DISPLAY_CONTYPE_RCA_3COMPONENT", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_RCA_3COMPONENT) - .value("DISPLAY_CONTYPE_DISPLAYPORT", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_DISPLAYPORT) - .value("DISPLAY_CONTYPE_EDP", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_EDP) - .value("DISPLAY_CONTYPE_WIRELESSDISPLAY", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_WIRELESSDISPLAY) - .value("DISPLAY_CONTYPE_USB_TYPE_C", ADLX_DISPLAY_CONNECTOR_TYPE::DISPLAY_CONTYPE_USB_TYPE_C) - .export_values(); - - // ADLX_DISPLAY_SCAN_TYPE - py::enum_(m, "ADLX_DISPLAY_SCAN_TYPE") - .value("PROGRESSIVE", ADLX_DISPLAY_SCAN_TYPE::PROGRESSIVE) - .value("INTERLACED", ADLX_DISPLAY_SCAN_TYPE::INTERLACED) - .export_values(); - - // ADLX_helper - py::class_(m, "ADLXHelper") - .def(py::init<>()) - .def("InitializeWithCallerAdl", &ADLXHelper::InitializeWithCallerAdl) - .def("Initialize", &ADLXHelper::Initialize) - .def("InitializeWithIncompatibleDriver", &ADLXHelper::InitializeWithIncompatibleDriver) - .def("Terminate", &ADLXHelper::Terminate) - .def("QueryVersion", &ADLXHelper::QueryVersion) - .def("GetSystemServices", &ADLXHelper::GetSystemServices, py::return_value_policy::reference) - .def("GetAdlMapping", &ADLXHelper::GetAdlMapping); - - // System - py::class_(m, "IADLXSystem") - .def(py::init<>()) - .def("GetDisplaysServices", [](py::object self) { - IADLXSystem *sys = self.cast(); - IADLXDisplayServicesPtr displayService = nullptr; - sys->GetDisplaysServices(&displayService); - return displayService; - }, py::return_value_policy::move); - - // displayService - py::class_>(m, "IADLXDisplayServices") - .def(py::init<>()) - .def("GetNumberOfDisplays", [](py::object self) { - IADLXDisplayServices* disService = self.cast(); - adlx_uint num; - disService->GetNumberOfDisplays(&num); - return num; - }) - .def("GetDisplays", [](py::object self) { - IADLXDisplayServices* disService = self.cast(); - IADLXDisplayListPtr displayList = nullptr; - disService->GetDisplays(&displayList); - std::vector list; - for (adlx_uint s = displayList->Begin(); s != displayList->End(); s++) { - IADLXDisplayPtr item; - displayList->At(s, &item); - list.emplace_back(std::move(item)); - } - return list; - }, py::return_value_policy::move) - .def("GetDisplayChangedHandling", [](py::object self) { - IADLXDisplayServices* disService = self.cast(); - IADLXDisplayChangedHandlingPtr handler = nullptr; - disService->GetDisplayChangedHandling(&handler); - return handler; - }, py::return_value_policy::move); - - // Display - py::class_>(m, "IADLXDisplay") - .def(py::init<>()) - .def("name", [](py::object self) { - IADLXDisplay *display = self.cast(); - const char *name = nullptr; - display->Name(&name); - return py::str(name); - }) - .def("type", [](py::object self) { - IADLXDisplay *display = self.cast(); - ADLX_DISPLAY_TYPE type; - display->DisplayType(&type); - return type; - }) - .def("connectType", [](py::object self) { - IADLXDisplay *display = self.cast(); - ADLX_DISPLAY_CONNECTOR_TYPE type; - display->ConnectorType(&type); - return type; - }) - .def("ManufacturerID", [](py::object self) { - IADLXDisplay *display = self.cast(); - adlx_uint id; - display->ManufacturerID(&id); - return id; - }) - .def("EDID", [](py::object self) { - IADLXDisplay *display = self.cast(); - const char* str = nullptr; - display->EDID(&str); - return std::string(str); - }) - .def("resolution", [](py::object self) { - IADLXDisplay *display = self.cast(); - adlx_int h, v; - display->NativeResolution(&h, &v); - return std::tuple(h,v); - }) - .def("RefreshRate", [](py::object self) { - IADLXDisplay *display = self.cast(); - adlx_double value; - display->RefreshRate(&value); - return value; - }) - .def("PixelClock", [](py::object self) { - IADLXDisplay *display = self.cast(); - adlx_uint value; - display->PixelClock(&value); - return value; - }) - .def("ScanType", [](py::object self) { - IADLXDisplay *display = self.cast(); - ADLX_DISPLAY_SCAN_TYPE type; - display->ScanType(&type); - return type; - }) - .def("UniqueId", [](py::object self) { - IADLXDisplay *display = self.cast(); - adlx_size id; - display->UniqueId(&id); - return id; - }); - - // Display change handler - py::class_>(m, "IADLXDisplayChangedHandling") - .def(py::init<>()) - .def("AddDisplayListEventListener", [](py::object self, DisplayListCallBack* call) { - IADLXDisplayChangedHandling *handler = self.cast(); - return handler->AddDisplayListEventListener(call); - }) - .def("RemoveDisplayListEventListener", [](py::object self, DisplayListCallBack* call) { - IADLXDisplayChangedHandling *handler = self.cast(); - return handler->RemoveDisplayListEventListener(call); - }); - - // Callback for displaylist - py::class_(m, "DisplayListCallBack") - .def(py::init<>()) - .def_readwrite("call", &DisplayListCallBack::m_call); -} \ No newline at end of file diff --git a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/framework.h b/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/framework.h deleted file mode 100644 index 54b83e9..0000000 --- a/vendor/adlx/Samples/python/ADLXPybind/ADLXPybind/framework.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files -#include diff --git a/vendor/adlx/Samples/python/DisplayEvents/mainDisplayEvents.py b/vendor/adlx/Samples/python/DisplayEvents/mainDisplayEvents.py deleted file mode 100644 index cb8a6f0..0000000 --- a/vendor/adlx/Samples/python/DisplayEvents/mainDisplayEvents.py +++ /dev/null @@ -1,58 +0,0 @@ -# - -import ADLXPybind as ADLX -import time - -# Callback for display list change -def callBackDisplayList(displaylist)->bool: - print("display list changed, current display count is: ", len(displaylist)) - for index, display in enumerate(displaylist): - name = display.name() - print("\t index: {} name: {}".format(index, name)) - del display - return True - -# Iterate display and display event to unplug and plug the display -def displayDemo(): - # Get ADLXHelp and ADLX initialization - adlxHelper = ADLX.ADLXHelper() - ret = adlxHelper.Initialize() - - if ret == ADLX.ADLX_RESULT.ADLX_OK: - # Get systemServices - system = adlxHelper.GetSystemServices() - - if system is not None: - # Get displayServices - displayService = system.GetDisplaysServices() - - if displayService is not None: - # Get display change handler - displayChangeHandler = displayService.GetDisplayChangedHandling() - - if displayChangeHandler is not None: - # Python call back - callback = ADLX.DisplayListCallBack() - callback.call = callBackDisplayList - # Add call back - displayChangeHandler.AddDisplayListEventListener(callback) - print("Plug or unplug a display within 20 seconds.") - time.sleep(20) - # Remove call back - displayChangeHandler.RemoveDisplayListEventListener(callback) - - # Release changeHandler interface - del displayChangeHandler - - # Release displayService interface - del displayService - - # Terminate ADLX - ret = adlxHelper.Terminate() - print("ADLX Terminate ret is: {}".format(ret)) - -displayDemo() \ No newline at end of file diff --git a/vendor/adlx/Samples/python/DisplayInfo/mainDisplayInfo.py b/vendor/adlx/Samples/python/DisplayInfo/mainDisplayInfo.py deleted file mode 100644 index 0c9dab4..0000000 --- a/vendor/adlx/Samples/python/DisplayInfo/mainDisplayInfo.py +++ /dev/null @@ -1,65 +0,0 @@ -# - -import ADLXPybind as ADLX - -# Iterate display and display event:plug and unplug the display -def displayDemo(): - # Get ADLXHelp and ADLX initialization - adlxHelper = ADLX.ADLXHelper() - ret = adlxHelper.Initialize() - - if ret == ADLX.ADLX_RESULT.ADLX_OK: - # Get system services - system = adlxHelper.GetSystemServices() - - if system is not None: - # Get display services - displayService = system.GetDisplaysServices() - - if displayService is not None: - # Iterate through the display list - count = displayService.GetNumberOfDisplays() - print("display count: {}".format(count)) - disList = displayService.GetDisplays() - if disList is not None: - for index, display in enumerate(disList): - if display is not None: - name = display.name() - type = display.type() - connectType = display.connectType() - mid = display.ManufacturerID() - edid = display.EDID() - h,v = display.resolution() - refreshRate = display.RefreshRate() - pclock = display.PixelClock() - scanType = display.ScanType() - id = display.UniqueId() - print("\nThe display [{}]:".format(index)) - print("\tName: {}".format(name)) - print("\tType: {}".format(type)) - print("\tConnector type: {}".format(connectType)) - print("\tManufacturer id: {}".format(mid)) - print("\tEDID: {}".format(edid)) - print("\tResolution: h: {} v: {}".format(h,v)) - print("\tRefresh rate: {}".format(refreshRate)) - print("\tPixel clock: {}".format(pclock)) - print("\tScan type: {}".format(scanType)) - print("\tUnique id: {}".format(id)) - # Release display interface - del display - - # Release displayList interface - del disList - - # Release displayService interface - del displayService - - # Terminate ADLX - ret = adlxHelper.Terminate() - print("ADLX Terminate ret is: {}".format(ret)) - -displayDemo() \ No newline at end of file diff --git a/vendor/adlx/Samples/python/ReadMe.md b/vendor/adlx/Samples/python/ReadMe.md deleted file mode 100644 index 9152cd5..0000000 --- a/vendor/adlx/Samples/python/ReadMe.md +++ /dev/null @@ -1,53 +0,0 @@ -@page page_sample_py Python Samples - - -This document describes how to build the Python bindings for ADLX, and the ADLX Python samples, as well as the environment in which they can be executed. The ADLX Python samples demonstrate how to program with ADLX in a Python application. - -

Supported Operating Systems

-Windows® 10 (32- and 64-bit versions) and up. - -

Building the ADLXCSharpBind

-These are the instructions for building the ADLX Python bindings for the ADLX Python samples. - -

Build Tool

-Visual Studio 2019 with C and C++ components for desktop. - -

Prerequisites

-- ADLX SDK is installed. -- Python 3.9 is installed. -- pybind11 is installed. -- The path to the Python 3.9 installation is set to the PYHOME system environment variable. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Run Visual Studio 2019.
  2. -
  3. Open `~ADLX\drivers\ADLX\Samples\python\ADLXPybind\ADLXPybind.sln`.
  4. -
  5. Rebuild the project.
  6. -
- -

Building the ADLX Python samples

-These are the instructions for building the DisplayInfo ADLX Python sample. -Similar instructions must be followed for building the other ADLX Python samples. - -

Build Tool

-Visual Studio Code - -

Prerequisites

-- ADLX SDK is installed. -- ADLXCSharpBind is built. - -Note: The ADLX library is installed along with the AMD display driver. - -

Build Instructions

-
    -
  1. Run Visual Studio Code.
  2. -
  3. Open `~ADLX\drivers\ADLX\Samples\python\DisplayInfo`.
  4. -
  5. Rebuild the project.
  6. -
-

This document describes how to obtain the desktops changed handle and add/remove call back for changed events through ADLX and perform related tests.
- To receive the event, another application must be used to change these settings, such as the
Eyefinity. -